6adc2315be7aad659db71510dafe15b335383017
[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 YYSIZE_T size_t
75 #define YYLTYPE Location
76 #include "grammar.h"
77
78 #ifndef YYLLOC_DEFAULT
79 # define YYLLOC_DEFAULT(Current, Rhs, N)         \
80   (Current).start = (Rhs)[1].start;      \
81   (Current).end = (Rhs)[N].end;
82 #endif
83
84 #define PRECOMPILER
85 extern File fileInput;
86 extern char * yytext;
87 OldList * ast;
88 int yylex();
89 int yyerror();
90 bool guess;
91 bool deleteWatchable = false;
92
93 #define MAX_STRUCT_LEVELS     256
94 AccessMode memberAccessStack[MAX_STRUCT_LEVELS];
95 int defaultMemberAccess = -1;
96
97 #define POP_DEFAULT_ACCESS    if(defaultMemberAccess > -1) defaultMemberAccess--;
98
99 #define C89_DECL_WARNING            $"eC expects all declarations to precede statements in the block (C89 style)\n"
100 #define CASE_LABELED_STMT_WARNING   $"labeled statement directly within a case statement\n"
101
102 #define uint _uint
103 default:
104
105
106
107 /* Line 189 of yacc.c  */
108 #line 109 "grammar.ec"
109
110 /* Enabling traces.  */
111 #ifndef YYDEBUG
112 # define YYDEBUG 1
113 #endif
114
115 /* Enabling verbose error messages.  */
116 #ifdef YYERROR_VERBOSE
117 # undef YYERROR_VERBOSE
118 # define YYERROR_VERBOSE 1
119 #else
120 # define YYERROR_VERBOSE 0
121 #endif
122
123 /* Enabling the token table.  */
124 #ifndef YYTOKEN_TABLE
125 # define YYTOKEN_TABLE 0
126 #endif
127
128
129 /* Tokens.  */
130 #ifndef YYTOKENTYPE
131 # define YYTOKENTYPE
132    /* Put the tokens into the symbol table, so that GDB and other debuggers
133       know about them.  */
134    enum yytokentype {
135      IDENTIFIER = 258,
136      CONSTANT = 259,
137      STRING_LITERAL = 260,
138      SIZEOF = 261,
139      PTR_OP = 262,
140      INC_OP = 263,
141      DEC_OP = 264,
142      LEFT_OP = 265,
143      RIGHT_OP = 266,
144      LE_OP = 267,
145      GE_OP = 268,
146      EQ_OP = 269,
147      NE_OP = 270,
148      AND_OP = 271,
149      OR_OP = 272,
150      MUL_ASSIGN = 273,
151      DIV_ASSIGN = 274,
152      MOD_ASSIGN = 275,
153      ADD_ASSIGN = 276,
154      SUB_ASSIGN = 277,
155      LEFT_ASSIGN = 278,
156      RIGHT_ASSIGN = 279,
157      AND_ASSIGN = 280,
158      XOR_ASSIGN = 281,
159      OR_ASSIGN = 282,
160      TYPE_NAME = 283,
161      TYPEDEF = 284,
162      EXTERN = 285,
163      STATIC = 286,
164      AUTO = 287,
165      REGISTER = 288,
166      CHAR = 289,
167      SHORT = 290,
168      INT = 291,
169      UINT = 292,
170      INT64 = 293,
171      LONG = 294,
172      SIGNED = 295,
173      UNSIGNED = 296,
174      FLOAT = 297,
175      DOUBLE = 298,
176      CONST = 299,
177      VOLATILE = 300,
178      VOID = 301,
179      VALIST = 302,
180      STRUCT = 303,
181      UNION = 304,
182      ENUM = 305,
183      ELLIPSIS = 306,
184      CASE = 307,
185      DEFAULT = 308,
186      IF = 309,
187      SWITCH = 310,
188      WHILE = 311,
189      DO = 312,
190      FOR = 313,
191      GOTO = 314,
192      CONTINUE = 315,
193      BREAK = 316,
194      RETURN = 317,
195      IFX = 318,
196      ELSE = 319,
197      CLASS = 320,
198      THISCLASS = 321,
199      CLASS_NAME = 322,
200      PROPERTY = 323,
201      SETPROP = 324,
202      GETPROP = 325,
203      NEWOP = 326,
204      RENEW = 327,
205      DELETE = 328,
206      EXT_DECL = 329,
207      EXT_STORAGE = 330,
208      IMPORT = 331,
209      DEFINE = 332,
210      VIRTUAL = 333,
211      ATTRIB = 334,
212      PUBLIC = 335,
213      PRIVATE = 336,
214      TYPED_OBJECT = 337,
215      ANY_OBJECT = 338,
216      _INCREF = 339,
217      EXTENSION = 340,
218      ASM = 341,
219      TYPEOF = 342,
220      WATCH = 343,
221      STOPWATCHING = 344,
222      FIREWATCHERS = 345,
223      WATCHABLE = 346,
224      CLASS_DESIGNER = 347,
225      CLASS_NO_EXPANSION = 348,
226      CLASS_FIXED = 349,
227      ISPROPSET = 350,
228      CLASS_DEFAULT_PROPERTY = 351,
229      PROPERTY_CATEGORY = 352,
230      CLASS_DATA = 353,
231      CLASS_PROPERTY = 354,
232      SUBCLASS = 355,
233      NAMESPACE = 356,
234      NEW0OP = 357,
235      RENEW0 = 358,
236      VAARG = 359,
237      DBTABLE = 360,
238      DBFIELD = 361,
239      DBINDEX = 362,
240      DATABASE_OPEN = 363,
241      ALIGNOF = 364,
242      ATTRIB_DEP = 365,
243      __ATTRIB = 366,
244      BOOL = 367,
245      _BOOL = 368,
246      _COMPLEX = 369,
247      _IMAGINARY = 370,
248      RESTRICT = 371,
249      THREAD = 372,
250      WIDE_STRING_LITERAL = 373
251    };
252 #endif
253
254
255
256 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
257 typedef union YYSTYPE
258 {
259
260 /* Line 214 of yacc.c  */
261 #line 39 "grammar.y"
262
263    SpecifierType specifierType;
264    int i;
265    AccessMode declMode;
266    Identifier id;
267    Expression exp;
268    Specifier specifier;
269    OldList * list;
270    Enumerator enumerator;
271    Declarator declarator;
272    Pointer pointer;
273    Initializer initializer;
274    InitDeclarator initDeclarator;
275    TypeName typeName;
276    Declaration declaration;
277    Statement stmt;
278    FunctionDefinition function;
279    External external;
280    Context context;
281    AsmField asmField;
282    Attrib attrib;
283    ExtDecl extDecl;
284    Attribute attribute;
285
286    Instantiation instance;
287    MembersInit membersInit;
288    MemberInit memberInit;
289    ClassFunction classFunction;
290    ClassDefinition _class;
291    ClassDef classDef;
292    PropertyDef prop;
293    char * string;
294    Symbol symbol;
295    PropertyWatch propertyWatch;
296    TemplateParameter templateParameter;
297    TemplateArgument templateArgument;
298    TemplateDatatype templateDatatype;
299
300    DBTableEntry dbtableEntry;
301    DBIndexItem dbindexItem;
302    DBTableDef dbtableDef;
303
304
305
306 /* Line 214 of yacc.c  */
307 #line 308 "grammar.ec"
308 } YYSTYPE;
309 # define YYSTYPE_IS_TRIVIAL 1
310 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
311 # define YYSTYPE_IS_DECLARED 1
312 #endif
313
314 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
315 typedef struct YYLTYPE
316 {
317   int first_line;
318   int first_column;
319   int last_line;
320   int last_column;
321 } YYLTYPE;
322 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
323 # define YYLTYPE_IS_DECLARED 1
324 # define YYLTYPE_IS_TRIVIAL 1
325 #endif
326
327
328 /* Copy the second part of user declarations.  */
329
330
331 /* Line 264 of yacc.c  */
332 #line 333 "grammar.ec"
333
334 #ifdef short
335 # undef short
336 #endif
337
338 #ifdef YYTYPE_UINT8
339 typedef YYTYPE_UINT8 yytype_uint8;
340 #else
341 typedef unsigned char yytype_uint8;
342 #endif
343
344 #ifdef YYTYPE_INT8
345 typedef YYTYPE_INT8 yytype_int8;
346 #elif (defined __STDC__ || defined __C99__FUNC__ \
347      || defined __cplusplus || defined _MSC_VER)
348 typedef signed char yytype_int8;
349 #else
350 typedef short int yytype_int8;
351 #endif
352
353 #ifdef YYTYPE_UINT16
354 typedef YYTYPE_UINT16 yytype_uint16;
355 #else
356 typedef unsigned short int yytype_uint16;
357 #endif
358
359 #ifdef YYTYPE_INT16
360 typedef YYTYPE_INT16 yytype_int16;
361 #else
362 typedef short int yytype_int16;
363 #endif
364
365 #ifndef YYSIZE_T
366 # ifdef __SIZE_TYPE__
367 #  define YYSIZE_T __SIZE_TYPE__
368 # elif defined size_t
369 #  define YYSIZE_T size_t
370 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
371      || defined __cplusplus || defined _MSC_VER)
372 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
373 #  define YYSIZE_T size_t
374 # else
375 #  define YYSIZE_T unsigned int
376 # endif
377 #endif
378
379 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
380
381 #ifndef YY_
382 # if defined YYENABLE_NLS && YYENABLE_NLS
383 #  if ENABLE_NLS
384 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
385 #   define YY_(msgid) dgettext ("bison-runtime", msgid)
386 #  endif
387 # endif
388 # ifndef YY_
389 #  define YY_(msgid) msgid
390 # endif
391 #endif
392
393 /* Suppress unused-variable warnings by "using" E.  */
394 #if ! defined lint || defined __GNUC__
395 # define YYUSE(e) ((void) (e))
396 #else
397 # define YYUSE(e) /* empty */
398 #endif
399
400 /* Identity function, used to suppress warnings about constant conditions.  */
401 #ifndef lint
402 # define YYID(n) (n)
403 #else
404 #if (defined __STDC__ || defined __C99__FUNC__ \
405      || defined __cplusplus || defined _MSC_VER)
406 static int
407 YYID (int yyi)
408 #else
409 static int
410 YYID (yyi)
411     int yyi;
412 #endif
413 {
414   return yyi;
415 }
416 #endif
417
418 #if ! defined yyoverflow || YYERROR_VERBOSE
419
420 /* The parser invokes alloca or malloc; define the necessary symbols.  */
421
422 # ifdef YYSTACK_USE_ALLOCA
423 #  if YYSTACK_USE_ALLOCA
424 #   ifdef __GNUC__
425 #    define YYSTACK_ALLOC __builtin_alloca
426 #   elif defined __BUILTIN_VA_ARG_INCR
427 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
428 #   elif defined _AIX
429 #    define YYSTACK_ALLOC __alloca
430 #   elif defined _MSC_VER
431 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
432 #    define alloca _alloca
433 #   else
434 #    define YYSTACK_ALLOC alloca
435 #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
436      || defined __cplusplus || defined _MSC_VER)
437 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
438 #     ifndef _STDLIB_H
439 #      define _STDLIB_H 1
440 #     endif
441 #    endif
442 #   endif
443 #  endif
444 # endif
445
446 # ifdef YYSTACK_ALLOC
447    /* Pacify GCC's `empty if-body' warning.  */
448 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
449 #  ifndef YYSTACK_ALLOC_MAXIMUM
450     /* The OS might guarantee only one guard page at the bottom of the stack,
451        and a page size can be as small as 4096 bytes.  So we cannot safely
452        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
453        to allow for a few compiler-allocated temporary stack slots.  */
454 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
455 #  endif
456 # else
457 #  define YYSTACK_ALLOC YYMALLOC
458 #  define YYSTACK_FREE YYFREE
459 #  ifndef YYSTACK_ALLOC_MAXIMUM
460 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
461 #  endif
462 #  if (defined __cplusplus && ! defined _STDLIB_H \
463        && ! ((defined YYMALLOC || defined malloc) \
464              && (defined YYFREE || defined free)))
465 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
466 #   ifndef _STDLIB_H
467 #    define _STDLIB_H 1
468 #   endif
469 #  endif
470 #  ifndef YYMALLOC
471 #   define YYMALLOC malloc
472 #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
473      || defined __cplusplus || defined _MSC_VER)
474 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
475 #   endif
476 #  endif
477 #  ifndef YYFREE
478 #   define YYFREE free
479 #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
480      || defined __cplusplus || defined _MSC_VER)
481 void free (void *); /* INFRINGES ON USER NAME SPACE */
482 #   endif
483 #  endif
484 # endif
485 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
486
487
488 #if (! defined yyoverflow \
489      && (! defined __cplusplus \
490          || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
491              && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
492
493 /* A type that is properly aligned for any stack member.  */
494 union yyalloc
495 {
496   yytype_int16 yyss_alloc;
497   YYSTYPE yyvs_alloc;
498   YYLTYPE yyls_alloc;
499 };
500
501 /* The size of the maximum gap between one aligned stack and the next.  */
502 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
503
504 /* The size of an array large to enough to hold all stacks, each with
505    N elements.  */
506 # define YYSTACK_BYTES(N) \
507      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
508       + 2 * YYSTACK_GAP_MAXIMUM)
509
510 /* Copy COUNT objects from FROM to TO.  The source and destination do
511    not overlap.  */
512 # ifndef YYCOPY
513 #  if defined __GNUC__ && 1 < __GNUC__
514 #   define YYCOPY(To, From, Count) \
515       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
516 #  else
517 #   define YYCOPY(To, From, Count)              \
518       do                                        \
519         {                                       \
520           YYSIZE_T yyi;                         \
521           for (yyi = 0; yyi < (Count); yyi++)   \
522             (To)[yyi] = (From)[yyi];            \
523         }                                       \
524       while (YYID (0))
525 #  endif
526 # endif
527
528 /* Relocate STACK from its old location to the new one.  The
529    local variables YYSIZE and YYSTACKSIZE give the old and new number of
530    elements in the stack, and YYPTR gives the new location of the
531    stack.  Advance YYPTR to a properly aligned location for the next
532    stack.  */
533 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
534     do                                                                  \
535       {                                                                 \
536         YYSIZE_T yynewbytes;                                            \
537         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
538         Stack = &yyptr->Stack_alloc;                                    \
539         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
540         yyptr += yynewbytes / sizeof (*yyptr);                          \
541       }                                                                 \
542     while (YYID (0))
543
544 #endif
545
546 /* YYFINAL -- State number of the termination state.  */
547 #define YYFINAL  295
548 /* YYLAST -- Last index in YYTABLE.  */
549 #define YYLAST   41266
550
551 /* YYNTOKENS -- Number of terminals.  */
552 #define YYNTOKENS  144
553 /* YYNNTS -- Number of nonterminals.  */
554 #define YYNNTS  257
555 /* YYNRULES -- Number of rules.  */
556 #define YYNRULES  1308
557 /* YYNRULES -- Number of states.  */
558 #define YYNSTATES  2168
559
560 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
561 #define YYUNDEFTOK  2
562 #define YYMAXUTOK   373
563
564 #define YYTRANSLATE(YYX)                                                \
565   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
566
567 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
568 static const yytype_uint8 yytranslate[] =
569 {
570        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
571        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
572        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
573        2,     2,     2,   138,     2,     2,   132,   140,   135,     2,
574      122,   123,   119,   136,   127,   137,   130,   139,     2,     2,
575        2,     2,     2,     2,     2,     2,     2,     2,   131,   125,
576      120,   126,   121,   143,     2,     2,     2,     2,     2,     2,
577        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
578        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
579        2,   133,     2,   134,   141,     2,     2,     2,     2,     2,
580        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
581        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
582        2,     2,     2,   129,   142,   128,   124,     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,     2,     2,     2,     2,
595        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
596        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
597       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
598       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
599       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
600       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
601       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
602       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
603       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
604       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
605       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
606      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
607      115,   116,   117,   118
608 };
609
610 #if YYDEBUG
611 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
612    YYRHS.  */
613 static const yytype_uint16 yyprhs[] =
614 {
615        0,     0,     3,     6,     9,    11,    14,    16,    18,    20,
616       25,    30,    33,    35,    39,    44,    48,    51,    54,    56,
617       60,    63,    66,    69,    72,    75,    78,    81,    85,    88,
618       90,    93,    95,    98,   101,   104,   107,   110,   113,   115,
619      117,   121,   123,   127,   131,   133,   135,   139,   143,   145,
620      149,   153,   157,   161,   163,   166,   169,   171,   173,   176,
621      179,   182,   185,   188,   191,   193,   195,   197,   200,   203,
622      205,   208,   211,   214,   217,   219,   222,   225,   229,   234,
623      240,   245,   249,   254,   257,   261,   266,   272,   277,   281,
624      286,   292,   298,   303,   306,   310,   314,   318,   322,   325,
625      330,   334,   338,   341,   346,   350,   353,   357,   360,   364,
626      367,   369,   372,   376,   380,   384,   387,   389,   393,   397,
627      399,   403,   407,   410,   415,   421,   425,   430,   434,   436,
628      440,   444,   448,   451,   455,   458,   463,   469,   473,   478,
629      482,   484,   488,   492,   495,   497,   500,   503,   506,   508,
630      511,   517,   525,   535,   542,   551,   556,   563,   565,   568,
631      572,   577,   580,   583,   585,   587,   590,   593,   595,   597,
632      599,   601,   609,   611,   614,   619,   621,   623,   626,   630,
633      633,   636,   639,   643,   645,   648,   651,   654,   656,   658,
634      660,   663,   666,   669,   673,   677,   679,   681,   684,   687,
635      689,   692,   695,   698,   701,   703,   706,   708,   711,   714,
636      719,   724,   731,   734,   739,   744,   751,   753,   755,   759,
637      761,   766,   772,   774,   776,   778,   780,   784,   786,   788,
638      790,   794,   798,   802,   804,   808,   810,   813,   816,   820,
639      824,   830,   836,   843,   850,   853,   856,   860,   864,   868,
640      872,   876,   880,   884,   888,   892,   896,   900,   902,   904,
641      908,   910,   913,   918,   920,   922,   924,   929,   934,   940,
642      949,   952,   954,   956,   958,   961,   968,   975,   981,   987,
643      994,  1001,  1007,  1013,  1021,  1029,  1036,  1043,  1051,  1059,
644     1066,  1073,  1078,  1084,  1089,  1096,  1101,  1103,  1105,  1107,
645     1109,  1113,  1116,  1118,  1121,  1124,  1127,  1129,  1134,  1139,
646     1143,  1148,  1153,  1157,  1161,  1164,  1167,  1172,  1177,  1181,
647     1186,  1190,  1194,  1197,  1200,  1202,  1204,  1208,  1212,  1214,
648     1216,  1220,  1224,  1227,  1230,  1233,  1236,  1239,  1242,  1247,
649     1253,  1259,  1262,  1267,  1269,  1271,  1273,  1275,  1277,  1279,
650     1281,  1283,  1285,  1287,  1289,  1294,  1296,  1300,  1304,  1308,
651     1312,  1316,  1320,  1322,  1326,  1330,  1334,  1338,  1340,  1344,
652     1348,  1352,  1356,  1359,  1361,  1364,  1368,  1372,  1376,  1380,
653     1384,  1388,  1392,  1394,  1398,  1402,  1406,  1410,  1414,  1418,
654     1422,  1426,  1428,  1432,  1436,  1440,  1444,  1446,  1450,  1454,
655     1458,  1462,  1464,  1468,  1472,  1476,  1480,  1482,  1486,  1490,
656     1492,  1496,  1500,  1502,  1508,  1514,  1520,  1526,  1532,  1538,
657     1544,  1550,  1556,  1562,  1568,  1574,  1580,  1586,  1592,  1598,
658     1600,  1604,  1608,  1612,  1616,  1620,  1624,  1628,  1632,  1634,
659     1636,  1638,  1640,  1642,  1644,  1646,  1648,  1650,  1652,  1654,
660     1656,  1660,  1664,  1667,  1669,  1673,  1677,  1679,  1681,  1684,
661     1687,  1691,  1695,  1699,  1703,  1707,  1711,  1715,  1718,  1721,
662     1724,  1727,  1730,  1736,  1743,  1750,  1753,  1759,  1761,  1763,
663     1765,  1770,  1772,  1776,  1780,  1784,  1788,  1792,  1796,  1798,
664     1802,  1806,  1810,  1814,  1816,  1820,  1824,  1828,  1832,  1834,
665     1837,  1841,  1845,  1849,  1853,  1857,  1861,  1865,  1867,  1871,
666     1875,  1879,  1883,  1887,  1891,  1895,  1899,  1901,  1905,  1909,
667     1913,  1917,  1919,  1923,  1927,  1931,  1935,  1937,  1941,  1945,
668     1949,  1953,  1955,  1959,  1963,  1965,  1969,  1973,  1975,  1981,
669     1987,  1993,  1999,  2004,  2009,  2014,  2019,  2025,  2031,  2037,
670     2043,  2048,  2053,  2058,  2063,  2069,  2075,  2081,  2087,  2093,
671     2099,  2105,  2111,  2115,  2119,  2122,  2125,  2127,  2131,  2135,
672     2139,  2143,  2145,  2148,  2152,  2156,  2159,  2162,  2165,  2167,
673     2170,  2174,  2178,  2180,  2182,  2184,  2186,  2188,  2190,  2192,
674     2194,  2196,  2198,  2200,  2202,  2204,  2206,  2208,  2210,  2212,
675     2216,  2220,  2222,  2226,  2229,  2231,  2234,  2237,  2240,  2245,
676     2250,  2254,  2258,  2263,  2269,  2274,  2281,  2288,  2293,  2299,
677     2304,  2311,  2318,  2324,  2330,  2333,  2336,  2339,  2345,  2349,
678     2355,  2362,  2368,  2376,  2384,  2393,  2402,  2410,  2418,  2422,
679     2426,  2430,  2435,  2439,  2445,  2451,  2458,  2466,  2473,  2478,
680     2480,  2482,  2484,  2486,  2488,  2490,  2492,  2494,  2496,  2499,
681     2501,  2503,  2505,  2507,  2509,  2511,  2513,  2515,  2517,  2519,
682     2521,  2523,  2525,  2527,  2529,  2531,  2536,  2541,  2546,  2548,
683     2550,  2552,  2554,  2556,  2558,  2560,  2562,  2564,  2566,  2568,
684     2570,  2572,  2574,  2576,  2578,  2580,  2582,  2584,  2586,  2588,
685     2590,  2592,  2594,  2596,  2598,  2600,  2605,  2610,  2615,  2617,
686     2619,  2622,  2625,  2629,  2635,  2638,  2642,  2648,  2654,  2660,
687     2662,  2666,  2669,  2672,  2676,  2680,  2683,  2687,  2691,  2696,
688     2700,  2704,  2708,  2712,  2716,  2720,  2725,  2730,  2735,  2737,
689     2739,  2744,  2748,  2751,  2755,  2759,  2763,  2767,  2771,  2775,
690     2779,  2783,  2787,  2791,  2795,  2799,  2801,  2803,  2805,  2808,
691     2810,  2813,  2815,  2818,  2820,  2823,  2825,  2828,  2830,  2833,
692     2835,  2838,  2840,  2843,  2845,  2848,  2850,  2853,  2855,  2858,
693     2860,  2863,  2865,  2868,  2870,  2873,  2875,  2878,  2880,  2883,
694     2885,  2888,  2890,  2893,  2895,  2898,  2900,  2903,  2905,  2908,
695     2910,  2913,  2915,  2918,  2920,  2923,  2925,  2928,  2930,  2933,
696     2935,  2937,  2939,  2942,  2944,  2947,  2949,  2952,  2954,  2957,
697     2962,  2968,  2970,  2972,  2974,  2977,  2979,  2982,  2984,  2987,
698     2989,  2992,  2997,  3003,  3005,  3008,  3010,  3013,  3015,  3018,
699     3020,  3023,  3025,  3028,  3030,  3033,  3038,  3044,  3046,  3049,
700     3051,  3054,  3056,  3059,  3061,  3064,  3066,  3069,  3071,  3074,
701     3079,  3085,  3089,  3093,  3095,  3099,  3103,  3107,  3111,  3113,
702     3115,  3117,  3122,  3127,  3132,  3136,  3141,  3146,  3151,  3155,
703     3157,  3161,  3166,  3170,  3175,  3180,  3185,  3190,  3194,  3197,
704     3201,  3205,  3209,  3213,  3216,  3219,  3222,  3226,  3231,  3233,
705     3235,  3238,  3242,  3246,  3250,  3254,  3257,  3260,  3263,  3267,
706     3272,  3274,  3276,  3278,  3280,  3282,  3287,  3289,  3291,  3293,
707     3295,  3297,  3299,  3301,  3303,  3305,  3310,  3312,  3315,  3319,
708     3326,  3332,  3336,  3341,  3344,  3348,  3352,  3356,  3360,  3365,
709     3370,  3375,  3378,  3382,  3386,  3390,  3395,  3400,  3404,  3409,
710     3412,  3416,  3420,  3424,  3429,  3434,  3436,  3439,  3442,  3446,
711     3448,  3450,  3453,  3456,  3460,  3462,  3464,  3467,  3470,  3474,
712     3476,  3479,  3483,  3486,  3489,  3491,  3494,  3498,  3501,  3503,
713     3506,  3510,  3514,  3516,  3519,  3523,  3527,  3529,  3532,  3536,
714     3540,  3542,  3545,  3549,  3553,  3555,  3558,  3562,  3566,  3568,
715     3572,  3577,  3579,  3584,  3587,  3593,  3597,  3599,  3601,  3603,
716     3605,  3607,  3609,  3613,  3617,  3620,  3623,  3625,  3627,  3631,
717     3634,  3638,  3640,  3644,  3648,  3652,  3656,  3660,  3662,  3665,
718     3669,  3673,  3675,  3678,  3680,  3683,  3686,  3689,  3692,  3696,
719     3698,  3700,  3704,  3708,  3710,  3714,  3719,  3723,  3728,  3732,
720     3736,  3741,  3745,  3750,  3752,  3756,  3760,  3765,  3769,  3773,
721     3777,  3782,  3784,  3788,  3792,  3796,  3800,  3804,  3806,  3810,
722     3813,  3815,  3817,  3819,  3821,  3823,  3826,  3828,  3830,  3832,
723     3834,  3837,  3840,  3843,  3845,  3847,  3849,  3851,  3853,  3856,
724     3858,  3860,  3865,  3873,  3875,  3879,  3880,  3887,  3896,  3907,
725     3920,  3929,  3940,  3951,  3957,  3965,  3975,  3987,  3995,  4005,
726     4015,  4019,  4024,  4029,  4033,  4037,  4041,  4046,  4051,  4055,
727     4059,  4063,  4068,  4073,  4077,  4080,  4084,  4087,  4091,  4096,
728     4101,  4105,  4109,  4111,  4113,  4115,  4117,  4119,  4122,  4126,
729     4129,  4132,  4135,  4139,  4143,  4146,  4152,  4159,  4162,  4165,
730     4168,  4171,  4174,  4177,  4179,  4182,  4185,  4189,  4191,  4194,
731     4196,  4199,  4202,  4204,  4207,  4210,  4213,  4216,  4219,  4222,
732     4224,  4226,  4229,  4232,  4234,  4236,  4239,  4242,  4244,  4247,
733     4250,  4252,  4255,  4257,  4260,  4263,  4269,  4275,  4283,  4291,
734     4297,  4303,  4307,  4310,  4316,  4321,  4326,  4334,  4341,  4348,
735     4354,  4362,  4369,  4374,  4382,  4392,  4396,  4401,  4406,  4412,
736     4418,  4425,  4433,  4440,  4447,  4453,  4459,  4464,  4468,  4471,
737     4473,  4476,  4481,  4485,  4491,  4496,  4500,  4503,  4506,  4509,
738     4513,  4517,  4521,  4525,  4528,  4531,  4533,  4535,  4540,  4544,
739     4549,  4553,  4557,  4560,  4565,  4569,  4574,  4578,  4582,  4585,
740     4587,  4590,  4592,  4594,  4597,  4599,  4602,  4606,  4610,  4612,
741     4615,  4618,  4621,  4625,  4630,  4635,  4638,  4641,  4644,  4647,
742     4649,  4652,  4654,  4657,  4659,  4662,  4665,  4667,  4670,  4672,
743     4675,  4678,  4681,  4684,  4686,  4689,  4692,  4696,  4698,  4700,
744     4701,  4708,  4715,  4721,  4726,  4728,  4731,  4734,  4736,  4740,
745     4744,  4749,  4751,  4753,  4756,  4759,  4766,  4773,  4780
746 };
747
748 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
749 static const yytype_int16 yyrhs[] =
750 {
751      390,     0,    -1,   216,   119,    -1,   216,   120,    -1,   149,
752       -1,   216,   216,    -1,    28,    -1,    28,    -1,   147,    -1,
753      147,   120,   210,   121,    -1,   147,   120,   210,    11,    -1,
754      299,   334,    -1,   332,    -1,   299,   122,   123,    -1,   124,
755      299,   122,   123,    -1,    78,   299,   334,    -1,    78,   332,
756       -1,   299,   335,    -1,   333,    -1,    78,   299,   335,    -1,
757       78,   333,    -1,   150,   374,    -1,   153,   374,    -1,   153,
758      125,    -1,   151,   374,    -1,   152,   374,    -1,   150,   125,
759       -1,   150,   324,   125,    -1,   150,   375,    -1,   154,    -1,
760      153,   375,    -1,   155,    -1,   155,   125,    -1,   298,   334,
761       -1,   298,   336,    -1,   298,   335,    -1,   158,   374,    -1,
762      158,   375,    -1,   159,    -1,   158,    -1,   224,   126,   339,
763       -1,   339,    -1,   224,   126,   340,    -1,   224,   126,     1,
764       -1,   340,    -1,   162,    -1,   164,   127,   162,    -1,   165,
765      127,   162,    -1,   163,    -1,   164,   127,   163,    -1,   165,
766      127,   163,    -1,   164,   127,     1,    -1,   165,   127,     1,
767       -1,   127,    -1,   164,   125,    -1,   165,   125,    -1,   166,
768       -1,   160,    -1,   169,   166,    -1,   169,   160,    -1,   167,
769      166,    -1,   167,   160,    -1,   169,   125,    -1,   167,   125,
770       -1,   125,    -1,   167,    -1,   164,    -1,   167,   164,    -1,
771      169,   164,    -1,   161,    -1,   168,   161,    -1,   169,   161,
772       -1,   167,   161,    -1,   167,   165,    -1,   165,    -1,   164,
773        1,    -1,   171,   128,    -1,   171,     1,   128,    -1,   298,
774      216,   129,   169,    -1,   298,   216,   129,   168,     1,    -1,
775      298,   216,   129,   168,    -1,   298,   216,   129,    -1,   298,
776      216,   129,     1,    -1,   173,   128,    -1,   173,     1,   128,
777       -1,   299,   216,   129,   169,    -1,   299,   216,   129,   168,
778        1,    -1,   299,   216,   129,   168,    -1,   299,   216,   129,
779       -1,   299,   216,   129,     1,    -1,   300,   216,   129,   168,
780      128,    -1,   300,   216,   129,   169,   128,    -1,   300,   216,
781      129,   128,    -1,   176,   128,    -1,   176,     1,   128,    -1,
782      149,   129,   168,    -1,   216,   129,   168,    -1,   149,   129,
783      169,    -1,   149,   129,    -1,   149,   129,   168,     1,    -1,
784      149,   129,     1,    -1,   216,   129,   169,    -1,   216,   129,
785       -1,   216,   129,   168,     1,    -1,   216,   129,     1,    -1,
786      178,   128,    -1,   178,     1,   128,    -1,   129,   169,    -1,
787      129,   168,     1,    -1,   129,     1,    -1,   129,    -1,   129,
788      168,    -1,   224,   126,   339,    -1,   224,   126,   340,    -1,
789      224,   126,     1,    -1,   224,     1,    -1,   179,    -1,   181,
790      127,   179,    -1,   182,   127,   179,    -1,   180,    -1,   181,
791      127,   180,    -1,   182,   127,   180,    -1,   181,     1,    -1,
792       68,   304,   216,   129,    -1,    68,   304,   328,   216,   129,
793       -1,    68,   304,   129,    -1,    68,   304,   328,   129,    -1,
794       68,     1,   129,    -1,   183,    -1,   184,    69,   374,    -1,
795      184,    70,   374,    -1,   184,    95,   374,    -1,   184,    91,
796       -1,   184,    97,   218,    -1,   184,   128,    -1,    99,   304,
797      216,   129,    -1,    99,   304,   328,   216,   129,    -1,    99,
798      304,   129,    -1,    99,   304,   328,   129,    -1,    99,     1,
799      129,    -1,   186,    -1,   187,    69,   374,    -1,   187,    70,
800      374,    -1,   187,   128,    -1,   216,    -1,   189,   216,    -1,
801      189,   374,    -1,    73,   374,    -1,   190,    -1,   191,   190,
802       -1,    88,   122,   189,   123,   374,    -1,    88,   122,   243,
803      123,   129,   191,   128,    -1,   243,   130,    88,   122,   243,
804      123,   129,   191,   128,    -1,    89,   122,   243,   127,   189,
805      123,    -1,   243,   130,    89,   122,   243,   127,   189,   123,
806       -1,    89,   122,   243,   123,    -1,   243,   130,    89,   122,
807      243,   123,    -1,    90,    -1,    90,   189,    -1,   224,   130,
808       90,    -1,   243,   130,    90,   189,    -1,   197,   125,    -1,
809      181,   125,    -1,   156,    -1,   185,    -1,   362,   156,    -1,
810      362,   185,    -1,   188,    -1,    91,    -1,    93,    -1,    94,
811       -1,    99,   122,   216,   123,   126,   339,   125,    -1,   125,
812       -1,   362,   131,    -1,   362,   122,   216,   123,    -1,   157,
813       -1,   299,    -1,   299,   286,    -1,   362,   299,   286,    -1,
814      362,   299,    -1,   362,   175,    -1,   362,   172,    -1,    98,
815      299,   286,    -1,   192,    -1,    92,   216,    -1,    92,   149,
816       -1,    96,   216,    -1,   175,    -1,   172,    -1,   181,    -1,
817      173,     1,    -1,   176,     1,    -1,   362,   157,    -1,   362,
818      173,     1,    -1,   362,   176,     1,    -1,   182,    -1,   196,
819       -1,   198,   196,    -1,   199,   196,    -1,   197,    -1,   198,
820        1,    -1,   199,     1,    -1,   198,   197,    -1,   199,   197,
821       -1,   299,    -1,   299,   328,    -1,   299,    -1,   299,   328,
822       -1,    65,   216,    -1,    65,   216,   126,   201,    -1,    65,
823      216,   131,   200,    -1,    65,   216,   131,   200,   126,   201,
824       -1,    65,   148,    -1,    65,   148,   126,   201,    -1,    65,
825      148,   131,   200,    -1,    65,   148,   131,   200,   126,   201,
826       -1,   216,    -1,   216,    -1,   216,   126,   203,    -1,   233,
827       -1,   299,   216,   126,   205,    -1,   299,   328,   216,   126,
828      205,    -1,   202,    -1,   204,    -1,   206,    -1,   207,    -1,
829      208,   127,   207,    -1,   205,    -1,   203,    -1,   201,    -1,
830      216,   126,   205,    -1,   216,   126,   203,    -1,   216,   126,
831      201,    -1,   209,    -1,   210,   127,   209,    -1,    65,    -1,
832      211,   216,    -1,   211,   147,    -1,   216,   211,   216,    -1,
833      216,   211,   147,    -1,   211,   216,   120,   208,   121,    -1,
834      211,   147,   120,   208,   121,    -1,   216,   211,   216,   120,
835      208,   121,    -1,   216,   211,   147,   120,   208,   121,    -1,
836      215,   128,    -1,   214,   125,    -1,   212,   129,   128,    -1,
837      214,   129,   128,    -1,   211,   216,   125,    -1,   211,   146,
838      125,    -1,   212,   131,   303,    -1,   212,   129,   199,    -1,
839      214,   129,   199,    -1,   212,   129,   198,    -1,   214,   129,
840      198,    -1,   212,   129,     1,    -1,   214,   129,     1,    -1,
841        3,    -1,   220,    -1,   122,   245,   123,    -1,   385,    -1,
842      132,   385,    -1,   132,   385,   130,   385,    -1,     4,    -1,
843      216,    -1,   175,    -1,    85,   122,   374,   123,    -1,    85,
844      122,   245,   123,    -1,    85,   122,   346,   123,   337,    -1,
845       85,   122,   346,   123,   122,   346,   123,   337,    -1,   219,
846      216,    -1,   219,    -1,   218,    -1,   118,    -1,   122,   123,
847       -1,    71,   306,   329,   133,   265,   134,    -1,    71,   306,
848      329,   133,   266,   134,    -1,    71,   306,   133,   265,   134,
849       -1,    71,   306,   133,   266,   134,    -1,   102,   306,   329,
850      133,   265,   134,    -1,   102,   306,   329,   133,   266,   134,
851       -1,   102,   306,   133,   265,   134,    -1,   102,   306,   133,
852      266,   134,    -1,    72,   265,   305,   329,   133,   265,   134,
853       -1,    72,   265,   305,   329,   133,   266,   134,    -1,    72,
854      265,   305,   133,   265,   134,    -1,    72,   265,   305,   133,
855      266,   134,    -1,   103,   265,   305,   329,   133,   265,   134,
856       -1,   103,   265,   305,   329,   133,   266,   134,    -1,   103,
857      265,   305,   133,   265,   134,    -1,   103,   265,   305,   133,
858      266,   134,    -1,    65,   122,   298,   123,    -1,    65,   122,
859      298,   328,   123,    -1,    65,   122,   216,   123,    -1,   104,
860      122,   243,   127,   346,   123,    -1,    98,   122,   216,   123,
861       -1,   397,    -1,   398,    -1,   399,    -1,   400,    -1,   133,
862      225,   134,    -1,   133,   134,    -1,   177,    -1,   178,     1,
863       -1,   122,   245,    -1,   122,   263,    -1,   217,    -1,   224,
864      133,   245,   134,    -1,   224,   133,   263,   134,    -1,   224,
865      122,   123,    -1,   224,   122,   225,   123,    -1,   224,   122,
866      226,   123,    -1,   224,   130,   216,    -1,   224,     7,   216,
867       -1,   224,     8,    -1,   224,     9,    -1,   247,   133,   245,
868      134,    -1,   247,   133,   263,   134,    -1,   247,   122,   123,
869       -1,   247,   122,   225,   123,    -1,   247,   130,   216,    -1,
870      247,     7,   216,    -1,   247,     8,    -1,   247,     9,    -1,
871      243,    -1,   221,    -1,   225,   127,   243,    -1,   225,   127,
872      221,    -1,   262,    -1,   222,    -1,   225,   127,   262,    -1,
873      225,   127,   222,    -1,   225,   127,    -1,     8,   228,    -1,
874        9,   228,    -1,   229,   230,    -1,   229,   221,    -1,     6,
875      228,    -1,     6,   122,   347,   123,    -1,     6,   122,    65,
876      146,   123,    -1,     6,   122,    65,   145,   123,    -1,   109,
877      228,    -1,   109,   122,   347,   123,    -1,   227,    -1,   224,
878       -1,   135,    -1,   119,    -1,   136,    -1,   137,    -1,   124,
879       -1,   138,    -1,    73,    -1,    84,    -1,   228,    -1,   122,
880      346,   123,   230,    -1,   230,    -1,   231,   119,   230,    -1,
881      231,   139,   230,    -1,   231,   140,   230,    -1,   251,   119,
882      230,    -1,   251,   139,   230,    -1,   251,   140,   230,    -1,
883      231,    -1,   232,   136,   231,    -1,   232,   137,   231,    -1,
884      252,   136,   231,    -1,   252,   137,   231,    -1,   232,    -1,
885      233,    10,   232,    -1,   233,    11,   232,    -1,   253,    10,
886      232,    -1,   253,    11,   232,    -1,   235,   120,    -1,   233,
887       -1,   234,   233,    -1,   235,   121,   233,    -1,   235,    12,
888      233,    -1,   235,    13,   233,    -1,   254,   120,   233,    -1,
889      254,   121,   233,    -1,   254,    12,   233,    -1,   254,    13,
890      233,    -1,   235,    -1,   236,    14,   235,    -1,   236,    15,
891      235,    -1,   255,    14,   235,    -1,   255,    15,   235,    -1,
892      236,    14,   221,    -1,   236,    15,   221,    -1,   255,    14,
893      221,    -1,   255,    15,   221,    -1,   236,    -1,   237,   135,
894      236,    -1,   256,   135,   236,    -1,   237,   135,   221,    -1,
895      256,   135,   221,    -1,   237,    -1,   238,   141,   237,    -1,
896      257,   141,   237,    -1,   238,   141,   221,    -1,   257,   141,
897      221,    -1,   238,    -1,   239,   142,   238,    -1,   258,   142,
898      238,    -1,   239,   142,   221,    -1,   258,   142,   221,    -1,
899      239,    -1,   240,    16,   239,    -1,   259,    16,   239,    -1,
900      240,    -1,   241,    17,   240,    -1,   260,    17,   240,    -1,
901      241,    -1,   241,   143,   245,   131,   242,    -1,   241,   143,
902      263,   131,   242,    -1,   260,   143,   245,   131,   242,    -1,
903      260,   143,   263,   131,   242,    -1,   241,   143,   246,   131,
904      242,    -1,   241,   143,   264,   131,   242,    -1,   260,   143,
905      246,   131,   242,    -1,   260,   143,   264,   131,   242,    -1,
906      241,   143,   245,   131,   221,    -1,   241,   143,   263,   131,
907      221,    -1,   260,   143,   245,   131,   221,    -1,   260,   143,
908      263,   131,   221,    -1,   241,   143,   246,   131,   221,    -1,
909      241,   143,   264,   131,   221,    -1,   260,   143,   246,   131,
910      221,    -1,   260,   143,   264,   131,   221,    -1,   242,    -1,
911      228,   244,   243,    -1,   249,   244,   243,    -1,   242,   244,
912      243,    -1,   261,   244,   243,    -1,   228,   244,   221,    -1,
913      249,   244,   221,    -1,   242,   244,   221,    -1,   261,   244,
914      221,    -1,   126,    -1,    18,    -1,    19,    -1,    20,    -1,
915       21,    -1,    22,    -1,    23,    -1,    24,    -1,    25,    -1,
916       26,    -1,    27,    -1,   243,    -1,   245,   127,   243,    -1,
917      263,   127,   243,    -1,   263,   123,    -1,   221,    -1,   245,
918      127,   221,    -1,   263,   127,   221,    -1,   223,    -1,     1,
919       -1,   224,     1,    -1,   176,     1,    -1,   224,     7,     1,
920       -1,   247,     7,     1,    -1,   224,   122,   225,    -1,   224,
921      122,   226,    -1,   224,   130,     1,    -1,   247,   122,   226,
922       -1,   247,   130,     1,    -1,     8,   249,    -1,     9,   249,
923       -1,   229,   250,    -1,   229,   222,    -1,     6,   249,    -1,
924        6,   122,   347,   123,     1,    -1,     6,   122,    65,   146,
925      123,     1,    -1,     6,   122,    65,   145,   123,     1,    -1,
926      109,   249,    -1,   109,   122,   347,   123,     1,    -1,   248,
927       -1,   247,    -1,   249,    -1,   122,   346,   123,   250,    -1,
928      250,    -1,   231,   119,   250,    -1,   231,   139,   250,    -1,
929      231,   140,   250,    -1,   251,   119,   250,    -1,   251,   139,
930      250,    -1,   251,   140,   250,    -1,   251,    -1,   232,   136,
931      251,    -1,   232,   137,   251,    -1,   252,   136,   251,    -1,
932      252,   137,   251,    -1,   252,    -1,   233,    10,   252,    -1,
933      233,    11,   252,    -1,   253,    10,   252,    -1,   253,    11,
934      252,    -1,   253,    -1,   234,   253,    -1,   235,   121,   253,
935       -1,   235,    12,   253,    -1,   235,    13,   253,    -1,   254,
936      120,   253,    -1,   254,   121,   253,    -1,   254,    12,   253,
937       -1,   254,    13,   253,    -1,   254,    -1,   236,    14,   254,
938       -1,   236,    15,   254,    -1,   255,    14,   254,    -1,   255,
939       15,   254,    -1,   236,    14,   222,    -1,   236,    15,   222,
940       -1,   255,    14,   222,    -1,   255,    15,   222,    -1,   255,
941       -1,   237,   135,   255,    -1,   256,   135,   255,    -1,   237,
942      135,   222,    -1,   256,   135,   222,    -1,   256,    -1,   238,
943      141,   256,    -1,   257,   141,   256,    -1,   238,   141,   222,
944       -1,   257,   141,   222,    -1,   257,    -1,   239,   142,   257,
945       -1,   258,   142,   257,    -1,   239,   142,   222,    -1,   258,
946      142,   222,    -1,   258,    -1,   240,    16,   258,    -1,   259,
947       16,   258,    -1,   259,    -1,   241,    17,   259,    -1,   260,
948       17,   259,    -1,   260,    -1,   241,   143,   245,   131,   260,
949       -1,   241,   143,   263,   131,   260,    -1,   260,   143,   245,
950      131,   260,    -1,   260,   143,   263,   131,   260,    -1,   241,
951      143,   245,   131,    -1,   241,   143,   263,   131,    -1,   260,
952      143,   245,   131,    -1,   260,   143,   263,   131,    -1,   241,
953      143,   246,   131,   260,    -1,   241,   143,   264,   131,   260,
954       -1,   260,   143,   246,   131,   260,    -1,   260,   143,   264,
955      131,   260,    -1,   241,   143,   246,   131,    -1,   241,   143,
956      264,   131,    -1,   260,   143,   246,   131,    -1,   260,   143,
957      264,   131,    -1,   241,   143,   245,   131,   222,    -1,   241,
958      143,   263,   131,   222,    -1,   260,   143,   245,   131,   222,
959       -1,   260,   143,   263,   131,   222,    -1,   241,   143,   246,
960      131,   222,    -1,   241,   143,   264,   131,   222,    -1,   260,
961      143,   246,   131,   222,    -1,   260,   143,   264,   131,   222,
962       -1,   241,   143,   131,    -1,   260,   143,   131,    -1,   241,
963      143,    -1,   260,   143,    -1,   261,    -1,   228,   244,   262,
964       -1,   249,   244,   262,    -1,   228,   244,   222,    -1,   249,
965      244,   222,    -1,   262,    -1,   243,     1,    -1,   245,   127,
966      262,    -1,   263,   127,   262,    -1,   245,   245,    -1,   263,
967      245,    -1,   245,   263,    -1,   222,    -1,   221,     1,    -1,
968      245,   127,   222,    -1,   263,   127,   222,    -1,   242,    -1,
969      261,    -1,    29,    -1,    30,    -1,    31,    -1,   117,    -1,
970       32,    -1,    33,    -1,   116,    -1,    29,    -1,    30,    -1,
971       31,    -1,   117,    -1,    32,    -1,    33,    -1,   116,    -1,
972      216,    -1,   216,   126,   265,    -1,   216,   126,   266,    -1,
973      269,    -1,   270,   127,   269,    -1,   270,   127,    -1,    50,
974       -1,   271,   216,    -1,   271,   149,    -1,   274,   128,    -1,
975      271,   216,   129,   128,    -1,   271,   149,   129,   128,    -1,
976      271,   129,   270,    -1,   271,   129,     1,    -1,   271,   216,
977      129,   270,    -1,   271,   216,   129,   270,     1,    -1,   271,
978      216,   129,     1,    -1,   271,   216,   129,   270,   125,   198,
979       -1,   271,   216,   129,   270,   125,   199,    -1,   271,   149,
980      129,   270,    -1,   271,   149,   129,   270,     1,    -1,   271,
981      149,   129,     1,    -1,   271,   149,   129,   270,   125,   198,
982       -1,   271,   149,   129,   270,   125,   199,    -1,   271,   216,
983      129,   270,   125,    -1,   271,   149,   129,   270,   125,    -1,
984      271,   216,    -1,   271,   149,    -1,   277,   128,    -1,   275,
985      131,   303,   129,   128,    -1,   275,   129,   128,    -1,   275,
986      131,   303,   129,   270,    -1,   275,   131,   303,   129,   270,
987        1,    -1,   275,   131,   303,   129,     1,    -1,   275,   131,
988      303,   129,   270,   125,   198,    -1,   275,   131,   303,   129,
989      270,   125,   199,    -1,   275,   131,   303,   129,   270,     1,
990      125,   198,    -1,   275,   131,   303,   129,   270,     1,   125,
991      199,    -1,   275,   131,   303,   129,     1,   125,   198,    -1,
992      275,   131,   303,   129,     1,   125,   199,    -1,   271,   129,
993      270,    -1,   271,   129,     1,    -1,   275,   129,   270,    -1,
994      275,   129,   270,     1,    -1,   275,   129,     1,    -1,   275,
995      129,   270,   125,   198,    -1,   275,   129,   270,   125,   199,
996       -1,   275,   131,   303,   129,   270,   125,    -1,   275,   131,
997      303,   129,   270,     1,   125,    -1,   275,   131,   303,   129,
998        1,   125,    -1,   275,   129,   270,   125,    -1,   276,    -1,
999      293,    -1,   277,    -1,   294,    -1,   319,    -1,    44,    -1,
1000       45,    -1,   280,    -1,   281,    -1,   282,   281,    -1,    46,
1001       -1,    34,    -1,    35,    -1,    36,    -1,    37,    -1,    38,
1002       -1,    47,    -1,    39,    -1,    42,    -1,    43,    -1,    40,
1003       -1,    41,    -1,    85,    -1,   290,    -1,   272,    -1,   146,
1004       -1,    87,   122,   243,   123,    -1,   100,   122,   146,   123,
1005       -1,   100,   122,   216,   123,    -1,    66,    -1,    82,    -1,
1006       83,    -1,   113,    -1,   112,    -1,   114,    -1,   115,    -1,
1007       46,    -1,    34,    -1,    35,    -1,    36,    -1,    37,    -1,
1008       38,    -1,    47,    -1,    39,    -1,    42,    -1,    43,    -1,
1009       40,    -1,    41,    -1,    85,    -1,   290,    -1,   272,    -1,
1010      149,    -1,   113,    -1,   112,    -1,   114,    -1,   115,    -1,
1011       87,   122,   243,   123,    -1,   100,   122,   146,   123,    -1,
1012      100,   122,   216,   123,    -1,    66,    -1,   336,    -1,   336,
1013      324,    -1,   131,   265,    -1,   336,   131,   265,    -1,   336,
1014      131,   265,   131,   265,    -1,   131,   266,    -1,   336,   131,
1015      266,    -1,   336,   131,   265,   131,   266,    -1,   336,   131,
1016      266,   131,   266,    -1,   336,   131,   266,   131,   265,    -1,
1017      285,    -1,   286,   127,   285,    -1,   295,   216,    -1,   295,
1018      147,    -1,   295,   319,   216,    -1,   295,   319,   147,    -1,
1019      289,   128,    -1,   287,   129,   128,    -1,   295,   129,   128,
1020       -1,   295,   319,   129,   128,    -1,   287,   129,   198,    -1,
1021      287,   129,   199,    -1,   287,   129,     1,    -1,   295,   129,
1022      198,    -1,   295,   129,   199,    -1,   295,   129,     1,    -1,
1023      295,   319,   129,   198,    -1,   295,   319,   129,   199,    -1,
1024      295,   319,   129,     1,    -1,   287,    -1,   287,    -1,   287,
1025      120,   208,   121,    -1,   291,   131,   303,    -1,   294,   128,
1026       -1,   292,   129,   128,    -1,   291,   129,   128,    -1,   295,
1027      129,   128,    -1,   292,   129,   198,    -1,   292,   129,   199,
1028       -1,   292,   129,     1,    -1,   291,   129,   198,    -1,   291,
1029      129,   199,    -1,   291,   129,     1,    -1,   295,   129,   198,
1030       -1,   295,   129,   199,    -1,   295,   129,     1,    -1,    48,
1031       -1,    49,    -1,   281,    -1,   296,   281,    -1,   283,    -1,
1032      296,   283,    -1,   273,    -1,   296,   273,    -1,   288,    -1,
1033      296,   288,    -1,   281,    -1,   297,   281,    -1,   283,    -1,
1034      297,   283,    -1,   145,    -1,   297,   145,    -1,   273,    -1,
1035      297,   273,    -1,   288,    -1,   297,   288,    -1,   267,    -1,
1036      298,   267,    -1,   281,    -1,   298,   281,    -1,   284,    -1,
1037      298,   284,    -1,   273,    -1,   298,   273,    -1,   288,    -1,
1038      298,   288,    -1,   267,    -1,   299,   267,    -1,   281,    -1,
1039      299,   281,    -1,   283,    -1,   299,   283,    -1,   145,    -1,
1040      299,   145,    -1,   288,    -1,   299,   288,    -1,   273,    -1,
1041      299,   273,    -1,   268,    -1,   300,   268,    -1,   281,    -1,
1042      300,   281,    -1,   283,    -1,   300,   283,    -1,   145,    -1,
1043      300,   145,    -1,   278,    -1,   300,   278,    -1,   279,    -1,
1044      300,   279,    -1,    81,    -1,    80,    -1,   267,    -1,   302,
1045      267,    -1,   281,    -1,   302,   281,    -1,   284,    -1,   302,
1046      284,    -1,   216,    -1,   302,   216,    -1,   216,   120,   210,
1047      121,    -1,   302,   216,   120,   210,   121,    -1,   302,    -1,
1048      295,    -1,   267,    -1,   304,   267,    -1,   281,    -1,   304,
1049      281,    -1,   284,    -1,   304,   284,    -1,   216,    -1,   304,
1050      216,    -1,   216,   120,   210,   121,    -1,   304,   216,   120,
1051      210,   121,    -1,   267,    -1,   305,   267,    -1,   281,    -1,
1052      305,   281,    -1,   284,    -1,   305,   284,    -1,   288,    -1,
1053      305,   288,    -1,   273,    -1,   305,   273,    -1,   216,    -1,
1054      305,   216,    -1,   216,   120,   210,   121,    -1,   305,   216,
1055      120,   210,   121,    -1,   267,    -1,   306,   267,    -1,   281,
1056       -1,   306,   281,    -1,   284,    -1,   306,   284,    -1,   288,
1057       -1,   306,   288,    -1,   273,    -1,   306,   273,    -1,   216,
1058       -1,   306,   216,    -1,   216,   120,   210,   121,    -1,   306,
1059      216,   120,   210,   121,    -1,   308,   127,     1,    -1,   307,
1060      127,     1,    -1,   216,    -1,   308,   127,   216,    -1,   307,
1061      127,   216,    -1,   350,   127,   216,    -1,   351,   127,   216,
1062       -1,   310,    -1,   147,    -1,    37,    -1,   147,   133,   265,
1063      134,    -1,   147,   133,   266,   134,    -1,   147,   133,   146,
1064      134,    -1,   147,   133,   134,    -1,   309,   133,   265,   134,
1065       -1,   309,   133,   266,   134,    -1,   309,   133,   146,   134,
1066       -1,   309,   133,   134,    -1,   216,    -1,   122,   330,   123,
1067       -1,   122,   319,   330,   123,    -1,   122,   331,   123,    -1,
1068      122,   319,   331,   123,    -1,   310,   133,   265,   134,    -1,
1069      310,   133,   266,   134,    -1,   310,   133,   146,   134,    -1,
1070      310,   133,   134,    -1,   310,   122,    -1,   311,   352,   123,
1071       -1,   311,   353,   123,    -1,   311,   308,   123,    -1,   311,
1072      307,   123,    -1,   311,   123,    -1,   311,   307,    -1,   311,
1073        1,    -1,   311,   350,   122,    -1,   311,   299,   216,   122,
1074       -1,   312,    -1,   310,    -1,   309,   122,    -1,   315,   352,
1075      123,    -1,   315,   353,   123,    -1,   315,   308,   123,    -1,
1076      315,   307,   123,    -1,   315,   123,    -1,   315,   307,    -1,
1077      315,     1,    -1,   315,   350,   122,    -1,   315,   299,   216,
1078      122,    -1,   316,    -1,   309,    -1,    74,    -1,    75,    -1,
1079      324,    -1,    86,   122,   385,   123,    -1,    79,    -1,   110,
1080       -1,   111,    -1,     3,    -1,    28,    -1,    75,    -1,    74,
1081       -1,    44,    -1,   321,    -1,   321,   122,   245,   123,    -1,
1082      322,    -1,   323,   322,    -1,   323,   127,   322,    -1,   320,
1083      122,   122,   323,   123,   123,    -1,   320,   122,   122,   123,
1084      123,    -1,   122,   328,   123,    -1,   122,   319,   328,   123,
1085       -1,   133,   134,    -1,   133,   265,   134,    -1,   133,   266,
1086      134,    -1,   133,   146,   134,    -1,   325,   133,   134,    -1,
1087      325,   133,   265,   134,    -1,   325,   133,   146,   134,    -1,
1088      325,   133,   266,   134,    -1,   122,   123,    -1,   122,   352,
1089      123,    -1,   122,   353,   123,    -1,   325,   122,   123,    -1,
1090      325,   122,   352,   123,    -1,   325,   122,   353,   123,    -1,
1091      122,   329,   123,    -1,   122,   319,   329,   123,    -1,   122,
1092      123,    -1,   122,   352,   123,    -1,   122,   353,   123,    -1,
1093      326,   122,   123,    -1,   326,   122,   352,   123,    -1,   326,
1094      122,   353,   123,    -1,   119,    -1,   119,   282,    -1,   119,
1095      327,    -1,   119,   282,   327,    -1,   327,    -1,   325,    -1,
1096      327,   325,    -1,   319,   327,    -1,   319,   327,   325,    -1,
1097      327,    -1,   326,    -1,   327,   326,    -1,   319,   327,    -1,
1098      319,   327,   326,    -1,   314,    -1,   327,   314,    -1,   319,
1099      327,   314,    -1,   330,   319,    -1,   336,   319,    -1,   318,
1100       -1,   327,   318,    -1,   319,   327,   318,    -1,   331,   319,
1101       -1,   312,    -1,   327,   312,    -1,   319,   327,   312,    -1,
1102      327,   319,   312,    -1,   313,    -1,   327,   313,    -1,   319,
1103      327,   313,    -1,   327,   319,   313,    -1,   316,    -1,   327,
1104      316,    -1,   319,   327,   316,    -1,   327,   319,   316,    -1,
1105      317,    -1,   327,   317,    -1,   319,   327,   317,    -1,   327,
1106      319,   317,    -1,   309,    -1,   327,   309,    -1,   319,   327,
1107      309,    -1,   327,   319,   309,    -1,   243,    -1,   129,   341,
1108      128,    -1,   129,   341,   127,   128,    -1,   262,    -1,   129,
1109      341,   128,     1,    -1,   129,   341,    -1,   129,   341,   127,
1110      128,     1,    -1,   129,   341,   127,    -1,   242,    -1,   221,
1111       -1,   261,    -1,   222,    -1,   337,    -1,   338,    -1,   341,
1112      127,   337,    -1,   341,   127,   338,    -1,   341,   337,    -1,
1113      341,   338,    -1,   330,    -1,   331,    -1,   330,   126,   337,
1114       -1,   330,     1,    -1,   330,   126,   338,    -1,   342,    -1,
1115      344,   127,   342,    -1,    37,   127,   342,    -1,    38,   127,
1116      342,    -1,   147,   127,   342,    -1,   345,   127,   342,    -1,
1117      343,    -1,   342,     1,    -1,   344,   127,   343,    -1,   345,
1118      127,   343,    -1,   296,    -1,   296,   328,    -1,   297,    -1,
1119      297,   328,    -1,   299,   331,    -1,   299,   328,    -1,   299,
1120      135,    -1,   299,   135,   331,    -1,   299,    -1,    65,    -1,
1121      299,   331,     1,    -1,   299,   328,     1,    -1,   348,    -1,
1122      350,   127,   348,    -1,   350,     1,   127,   348,    -1,   351,
1123      127,   348,    -1,   351,     1,   127,   348,    -1,     1,   127,
1124      348,    -1,   308,   127,   348,    -1,   308,     1,   127,   348,
1125       -1,   307,   127,   348,    -1,   307,     1,   127,   348,    -1,
1126      349,    -1,   350,   127,   349,    -1,   351,   127,   349,    -1,
1127      351,     1,   127,   349,    -1,     1,   127,   349,    -1,   308,
1128      127,   349,    -1,   307,   127,   349,    -1,   307,     1,   127,
1129      349,    -1,   350,    -1,   350,   127,    51,    -1,   351,   127,
1130       51,    -1,   308,   127,    51,    -1,   307,   127,    51,    -1,
1131        1,   127,    51,    -1,   351,    -1,   350,   127,     1,    -1,
1132      351,     1,    -1,   359,    -1,   324,    -1,   374,    -1,   125,
1133       -1,   131,    -1,   245,   125,    -1,   377,    -1,   379,    -1,
1134      381,    -1,   358,    -1,   195,   125,    -1,   194,   125,    -1,
1135      193,   125,    -1,   360,    -1,   380,    -1,   375,    -1,   378,
1136       -1,   382,    -1,   381,     1,    -1,   263,    -1,   385,    -1,
1137      385,   122,   243,   123,    -1,   133,   216,   134,   385,   122,
1138      243,   123,    -1,   356,    -1,   357,   127,   356,    -1,    -1,
1139       86,   281,   122,   385,   123,   125,    -1,    86,   281,   122,
1140      385,   131,   357,   123,   125,    -1,    86,   281,   122,   385,
1141      131,   357,   131,   357,   123,   125,    -1,    86,   281,   122,
1142      385,   131,   357,   131,   357,   131,   357,   123,   125,    -1,
1143       86,   281,   122,   385,     3,   357,   123,   125,    -1,    86,
1144      281,   122,   385,     3,   357,   131,   357,   123,   125,    -1,
1145       86,   281,   122,   385,   131,   357,     3,   357,   123,   125,
1146       -1,    86,   122,   385,   123,   125,    -1,    86,   122,   385,
1147      131,   357,   123,   125,    -1,    86,   122,   385,   131,   357,
1148      131,   357,   123,   125,    -1,    86,   122,   385,   131,   357,
1149      131,   357,   131,   357,   123,   125,    -1,    86,   122,   385,
1150        3,   357,   123,   125,    -1,    86,   122,   385,     3,   357,
1151      131,   357,   123,   125,    -1,    86,   122,   385,   131,   357,
1152        3,   357,   123,   125,    -1,   216,   131,   354,    -1,    52,
1153      265,   131,   354,    -1,    52,   266,   131,   354,    -1,    52,
1154      131,   354,    -1,    53,   131,   354,    -1,   216,   131,   363,
1155       -1,    52,   265,   131,   363,    -1,    52,   266,   131,   363,
1156       -1,    52,   131,   363,    -1,    53,   131,   363,    -1,   216,
1157      131,   355,    -1,    52,   265,   131,   355,    -1,    52,   266,
1158      131,   355,    -1,    52,   131,   355,    -1,    52,   131,    -1,
1159       53,   131,   355,    -1,    53,   131,    -1,   216,   131,   366,
1160       -1,    52,   265,   131,   366,    -1,    52,   266,   131,   366,
1161       -1,    52,   131,   366,    -1,    53,   131,   366,    -1,    80,
1162       -1,    81,    -1,    53,    -1,    80,    -1,    81,    -1,   298,
1163      125,    -1,   298,   344,   125,    -1,   170,   125,    -1,   366,
1164      125,    -1,   300,   125,    -1,   300,   344,   125,    -1,   301,
1165      344,   125,    -1,   174,   125,    -1,    77,   216,   126,   242,
1166      125,    -1,    31,    77,   216,   126,   242,   125,    -1,   300,
1167        1,    -1,   298,     1,    -1,   366,     1,    -1,   171,     1,
1168       -1,   170,     1,    -1,   298,   345,    -1,   363,    -1,   367,
1169      363,    -1,   368,   363,    -1,   367,     1,   125,    -1,   366,
1170       -1,   367,   366,    -1,   354,    -1,   369,   354,    -1,   370,
1171      354,    -1,   355,    -1,   369,   355,    -1,   370,   355,    -1,
1172      369,   363,    -1,   370,   363,    -1,   369,   366,    -1,   370,
1173      366,    -1,   369,    -1,   367,    -1,   367,   369,    -1,   368,
1174      369,    -1,   370,    -1,   368,    -1,   367,   370,    -1,   368,
1175      370,    -1,   129,    -1,   375,   128,    -1,   373,   372,    -1,
1176      373,    -1,   373,   371,    -1,   125,    -1,   245,   125,    -1,
1177      263,   125,    -1,    54,   122,   245,   123,   354,    -1,    54,
1178      122,   263,   123,   354,    -1,    54,   122,   245,   123,   354,
1179       64,   354,    -1,    54,   122,   263,   123,   354,    64,   354,
1180       -1,    55,   122,   245,   123,   354,    -1,    55,   122,   263,
1181      123,   354,    -1,    54,   122,   263,    -1,   377,     1,    -1,
1182       56,   122,   245,   123,   354,    -1,    56,   122,   263,   354,
1183       -1,    56,   122,   123,   354,    -1,    57,   354,    56,   122,
1184      245,   123,   125,    -1,    57,   354,    56,   122,   263,   125,
1185       -1,    58,   122,   376,   376,   123,   354,    -1,    58,   122,
1186      376,   123,   354,    -1,    58,   122,   376,   376,   245,   123,
1187      354,    -1,    58,   122,   376,   376,   263,   354,    -1,    58,
1188      122,   123,   354,    -1,    58,   122,   216,   131,   245,   123,
1189      354,    -1,    58,   122,   216,   131,   245,   125,   245,   123,
1190      354,    -1,    58,   122,     1,    -1,    58,   122,   263,     1,
1191       -1,    58,   122,   376,     1,    -1,    58,   122,   376,   263,
1192        1,    -1,    58,   122,   376,   376,   263,    -1,    58,   122,
1193      376,   376,   123,   355,    -1,    58,   122,   376,   376,   245,
1194      123,   355,    -1,    58,   122,   376,   376,   263,   355,    -1,
1195       57,   354,    56,   122,   245,   123,    -1,    57,   354,    56,
1196      122,   245,    -1,    57,   354,    56,   122,   263,    -1,    57,
1197      354,    56,   122,    -1,    57,   354,    56,    -1,    57,   354,
1198       -1,    57,    -1,    56,     1,    -1,    56,   122,   123,     1,
1199       -1,    56,   122,   263,    -1,    56,   122,   245,   123,   355,
1200       -1,    56,   122,   263,   355,    -1,    59,   216,   125,    -1,
1201       60,   125,    -1,    61,   125,    -1,    62,   125,    -1,    62,
1202      245,   125,    -1,    62,   263,   125,    -1,    62,   221,   125,
1203       -1,    62,   222,   125,    -1,    62,   263,    -1,    62,   222,
1204       -1,    62,    -1,    59,    -1,   300,   332,   367,   374,    -1,
1205      300,   332,   374,    -1,   300,   334,   367,   374,    -1,   300,
1206      334,   374,    -1,   332,   367,   374,    -1,   332,   374,    -1,
1207      300,   332,   367,   375,    -1,   300,   332,   375,    -1,   300,
1208      334,   367,   375,    -1,   300,   334,   375,    -1,   332,   367,
1209      375,    -1,   332,   375,    -1,     5,    -1,   385,     5,    -1,
1210      383,    -1,   213,    -1,   300,   213,    -1,   364,    -1,    76,
1211      385,    -1,    76,    31,   385,    -1,    76,   216,   385,    -1,
1212      125,    -1,   361,   383,    -1,   361,   213,    -1,   361,   364,
1213       -1,   361,    76,   385,    -1,   361,    76,    31,   385,    -1,
1214      361,    76,   216,   385,    -1,   361,   131,    -1,    31,   131,
1215       -1,   101,   216,    -1,   101,   149,    -1,   391,    -1,   361,
1216      391,    -1,   215,    -1,   300,   215,    -1,   384,    -1,   361,
1217      215,    -1,   361,   384,    -1,   365,    -1,   361,   365,    -1,
1218      387,    -1,   389,   387,    -1,   388,   387,    -1,   389,     1,
1219       -1,   388,     1,    -1,   386,    -1,   389,   386,    -1,   388,
1220      213,    -1,   388,   361,   213,    -1,   389,    -1,   388,    -1,
1221       -1,   105,   385,   216,   129,   396,   128,    -1,   105,   385,
1222      149,   129,   396,   128,    -1,   105,   385,   129,   396,   128,
1223       -1,   299,   216,   385,   125,    -1,   216,    -1,   121,   216,
1224       -1,   120,   216,    -1,   393,    -1,   394,   127,   393,    -1,
1225      107,   394,   125,    -1,   107,   394,   216,   125,    -1,   392,
1226       -1,   395,    -1,   396,   392,    -1,   396,   395,    -1,   108,
1227      122,   243,   127,   243,   123,    -1,   106,   122,   385,   127,
1228      216,   123,    -1,   107,   122,   385,   127,   216,   123,    -1,
1229      105,   122,   385,   123,    -1
1230 };
1231
1232 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1233 static const yytype_uint16 yyrline[] =
1234 {
1235        0,   283,   283,   302,   341,   342,   422,   426,   429,   430,
1236      431,   470,   472,   477,   482,   487,   489,   494,   496,   501,
1237      503,   508,   510,   512,   514,   516,   520,   524,   537,   539,
1238      541,   543,   545,   551,   553,   558,   563,   568,   570,   572,
1239      577,   578,   582,   583,   594,   598,   599,   601,   606,   607,
1240      609,   612,   624,   635,   654,   656,   661,   662,   663,   664,
1241      665,   666,   667,   668,   681,   685,   686,   687,   688,   692,
1242      693,   694,   695,   696,   697,   698,   702,   704,   709,   711,
1243      713,   715,   717,   747,   749,   754,   756,   758,   760,   762,
1244      791,   793,   795,   800,   802,   807,   809,   813,   815,   817,
1245      819,   824,   827,   830,   833,   898,   900,   905,   907,   909,
1246      911,   913,   944,   948,   949,   950,   954,   955,   956,   960,
1247      961,   962,   963,   967,   970,   973,   976,   979,   984,   985,
1248      987,   989,   991,   993,   998,  1002,  1005,  1008,  1011,  1014,
1249     1019,  1020,  1022,  1027,  1031,  1033,  1038,  1040,  1045,  1047,
1250     1052,  1057,  1059,  1064,  1066,  1068,  1070,  1075,  1077,  1079,
1251     1081,  1086,  1087,  1088,  1089,  1090,  1091,  1092,  1093,  1094,
1252     1095,  1096,  1098,  1099,  1101,  1105,  1108,  1109,  1110,  1111,
1253     1112,  1113,  1114,  1115,  1116,  1117,  1118,  1119,  1120,  1121,
1254     1123,  1124,  1128,  1129,  1130,  1134,  1138,  1139,  1140,  1144,
1255     1145,  1146,  1147,  1148,  1152,  1153,  1165,  1166,  1170,  1171,
1256     1172,  1173,  1174,  1175,  1176,  1177,  1181,  1185,  1186,  1190,
1257     1198,  1199,  1203,  1204,  1205,  1209,  1210,  1214,  1215,  1216,
1258     1217,  1218,  1219,  1259,  1260,  1264,  1272,  1273,  1281,  1282,
1259     1284,  1285,  1294,  1295,  1299,  1306,  1313,  1319,  1326,  1332,
1260     1341,  1348,  1354,  1360,  1366,  1372,  1378,  1389,  1394,  1395,
1261     1400,  1401,  1402,  1406,  1410,  1411,  1412,  1413,  1414,  1415,
1262     1416,  1429,  1430,  1431,  1432,  1433,  1434,  1435,  1436,  1437,
1263     1438,  1439,  1440,  1441,  1442,  1443,  1444,  1445,  1446,  1447,
1264     1448,  1449,  1450,  1451,  1452,  1454,  1455,  1456,  1457,  1458,
1265     1460,  1461,  1465,  1469,  1473,  1474,  1478,  1480,  1481,  1482,
1266     1483,  1484,  1485,  1486,  1487,  1488,  1490,  1491,  1492,  1493,
1267     1494,  1495,  1496,  1497,  1524,  1525,  1526,  1527,  1531,  1532,
1268     1533,  1534,  1535,  1539,  1540,  1541,  1542,  1544,  1545,  1546,
1269     1547,  1550,  1551,  1555,  1556,  1565,  1566,  1567,  1568,  1569,
1270     1570,  1571,  1572,  1576,  1577,  1581,  1582,  1583,  1584,  1585,
1271     1586,  1587,  1591,  1592,  1593,  1594,  1595,  1599,  1600,  1601,
1272     1602,  1603,  1607,  1615,  1616,  1617,  1618,  1619,  1620,  1621,
1273     1622,  1623,  1627,  1628,  1629,  1630,  1631,  1633,  1634,  1635,
1274     1636,  1640,  1641,  1642,  1644,  1645,  1649,  1650,  1651,  1653,
1275     1654,  1658,  1659,  1660,  1662,  1663,  1667,  1668,  1669,  1673,
1276     1674,  1675,  1679,  1680,  1681,  1682,  1683,  1685,  1686,  1687,
1277     1688,  1690,  1691,  1692,  1693,  1695,  1696,  1697,  1698,  1702,
1278     1703,  1704,  1705,  1706,  1708,  1709,  1710,  1711,  1715,  1716,
1279     1717,  1718,  1719,  1720,  1721,  1722,  1723,  1724,  1725,  1729,
1280     1730,  1731,  1732,  1736,  1737,  1738,  1742,  1743,  1744,  1745,
1281     1747,  1748,  1750,  1751,  1756,  1758,  1763,  1791,  1792,  1793,
1282     1794,  1796,  1797,  1798,  1799,  1801,  1802,  1806,  1807,  1816,
1283     1817,  1821,  1822,  1823,  1824,  1825,  1826,  1827,  1831,  1832,
1284     1836,  1840,  1844,  1851,  1852,  1853,  1854,  1855,  1859,  1860,
1285     1903,  1904,  1905,  1906,  1907,  1908,  1909,  1913,  1914,  1915,
1286     1916,  1917,  1924,  1925,  1926,  1927,  1931,  1932,  1933,  1935,
1287     1936,  1940,  1941,  1942,  1944,  1945,  1949,  1950,  1951,  1953,
1288     1954,  1958,  1959,  1960,  1964,  1965,  1966,  1970,  1971,  1972,
1289     1973,  1974,  1975,  1976,  1977,  1978,  1980,  1981,  1982,  1983,
1290     1984,  1985,  1986,  1987,  1989,  1990,  1991,  1992,  1994,  1995,
1291     1996,  1997,  1999,  2007,  2011,  2016,  2023,  2024,  2028,  2033,
1292     2034,  2038,  2039,  2040,  2041,  2047,  2048,  2049,  2053,  2054,
1293     2055,  2056,  2060,  2062,  2066,  2067,  2068,  2069,  2070,  2071,
1294     2072,  2076,  2077,  2078,  2079,  2080,  2081,  2082,  2086,  2087,
1295     2088,  2092,  2093,  2094,  2098,  2102,  2103,  2107,  2108,  2109,
1296     2113,  2114,  2116,  2117,  2118,  2119,  2120,  2122,  2123,  2124,
1297     2125,  2126,  2128,  2129,  2133,  2134,  2138,  2139,  2140,  2144,
1298     2145,  2146,  2147,  2148,  2149,  2150,  2151,  2152,  2154,  2155,
1299     2157,  2158,  2159,  2160,  2161,  2163,  2164,  2165,  2166,  2170,
1300     2171,  2175,  2176,  2180,  2184,  2185,  2186,  2191,  2192,  2196,
1301     2197,  2198,  2199,  2200,  2201,  2202,  2203,  2204,  2205,  2206,
1302     2207,  2208,  2209,  2210,  2211,  2212,  2213,  2214,  2215,  2216,
1303     2217,  2218,  2219,  2220,  2221,  2225,  2226,  2227,  2228,  2229,
1304     2230,  2231,  2232,  2233,  2234,  2235,  2236,  2237,  2238,  2239,
1305     2240,  2241,  2242,  2243,  2244,  2245,  2246,  2247,  2248,  2254,
1306     2256,  2258,  2260,  2262,  2264,  2266,  2268,  2270,  2272,  2277,
1307     2278,  2282,  2288,  2294,  2301,  2311,  2312,  2313,  2314,  2318,
1308     2319,  2320,  2322,  2323,  2324,  2326,  2327,  2328,  2332,  2336,
1309     2344,  2353,  2362,  2363,  2365,  2366,  2370,  2377,  2384,  2387,
1310     2400,  2414,  2417,  2419,  2421,  2426,  2427,  2431,  2432,  2433,
1311     2434,  2435,  2436,  2437,  2438,  2442,  2443,  2444,  2445,  2446,
1312     2447,  2448,  2449,  2450,  2451,  2455,  2456,  2457,  2458,  2459,
1313     2460,  2461,  2462,  2463,  2464,  2468,  2469,  2470,  2471,  2472,
1314     2473,  2474,  2475,  2476,  2477,  2478,  2479,  2483,  2484,  2485,
1315     2486,  2487,  2488,  2489,  2490,  2491,  2492,  2496,  2497,  2501,
1316     2502,  2503,  2504,  2505,  2506,  2507,  2508,  2509,  2511,  2513,
1317     2521,  2531,  2532,  2536,  2537,  2538,  2539,  2540,  2541,  2542,
1318     2543,  2544,  2552,  2561,  2562,  2563,  2564,  2565,  2566,  2567,
1319     2568,  2569,  2570,  2571,  2572,  2573,  2581,  2590,  2591,  2592,
1320     2593,  2594,  2595,  2596,  2597,  2598,  2599,  2600,  2601,  2602,
1321     2610,  2619,  2620,  2624,  2625,  2626,  2627,  2628,  2632,  2633,
1322     2640,  2642,  2651,  2660,  2669,  2678,  2679,  2680,  2681,  2685,
1323     2686,  2687,  2688,  2689,  2690,  2691,  2692,  2693,  2697,  2701,
1324     2702,  2703,  2704,  2705,  2710,  2719,  2728,  2737,  2751,  2752,
1325     2757,  2761,  2762,  2763,  2764,  2765,  2770,  2779,  2788,  2797,
1326     2811,  2812,  2861,  2862,  2863,  2864,  2876,  2877,  2878,  2883,
1327     2884,  2885,  2886,  2887,  2891,  2892,  2896,  2897,  2898,  2902,
1328     2903,  2907,  2908,  2909,  2910,  2911,  2912,  2913,  2914,  2915,
1329     2916,  2917,  2918,  2919,  2920,  2921,  2922,  2926,  2927,  2928,
1330     2929,  2930,  2931,  2932,  2933,  2937,  2938,  2939,  2940,  2944,
1331     2945,  2946,  2947,  2948,  2952,  2953,  2954,  2955,  2956,  2960,
1332     2961,  2963,  2965,  2967,  2972,  2973,  2975,  2977,  2982,  2983,
1333     2984,  2985,  2989,  2990,  2991,  2992,  2996,  2997,  2998,  2999,
1334     3003,  3004,  3005,  3006,  3010,  3011,  3012,  3013,  3017,  3018,
1335     3019,  3036,  3037,  3038,  3039,  3052,  3069,  3070,  3075,  3076,
1336     3080,  3081,  3082,  3083,  3086,  3087,  3091,  3092,  3093,  3097,
1337     3101,  3105,  3106,  3107,  3108,  3109,  3118,  3127,  3128,  3129,
1338     3130,  3134,  3135,  3139,  3140,  3145,  3146,  3147,  3148,  3149,
1339     3150,  3169,  3170,  3174,  3175,  3176,  3177,  3178,  3179,  3181,
1340     3182,  3183,  3184,  3188,  3189,  3190,  3191,  3192,  3194,  3195,
1341     3196,  3200,  3201,  3202,  3203,  3204,  3205,  3209,  3210,  3211,
1342     3216,  3217,  3218,  3219,  3220,  3221,  3222,  3223,  3224,  3225,
1343     3226,  3227,  3228,  3232,  3233,  3234,  3235,  3236,  3237,  3238,
1344     3242,  3243,  3244,  3248,  3249,  3250,  3254,  3255,  3256,  3257,
1345     3259,  3260,  3261,  3263,  3264,  3265,  3266,  3268,  3269,  3270,
1346     3274,  3275,  3276,  3277,  3278,  3280,  3281,  3282,  3283,  3284,
1347     3288,  3289,  3290,  3291,  3292,  3293,  3294,  3296,  3297,  3298,
1348     3299,  3300,  3304,  3305,  3306,  3310,  3311,  3315,  3316,  3317,
1349     3318,  3322,  3323,  3324,  3326,  3327,  3328,  3332,  3336,  3337,
1350     3339,  3340,  3341,  3345,  3346,  3347,  3348,  3352,  3353,  3357,
1351     3358,  3359,  3363,  3364,  3365,  3366,  3367,  3368,  3369,  3373,
1352     3374,  3375,  3376,  3380,  3381,  3382,  3383,  3387,  3391,  3395,
1353     3397,  3400,  3406,  3407,  3408,  3412,  3413,  3414,  3415,  3416,
1354     3417,  3421,  3422,  3426,  3427,  3428,  3430,  3431,  3433,  3434,
1355     3435,  3436,  3437,  3439,  3440,  3444,  3445,  3446,  3447,  3451,
1356     3452,  3453,  3454,  3456,  3457,  3458,  3459,  3460,  3461,  3462,
1357     3465,  3469,  3470,  3474,  3475,  3479,  3480,  3481,  3482,  3483,
1358     3484,  3485,  3486,  3490,  3491,  3492,  3493,  3499,  3500,  3502,
1359     3503,  3506,  3507,  3510,  3511,  3512,  3513,  3514,  3515,  3519,
1360     3520,  3532,  3533,  3536,  3539,  3541,  3542,  3543,  3553,  3555,
1361     3556,  3558,  3559,  3560,  3561,  3571,  3572,  3573,  3574,  3575,
1362     3576,  3580,  3581,  3590,  3592,  3593,  3595,  3597,  3601,  3602,
1363     3603,  3604,  3605,  3609,  3610,  3611,  3613,  3618,  3619,  3620,
1364     3624,  3625,  3626,  3630,  3634,  3635,  3636,  3640,  3641,  3645,
1365     3646,  3650,  3651,  3652,  3653,  3657,  3661,  3665,  3669
1366 };
1367 #endif
1368
1369 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1370 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1371    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1372 static const char *const yytname[] =
1373 {
1374   "$end", "error", "$undefined", "IDENTIFIER", "CONSTANT",
1375   "STRING_LITERAL", "SIZEOF", "PTR_OP", "INC_OP", "DEC_OP", "LEFT_OP",
1376   "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP",
1377   "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "ADD_ASSIGN", "SUB_ASSIGN",
1378   "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN",
1379   "TYPE_NAME", "TYPEDEF", "EXTERN", "STATIC", "AUTO", "REGISTER", "CHAR",
1380   "SHORT", "INT", "UINT", "INT64", "LONG", "SIGNED", "UNSIGNED", "FLOAT",
1381   "DOUBLE", "CONST", "VOLATILE", "VOID", "VALIST", "STRUCT", "UNION",
1382   "ENUM", "ELLIPSIS", "CASE", "DEFAULT", "IF", "SWITCH", "WHILE", "DO",
1383   "FOR", "GOTO", "CONTINUE", "BREAK", "RETURN", "IFX", "ELSE", "CLASS",
1384   "THISCLASS", "CLASS_NAME", "PROPERTY", "SETPROP", "GETPROP", "NEWOP",
1385   "RENEW", "DELETE", "EXT_DECL", "EXT_STORAGE", "IMPORT", "DEFINE",
1386   "VIRTUAL", "ATTRIB", "PUBLIC", "PRIVATE", "TYPED_OBJECT", "ANY_OBJECT",
1387   "_INCREF", "EXTENSION", "ASM", "TYPEOF", "WATCH", "STOPWATCHING",
1388   "FIREWATCHERS", "WATCHABLE", "CLASS_DESIGNER", "CLASS_NO_EXPANSION",
1389   "CLASS_FIXED", "ISPROPSET", "CLASS_DEFAULT_PROPERTY",
1390   "PROPERTY_CATEGORY", "CLASS_DATA", "CLASS_PROPERTY", "SUBCLASS",
1391   "NAMESPACE", "NEW0OP", "RENEW0", "VAARG", "DBTABLE", "DBFIELD",
1392   "DBINDEX", "DATABASE_OPEN", "ALIGNOF", "ATTRIB_DEP", "__ATTRIB", "BOOL",
1393   "_BOOL", "_COMPLEX", "_IMAGINARY", "RESTRICT", "THREAD",
1394   "WIDE_STRING_LITERAL", "'*'", "'<'", "'>'", "'('", "')'", "'~'", "';'",
1395   "'='", "','", "'}'", "'{'", "'.'", "':'", "'$'", "'['", "']'", "'&'",
1396   "'+'", "'-'", "'!'", "'/'", "'%'", "'^'", "'|'", "'?'", "$accept",
1397   "guess_type", "type", "base_strict_type", "base_strict_type_name",
1398   "strict_type", "class_function_definition_start",
1399   "constructor_function_definition_start",
1400   "destructor_function_definition_start",
1401   "virtual_class_function_definition_start",
1402   "class_function_definition_start_error",
1403   "virtual_class_function_definition_start_error",
1404   "class_function_definition", "class_function_definition_error",
1405   "instance_class_function_definition_start",
1406   "instance_class_function_definition_start_error",
1407   "instance_class_function_definition",
1408   "instance_class_function_definition_error", "data_member_initialization",
1409   "data_member_initialization_error", "data_member_initialization_list",
1410   "data_member_initialization_list_error",
1411   "data_member_initialization_list_coloned",
1412   "members_initialization_list_coloned", "members_initialization_list",
1413   "members_initialization_list_error", "instantiation_named",
1414   "instantiation_named_error", "guess_instantiation_named",
1415   "guess_instantiation_named_error", "external_guess_instantiation_named",
1416   "instantiation_unnamed", "instantiation_unnamed_error",
1417   "instantiation_anon", "instantiation_anon_error", "default_property",
1418   "default_property_error", "default_property_list",
1419   "default_property_list_error", "property_start", "property_body",
1420   "property", "class_property_start", "class_property_body",
1421   "class_property", "watch_property_list", "property_watch",
1422   "property_watch_list", "self_watch_definition", "watch_definition",
1423   "stopwatching", "firewatchers", "struct_declaration",
1424   "struct_declaration_error", "struct_declaration_list",
1425   "struct_declaration_list_error", "template_datatype",
1426   "template_type_argument", "template_type_parameter",
1427   "template_identifier_argument", "template_identifier_parameter",
1428   "template_expression_argument", "template_expression_parameter",
1429   "template_parameter", "template_parameters_list", "template_argument",
1430   "template_arguments_list", "class_entry", "class_decl", "class",
1431   "class_head", "class_error", "identifier", "primary_expression",
1432   "i18n_string", "constant", "simple_primary_expression",
1433   "anon_instantiation_expression", "anon_instantiation_expression_error",
1434   "primary_expression_error", "postfix_expression",
1435   "argument_expression_list", "argument_expression_list_error",
1436   "common_unary_expression", "unary_expression", "unary_operator",
1437   "cast_expression", "multiplicative_expression", "additive_expression",
1438   "shift_expression", "relational_expression_smaller_than",
1439   "relational_expression", "equality_expression", "and_expression",
1440   "exclusive_or_expression", "inclusive_or_expression",
1441   "logical_and_expression", "logical_or_expression",
1442   "conditional_expression", "assignment_expression", "assignment_operator",
1443   "expression", "expression_anon_inst", "postfix_expression_error",
1444   "common_unary_expression_error", "unary_expression_error",
1445   "cast_expression_error", "multiplicative_expression_error",
1446   "additive_expression_error", "shift_expression_error",
1447   "relational_expression_error", "equality_expression_error",
1448   "and_expression_error", "exclusive_or_expression_error",
1449   "inclusive_or_expression_error", "logical_and_expression_error",
1450   "logical_or_expression_error", "conditional_expression_error",
1451   "assignment_expression_error", "expression_error",
1452   "expression_anon_inst_error", "constant_expression",
1453   "constant_expression_error", "storage_class_specifier",
1454   "external_storage_class_specifier", "enumerator", "enumerator_list",
1455   "enum_specifier", "enum_specifier_nocompound", "enum_specifier_compound",
1456   "enum_specifier_compound_error", "enum_decl", "enum_class",
1457   "enum_class_error", "class_specifier", "class_specifier_error",
1458   "ext_storage", "type_qualifier", "type_qualifier_list", "type_specifier",
1459   "strict_type_specifier", "struct_declarator", "struct_declarator_list",
1460   "struct_entry", "struct_or_union_specifier_compound",
1461   "struct_or_union_specifier_compound_error",
1462   "struct_or_union_specifier_nocompound", "struct_decl", "struct_head",
1463   "struct_class", "struct_class_error", "struct_or_union",
1464   "specifier_qualifier_list", "guess_specifier_qualifier_list",
1465   "declaration_specifiers", "guess_declaration_specifiers",
1466   "external_guess_declaration_specifiers",
1467   "external_guess_declaration_specifiers_error", "_inheritance_specifiers",
1468   "inheritance_specifiers", "property_specifiers", "renew_specifiers",
1469   "new_specifiers", "identifier_list_error", "identifier_list",
1470   "direct_declarator_nofunction_type_ok", "direct_declarator_nofunction",
1471   "direct_declarator_function_start", "direct_declarator_function",
1472   "direct_declarator_function_error", "direct_declarator",
1473   "direct_declarator_function_start_type_ok",
1474   "direct_declarator_function_type_ok",
1475   "direct_declarator_function_error_type_ok", "direct_declarator_type_ok",
1476   "ext_decl", "_attrib", "attribute_word", "attribute", "attribs_list",
1477   "attrib", "direct_abstract_declarator",
1478   "direct_abstract_declarator_noarray", "pointer", "abstract_declarator",
1479   "abstract_declarator_noarray", "declarator", "declarator_type_ok",
1480   "declarator_function", "declarator_function_error",
1481   "declarator_function_type_ok", "declarator_function_error_type_ok",
1482   "declarator_nofunction_type_ok", "initializer", "initializer_error",
1483   "initializer_condition", "initializer_condition_error",
1484   "initializer_list", "init_declarator", "init_declarator_error",
1485   "init_declarator_list", "init_declarator_list_error", "type_name",
1486   "guess_type_name", "parameter_declaration",
1487   "parameter_declaration_error", "parameter_list", "parameter_list_error",
1488   "parameter_type_list", "parameter_type_list_error", "statement",
1489   "statement_error", "asm_field", "asm_field_list", "asm_statement",
1490   "labeled_statement", "labeled_statement_error", "declaration_mode",
1491   "member_access", "declaration", "external_guess_declaration",
1492   "external_guess_declaration_error", "declaration_error",
1493   "declaration_list", "declaration_list_error", "statement_list",
1494   "statement_list_error", "compound_inside", "compound_inside_error",
1495   "compound_start", "compound_statement", "compound_statement_error",
1496   "expression_statement", "selection_statement",
1497   "selection_statement_error", "iteration_statement",
1498   "iteration_statement_error", "jump_statement", "jump_statement_error",
1499   "function_definition", "function_definition_error", "string_literal",
1500   "external_declaration", "external_declaration_error",
1501   "translation_unit_error", "translation_unit", "thefile",
1502   "dbtable_definition", "dbfield_entry", "dbindex_item",
1503   "dbindex_item_list", "dbindex_entry", "dbfield_definition_list",
1504   "database_open", "dbfield", "dbindex", "dbtable", 0
1505 };
1506 #endif
1507
1508 # ifdef YYPRINT
1509 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1510    token YYLEX-NUM.  */
1511 static const yytype_uint16 yytoknum[] =
1512 {
1513        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1514      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1515      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1516      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1517      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1518      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1519      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1520      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1521      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1522      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1523      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1524      365,   366,   367,   368,   369,   370,   371,   372,   373,    42,
1525       60,    62,    40,    41,   126,    59,    61,    44,   125,   123,
1526       46,    58,    36,    91,    93,    38,    43,    45,    33,    47,
1527       37,    94,   124,    63
1528 };
1529 # endif
1530
1531 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1532 static const yytype_uint16 yyr1[] =
1533 {
1534        0,   144,   145,   145,   146,   146,   147,   148,   149,   149,
1535      149,   150,   150,   151,   152,   153,   153,   154,   154,   155,
1536      155,   156,   156,   156,   156,   156,   156,   156,   157,   157,
1537      157,   157,   157,   158,   158,   159,   160,   161,   161,   161,
1538      162,   162,   163,   163,   163,   164,   164,   164,   165,   165,
1539      165,   165,   165,   165,   166,   166,   167,   167,   167,   167,
1540      167,   167,   167,   167,   167,   168,   168,   168,   168,   169,
1541      169,   169,   169,   169,   169,   169,   170,   170,   171,   171,
1542      171,   171,   171,   172,   172,   173,   173,   173,   173,   173,
1543      174,   174,   174,   175,   175,   176,   176,   176,   176,   176,
1544      176,   176,   176,   176,   176,   177,   177,   178,   178,   178,
1545      178,   178,   179,   180,   180,   180,   181,   181,   181,   182,
1546      182,   182,   182,   183,   183,   183,   183,   183,   184,   184,
1547      184,   184,   184,   184,   185,   186,   186,   186,   186,   186,
1548      187,   187,   187,   188,   189,   189,   190,   190,   191,   191,
1549      192,   193,   193,   194,   194,   194,   194,   195,   195,   195,
1550      195,   196,   196,   196,   196,   196,   196,   196,   196,   196,
1551      196,   196,   196,   196,   196,   197,   197,   197,   197,   197,
1552      197,   197,   197,   197,   197,   197,   197,   197,   197,   197,
1553      197,   197,   197,   197,   197,   197,   198,   198,   198,   199,
1554      199,   199,   199,   199,   200,   200,   201,   201,   202,   202,
1555      202,   202,   202,   202,   202,   202,   203,   204,   204,   205,
1556      206,   206,   207,   207,   207,   208,   208,   209,   209,   209,
1557      209,   209,   209,   210,   210,   211,   212,   212,   212,   212,
1558      212,   212,   212,   212,   213,   213,   213,   213,   213,   213,
1559      214,   215,   215,   215,   215,   215,   215,   216,   217,   217,
1560      218,   218,   218,   219,   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,   220,   220,   220,   220,   220,   220,   220,   220,
1564      220,   220,   221,   222,   223,   223,   224,   224,   224,   224,
1565      224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
1566      224,   224,   224,   224,   225,   225,   225,   225,   226,   226,
1567      226,   226,   226,   227,   227,   227,   227,   227,   227,   227,
1568      227,   227,   227,   228,   228,   229,   229,   229,   229,   229,
1569      229,   229,   229,   230,   230,   231,   231,   231,   231,   231,
1570      231,   231,   232,   232,   232,   232,   232,   233,   233,   233,
1571      233,   233,   234,   235,   235,   235,   235,   235,   235,   235,
1572      235,   235,   236,   236,   236,   236,   236,   236,   236,   236,
1573      236,   237,   237,   237,   237,   237,   238,   238,   238,   238,
1574      238,   239,   239,   239,   239,   239,   240,   240,   240,   241,
1575      241,   241,   242,   242,   242,   242,   242,   242,   242,   242,
1576      242,   242,   242,   242,   242,   242,   242,   242,   242,   243,
1577      243,   243,   243,   243,   243,   243,   243,   243,   244,   244,
1578      244,   244,   244,   244,   244,   244,   244,   244,   244,   245,
1579      245,   245,   245,   246,   246,   246,   247,   247,   247,   247,
1580      247,   247,   247,   247,   247,   247,   247,   248,   248,   248,
1581      248,   248,   248,   248,   248,   248,   248,   249,   249,   250,
1582      250,   251,   251,   251,   251,   251,   251,   251,   252,   252,
1583      252,   252,   252,   253,   253,   253,   253,   253,   254,   254,
1584      254,   254,   254,   254,   254,   254,   254,   255,   255,   255,
1585      255,   255,   255,   255,   255,   255,   256,   256,   256,   256,
1586      256,   257,   257,   257,   257,   257,   258,   258,   258,   258,
1587      258,   259,   259,   259,   260,   260,   260,   261,   261,   261,
1588      261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
1589      261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
1590      261,   261,   261,   261,   261,   261,   262,   262,   262,   262,
1591      262,   263,   263,   263,   263,   263,   263,   263,   264,   264,
1592      264,   264,   265,   266,   267,   267,   267,   267,   267,   267,
1593      267,   268,   268,   268,   268,   268,   268,   268,   269,   269,
1594      269,   270,   270,   270,   271,   272,   272,   273,   273,   273,
1595      274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
1596      274,   274,   274,   274,   275,   275,   276,   276,   276,   277,
1597      277,   277,   277,   277,   277,   277,   277,   277,   277,   277,
1598      277,   277,   277,   277,   277,   277,   277,   277,   277,   278,
1599      278,   279,   279,   280,   281,   281,   281,   282,   282,   283,
1600      283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
1601      283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
1602      283,   283,   283,   283,   283,   284,   284,   284,   284,   284,
1603      284,   284,   284,   284,   284,   284,   284,   284,   284,   284,
1604      284,   284,   284,   284,   284,   284,   284,   284,   284,   285,
1605      285,   285,   285,   285,   285,   285,   285,   285,   285,   286,
1606      286,   287,   287,   287,   287,   288,   288,   288,   288,   289,
1607      289,   289,   289,   289,   289,   289,   289,   289,   290,   291,
1608      291,   292,   293,   293,   293,   293,   294,   294,   294,   294,
1609      294,   294,   294,   294,   294,   295,   295,   296,   296,   296,
1610      296,   296,   296,   296,   296,   297,   297,   297,   297,   297,
1611      297,   297,   297,   297,   297,   298,   298,   298,   298,   298,
1612      298,   298,   298,   298,   298,   299,   299,   299,   299,   299,
1613      299,   299,   299,   299,   299,   299,   299,   300,   300,   300,
1614      300,   300,   300,   300,   300,   300,   300,   301,   301,   302,
1615      302,   302,   302,   302,   302,   302,   302,   302,   302,   302,
1616      302,   303,   303,   304,   304,   304,   304,   304,   304,   304,
1617      304,   304,   304,   305,   305,   305,   305,   305,   305,   305,
1618      305,   305,   305,   305,   305,   305,   305,   306,   306,   306,
1619      306,   306,   306,   306,   306,   306,   306,   306,   306,   306,
1620      306,   307,   307,   308,   308,   308,   308,   308,   309,   309,
1621      309,   309,   309,   309,   309,   309,   309,   309,   309,   310,
1622      310,   310,   310,   310,   310,   310,   310,   310,   311,   312,
1623      312,   312,   312,   312,   313,   313,   313,   313,   314,   314,
1624      315,   316,   316,   316,   316,   316,   317,   317,   317,   317,
1625      318,   318,   319,   319,   319,   319,   320,   320,   320,   321,
1626      321,   321,   321,   321,   322,   322,   323,   323,   323,   324,
1627      324,   325,   325,   325,   325,   325,   325,   325,   325,   325,
1628      325,   325,   325,   325,   325,   325,   325,   326,   326,   326,
1629      326,   326,   326,   326,   326,   327,   327,   327,   327,   328,
1630      328,   328,   328,   328,   329,   329,   329,   329,   329,   330,
1631      330,   330,   330,   330,   331,   331,   331,   331,   332,   332,
1632      332,   332,   333,   333,   333,   333,   334,   334,   334,   334,
1633      335,   335,   335,   335,   336,   336,   336,   336,   337,   337,
1634      337,   338,   338,   338,   338,   338,   339,   339,   340,   340,
1635      341,   341,   341,   341,   341,   341,   342,   342,   342,   343,
1636      343,   344,   344,   344,   344,   344,   344,   345,   345,   345,
1637      345,   346,   346,   347,   347,   348,   348,   348,   348,   348,
1638      348,   349,   349,   350,   350,   350,   350,   350,   350,   350,
1639      350,   350,   350,   351,   351,   351,   351,   351,   351,   351,
1640      351,   352,   352,   352,   352,   352,   352,   353,   353,   353,
1641      354,   354,   354,   354,   354,   354,   354,   354,   354,   354,
1642      354,   354,   354,   355,   355,   355,   355,   355,   355,   355,
1643      356,   356,   356,   357,   357,   357,   358,   358,   358,   358,
1644      358,   358,   358,   358,   358,   358,   358,   358,   358,   358,
1645      359,   359,   359,   359,   359,   359,   359,   359,   359,   359,
1646      360,   360,   360,   360,   360,   360,   360,   360,   360,   360,
1647      360,   360,   361,   361,   361,   362,   362,   363,   363,   363,
1648      363,   364,   364,   364,   364,   364,   364,   365,   366,   366,
1649      366,   366,   366,   367,   367,   367,   367,   368,   368,   369,
1650      369,   369,   370,   370,   370,   370,   370,   370,   370,   371,
1651      371,   371,   371,   372,   372,   372,   372,   373,   374,   375,
1652      375,   375,   376,   376,   376,   377,   377,   377,   377,   377,
1653      377,   378,   378,   379,   379,   379,   379,   379,   379,   379,
1654      379,   379,   379,   379,   379,   380,   380,   380,   380,   380,
1655      380,   380,   380,   380,   380,   380,   380,   380,   380,   380,
1656      380,   380,   380,   380,   380,   381,   381,   381,   381,   381,
1657      381,   381,   381,   382,   382,   382,   382,   383,   383,   383,
1658      383,   383,   383,   384,   384,   384,   384,   384,   384,   385,
1659      385,   386,   386,   386,   386,   386,   386,   386,   386,   386,
1660      386,   386,   386,   386,   386,   386,   386,   386,   386,   386,
1661      386,   387,   387,   387,   387,   387,   387,   387,   388,   388,
1662      388,   388,   388,   389,   389,   389,   389,   390,   390,   390,
1663      391,   391,   391,   392,   393,   393,   393,   394,   394,   395,
1664      395,   396,   396,   396,   396,   397,   398,   399,   400
1665 };
1666
1667 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1668 static const yytype_uint8 yyr2[] =
1669 {
1670        0,     2,     2,     2,     1,     2,     1,     1,     1,     4,
1671        4,     2,     1,     3,     4,     3,     2,     2,     1,     3,
1672        2,     2,     2,     2,     2,     2,     2,     3,     2,     1,
1673        2,     1,     2,     2,     2,     2,     2,     2,     1,     1,
1674        3,     1,     3,     3,     1,     1,     3,     3,     1,     3,
1675        3,     3,     3,     1,     2,     2,     1,     1,     2,     2,
1676        2,     2,     2,     2,     1,     1,     1,     2,     2,     1,
1677        2,     2,     2,     2,     1,     2,     2,     3,     4,     5,
1678        4,     3,     4,     2,     3,     4,     5,     4,     3,     4,
1679        5,     5,     4,     2,     3,     3,     3,     3,     2,     4,
1680        3,     3,     2,     4,     3,     2,     3,     2,     3,     2,
1681        1,     2,     3,     3,     3,     2,     1,     3,     3,     1,
1682        3,     3,     2,     4,     5,     3,     4,     3,     1,     3,
1683        3,     3,     2,     3,     2,     4,     5,     3,     4,     3,
1684        1,     3,     3,     2,     1,     2,     2,     2,     1,     2,
1685        5,     7,     9,     6,     8,     4,     6,     1,     2,     3,
1686        4,     2,     2,     1,     1,     2,     2,     1,     1,     1,
1687        1,     7,     1,     2,     4,     1,     1,     2,     3,     2,
1688        2,     2,     3,     1,     2,     2,     2,     1,     1,     1,
1689        2,     2,     2,     3,     3,     1,     1,     2,     2,     1,
1690        2,     2,     2,     2,     1,     2,     1,     2,     2,     4,
1691        4,     6,     2,     4,     4,     6,     1,     1,     3,     1,
1692        4,     5,     1,     1,     1,     1,     3,     1,     1,     1,
1693        3,     3,     3,     1,     3,     1,     2,     2,     3,     3,
1694        5,     5,     6,     6,     2,     2,     3,     3,     3,     3,
1695        3,     3,     3,     3,     3,     3,     3,     1,     1,     3,
1696        1,     2,     4,     1,     1,     1,     4,     4,     5,     8,
1697        2,     1,     1,     1,     2,     6,     6,     5,     5,     6,
1698        6,     5,     5,     7,     7,     6,     6,     7,     7,     6,
1699        6,     4,     5,     4,     6,     4,     1,     1,     1,     1,
1700        3,     2,     1,     2,     2,     2,     1,     4,     4,     3,
1701        4,     4,     3,     3,     2,     2,     4,     4,     3,     4,
1702        3,     3,     2,     2,     1,     1,     3,     3,     1,     1,
1703        3,     3,     2,     2,     2,     2,     2,     2,     4,     5,
1704        5,     2,     4,     1,     1,     1,     1,     1,     1,     1,
1705        1,     1,     1,     1,     4,     1,     3,     3,     3,     3,
1706        3,     3,     1,     3,     3,     3,     3,     1,     3,     3,
1707        3,     3,     2,     1,     2,     3,     3,     3,     3,     3,
1708        3,     3,     1,     3,     3,     3,     3,     3,     3,     3,
1709        3,     1,     3,     3,     3,     3,     1,     3,     3,     3,
1710        3,     1,     3,     3,     3,     3,     1,     3,     3,     1,
1711        3,     3,     1,     5,     5,     5,     5,     5,     5,     5,
1712        5,     5,     5,     5,     5,     5,     5,     5,     5,     1,
1713        3,     3,     3,     3,     3,     3,     3,     3,     1,     1,
1714        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1715        3,     3,     2,     1,     3,     3,     1,     1,     2,     2,
1716        3,     3,     3,     3,     3,     3,     3,     2,     2,     2,
1717        2,     2,     5,     6,     6,     2,     5,     1,     1,     1,
1718        4,     1,     3,     3,     3,     3,     3,     3,     1,     3,
1719        3,     3,     3,     1,     3,     3,     3,     3,     1,     2,
1720        3,     3,     3,     3,     3,     3,     3,     1,     3,     3,
1721        3,     3,     3,     3,     3,     3,     1,     3,     3,     3,
1722        3,     1,     3,     3,     3,     3,     1,     3,     3,     3,
1723        3,     1,     3,     3,     1,     3,     3,     1,     5,     5,
1724        5,     5,     4,     4,     4,     4,     5,     5,     5,     5,
1725        4,     4,     4,     4,     5,     5,     5,     5,     5,     5,
1726        5,     5,     3,     3,     2,     2,     1,     3,     3,     3,
1727        3,     1,     2,     3,     3,     2,     2,     2,     1,     2,
1728        3,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1729        1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
1730        3,     1,     3,     2,     1,     2,     2,     2,     4,     4,
1731        3,     3,     4,     5,     4,     6,     6,     4,     5,     4,
1732        6,     6,     5,     5,     2,     2,     2,     5,     3,     5,
1733        6,     5,     7,     7,     8,     8,     7,     7,     3,     3,
1734        3,     4,     3,     5,     5,     6,     7,     6,     4,     1,
1735        1,     1,     1,     1,     1,     1,     1,     1,     2,     1,
1736        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1737        1,     1,     1,     1,     1,     4,     4,     4,     1,     1,
1738        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1739        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1740        1,     1,     1,     1,     1,     4,     4,     4,     1,     1,
1741        2,     2,     3,     5,     2,     3,     5,     5,     5,     1,
1742        3,     2,     2,     3,     3,     2,     3,     3,     4,     3,
1743        3,     3,     3,     3,     3,     4,     4,     4,     1,     1,
1744        4,     3,     2,     3,     3,     3,     3,     3,     3,     3,
1745        3,     3,     3,     3,     3,     1,     1,     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        2,     1,     2,     1,     2,     1,     2,     1,     2,     1,
1751        1,     1,     2,     1,     2,     1,     2,     1,     2,     4,
1752        5,     1,     1,     1,     2,     1,     2,     1,     2,     1,
1753        2,     4,     5,     1,     2,     1,     2,     1,     2,     1,
1754        2,     1,     2,     1,     2,     4,     5,     1,     2,     1,
1755        2,     1,     2,     1,     2,     1,     2,     1,     2,     4,
1756        5,     3,     3,     1,     3,     3,     3,     3,     1,     1,
1757        1,     4,     4,     4,     3,     4,     4,     4,     3,     1,
1758        3,     4,     3,     4,     4,     4,     4,     3,     2,     3,
1759        3,     3,     3,     2,     2,     2,     3,     4,     1,     1,
1760        2,     3,     3,     3,     3,     2,     2,     2,     3,     4,
1761        1,     1,     1,     1,     1,     4,     1,     1,     1,     1,
1762        1,     1,     1,     1,     1,     4,     1,     2,     3,     6,
1763        5,     3,     4,     2,     3,     3,     3,     3,     4,     4,
1764        4,     2,     3,     3,     3,     4,     4,     3,     4,     2,
1765        3,     3,     3,     4,     4,     1,     2,     2,     3,     1,
1766        1,     2,     2,     3,     1,     1,     2,     2,     3,     1,
1767        2,     3,     2,     2,     1,     2,     3,     2,     1,     2,
1768        3,     3,     1,     2,     3,     3,     1,     2,     3,     3,
1769        1,     2,     3,     3,     1,     2,     3,     3,     1,     3,
1770        4,     1,     4,     2,     5,     3,     1,     1,     1,     1,
1771        1,     1,     3,     3,     2,     2,     1,     1,     3,     2,
1772        3,     1,     3,     3,     3,     3,     3,     1,     2,     3,
1773        3,     1,     2,     1,     2,     2,     2,     2,     3,     1,
1774        1,     3,     3,     1,     3,     4,     3,     4,     3,     3,
1775        4,     3,     4,     1,     3,     3,     4,     3,     3,     3,
1776        4,     1,     3,     3,     3,     3,     3,     1,     3,     2,
1777        1,     1,     1,     1,     1,     2,     1,     1,     1,     1,
1778        2,     2,     2,     1,     1,     1,     1,     1,     2,     1,
1779        1,     4,     7,     1,     3,     0,     6,     8,    10,    12,
1780        8,    10,    10,     5,     7,     9,    11,     7,     9,     9,
1781        3,     4,     4,     3,     3,     3,     4,     4,     3,     3,
1782        3,     4,     4,     3,     2,     3,     2,     3,     4,     4,
1783        3,     3,     1,     1,     1,     1,     1,     2,     3,     2,
1784        2,     2,     3,     3,     2,     5,     6,     2,     2,     2,
1785        2,     2,     2,     1,     2,     2,     3,     1,     2,     1,
1786        2,     2,     1,     2,     2,     2,     2,     2,     2,     1,
1787        1,     2,     2,     1,     1,     2,     2,     1,     2,     2,
1788        1,     2,     1,     2,     2,     5,     5,     7,     7,     5,
1789        5,     3,     2,     5,     4,     4,     7,     6,     6,     5,
1790        7,     6,     4,     7,     9,     3,     4,     4,     5,     5,
1791        6,     7,     6,     6,     5,     5,     4,     3,     2,     1,
1792        2,     4,     3,     5,     4,     3,     2,     2,     2,     3,
1793        3,     3,     3,     2,     2,     1,     1,     4,     3,     4,
1794        3,     3,     2,     4,     3,     4,     3,     3,     2,     1,
1795        2,     1,     1,     2,     1,     2,     3,     3,     1,     2,
1796        2,     2,     3,     4,     4,     2,     2,     2,     2,     1,
1797        2,     1,     2,     1,     2,     2,     1,     2,     1,     2,
1798        2,     2,     2,     1,     2,     2,     3,     1,     1,     0,
1799        6,     6,     5,     4,     1,     2,     2,     1,     3,     3,
1800        4,     1,     1,     2,     2,     6,     6,     6,     4
1801 };
1802
1803 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1804    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1805    means the default is an error.  */
1806 static const yytype_uint16 yydefact[] =
1807 {
1808     1289,   257,     6,   591,   592,   593,   595,   596,   660,   661,
1809      662,   663,   664,   666,   669,   670,   667,   668,   654,   655,
1810      659,   665,   755,   756,   604,  1134,   235,   678,   912,   913,
1811        0,     0,   916,  1132,  1133,   679,   680,   671,     0,     0,
1812        0,     0,     0,   917,   918,   682,   681,   683,   684,   597,
1813      594,   955,     0,  1258,   803,   674,     8,     4,     0,     0,
1814        0,  1252,     0,  1271,   879,   797,     0,   673,     0,   649,
1815      651,   805,   807,   656,   799,   801,   738,   672,     0,     0,
1816      650,   652,     0,     0,     0,     0,     0,   978,   653,     0,
1817      914,     0,     0,     0,  1254,  1276,  1251,  1273,  1283,  1278,
1818        0,     0,     0,  1269,     0,  1266,  1249,     0,     0,  1255,
1819        0,     0,     0,     0,  1268,  1267,     0,   657,   956,   653,
1820      957,   870,   869,   879,   911,   868,   898,   969,     0,   910,
1821      974,     0,     0,     0,     0,     0,     0,  1144,     0,   237,
1822      236,     0,     0,   245,     0,   244,     2,     3,     0,     5,
1823        0,   606,   605,     0,     0,   626,     0,     0,     0,     0,
1824      742,     0,   722,   721,     0,  1147,   593,   663,   664,  1141,
1825      804,     8,  1253,  1272,   879,   798,   806,   808,   800,   802,
1826      978,   986,   653,     0,     0,  1017,     0,     0,     0,  1027,
1827        0,     0,   870,     0,   869,     0,     0,   888,     0,     0,
1828      584,   585,   586,   588,   589,  1040,   590,   587,   893,   791,
1829      863,   785,     0,   795,     0,   787,   789,   738,   793,     0,
1830        0,  1039,     0,     0,  1043,  1053,     0,     0,     0,     0,
1831        0,     0,   979,     0,   686,   687,   688,   689,   690,   692,
1832      695,   696,   693,   694,   685,   691,   708,   697,     0,     0,
1833      702,   701,   703,   704,  1177,   700,     0,     0,   775,   699,
1834      781,   777,   779,   783,   698,     0,  1153,     0,     0,     0,
1835        0,  1242,  1248,   593,     0,  1265,  1260,  1274,     0,  1261,
1836     1277,  1259,  1275,  1270,  1282,  1285,     0,     0,     0,     0,
1837        0,  1280,  1281,  1284,  1279,     1,     0,  1256,  1257,  1250,
1838        0,     0,   457,   263,     0,     0,     0,     0,     0,     0,
1839      351,   352,     0,     0,     0,     0,     0,     0,     0,     0,
1840        0,     0,   273,   346,     0,   349,     0,     0,   345,   347,
1841      348,   350,     0,   265,     0,   264,   306,   272,   271,   258,
1842      456,     0,   343,   353,     0,   355,   362,   367,   373,     0,
1843      382,   391,   396,   401,   406,   409,   412,   429,     0,   478,
1844      477,   479,   481,   488,   493,   498,   507,   516,   521,   526,
1845      531,   534,   537,     0,   260,   296,   297,   298,   299,     0,
1846        0,     0,     0,     0,   658,   958,     0,   900,     0,   905,
1847        0,     0,     0,     0,     0,     0,     0,   911,   970,   975,
1848        0,   880,   972,   882,   977,   973,   671,     4,   229,   228,
1849      227,   233,     0,   264,   353,   219,   479,     0,   206,   249,
1850        0,     0,   248,   255,     0,     0,  1135,  1136,     0,   168,
1851        0,   169,   170,     0,     0,     0,     0,     0,   172,   246,
1852        0,     0,     0,     0,    29,    31,   163,   175,   188,     0,
1853      187,     0,   116,   119,     0,   195,   128,     0,   164,   140,
1854        0,   167,   183,   196,   199,     0,     0,   264,     0,     0,
1855      176,     0,   982,   653,     0,    12,    18,     0,   810,   809,
1856      817,   811,     0,   813,   815,   738,   822,   821,   250,   256,
1857      247,     0,     0,   239,   238,   639,   598,   601,   638,   642,
1858      628,     0,     0,     0,   222,   223,   224,   225,     0,   217,
1859        0,   751,   744,     0,     0,   741,   748,   743,     0,     0,
1860      754,   745,     0,     0,   724,   723,     0,     0,     0,     0,
1861        0,   979,   987,     0,  1019,     0,     0,  1238,  1244,     0,
1862     1240,  1246,  1028,  1142,     0,     0,     0,  1143,   887,     0,
1863      264,   582,   583,     0,     0,     0,     0,   606,   605,   607,
1864        0,   725,     0,     0,   663,     0,     0,  1037,   792,     8,
1865      879,   786,   796,   788,   790,   794,   911,   868,   653,   960,
1866      959,     0,     0,     0,   892,     0,     0,   891,     0,     0,
1867        0,  1069,     0,   889,   890,   980,     0,   981,     0,     0,
1868     1151,  1139,  1150,    76,  1148,   689,   690,  1137,   879,   776,
1869      782,   778,   780,   784,   653,     0,  1152,  1149,  1140,     0,
1870     1154,     0,  1241,  1247,  1155,     0,     0,     0,     0,     0,
1871        0,     0,     0,  1236,     0,     0,     0,   697,     0,     0,
1872        0,   157,  1073,  1074,   700,     0,     0,     0,   264,     0,
1873      353,     0,     0,   479,   566,   571,     0,  1071,  1159,  1162,
1874     1079,  1070,  1083,     0,     0,     0,     0,  1181,  1179,  1072,
1875     1085,     0,  1086,  1077,  1084,     0,  1087,  1178,     0,     0,
1876     1262,   879,     0,     0,     0,  1272,     0,   868,   986,   653,
1877        0,     0,     0,     0,  1248,  1286,     0,     0,   412,     0,
1878        0,   915,     0,   337,   471,     0,   333,   467,   334,   468,
1879        0,   857,   847,   855,   849,   851,   853,     0,     0,     0,
1880        0,     0,     0,     0,     0,     0,     0,     0,     0,   341,
1881      475,   274,     0,     0,     0,   761,   757,   759,   763,  1031,
1882        0,   261,     0,   301,   302,     0,   325,     0,   324,     0,
1883      459,    93,     0,   270,   458,     0,   314,   315,     0,     0,
1884        0,   439,   440,   441,   442,   443,   444,   445,   446,   447,
1885      448,   438,     0,     0,   336,   470,   335,   469,     0,     0,
1886        0,     0,     0,     0,     0,   374,   499,     0,     0,   372,
1887        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1888      675,     0,   322,   323,     0,     0,     0,     0,     0,     0,
1889        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1890        0,     0,     0,     0,     0,     0,     0,     0,   676,   677,
1891        0,     0,     0,  1301,  1302,     0,     0,     0,   874,     0,
1892        0,     0,   878,     0,     0,     0,   904,   903,   901,   902,
1893      911,   970,   975,   881,   883,   997,    10,     9,     0,     0,
1894        0,   653,   959,   207,     0,     0,   264,   206,     0,     0,
1895      829,   823,   825,   827,     0,     0,     0,    16,    20,     0,
1896      185,   184,   186,     0,     0,     0,     0,   346,     0,   264,
1897        0,    26,     0,    21,    28,    24,     0,    25,    23,    22,
1898       30,    32,   190,    83,   191,   122,   162,     0,     0,     0,
1899        0,   132,     0,     0,   134,     0,     0,   143,   161,   200,
1900      197,   202,   201,   198,   203,   115,     0,     0,     0,   879,
1901      719,   177,   994,     0,   990,   653,     0,    11,    17,   709,
1902      895,  1039,     0,     0,     0,   983,     0,     0,   173,   165,
1903      192,   181,     0,   180,     0,   166,   879,   179,     0,   606,
1904      605,   818,   812,   814,   816,     0,     0,     0,   603,   641,
1905        0,     0,     7,   212,   208,   740,     0,     0,     0,     0,
1906     1016,  1023,  1024,  1025,    64,    53,    92,    39,    38,    57,
1907       69,    45,    48,     0,    74,    56,     0,     0,     0,  1007,
1908     1009,     0,  1006,  1008,     0,    41,    44,   911,   980,   971,
1909      988,   976,   997,   989,     0,   998,  1001,  1018,  1020,  1237,
1910     1243,  1239,  1245,  1022,  1029,  1026,  1030,   886,   884,   885,
1911     1066,  1048,  1057,   611,   610,     0,     0,   457,   726,     0,
1912        0,   457,   727,     0,     0,     0,   941,   879,     0,     0,
1913      653,   959,     0,     0,     0,   933,     0,     0,     0,     0,
1914        0,  1038,   962,     0,     0,   961,  1042,  1041,     0,   862,
1915     1065,   865,  1051,  1059,     0,   861,  1064,   864,  1049,  1058,
1916        0,  1068,  1062,   866,  1044,  1054,     0,  1063,   867,  1046,
1917     1055,   919,   920,   923,   922,   921,     0,   924,   926,     0,
1918        0,     0,     0,    77,     0,  1138,  1156,     0,     0,     0,
1919        0,     0,     0,  1220,     0,     0,     0,     0,     0,     0,
1920        0,     0,     0,     0,   264,     0,  1071,  1218,  1076,  1078,
1921        0,     0,  1226,  1227,  1228,     0,  1234,     0,     0,     0,
1922        0,     0,     0,   158,   144,  1082,  1081,  1080,     0,     0,
1923        0,   572,     0,  1075,     0,     0,     0,     0,   452,     0,
1924        0,   457,     0,     0,     0,     0,  1160,  1163,  1165,     0,
1925     1161,  1164,  1166,     0,  1192,  1088,  1263,  1264,   237,   236,
1926        0,     0,     0,   987,     0,     0,  1244,     0,  1246,  1247,
1927        0,     0,  1145,     0,     0,   769,   264,   771,   765,   767,
1928      773,  1033,     0,     0,     0,     0,     0,     0,   858,   848,
1929      856,   850,   852,   854,   653,   965,   964,     0,   843,   833,
1930      841,   835,   837,   839,     0,     0,     0,     0,     0,     0,
1931        0,     0,     0,     0,     0,     0,     0,     0,   259,     0,
1932      762,   758,   760,   764,  1032,     0,     0,   457,     0,     0,
1933        0,   105,     0,   300,   457,     0,     0,    94,   457,     0,
1934        0,   460,   313,   309,   329,   462,   463,   328,   464,   312,
1935        0,     0,   434,   430,   303,   356,   482,   357,   483,   358,
1936      484,   363,   489,   364,   490,   368,   494,   369,   495,   376,
1937      501,   377,   502,   375,   500,   387,   512,   383,   508,   388,
1938      513,   384,   509,   394,   519,   392,   517,   399,   524,   397,
1939      522,   404,   529,   402,   527,   407,   532,   410,   535,   562,
1940        0,   578,     0,     0,     0,     0,   436,   432,   461,   321,
1941      318,     0,   465,   466,   320,     0,     0,   435,   431,   359,
1942      485,   360,   486,   361,   487,   365,   491,   366,   492,   370,
1943      496,   371,   497,   380,   505,   381,   506,   378,   503,   379,
1944      504,   389,   514,   385,   510,   390,   515,   386,   511,   395,
1945      520,   393,   518,   400,   525,   398,   523,   405,   530,   403,
1946      528,   408,   533,   411,   536,   563,     0,     0,     0,     0,
1947      437,   433,     0,     0,  1294,  1297,     0,     0,  1292,  1303,
1948     1304,     0,     0,   873,   871,   872,   877,   875,   876,   234,
1949      232,   231,   230,   264,   653,   962,   241,     0,   207,   240,
1950      127,     0,   125,   830,   824,   826,   828,     0,   653,     0,
1951       15,    19,     0,   182,   994,   653,     0,   139,     0,   137,
1952      830,     0,   264,   653,     0,    27,    84,   117,   120,   118,
1953      121,   129,   130,   131,   133,   141,   142,   114,   112,   113,
1954       13,   711,   714,     0,     0,   907,  1039,     0,     0,     0,
1955      995,   991,     0,     0,   710,   879,   896,   984,   985,   879,
1956      193,   194,   178,     0,     0,     0,     0,   599,   600,   602,
1957        0,     0,   631,   627,     0,     0,     0,     0,     0,   226,
1958      218,   216,     0,     0,     0,    36,    37,    75,    54,     0,
1959       55,     0,    63,    61,    72,    67,    73,    60,    90,    39,
1960       70,    62,    91,    59,    71,    68,     0,    58,     0,   689,
1961       33,    35,    34,  1010,  1011,     0,   619,   609,     0,   614,
1962      608,     0,   457,   728,     0,     0,     0,   959,     0,   931,
1963      942,   943,   936,   934,   935,     0,   963,   944,     0,     0,
1964      937,     0,     0,     0,  1052,  1060,  1039,  1050,  1045,  1047,
1965     1056,   930,     0,     0,     0,   927,   705,   706,   707,   457,
1966        0,     0,  1113,  1123,  1118,     0,     0,     0,  1114,  1125,
1967     1119,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1968        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1969        0,  1217,  1205,     0,  1182,   264,     0,     0,     0,  1225,
1970     1231,  1232,  1229,  1230,     0,     0,     0,     0,   145,  1110,
1971     1120,  1115,     0,   159,   569,   567,     0,     0,     0,   450,
1972      573,   570,   568,   451,   574,     0,   988,  1243,  1245,  1146,
1973        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1974      770,   772,   766,   768,   774,  1034,     0,   293,   291,     0,
1975        0,   949,   653,     0,     0,     0,     0,     0,     0,   967,
1976        0,   966,     0,     0,     0,   844,   834,   842,   836,   838,
1977      840,     0,   267,     0,   266,   295,     0,     0,     0,     0,
1978        0,     0,  1308,     0,     0,     0,     0,   354,   480,   262,
1979      108,   106,   327,   326,    99,   103,   310,     0,   311,   307,
1980      308,   579,     0,     0,     0,     0,     0,     0,   319,   316,
1981      317,     0,     0,     0,     0,  1296,  1295,  1299,     0,     0,
1982        0,  1291,  1290,     0,   959,   218,     0,     0,   123,   126,
1983        0,     0,     0,     0,     0,   995,     0,   135,   138,     0,
1984       14,   457,     0,     0,   720,     0,   879,   908,   996,   992,
1985      993,   712,   715,   897,   174,   819,     0,   243,   242,     0,
1986      630,     0,   213,   214,   204,   209,   210,   220,     0,     0,
1987       51,    46,    49,    52,    47,    50,    37,    43,    40,    42,
1988        0,     0,  1014,  1015,   618,     0,   613,     0,   962,   961,
1989      932,   945,   946,   939,   938,   940,  1036,  1035,     0,   929,
1990      928,    79,  1111,  1121,  1116,     0,  1112,  1122,  1117,     0,
1991        0,     0,     0,     0,  1221,  1195,     0,     0,  1194,  1224,
1992        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1993        0,  1202,     0,  1183,  1206,  1184,  1207,     0,     0,     0,
1994     1095,   915,  1095,     0,     0,   155,     0,     0,     0,   160,
1995        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1996      472,   292,   859,     0,   964,     0,   947,   950,   951,   277,
1997      278,     0,   968,   952,     0,     0,     0,     0,     0,     0,
1998        0,     0,     0,     0,   268,   281,   282,     0,     0,     0,
1999        0,     0,     0,     0,     0,     0,   476,   331,   330,   454,
2000      580,   421,   554,   413,   538,   425,   558,   417,   546,   455,
2001      581,   422,   555,   414,   539,   426,   559,   418,   547,   423,
2002      556,   415,   540,   427,   560,   419,   548,   424,   557,   416,
2003      541,   428,   561,   420,   549,  1298,  1300,  1293,   831,     0,
2004      124,   150,   996,     0,   136,    86,   909,     0,     0,   820,
2005        0,     0,     0,     0,     0,     0,   205,     0,   221,     0,
2006        0,  1012,  1013,  1002,     0,     0,     0,     0,   925,  1185,
2007     1186,  1189,  1190,  1193,  1223,     0,     0,     0,     0,     0,
2008        0,     0,  1199,  1208,     0,     0,     0,     0,  1093,     0,
2009     1090,  1103,     0,  1095,     0,  1095,     0,     0,     0,     0,
2010      474,   473,   966,   948,   860,   953,   954,   275,   276,   845,
2011      285,   286,     0,     0,     0,     0,   279,   280,   289,   290,
2012        0,     0,   294,  1306,  1307,  1305,   832,     0,   713,   716,
2013      718,   717,     0,     0,   215,   211,     0,   999,  1004,     0,
2014        0,     0,     0,     0,     0,     0,  1213,  1197,     0,     0,
2015     1198,  1210,     0,  1201,  1212,     0,     0,     0,  1095,     0,
2016     1095,     0,  1095,     0,  1096,     0,     0,     0,   148,     0,
2017      153,     0,   156,     0,   846,   283,   284,     0,   287,   288,
2018      171,  1000,  1187,  1188,     0,     0,  1196,  1203,     0,  1200,
2019     1211,     0,  1107,  1094,     0,     0,     0,  1104,     0,     0,
2020     1095,  1095,     0,  1095,   147,   146,   151,   149,     0,     0,
2021      354,   480,   269,     0,     0,     0,  1091,     0,     0,  1095,
2022     1100,     0,     0,  1097,     0,     0,   154,  1204,     0,  1108,
2023     1109,  1105,     0,     0,     0,     0,  1095,   152,     0,     0,
2024     1101,  1102,  1098,     0,  1092,  1106,     0,  1099
2025 };
2026
2027 /* YYDEFGOTO[NTERM-NUM].  */
2028 static const yytype_int16 yydefgoto[] =
2029 {
2030       -1,   209,    55,    56,   973,   332,   440,   441,   442,   443,
2031      444,   445,   446,   447,   987,   988,   989,   990,   991,   992,
2032      993,   994,   995,   996,   997,   998,   256,   257,   448,   449,
2033       58,   333,   334,   744,   773,   452,   453,   454,   455,   456,
2034      457,   458,   459,   460,   461,  2087,  2088,  2089,   462,   645,
2035      646,   647,   463,   464,   465,   466,  1783,   408,   504,   409,
2036      505,   410,   506,   507,   865,   411,   412,    59,    60,    61,
2037       62,    63,   335,   336,   337,   338,   339,   999,  1000,   340,
2038      341,   747,  1266,   342,   650,   344,   345,   346,   347,   348,
2039      349,   350,   351,   352,   353,   354,   355,   356,   357,   732,
2040      827,   652,  1323,   359,   360,   653,   362,   363,   364,   365,
2041      366,   367,   368,   369,   370,   371,   372,   654,   655,  1125,
2042     1325,   553,   554,   211,    65,   497,   498,   212,    67,   213,
2043      214,    68,    69,    70,    71,    72,    73,   215,   118,   216,
2044      262,   930,   931,   217,   218,   219,    77,    78,    79,    80,
2045       81,   220,   739,  1201,   265,   470,    83,    84,   487,   488,
2046      875,  1224,   717,  1048,  1049,   124,    85,   471,    87,   472,
2047      127,   128,   129,   934,   130,   119,    89,  1097,  1098,  1099,
2048       90,   579,  1215,   474,   581,  1217,   133,   185,   475,   476,
2049      187,   938,   135,  1017,  1534,  1005,  1006,  1535,   188,   189,
2050      190,   191,   740,  1202,   224,   225,   226,   227,   228,   229,
2051      658,   659,  2008,  2009,   660,   661,   662,    93,   477,   266,
2052       94,    95,   267,   268,   269,   665,   666,   667,   668,   270,
2053      669,   896,  1618,  1128,   672,   673,   674,  1129,   676,    96,
2054       97,   374,    98,    99,   100,   101,   102,   103,   833,  1395,
2055     1396,   834,   835,   375,   376,   377,   378
2056 };
2057
2058 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2059    STATE-NUM.  */
2060 #define YYPACT_NINF -1980
2061 static const int yypact[] =
2062 {
2063    38035, -1980, -1980, -1980, -1980,    32, -1980, -1980, -1980, -1980,
2064    -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2065    -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2066      811,   108, -1980, -1980, -1980, -1980, -1980, -1980,     3,    16,
2067       55,   706,   320, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2068    -1980,  2651,  3046, -1980, -1980, -1980,   208, -1980,   262,   706,
2069      275, -1980,   215,   294,  1026, -1980,   420, -1980,   719, -1980,
2070      377, -1980, -1980, -1980, -1980, -1980,   272, -1980,  1066,   429,
2071    -1980,   392,  1234, 37643,  2976,   759, 38329, -1980,   462,   481,
2072    -1980,  1834, 40946, 36221, -1980, -1980, -1980, -1980, -1980, -1980,
2073    38138, 37241,   635, -1980,   108, -1980, -1980,   320,   320,   640,
2074      549,   320, 29147,   706, -1980, -1980,   414, -1980,  2651, -1980,
2075    -1980, -1980,   550, -1980,   847,   862, -1980, -1980, 38425, -1980,
2076    -1980,  3046,  1821,  1740,  1890,  2006, 23636, -1980,   568,   806,
2077      797, 30225, 40570, -1980, 30351, -1980, -1980, -1980,   706, -1980,
2078      755,  1090,  1135,    72, 40570, -1980, 40300, 30477, 40570, 30603,
2079    -1980, 30729, -1980, -1980,   706, -1980, -1980,   647,   587, -1980,
2080    -1980,  1058, -1980,   294,   494, -1980, -1980, -1980, -1980, -1980,
2081     1159,   651,   462,  1821,  1255,  2006, 40946, 40946,   282, -1980,
2082     1154,   613,   738,   587,   866,   462,  1213, -1980, 27747,   780,
2083    -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2084      776, -1980,   453, -1980,   800, -1980, -1980,   809, -1980,   823,
2085     1428, 35364,   190,   372, -1980, -1980,   600,   660,   873,   886,
2086      357,   906, -1980,   357, -1980, -1980, -1980, -1980, -1980, -1980,
2087    -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980,   920,   945,
2088    -1980, -1980, -1980, -1980, -1980, -1980,   123,    57, -1980, -1980,
2089    -1980, -1980, -1980, -1980, -1980, 37839, -1980, 17397, 36533, 41149,
2090    17536, -1980,   947,  1041,   884, -1980, -1980,   294, 37741, -1980,
2091    -1980, -1980, -1980, -1980, -1980, -1980,   377,   392, 38905, 40946,
2092    39190, -1980, -1980, -1980, -1980, -1980,  1002,   640,   640, -1980,
2093    29147,   183, -1980, -1980, 29202, 29287, 29287,  1031, 40750, 29147,
2094    -1980, -1980,  1052,  1055, 40750, 29147,  1076,  1088,  1110,  1152,
2095     1168, 29342, -1980, -1980, 23880, -1980,   320, 12020, -1980, -1980,
2096    -1980, -1980,  1093, -1980,   128,  1113, -1980, -1980,   108, -1980,
2097    -1980, 12822, -1980,  1549, 27802, -1980,   871,   948,  1089, 29147,
2098      842,  1126,  1162,  1161,  1174,  1305,   106,  1549,  1220,   786,
2099    -1980,  1549, -1980,   933,  1030,  1375,  1012,  1240,  1216,  1259,
2100     1212,  1345,   159,  1549,   640, -1980, -1980, -1980, -1980,  1280,
2101      393, 40390,  1310,  1316, -1980, -1980, 27887, -1980, 27942, -1980,
2102      688,   700,  1286,  1334,  1821,  2171,  2540,   847, -1980, -1980,
2103      915, -1980, -1980, -1980, -1980, -1980,  1052,  1093, -1980, -1980,
2104    -1980, -1980,   639,  1359, -1980,  1089, -1980,  1375, 35479, -1980,
2105    23758, 40300, -1980,   544, 40030, 39285, -1980, -1980,  1256, -1980,
2106      706, -1980, -1980,   108, 39475, 39095,  6453, 40660, -1980, -1980,
2107     1536,  1333,  1333,  1115, -1980,  1340, -1980, -1980, -1980,   133,
2108      861,   172, -1980, -1980, 29587,  1349, -1980,  1120, -1980, -1980,
2109      345, -1980, -1980, -1980,  1369, 29721, 29847,   343,   185,   786,
2110    36325, 38521, -1980,   462,  1834, -1980, -1980, 11378, -1980, -1980,
2111     1381, -1980,   706, -1980, -1980, -1980,  1964, 40750, -1980,   544,
2112    -1980, 29973, 30099,  1385,  1392, -1980,  1399, -1980,  1403, -1980,
2113    -1980,  2594,  1405,   760, -1980, -1980, -1980, -1980,   976,   804,
2114    35479,  1009, -1980, 30855, 30981, -1980,  1009, -1980, 31107, 31233,
2115     1009, -1980, 31359, 31485, -1980, -1980,  3046,  3046,  3046, 21842,
2116      915,  1159,   651,   915, -1980, 28027, 36533, -1980,   947, 36533,
2117    -1980,   947, -1980, -1980,  3046,  3046,   915, -1980, -1980,  1409,
2118      225, -1980, -1980,  1418,  1463, 40120,  1486,  1408,  1430, -1980,
2119    31611, -1980, 31737,   503, -1980, 12663, 28082,  3046, -1980,  1219,
2120      776, -1980, -1980, -1980, -1980, -1980,   847,  1429,   462,   893,
2121      187,   132,  1336,  1476, -1980, 39760,  1480, -1980, 39850,  1499,
2122    39940,  1507, 40210, -1980, -1980, -1980,  1249, -1980, 29147,   706,
2123    -1980, -1980,  1527, -1980, -1980,   647,   587, -1980,  1519, -1980,
2124    -1980, -1980, -1980, -1980,   462,  1301,   613, -1980, -1980,  1533,
2125    -1980, 17675, -1980,   947, -1980,   180, 28167,  1529,  1540,  1542,
2126       27, 17814,  1544,   108,  1547,  1552, 17953,  1052,  2197,  1557,
2127     1564,   108, -1980, -1980,  1093,  1563,  1570,  1572,  1379, 16002,
2128     1549, 16146, 25428,  1549,  1549, -1980, 16285, 37937, -1980, -1980,
2129    -1980, -1980, -1980, 18092, 18231, 18370, 18509, -1980, -1980, -1980,
2130      947, 18648, -1980, -1980, -1980, 18787, -1980, -1980,   320,   320,
2131      640,   584,   706,  1390,  1569, -1980,   847,   759, -1980,   462,
2132     1821, 40946, 40946, 36533, -1980, -1980, 39000, 29147,   196,  1580,
2133      326, -1980, 24018, -1980, -1980, 28222, -1980, -1980, -1980, -1980,
2134    40750,  1586, -1980, -1980, -1980, -1980, -1980, 35797, 40750, 24156,
2135      108, 35903, 40750, 29147,   320,   320,   320, 29147, 23880, -1980,
2136    -1980, -1980, 12978, 13122, 13266, -1980, -1980, -1980, -1980,  8525,
2137     1587,    66, 21980, -1980, -1980,   194, -1980,   561, -1980, 22118,
2138     1581, -1980, 22256, -1980, -1980,  1525, -1980, -1980, 25486,  1530,
2139    29147, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2140    -1980, -1980, 27802,   201, -1980, -1980, -1980, -1980, 29147, 29147,
2141    29147, 29147, 29147, 29147, 29147,  1089,  1375, 29147, 29147, -1980,
2142    29147, 27802, 27802, 27802, 27802, 27802, 29147, 29147, 13410, 27802,
2143    -1980,  1539, -1980, -1980, 25571,  1550, 29147, 27802, 29147, 29147,
2144    29147, 29147, 29147, 29147, 29147, 29147, 29147, 29147, 29147, 27802,
2145    27802, 27802, 27802, 27802, 29147, 29147, 13554, 27802, -1980, -1980,
2146      595,   776, 40660, -1980, -1980, 37340, 40390, 40390, -1980,  1577,
2147     1578,  1579, -1980,  1582,  1583,  1585, -1980, -1980, -1980, -1980,
2148      847, -1980, -1980, -1980, -1980,  1588, -1980, -1980, 23636, 23636,
2149    35258,   462,   897, -1980,   659,   985,  1616, 35479,   999,  1591,
2150     1595, -1980, -1980, -1980,  1964, 35585, 39380, -1980, -1980,   108,
2151    -1980, -1980, -1980, 36429,  1593,   108, 35691,  2591, 24278,  1425,
2152    39570, -1980,  1598, -1980,   947, -1980,   947, -1980, -1980, -1980,
2153      947, -1980,  1597, -1980,   831, -1980, -1980,  4080,  4080,  1333,
2154     1333, -1980,  1333,   147, -1980,  1333,  1333, -1980, -1980,   138,
2155    -1980,  1369,   138, -1980,  1369,   902, 28307,  2488, 29147,   622,
2156    -1980,  1599,   847, 38617, -1980,   462,  1821, -1980, -1980,   718,
2157      780, 35364, 29453,   585,   357, -1980,   357,  3046, -1980, -1980,
2158    -1980, -1980,   241, -1980,   263, -1980,   343, 36325, 23636, -1980,
2159    -1980,  1607, -1980, -1980, -1980, 40300, 40300, 29147,   108, -1980,
2160    31863,   117, -1980,   -28,   956, -1980, 40300,   108,   901,   108,
2161     1526, -1980, -1980, -1980, -1980, -1980, -1980,  1333, -1980, -1980,
2162    -1980, -1980, -1980, 36635,  1438, -1980, 22394, 41048, 22532, -1980,
2163    -1980, 12215, -1980, -1980, 39665, -1980, -1980,   847,  1159, -1980,
2164      651, -1980,   847, -1980, 28027, -1980, -1980, -1980, -1980, -1980,
2165      947, -1980,   947, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2166    -1980, -1980, -1980, -1980,  1403,   118,   166,  1600, -1980, 31989,
2167    32115,  1603, -1980, 32241, 32367, 32493, -1980,   627,   398,   437,
2168     1172,  1818,  1611,  1617,  1621, -1980,  1605,  1612,  1615,   462,
2169      915,  2006,   187, 38713, 28362,   893, -1980, -1980, 40480, -1980,
2170    -1980,   776, -1980, -1980, 40480, -1980, -1980,   776, -1980, -1980,
2171    40480, -1980, -1980,   776, -1980, -1980, 40480, -1980,   776, -1980,
2172    -1980, -1980, -1980, -1980, -1980, -1980,  1630,  1634, -1980,  1386,
2173     1635,  1637,   394, -1980, 22670, -1980, -1980, 18926,  1631,  1632,
2174    19065, 29147, 29147, -1980, 28447, 28502,  1633,  1646,  1647, 10041,
2175     1648,   108, 25626,  2368,  1485, 25711, -1980,  1717, -1980, -1980,
2176    25796,  1649, -1980, -1980, -1980,  1655,  1663, 25851, 16424,   320,
2177     1667, 29147, 29147,   108, -1980, -1980, -1980, -1980, 21566,   860,
2178    27802, -1980,  1393, -1980, 29147, 13698, 13842, 27802, -1980, 29147,
2179    13986,  1533, 19204, 19343, 19482, 19621, -1980, -1980, -1980, 19760,
2180    -1980, -1980, -1980, 19899, -1980, -1980,   640,   640,  1651,  1671,
2181    35013, 35138,   915, -1980,   915, 36533, -1980, 36533, -1980, -1980,
2182     1668, 27802, -1980, 27802,   664, -1980,   343, -1980, -1980, -1980,
2183    -1980,  8525,  1672,  1673, 40840, 23636, 38233, 29147,  1674, -1980,
2184    -1980, -1980, -1980, -1980,   462,  1675,  1678,  1669,  1681, -1980,
2185    -1980, -1980, -1980, -1980, 36009, 25936,  1680,  1683,  1686, 29147,
2186     1679, 36115,  1677,   373,   337,   579,  1684,  1690, -1980,   108,
2187    -1980, -1980, -1980, -1980, -1980, 29147,   320,   265, 36736, 22808,
2188     1689, -1980, 27802, -1980,   270, 36837, 22946, -1980,   274, 36938,
2189    23084, -1980, -1980, -1980, -1980,  1244,  1697, -1980, -1980, -1980,
2190    26021,  4957, -1980, -1980,  1689, -1980, -1980, -1980, -1980, -1980,
2191    -1980,   871,   933,   871,   933,   948,  1030,   948,  1030,  1089,
2192     1375,  1089,  1375,  1089,  1375, -1980, -1980,   842,  1012, -1980,
2193    -1980,   842,  1012, -1980, -1980,  1126,  1240, -1980, -1980,  1162,
2194     1216, -1980, -1980,  1161,  1259,  1174,  1212,  1305,  1345, -1980,
2195       53, -1980, 26079,  1691,  5767,  1692, -1980, -1980, -1980, -1980,
2196    -1980,  1246, -1980, -1980, -1980, 26164,  6821, -1980, -1980, -1980,
2197    -1980, -1980, -1980, -1980, -1980,   871,   933,   871,   933,   948,
2198     1030,   948,  1030,  1089,  1375,  1089,  1375,  1089,  1375,  1089,
2199     1375, -1980, -1980,   842,  1012, -1980, -1980,   842,  1012, -1980,
2200    -1980,  1126,  1240, -1980, -1980,  1162,  1216, -1980, -1980,  1161,
2201     1259,  1174,  1212,  1305,  1345, -1980, 26222,  1694,  8377,  1696,
2202    -1980, -1980,   108,   108, -1980, -1980,   475,   929, -1980, -1980,
2203    -1980, 37441, 37542, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2204    -1980, -1980, -1980,   683,  2432,   897, -1980, 23636,   108, -1980,
2205    -1980, 23636, -1980,   937, -1980, -1980, -1980,   508,   462,  1821,
2206    -1980, -1980,   449,  1599,  1588,   462,  1821, -1980,  1711, -1980,
2207      949,   603,   979,  3046,  1712, -1980, -1980, -1980, -1980, -1980,
2208    -1980, -1980, -1980, -1980, -1980, -1980, -1980,  4810, -1980, -1980,
2209    -1980, -1980, -1980, 23222,  2258,   780, 35364, 21428,   626,   915,
2210      847, -1980,   915, 29147, -1980,   853, -1980, -1980, -1980,  1716,
2211     1597,  1581,  1599,  1017, 23636,  1029,  1034, -1980, -1980, -1980,
2212    32619, 32745,  1719, -1980,  3229, 40660, 40660, 40660, 40660, -1980,
2213    -1980, -1980, 29147,  1721, 28587, -1980,   947, -1980, -1980, 28642,
2214    -1980, 28727, -1980, -1980, -1980,  1493,  1438, -1980, -1980,  1333,
2215    -1980, -1980, -1980, -1980, -1980,  1493,  1438, -1980, 28782,  6990,
2216    -1980, -1980, -1980, -1980, -1980, 20038, -1980, -1980,   249, -1980,
2217    -1980,   257,  1720, -1980, 32871, 32997,   462,  1818,  1729, -1980,
2218    -1980, -1980, -1980, -1980, -1980,   915,   893, -1980,  1730,  1737,
2219    -1980,  1727,  1728,  1731, -1980, -1980, 35364, -1980, -1980, -1980,
2220    -1980, -1980, 29147,  1741,  1520, -1980, -1980, -1980, -1980,   280,
2221    37039, 23360, -1980, -1980, -1980, 20177, 21566, 21566, -1980, -1980,
2222    -1980, 20316, 26307, 16563, 26392, 26477, 24642, 26562, 16702, 21704,
2223     1736,  1742, 21704, 29147, 28867,  1812, 26647,  1663,  9673,   320,
2224    21704,  1753,  8069, 10041, -1980,  1494, 26702, 10504, 26787, -1980,
2225    -1980, -1980, -1980, -1980,   200,   320,  1754,  1264, -1980, -1980,
2226    -1980, -1980, 20455, -1980, -1980, -1980,  1756,  1758,   108, -1980,
2227    -1980, -1980, -1980, -1980, -1980, 40300, -1980, -1980, -1980, -1980,
2228    26842,  1752, 24918,  1755, 26927,  1760, 25003,  1763,  1761,  1762,
2229    -1980, -1980, -1980, -1980, -1980, -1980, 14130, -1980, -1980,  1776,
2230     1072, -1980,  2718,  1779,  1783,  1788,  1780,  1785, 23636,  1678,
2231    38809,  1675, 29147, 23636, 29147,  1801, -1980, -1980, -1980, -1980,
2232    -1980,  1789, -1980, 28922, -1980, -1980,  1792,  1793, 29147, 29147,
2233     1790,  9853, -1980,   108,   108, 29147, 14274, -1980, -1980,   640,
2234    -1980, -1980, -1980, -1980, -1980, -1980, -1980, 14418, -1980, -1980,
2235    -1980, -1980, 27802, 14562, 14706, 27802, 14850, 14994, -1980, -1980,
2236    -1980, 15138, 15282, 15426, 15570, -1980, -1980, -1980,   595,  1808,
2237      610, -1980, -1980,   462,   897,  1923,  1114, 23636, -1980, -1980,
2238     1807,   915,   915,  1333,   915,  1588,  1813, -1980, -1980,  1817,
2239    -1980,   300, 37140, 23498, -1980,   462,   881, -1980,   847, -1980,
2240    -1980,  1810,  1811, -1980, -1980, -1980,  1136, -1980, -1980, 33123,
2241     1822, 33249, -1980,  1823, 35479, -1980,  1827, -1980, 29147, 28027,
2242     2310, -1980, -1980,  2310, -1980, -1980, -1980,  2310, -1980, -1980,
2243    20594, 20733, -1980, -1980, -1980, 33375, -1980, 33501,   187,   893,
2244    -1980, -1980, -1980, -1980, -1980, -1980, -1980,  2006, 27012, -1980,
2245    -1980, -1980, -1980, -1980, -1980, 20872, -1980, -1980, -1980, 21011,
2246    10041, 24366, 10041, 24366, 12520, -1980, 24780, 16841, -1980, -1980,
2247    21704, 21704, 27097, 10041, 27182, 24504,  1826, 25088, 27267,   204,
2248    21150, -1980, 29147, -1980, 12520, -1980,  8069, 10041, 25173, 29007,
2249       84,  1829,    84,   226,  1828, -1980,   108, 29147, 29147,   108,
2250    27802, 27802, 27802, 27802, 27802, 27802, 27802, 27802, 15714, 15858,
2251    -1980, -1980, -1980,   462,  1678,  1832, -1980, -1980, -1980, -1980,
2252    -1980,  1146,  1675, -1980,  1837,  1838,  1844,  1846,  1205,  1847,
2253     1848, 23636, 29147, 23880, -1980, -1980, -1980,  1854,  1857,  1859,
2254     1860, 29147,  1839,  1843,  1845,  1875, -1980, -1980, -1980, -1980,
2255    -1980, -1980, -1980, -1980,   326, -1980, -1980, -1980,   326, -1980,
2256    -1980, -1980, -1980, -1980,   326, -1980, -1980, -1980,   326, -1980,
2257    -1980, -1980,   326, -1980, -1980, -1980,   326, -1980, -1980, -1980,
2258      326, -1980, -1980, -1980,   326, -1980, -1980, -1980, -1980,  1215,
2259    -1980, -1980,  1588, 27802, -1980, -1980, -1980, 29147, 29147, -1980,
2260    33627, 33753, 33879, 34005, 34131, 40660, -1980, 40660, -1980, 10309,
2261    21289, -1980, -1980, -1980, 34257, 34383, 34509, 34635, -1980,  1938,
2262     1941, -1980, -1980, -1980, -1980, 10041, 29147, 29062,  1829, 16980,
2263    17119, 25258, -1980, 12520, 24780, 27322, 17258,   108, -1980,  1081,
2264      177, -1980,    96,    84,  1883,    84,    92,   645,  1886,  1271,
2265    -1980, -1980,  1675, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2266    -1980, -1980,  1237,  1877,  1880,  1892, -1980, -1980, -1980, -1980,
2267     1884,  1885, -1980, -1980, -1980, -1980, -1980,  1895, -1980, -1980,
2268    -1980, -1980, 34761, 34887, -1980, -1980, 27407, -1980, -1980, 10041,
2269    10041, 27492, 25343, 10041, 27577, 24504,  1896, -1980, 10041, 29147,
2270    -1980, -1980, 24780, -1980, -1980,  1888,  1898,    84,    84, 29147,
2271       84,  1899,    84,  1149, -1980,   240,  1333,   636, -1980,   283,
2272    -1980,  1897, -1980,   108, -1980, -1980, -1980, 28587, -1980, -1980,
2273    -1980, -1980, -1980, -1980,  1896, 10041, -1980, -1980, 27662, -1980,
2274    -1980,   320, -1980, -1980,  1272,  1902,  1285, -1980,  1184,  1903,
2275       84,    84,  1904,    84, -1980, -1980, -1980, -1980,    92,   673,
2276    -1980, -1980, -1980, 10041,   199,  1908, -1980,  1911,  1915,    84,
2277    -1980,  1321,  1328, -1980,  1204,   696, -1980, -1980, 29147, -1980,
2278    -1980, -1980,  1347,  1916,  1917,  1919,    84, -1980,  1922,  1921,
2279    -1980, -1980, -1980,  1350, -1980, -1980,  1926, -1980
2280 };
2281
2282 /* YYPGOTO[NTERM-NUM].  */
2283 static const yytype_int16 yypgoto[] =
2284 {
2285    -1980,  2067,   112, 10144, -1980,  1990, -1980, -1980, -1980, -1980,
2286    -1980, -1980,  1584,  1589,  -929, -1980,  -890,  -964,   145,   148,
2287     -881,  -809,  -799, -1980,  -732,  -699, -1980, -1980,  1594,  1602,
2288    -1980,  1715,  3265, -1980,  -292,   608,   681, -1980, -1980, -1980,
2289    -1980,  1609, -1980, -1980, -1980,  -640, -1979,  -101, -1980, -1980,
2290    -1980, -1980,  2390,  3133,   -22,    11,   557,  -848, -1980,  -834,
2291    -1980,  -843, -1980,  1071,  -148,  1199,  -671,     1,  1774,   -13,
2292     1781,   -21,     0, -1980,  1151, -1980, -1980,  7528,  3860, -1980,
2293     5622,  -146,  1266, -1980,  3771, -1980,  -325,   391,   534,  1100,
2294    -1980,  -458,  -457,  -203,   -38,    10,   124,   914,  9076,  4373,
2295      -45,  8898,  -781,   380, -1980,  4549,  -320,   656,   856,  2026,
2296      615,   146,   161,   191,   209,   234,  1241,   526,  -421,  7106,
2297     -748,  -294,   723, 10847,   -56,  1109,  -130,  3236, 10912,  8268,
2298    -1980, -1980, -1980,   -74,   -41,   -70, -1980,  6550, -1980,  1022,
2299     3315,   620,  -795,  3736,  8758, -1980, 11214, -1980, -1980, -1980,
2300      -52,  4053, -1980, -1980,  2030,  6555,   -37, -1980, -1980,  1141,
2301     1659,  1373,  1784,   -82,   -81,  5431, 10303,  8661,  3330,  -367,
2302     -114,  -368,    77,  -851,    74,  2858, -1980, -1980, -1062, -1980,
2303     3595,  -558, -1204,  7418,  -207,  -670,   264,   210,   151,  1685,
2304     -252,  -764,  -456,  -909,  -529,  -917,  -919,   311,  1105,  1098,
2305      -24,  1849,  -716,  1374,   628,  -511,  -431, -1980,   -89,   -71,
2306     5725,   212,    31,  -391, -1980, -1980, -1980,  2004, -1980,  3316,
2307     2016,   -64,  3577,    -7,  1841,  1018,  1021, -1980, -1980, -1980,
2308      -90,  1996, -1551,   -69, -1980, -1980, -1980,     6, -1980,  2019,
2309      -55,    19,  2012,  1592, -1980, -1980, -1980,  2022,  -759,   381,
2310    -1980,  -745,   863, -1980, -1980, -1980, -1980
2311 };
2312
2313 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
2314    positive, shift that token.  If negative, reduce the rule which
2315    number is the opposite.  If zero, do what YYDEFACT says.
2316    If YYTABLE_NINF, syntax error.  */
2317 #define YYTABLE_NINF -1289
2318 static const yytype_int16 yytable[] =
2319 {
2320       64,  1143,   271,  1226,   222,   223,  1018,  1459,   508,  1458,
2321     1248,  1410,  1681,   177,   939,   718,  1412,  1255,   398,   776,
2322     1259,   722,  1065,   501,   777,  1411,   286,   175,  1113,   280,
2323      108,   110,  1514,  1520,  1524,   745,   692,  1575,   282,   392,
2324      943,   115,   176,  1249,  1032,  1387,   390,   391,   287,   109,
2325     1256,  1230,   123,  1260,  1721,  1848,   278,   393,   602,   140,
2326      196,   116,   173,   288,   149,   148,   152,  1859,  1519,   398,
2327      172,   299,   277,   499,  1073,     1,  1399,  1079,  1389,  1085,
2328      276,  1090,   163,   174,   123,  1471,   210,   285,  1433,   106,
2329     1400,   123,   840,    64,   844,     1,   537,   540,  1495,  2080,
2330       64,    64,   933,  1496,   296,  1533,  1513,   945,  1523,   104,
2331     2127,     1,  1431,   380,  1016,  1515,   383,  1525,  1492,  1536,
2332        1,     1,   491,   797,   600,   111,   297,   298,   210,   750,
2333      301,   123,   123,  1066,   902,   513,   413,   518,   112,   522,
2334      149,   467,   480,  1500,   467,  -457,  -457,  -457,   494,  1114,
2335      496,    92,   106,   496,   480,   492,   509,   467,   480,   467,
2336      181,   467,  1482,   105,   525,  2086,  2127,  1539,   514,     1,
2337      519,   138,   523,   904,   149,   148,   825,   113,   622,   536,
2338      539,   617,   299,   123,  -453,   603,   925,  1516,   299,  1526,
2339        1,   583,   755,   756,   757,  1250,  1246,  1517,   550,  1527,
2340      500,   671,  1274,  1860,   299,   299,   399,  1860,   177,   299,
2341      149,   863,   558,   797,   286,     2,   286,  2007,   937,  2081,
2342      163,   570,   175,  2077,   121,   379,   280,  2082,     1,  2013,
2343      123,   299,   175,   123,   186,   282,   287,   176,   287,  1432,
2344     1531,   615,  1480,  2121,    92,  1493,  1537,   176,   601,   798,
2345     1804,   289,    92,   696, -1036, -1036,   751,   399,  1806, -1036,
2346      532,   903,   134,   663,  1481,   608,  -109,   685,  -457,   277,
2347      648,  -100,  1057,   868,   679,  -104,   675,   695,   681,   326,
2348      851,   -82,   693,   542,  1520,  1524,     1,  1483,    64,   682,
2349       64,  1520,  1524,   680,  1540,  1520,  1524,  1997,   772,  2079,
2350      751,   -89,   826,   979,  1065,   618,   701,   758,   711,   565,
2351      549,   926,   799,   584,   711,   759,   807,   585,   760,  1519,
2352      566,  2148,  1251,  1861,   550,   106,  1519,  1998,   136,  1251,
2353     1519,  1862,  1108,  1297,  1301,  1862,  1305,  1267,   753,  1191,
2354      143,   396,   299,   825,   144,   741,     1,   184,   184,  2014,
2355      893,   895,   897,   899,   752,   181,  2086,  2015,  1052,  1523,
2356        1,  1363,  1367,  2122,  1371,   688,  1523,  2077,  1525,   903,
2357     1523,  2123,  1580,   586,  1805,  1525,   968,  -617,   299,  1525,
2358      149,   831,  1807,  1267,   968,  -612,   550,   137,   550,   942,
2359      223,   751,   156,  -109,   123,   395,     1,     1,  -100,   583,
2360      123,  -739,  -104,  -739,   141,  1581,   142, -1021,   -82, -1021,
2361     1651,  2126,  1655,   149,   915,   916,  1009,     1,   831,   299,
2362      866,   509,   145,     1,   870,   570,  1034,   939,   -89,   186,
2363      881,   582,  1009,   882,   831,   870,   889,   831,   586,   691,
2364     1526,   289,     2,  1653,   692,  1657,  1019,  1526,     2,  1021,
2365     1527,  1526,     1,  1275,  1277,  1279,     1,  1527,  1276,  1278,
2366     1280,  1527,   146,   147,  1703,   467,   467,   149,   852,  1193,
2367      929,   210,   752,   917,   123,  1892,  1053,   956,     1,    52,
2368      745,     2,   960,  1339,  1341,  1343,   163,   961,  1340,  1342,
2369     1344,   467,   467,  1065,  1054,   587,  1702,     1,   839,   588,
2370      843,   939,  1468,   974,  1556,   155,     1,   745,   933,   149,
2371      978,     1,  1820,   467,   467,   745,   829,  1578,   467,   467,
2372      160,   469,   467,   467,   469,   585,   123,   123,   123,   184,
2373      123,     2,  1244,   123,  1670,   745,  1673,   469,  1039,   469,
2374     1043,   469,   184,   381,   123,   123,   123,   688,  1532,   150,
2375      149,  -457,  -457,  -457,  1691,   831,   496,  1565,   159,    26,
2376      467,  1700,   467,   525,   588,  1047,   550,   123,   933,  1410,
2377      149,  1040,  1753,  1044,  1412,  1570,   877,  1477,  1471,  1478,
2378      123,    51,   556,  1745,   299,  1071,   589,     1,  1077,   933,
2379     1083,  1309,  1088,  1016,   671,   671,   671,   671,     1,  1102,
2380     1737,   589,  1738,   231,  1011,  1150,     1,  1010,  1157,  1799,
2381     1013,  1798,  1265,   146,   147,   299,  1520,  1524,  1769,  1375,
2382     1011,  1770,   286,   529,  1430,     1,  1802,   589,  -863,  1227,
2383        1,  1124,  1045,  1131,  1461,   295,   933,  1749,   373,     1,
2384      175,  1144,  1399,  1399,   287,   299,   134,  1782,     1,  1785,
2385      856,  1519,  -910,  1052,   399,   176,  1400,  1400,  1331,  1787,
2386     1418,   591,     1,   648,   648,   648,   648,     1,  1427,   675,
2387      675,   675,   675,  1487,  -457,   300,     1,  -457,  1056,  1441,
2388     2022,   149,  1179,   386,  1185,  1187,     1,   972,  1252,   583,
2389      123,  1523,     2,   419,  -216,  1253,   570,  1176,  1177,     1,
2390     1525,   586,  1196,   146,   147,   937,  1704,  1476, -1061,     1,
2391     1203,  1101,   590,   529,   527,  1392,  1393,  1208,  1218,   550,
2392     1228,  1208,  1218, -1061,   552,  -910,  -910,   590,  1196,  1635,
2393     -910,  1762,  1758,  1640,     2,  1957,  1642,  -910,  1644,  1239,
2394      545,   146,   147,  1233,  1234,  1235,   146,   147,  1767, -1061,
2395     1746,  1463,  1530,   590,  -863,  1262,   495,  1313,     1,  1269,
2396      857,  -910,  -910,     1,  1763,   254,   858,  1183,  2090,  2086,
2397     1562,  1053,  1526,   688,   526,   134,  -910,  1061,  -910,     1,
2398     -870,   710,  1527, -1067,  1904,  1379,   710,   592,   972,  1054,
2399      980,   980,   980,   801,   802,   803,  2146,    32,  1520,  1524,
2400        1,  1329,   146,   147,  -216,  1334,  1315,     1,   184,   184,
2401     -216,   846,   752,  1776,     1,   585,   106,  1485,  1486,  1451,
2402     1452,  1600,  1453,   847,  2157,  1455,  1456,   588,    43,    44,
2403     1394,   149,  1397,  1519,  1381,   831,   831,   831,  -459,  -459,
2404     -459,  1494,   107,  1548,   392,   469,   469,   691,   153,  1473,
2405      154,  1467,   391,   373,   787,   788,     1,  1556,   413,  1413,
2406      210,  1268,   393,     1,   974,   526,   149,   978,  -265,  -265,
2407     -265,   469,   469,  1523,   163,  1423,   570,  1167,  1171,  1144,
2408     1533,   197,  1525,   570,     1,  1438,  1440,     1,  1442,   106,
2409      831,  1981,   198,   469,   469,   146,   147,  1505,   469,   469,
2410     1769,  1770,   469,   469,     1,  1538,  1541,   555,   804,  -458,
2411     -458,  -458,   552,  1676,   552,   678,   805,   421,     1,   806,
2412     1707,  1317,   422,   146,   147,  1708,   420,   123,   559,   149,
2413      977,    -8,     1,   210,   106,  1696,   123,   398,   560,  1306,
2414      469,  1475,   469,     2,   123,  1978,   123,  1479,  1490,  1383,
2415     1633,   561,   121,   688,  1526,  1310,   149,   929,   413,  1257,
2416      745,  -459,   789,   790,  1527,   509,   509,  1372,   496,   387,
2417      467,   496,   146,   147,  1558,  1773,   509,  1501,   149,  1503,
2418      388,  1491,     1,  1376,   197,  1912,  1314,  -265,  -899,  1809,
2419      778,  -265,  1559,   528,  1665,   198,   593,  1669,  1869,   386,
2420      146,   147,  1885,  1966,   123,  1316,  1803,  1891,   939,   594,
2421      779,   780,  1898,  1183,  1380,  1063,  -457,  -457,  -457,   860,
2422      146,   147,    75,  1544,   815,   816,  1064,  1502,   596,     1,
2423      566,  1318,  -458,  1382,   688,   496,   496,    52,   671,   467,
2424      467,   671,   598,   467,   467,   467,  2047,   149,   146,   147,
2425      123,   123,   808,  -879,  -879,  1003,  1545,  1747,  -879,  1384,
2426      123,   933,   123,   210,   550,  -879,  1748,   599,   831,  1747,
2427     1802,   149,   809,   810,   831,   677,  1959,   149,  1757,   671,
2428      831,   688,  1497,   149,   781,   782,   831,  1498,   149,  -879,
2429     -879,    26,   552,   671,   671,   671,   671,   975,   134,   783,
2430      784,   933,   149,   976,   933,   179,  1416,   648,   752,   841,
2431      648,   845,   976,   675,  1016,    75,   675,  1674,   104,  1124,
2432     1419,  1131,    75,    75,   373,   399,   976,  2054,   697,  2055,
2433     1615,  -457,   817,   818,   399,  1675,  1011,   134,  1775,  -457,
2434      791,   792,  -457,  1628,   858,   146,   147,  1981,   648,  1269,
2435     1777,   582,   552,   710,   675,  1778,   976,   134,  1624,   491,
2436     -898,   976,   648,   648,   648,   648,   811,   812,   675,   675,
2437      675,   675,  1281,  1283,   719,     1,  1561,   720,   136,  1771,
2438      467,   467,   123,  1031,   123,   528,  1809,  2035,  2132,   909,
2439      910,   386,   492,  1882,   831,   157,   149,   158,   723,   858,
2440        2,   831,  1345,  1347,  2076,   413,   210,  1548,  2077,   121,
2441      724,   911,  2078,  1072,   698,   912,  1078,   913,  1084,  -625,
2442     1089,  -625,   749,   698,  1685,  -869,  2017,  -869,  -869,   698,
2443     2032,  1685,   725,  -898,  -898,  1958,   415,     1,  -898,   149,
2444      898,   858,   752,   574,   254,  -898,    28,    29,   914,   373,
2445     1556,    32,  1091,   373,   819,   820,   534,  1969,    38,  1646,
2446      396,  1013,     2,   858,  -624,  1709,  -624,  2024,  1003,  -898,
2447     -898,  1982,  2119,   858,   726,  1003,  2077,  1092,  1003,   543,
2448     2120,   544,    43,    44,  -898,  -898,  -898,   469,   469,  1058,
2449      727,    51,  -869,  1093,   565,   502,  1918,   793,   373,   515,
2450      179,  1640,   794,  -869,  1644,   566,  1659,  2138,    28,    29,
2451      179,  2077,    75,    32,   395,  2139,   795,  1285,  1287,  1583,
2452       38,   796,  1589,  1094,  1095,   373,  2029,  2155,  -869,    28,
2453       29,  2077,   858,   373,    32,  2156,  2046,  1067,   547,   136,
2454      544,    38,   858,   800,    43,    44,   737,  1349,  1351,  1109,
2455      469,   821,   386,   373,   823,  -869,  -869,  -869,  2094,  1816,
2456     1630,   824,     1,   161,   858,    43,    44,  1716,  1016,  1728,
2457     -216,  1717,  1096,  1717,  1167,  1171,  1167,  1171,   879,  1016,
2458    -1016,   535, -1016,   933,   933,   813,   814,  1865,  1896,  1091,
2459     1899,  1866,  1735,  1736,  2092,  2135,  1739,   149,  2093,  2077,
2460      822,   831,   831,   828,  1907,  1909,  1298,  1302,  2137,   848,
2461       28,    29,  2077,   149,  1092,    32,  1740,  1413,  1503,   469,
2462      469,   413,    38,   469,   469,   469,  1105,  1750,   544,   123,
2463     1093,     1,  1628,   851,  1364,  1368,   123,  1282,  1284,   836,
2464      574,  1759,   149,   123,  2153,   837,    43,    44,  2077,   785,
2465     1803,  2154,  1003,  2129,   552,  2077,     2,   849, -1035, -1035,
2466     1094,  1095,   254, -1035,   123,   901,  1766,  1346,  1348,   123,
2467     2159,  2012,   123,  2166,  2077,   149,   908,  2077,   146,   147,
2468     -216,  1636,  1637,  1638,   413,   859,  -216,  1033,   752,     1,
2469      467,   467,   574,   552,   918,   831,   831,   831,   831,  -879,
2470     -879,   958,    28,    29,  -879,   965,  1183,    32,   752,  1573,
2471     1148,  -879,   966,  1574,    38,  1447,  1449,   671,   671,  1180,
2472      415,   142,  1003,  1091,  1003,   967,  1261,  1982,     1,   671,
2473      968,  1268,   574,     1,   971,  -879,  -879,  1035,    43,    44,
2474     1328,   700,     1,  1027,   467,   467,  1646,   123,  1092,  1013,
2475      700,  1333,  1028,     1,   752,   123,   700,   562,  1016,  1036,
2476      469,   469,   198,  1510,  1093,  1511,   570,   761,   762,   763,
2477      764,   765,   766,   767,   768,   769,   770,  1976,   745,   745,
2478      745,   745,   745,   745,   745,   745,   648,   648,  1448,  1450,
2479      552,  1894,   675,   675,  1094,  1095,  1124,  1029,   648,  1124,
2480       28,    29,  1124,  1068,   675,    32,  1615,  1074,  2033,  1895,
2481     1124,   698,    38,  1124,   752,    32,  1610,  2040,  1508,     1,
2482     1509,   852,  2083,   752,  2085,  1852,  1080,  -216,  1849,  1011,
2483     1003,   981,   982,   983,  1086,  1016,    43,    44,  1144,  1286,
2484     1288,   552,  1024,  1026,  1863,   509,    43,    44,  1104,  1023,
2485     1025,  1462,  1504,   396,  1791,  1103,  1794,  1792,  1106,  1795,
2486     1110,   891,  1111,  1961,  1112,   254,  1130,   373,   373,  1350,
2487     1352,   745,  1132,  2048,  2050,   771,   582,  1133,   413,  1141,
2488      210,  1162,  1164,   413,  1163,  1165,  1142,  2114,  1145,  2116,
2489     1488,  2118,   291,   294,  1009,  1146,  1564,  1147,  1181,  1401,
2490     1402,  1239,  1567,  1913,  1914,  1192,  1205,   395,  1568,  1257,
2491     1245,  1403,  1404,  1405,  1569,  1421,  1406,  1407,   179,  1408,
2492     1420,   388,  1437,  1445,  1199,  1446,  1464,  1484,  -731,  2141,
2493     2142,  -734,  2144,   552,  1549,   146,   147,  -216,  1394,  1552,
2494     1550,   737,  1417,  -216,  1551,   752,  1553,   413,  2152,  1554,
2495     1199,   123,   123,  1571,   123,   552,  1572,  1970,  1576,  1973,
2496     1577,  1242,  1586,  1587,  1602,  2163,   149,   671,  1603,  1604,
2497     1606,  1645,  2130,  1611,  1619,  1003,  1817,  2131,   373,   467,
2498     1620,   467,  1003,  1984,   831,  1986,  1003,  1563,  1621,  1625,
2499     1971,   421,  1974,  1649,  1678,  1666,  1667,  1680,  1823,  1827,
2500     1206,  1683,  1682,  1693,  1701,   467,  1694,   467,   123,  1695,
2501     1839,  1705,  1698,  1706,    28,    29,  1985,  1711,  1987,    32,
2502     1718,     1,  1724,  1727,     1,  1732,    38,  1734,  1646,  1013,
2503     1124,  1124,  1124,  1124,  1756,  1760,   648,     1,  1601,  1774,
2504     1124,  1124,   675,  1124,  1779,  1124,     2,  1788,  -737,     2,
2505       43,    44,  1810,  1811,   574,   121,   450,  1124,   121,   450,
2506     1812,  1813,  1814,   401,  1819,  1815,  1144,  1840,  1846,  1628,
2507      469,   469,   450,  1841,   450,  1850,   450,  1864,  1867,  2010,
2508     1868,  2010,  1011,  1871,  1878,  1879,  1873,  1289,  1291,   574,
2509     1293,  1875,    28,    29,  1877,    28,    29,    32,   574,  1881,
2510       32,   413,  1886,   550,    38,   574,  1887,    38,    28,    29,
2511      737,  1888,   574,    32,  1889,  1353,  1355,  1357,  1359,  1890,
2512       38,  1901,  1902,  1911,   469,   469,  1905,  1906,    43,    44,
2513     1677,    43,    44,  1956,  -231,   671,  1960,   671,   700,  1963,
2514      565,  1967,  1968,    52,    43,    44,  1964,  1972,  1996,  1975,
2515     2052,   566,  1697,  1977,  2011,  2023,    52,  2016,   415,   415,
2516     2025,  2026,  2042,   574,    28,    29,  2043,     1,  2044,    32,
2517      467,   467,   467,   467,   467,   831,    38,   831,  2027,   574,
2518     2028,  2030,  2031,  2053,   467,   467,   467,   467,  2036,  1003,
2519       57,  2037,     2,  2038,  2039,  1124,  2124,  2125,  2045,   552,
2520       43,    44,  2059,   671,   648,  2060,   648,  2075,  2084,  2091,
2521      675,  2095,   675,   403,  2096,  2097,  1144,  1628,  2098,  2099,
2522     2100,  2106,  2111,  2112,  2117,  2136,  2128,  2145,  2140,  2143,
2523      373,   114,  2010,  2149,  2010,  1003,  2150,  1003,    28,    29,
2524     2151,  2160,  2161,    32,  2162,  2164,  2165,  1499,  1994,    57,
2525       38,  2167,   467,   467,  1003,  1786,   151,  1409,   415,  1124,
2526     1124,   949,   683,  1124,  1454,  1124,   950,    54,  1124,   684,
2527     1332,   951,   648,    57,    43,    44,    57,  1489,   675,   952,
2528       28,    29,   255,    57,  1764,    32,   955,  1628,   272,  1144,
2529       57,    57,    38,  1144,   886,  1231,  2010,  2010,   721,  2010,
2530     1979,  2010,  1237,    57,   290,  1124,   382,  1003,  2113,   279,
2531      878,   664,   281,   293,   616,   283,    43,    44,    57,  1955,
2532        0,     0,     0,     0,     0,     0,   407,     0,  1144,  1628,
2533     2134,   407,   255,  1124,   407,     0,     0,     0,     0,  2010,
2534     2010,     0,  2010,     0,   255,  1144,    57,   407,   255,   407,
2535      170,   407,     0,     0,     0,     0,     0,     0,  2010,   469,
2536       54,   469,   417,     0,     0,     0,     0,    54,    54,     0,
2537        0,     0,     0,     0,     0,  2010,   255,   255,     0,     0,
2538      450,   450,   538,   541,     0,   469,     0,   469,   407,     0,
2539        0,     0,   953,     0,     0,     0,  1772,     0,     0,     0,
2540        0,     0,   557,     0,     0,     0,   450,   450,   552,     0,
2541      552,    57,     0,     0,     0,     0,  2071,     0,  2074,   373,
2542        0,     0,     0,  1663,   552,   552,     0,     0,   450,   450,
2543        0,   373,     0,   450,   450,     0,     0,   450,   450,     0,
2544        0,    18,    19,     0,     0,    28,    29,     0,     0,     0,
2545       32,     0,     0,     0,     0,   255,     0,    38,   255,   255,
2546      644,     1,     0,     0,   623,     0,   670,     0,    57,     0,
2547        0,    28,    29,     0,     0,   450,    32,   450,    57,   255,
2548       57,    43,    44,    38,  2110,   694,     2,     0,   568,  1003,
2549        0,     0,     0,     0,   853,   121,     0,     0,   255,     0,
2550        0,     0,     0,     0,   255,   415,     0,    43,    44,     0,
2551        0,     0,     0,     0,   407,     0,     0,  -457,     0,  1139,
2552     -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,     0,     0,
2553        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
2554        0,     0,     0,     0,    38,   170,     0,     0,     0,     0,
2555      469,   469,   469,   469,   469,   170,     0,    54,     0,     0,
2556        0,     0,     0,     0,   469,   469,   469,   469,    43,    44,
2557        0,    57,     0,     0,     0,   786,   407,    51,   407,     0,
2558       52,     0,     0,     0,     0,     0,     0,     0,     0,   928,
2559        0,     0,     0,   373,   373,     0,     0,     0,     0,     0,
2560        0,     0,     0,     0,     0,  1897,     0,  1900,    57,     0,
2561      407,    57,    18,    19,   255,    57,     0,     0,     0,     0,
2562      880,  1908,  1910,     0,    57,   255,     0,    57,   552,     0,
2563     -457,  -457,   469,   469,     0,     0,   894,   552,     0,   900,
2564     -457,     0,    28,    29,     0,     0,   417,    32,     0,  -457,
2565     -457,  -457,  -457,  -457,    38,   407,   407,     0,     0,     0,
2566       57,    57,     0,     0,     0,     0,     0,   407,     0,     0,
2567        0,     0,   959,     0,     0,     0,     0,   255,    43,    44,
2568        0,   407,   407,     0,     0,   568,     0,     0,   574,     0,
2569     1609,     1,     0,   552,   552,     0,     0,     0,     0,     0,
2570       57,     0,     0,   407,   407,     0,    28,    29,   407,   407,
2571        0,    32,   407,   407,     0,     0,     2,   415,    38,   644,
2572        0,   415,     0,     0,     0,   121,   255,     0,     0,   255,
2573        0,     0,  1020,     0,     0,  1022,     0,   568,     0,     0,
2574        0,     0,    43,    44,     0,    57,     0,     0,     0,     0,
2575      407,    51,   407,     0,   860,    57,   407,     0,     0,  1004,
2576        0,     0,    28,    29,     0,   566,     0,    32,     0,     0,
2577        0,     0,     0,     0,    38,    57,     0,   568,    57,     0,
2578       57,     0,    57,     0,   415,     0,     0,     0,   574,    57,
2579        0,     0,     0,     0,     0,   969,     0,  -640,    43,    44,
2580        0,     0,   415,     0,     0,   373,     0,    51,     0,     0,
2581       52,  1460,     0,     0,    28,    29,     0,     0,     0,    32,
2582        0,     0,  -640,   373,     0,  2034,    38,     0,  -955,     0,
2583        0,  -640,  -640,     0,  2041,    18,    19,   698,   698,     0,
2584      698,   698,     0,     0,     0,   698,   698,   698,   698,     0,
2585       43,    44,     0,   644,   644,   644,   644,     0,     0,   670,
2586      670,   670,   670,   854,     0,    28,    29,     0,  -640,  -640,
2587       32,     0,     0,  -640,   373,     0,     0,    38,     0,     0,
2588     -640,   255,   255,   255,     0,   450,    57,  1186,  1188,  1189,
2589     2049,  2051,   407,     0,     0,    18,    19,     0,     0,     0,
2590      255,    43,    44,     0,  -640,  -640,     0,   255,   255,   407,
2591       51,   255,   255,  -640,     0,     0,  -640,     0,   407,   970,
2592        0,   968,  -640,   737,     0,    28,    29,     0,     0,    57,
2593       32,     0,   644,     0,     0,     0,     0,    38,     0,   644,
2594     1204,     0,   644,     0,     0,     0,     0,     0,     0,     0,
2595        0,     0,     0,     0,   450,   450,     0,     0,   450,   450,
2596      450,    43,    44,   170,     0,     0,     0,     0,     0,  1195,
2597       51,     0,  1004,     0,     0,     0,     0,     0,   415,  1004,
2598        0,     0,  1004,   415,   698,   698,   698,   698,   698,   698,
2599      698,   698,    28,    29,     0,  1195,     0,    32,     0,     0,
2600        0,     0,     0,     0,    38,     0,   574,     0,     0,     0,
2601        0,     0,     0,  1290,  1292,     0,  1294,     0,     0,     0,
2602        0,     0,    57,     0,     0,    57,    57,    57,    43,    44,
2603        0,     0,     0,     0,     0,     0,     0,    51,     0,     0,
2604     1206,  1354,  1356,  1358,  1360,     0,     0,   415,   407,   407,
2605       57,     0,     0,     0,     0,   920,   923,    57,    88,     0,
2606        0,     0,     0,     0,     0,   255,    57,     0,     0,     0,
2607        0,     0,     0,    57,     0,     0,   255,   698,   407,     0,
2608       57,   920,   923,     0,   417,   417,     0,     0,   415,     0,
2609        0,     0,     0,     0,     0,   450,   450,     0,     0,   568,
2610        0,     0,     0,   920,   923,     0,     0,     0,   920,   923,
2611      131,     0,   920,   923,     0,     0,     0,     0,     0,     0,
2612        0,     0,     0,    57,     0,   737,     0,     0,     0,     0,
2613        0,    57,     0,     0,   568,     0,     0,     0,     0,     0,
2614      164,   182,   195,   568,     0,     0,     0,    57,   407,   233,
2615      568,    88,     0,     0,     0,    57,    57,   568,    88,    88,
2616      407,     0,     0,     0,  1924,  1928,    57,  1934,  1938,     0,
2617        0,     0,  1942,  1946,  1950,  1954,     0,     0,     0,     1,
2618        0,     0,     0,  1506,   417,     0,   644,   255,   644,   195,
2619      400,   402,   404,   405,   255,     0,     0,     0,     0,   473,
2620        0,   415,   473,     0,     2,     0,     0,     0,   568,     0,
2621        0,     0,     0,   192,   193,   473,     0,   473,     0,   473,
2622        0,     0,     0,     0,   568,     0,  1004,  1004,  1004,   407,
2623      407,     0,     0,   407,   407,   407,     0,     0,     0,     0,
2624        0,   533,   402,   404,     0,     0,     0,     0,     0,     1,
2625       28,    29,     0,    57,   407,    32,     0,     0,    57,     0,
2626        0,     0,    38,     0,    57,     0,     0,     0,     0,     0,
2627       57,     0,     0,     0,     2,     0,    57,     0,   563,   578,
2628        0,     0,     0,   121,     0,     0,    43,    44,     0,     0,
2629        0,     0,     0,     0,   644,    51,     0,   644,    52,     0,
2630      644,     0,     0,   670,     0,     0,   670,     0,     0,     0,
2631        0,   700,   700,   700,   700,   700,   700,   700,   700,     0,
2632       28,    29,     0,   614,     0,    32,     0,     0,     0,     0,
2633        0,     0,    38,     0,  1004,     0,   182,     0,   644,     0,
2634        0,     0,     0,     0,   670,     0,   689,     0,    88,     0,
2635        0,     0,   644,   644,   644,   644,    43,    44,   670,   670,
2636      670,   670,     0,     0,     0,    51,     0,     0,    52,     0,
2637      407,   407,     0,     0,     0,   255,     0,   255,     0,     0,
2638        0,  1647,     0,  1648,    57,     0,     0,     0,     0,     0,
2639        0,    57,     0,     0,   255,   407,    57,     0,     0,     0,
2640        0,     0,     0,     0,   700,   450,   450,     0,     0,     0,
2641        0,     0,     0,     0,   255,     0,     0,     0,     0,     0,
2642        0,   255,     0,     0,     0,     0,     0,     0,     0,     0,
2643     1780,   417,  -629,     0,     0,     0,    66,     0,   255,   644,
2644        0,     0,     0,     0,     0,   255,   644,     0,     0,   255,
2645      644,     0,   400,   402,   404,     0,     0,  -629,     0,   450,
2646      450,  1658,     0,     0,     0,     0,  -629,  -629,  1660,     0,
2647        0,     0,     0,     0,     0,     0,   861,     0,  1004,  1004,
2648        0,     0,     0,   473,     0,  1004,  1004,     0,     0,  1004,
2649     1004,     0,     0,     0,   131,     0,     0,     0,     0,     0,
2650        0,     0,     0,  -629,  -629,     0,     0,     0,  -629,     0,
2651        0,     0,     0,     0,     0,  -629,     0,     0,     0,    66,
2652        0,     0,     0,   473,   473,     0,     0,     0,   935,    66,
2653        0,     0,   946,     0,     0,   473,    66,    66,     0,  -629,
2654     -629,     0,     0,     0,   164,     0,     0,     0,  -629,   473,
2655      473,  -629,     0,     0,  1781,     0,   968,  -629,     0,     0,
2656        0,     0,     0,     0,     0,     0,     0,     0,   861,     0,
2657        0,   473,   473,     0,     0,     0,   473,   473,   482,     0,
2658      473,   473,   126,     0,   195,   195,   195,     0,     0,     0,
2659      482,    57,    57,     0,   482,     0,     0,     0,     0,     0,
2660        0,     0,   195,   195,     0,     0,   451,   407,     0,   451,
2661        0,   407,     0,   180,   126,     0,     0,     0,   473,     0,
2662      473,   232,   451,  1050,   451,  1059,   451,     0,     0,   920,
2663      923,     0,     0,   920,   923,     0,     0,     0,     0,     0,
2664      404,     0,     0,   417,     0,     0,     0,   417,     0,     0,
2665        0,     0,     0,   644,     0,     0,    57,   484,     0,     0,
2666        0,   126,   126,     0,     0,     0,     0,     0,     0,   484,
2667        0,     0,     0,   484,   407,     0,     0,     0,     0,     0,
2668      407,   407,     0,     0,     0,    57,    57,    57,    57,     0,
2669        0,     0,     0,  1004,   450,     0,   450,     0,     0,     0,
2670        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2671      417,     0,     0,   531,    66,  1796,     0,     0,     0,     0,
2672      450,     0,   450,     0,    66,     0,    66,     0,   417,     0,
2673        0,     0,     0,   568,   407,   407,     0,     0,     0,     0,
2674        0,     0,     0,     0,     0,     0,     0,     0,  1184,     0,
2675        0,     0,     0,     0,   689,     0,    57,     0,     0,     0,
2676      595,     0,     0,   597,     0,     0,     0,     0,     0,     0,
2677      255,   644,     0,     0,     0,  1214,   644,   644,     0,  1214,
2678      612,     0,   670,   670,   620,   624,     0,     0,     0,   644,
2679        0,     0,   644,     0,   670,   126,     0,   861,   921,   924,
2680      644,     0,     0,     0,     0,     0,     0,     0,   180,     0,
2681     1004,  1004,     0,     0,     0,     0,     0,     0,     0,     0,
2682        0,     0,     0,   715,   921,   924,     0,     0,     0,   715,
2683        0,     0,     0,   568,     0,    57,     0,     0,     0,     0,
2684        0,     0,     0,     0,     0,     0,   921,   924,     0,     0,
2685        0,   921,   924,     0,     0,   921,   924,     0,     0,     0,
2686      482,     0,     0,     0,     0,     0,     0,     0,   407,     0,
2687       57,   482,     0,   407,     0,     0,     0,     0,     0,     0,
2688        0,     0,     0,     0,     0,   450,   450,   450,   450,   450,
2689        0,    57,     0,     0,     0,     0,     0,     0,     0,   450,
2690      450,   450,   450,     0,   417,     0,     0,     0,     0,   417,
2691        0,     0,     0,     0,     0,     0,     0,     0,  1414,     0,
2692        0,     0,     0,   482,   126,   861,     0,     0,     0,     0,
2693      451,   451,   164,   861,  1428,     0,    76,   407,     0,   873,
2694        0,  1435,   954,     0,   861,     0,  1443,     0,     0,     0,
2695      873,     0,   255,   644,     0,     0,   451,   451,     0,     0,
2696        0,     0,     0,     0,     0,     0,   126,   450,   450,   407,
2697        0,   407,     0,   417,    57,     0,     0,     0,   451,   451,
2698        0,     0,     0,   451,   451,   131,     0,   451,   451,     0,
2699        0,     0,  1004,  1004,  1472,   407,     0,   407,     0,   578,
2700        0,     0,   964,     0,   232,   131,     0,     0,     0,     0,
2701        0,     0,     0,     0,   417,   935,     0,     0,     0,    76,
2702        0,     0,     0,     0,     0,   451,     0,   451,   473,    76,
2703      644,   644,   670,     0,     0,     0,    76,    76,   402,     0,
2704        0,     0,     0,     0,     0,   621,   625,     0,     0,     0,
2705        0,   568,   620,     0,     0,   620,   126,   126,   126,     0,
2706     1008,     0,   935,   597,     0,   657,     0,     0,     0,     0,
2707        0,     0,     0,     0,   126,   126,   126,     0,   485,     0,
2708      920,   923,     0,   343,     0,     0,     0,     0,     0,     0,
2709      485,   407,     0,   407,   485,   126,     0,   473,   473,     0,
2710        0,   473,   473,   473,     0,     0,     0,   414,  1546,   400,
2711        0,     0,     0,     0,     0,     0,     0,     0,     0,   404,
2712        0,     0,     0,     0,     0,     0,     0,   417,     0,     0,
2713        0,     0,    66,     0,   920,   923,     0,     0,     0,     0,
2714        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2715        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2716      407,   407,   407,   407,   407,    57,     0,    57,     0,   414,
2717        0,     0,     0,     0,   407,   407,   407,   407,     0,   620,
2718      624,  1168,  1172,     0,     0,     0,     0,     0,     0,     0,
2719        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2720      670,     0,   670,     0,     0,     0,     0,     0,     0,   620,
2721        0,     0,     0,     0,    76,     0,     0,     0,     0,     0,
2722      232,     0,     0,     0,    76,     0,    76,     0,     0,     0,
2723        0,     0,  1212,  1222,     0,   892,  1212,  1222,   473,   473,
2724        0,     0,   407,   407,     0,     0,     0,     0,     0,     0,
2725        0,     0,     0,    82,     0,     0,     0,     0,     0,   861,
2726        0,     0,   861,     0,  1672,     0,     0,     0,   670,     0,
2727        0,   414,     0,     0,     0,   703,   706,   708,     0,     0,
2728      414,   302,  1214,     1,   303,   106,   414,     0,     0,  1214,
2729        0,     0,   729,     0,     0,     0,     0,     0,   343,     0,
2730        0,     0,     0,     0,     0,     0,     0,     0,     2,     0,
2731        0,   482,     0,   621,     0,   414,   621,     0,     0,     0,
2732      414,     0,   482,     0,     0,     0,     0,     0,     0,     0,
2733        0,     0,     0,     0,     0,     0,    82,     0,     0,     0,
2734        0,     0,     0,     0,     0,   307,    82,     0,     0,     0,
2735        0,   308,   309,    82,    82,     0,     0,   414,     0,   414,
2736      485,     0,     0,     0,     0,   312,     0,     0,     0,     0,
2737        0,   485,   921,   924,     0,     0,   921,   924,   313,     0,
2738        0,     0,   314,   315,   316,   317,   318,   319,   320,     0,
2739     1426,   414,     0,     0,     0,   486,     0,     0,   322,     0,
2740        0,  1426,   705,     0,   775,     0,     0,   486,     0,     0,
2741        0,   486,   326,   327,     0,     0,     0,     0,   126,     0,
2742        0,     0,     0,   485,     0,     0,  1126,     0,     0,     0,
2743        0,     0,     0,     0,     0,   451,     0,     0,     0,     0,
2744      621,   625,  1169,  1173,     0,     0,     0,     0,     0,     0,
2745        0,     0,     0,     0,     0,     0,     0,   126,   657,   657,
2746      657,   657,     0,     0,     0,     0,     0,     0,     0,     0,
2747      621,     0,  1743,     0,   595,     0,   597,   126,     0,     0,
2748        0,     0,     0,     0,     0,     0,     0,  1752,     0,     0,
2749        0,     0,     0,     0,   400,     0,     0,     0,     0,     0,
2750      414,   195,     0,     0,   451,   451,     0,     0,   451,   451,
2751      451,     0,     0,     0,     0,     0,     0,     0,     0,   612,
2752        0,     0,  1765,     0,   578,     0,     0,     0,     0,     0,
2753        0,    82,     0,     0,     0,     0,     0,   414,     0,     0,
2754        0,    82,     0,    82,     0,     0,     0,     0,   473,   473,
2755        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2756      920,   923,     0,   920,   923,     0,     0,     0,     0,   343,
2757        0,     0,     0,     0,   920,   923,   920,   923,     0,     0,
2758      126,   126,     0,     0,     0,     0,     0,     0,     0,     0,
2759        0,     0,     0,     0,     0,     0,     0,   414,     0,     0,
2760        0,     0,   473,   473,     0,   400,     0,     0,     0,     0,
2761        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2762        0,     0,     0,  1584,   578,     0,  1590,     0,     0,     0,
2763        0,     0,    76,     0,     0,     0,     0,     0,     0,     0,
2764        0,     0,   920,   923,     0,   451,   451,     0,     0,     0,
2765        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2766        0,     0,     0,     0,  1631,     0,     0,     0,   414,     0,
2767        0,     0,     0,     0,     0,     0,     0,   874,  1168,  1172,
2768     1168,  1172,     0,     0,     0,   358,     0,     0,   874,     0,
2769        0,     0,     0,     0,   343,     0,  1136,     0,   343,     0,
2770        0,   620,     0,   620,     0,     0,     0,     0,     0,     0,
2771        0,     0,   595,   414,   597,     0,     0,     0,     0,   612,
2772      414,     0,     0,   414,     0,     0,     0,     0,     0,     0,
2773     1883,     0,     0,     0,  1474,     0,     0,     0,     0,  1689,
2774      874,     0,     0,   343,     0,     0,  1689,     0,     0,   414,
2775      414,   414,   414,   414,   414,   414,     0,     0,   414,   414,
2776        0,   414,   414,   414,   414,   414,   414,   414,   414,     0,
2777      343,     0,     0,     0,     0,     0,     0,     0,   343,   414,
2778      414,   414,   414,   414,   414,   414,   414,   414,   414,   414,
2779      414,   414,   414,   414,   414,   414,   414,     0,   343,     0,
2780        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2781        0,   485,     0,     0,     0,     0,     0,     0,  1264,     0,
2782        0,     0,   485,   921,   924,     0,     0,     0,     0,   414,
2783      414,     0,     0,     0,     0,     0,     0,   473,     0,   473,
2784        0,     0,   861,   651,     0,     0,     0,     0,     0,     0,
2785        0,  1296,  1300,  1304,  1308,  1312,     0,     0,  1321,     0,
2786        0,   361,     0,   473,  1264,   473,     0,     0,     0,     0,
2787        0,     0,     0,     0,     0,   404,     0,   921,   924,  1362,
2788     1366,  1370,  1374,  1378,  1585,   416,  1321,  1591,     0,     0,
2789        0,     0,     0,     0,     0,     0,     0,   414,     0,   414,
2790      748,     0,   657,     0,     0,   657,     0,     0,     0,     0,
2791        0,     0,     0,     0,  1126,     0,     0,     0,     0,     0,
2792        0,     0,     0,     0,     0,  1632,     0,     0,     0,   414,
2793        0,     0,     0,     0,     0,     0,     0,     0,   414,  1169,
2794     1173,  1169,  1173,   657,     0,     0,     0,   416,     0,    82,
2795        0,     0,     0,     0,     0,   451,   451,   657,   657,   657,
2796      657,     0,   621,     0,   621,     0,     0,   414,     0,   414,
2797        0,     0,     0,   126,     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,     0,
2800        0,     0,     0,     0,     0,     0,     0,     0,     0,   451,
2801      451,     0,     0,     0,     0,     0,     0,  -457,  -457,  -457,
2802     -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,   473,   473,
2803      473,   473,   473,     0,     0,   414,     0,     0,     0,     0,
2804        0,     0,   473,   473,   473,   473,     0,     0,     0,   416,
2805        0,     0,     0,   704,   707,   709,     0,     0,   416,     0,
2806        0,     0,     0,     0,   416,     0,     0,     0,     0,     0,
2807      730,     0,     0,     0,     0,   414,   361,   126,     0,     0,
2808        0,     0,     0,     0,     0,     0,   414,     0,     0,     0,
2809        0,     0,     0,   416,     0,     0,     0,     0,   416,     0,
2810        0,     0,  1824,  1828,     0,     0,     0,     0,  1015,     0,
2811      473,   473,   343,   343,     0,  1584,     0,     0,  1590,     0,
2812        0,     0,     0,     0,     0,     0,  1631,     0,   874,     0,
2813     -457,  -457,     0,     0,     0,   416,     0,   416,     0,   874,
2814     -457,     0,     0,     0,     0,  -457,  -457,  -457,     0,  -457,
2815     -457,  -457,  -457,  -457,     0,     0,     0,     0,   302,     0,
2816        1,   303,   106,   304,     0,   305,   306,     0,     0,   416,
2817        0,  1100,     0,     0,     0,     0,   414,     0,   414,     0,
2818        0,     0,  1607,     0,     0,     2,     0,     0,     0,     0,
2819        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2820      414,     0,     0,     0,   651,     0,     0,     0,     0,     0,
2821     1634,     0,     0,     0,     0,     0,   414,  1641,     0,     0,
2822      414,     0,   307,   343,     0,     0,     0,   414,   308,   309,
2823      310,   414,     0,     0,     0,     0,   651,   651,   651,   651,
2824        0,   311,   312,     0,   451,     0,   451,     0,     0,     0,
2825        0,  1321,     0,  1321,     0,   313,     0,     0,     0,   314,
2826      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
2827      451,     0,   451,     0,     0,   322,   323,     0,   416,   324,
2828     1158,   325,     0,     0,  1159,     0,     0,     0,     0,   326,
2829      327,  1720,   328,   329,   330,   331,  1232,     0,     0,     0,
2830     1236,     0,     0,   921,   924,     0,   921,   924,     0,     0,
2831        0,     0,     0,     0,     0,   416,     0,   921,   924,   921,
2832      924,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2833        0,   748,     0,     0,     0,     0,     0,     0,   126,     0,
2834        0,     0,     0,     0,     0,  1273,     0,   361,     0,     0,
2835        0,     0,     0,     0,     0,     0,  1824,  1828,     0,     0,
2836        0,     0,     0,  1825,  1829,     0,     0,     0,     0,     0,
2837        0,     0,  1327,     0,     0,   416,   625,   748,     0,   625,
2838     1338,   657,   657,     0,     0,   921,   924,   625,   414,     0,
2839        0,  1126,   414,  1126,   657,     0,     0,   657,     0,     0,
2840     1391,     0,     0,     0,     0,   657,     0,     0,  1126,     0,
2841        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2842        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2843        0,     0,     0,     0,   414,   451,   451,   451,   451,   451,
2844        0,     0,     0,     0,   414,     0,   416,     0,     0,   451,
2845      451,   451,   451,     0,     0,   414,     0,     0,     0,     0,
2846        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2847        0,     0,   361,   414,     0,   343,   361,     0,     0,     0,
2848      414,     0,   414,     0,     0,     0,     0,     0,     0,     0,
2849        0,   416,     0,     0,     0,     0,     0,     0,   416,   414,
2850        0,   416,     0,     0,     0,     0,     0,     0,     0,     0,
2851        0,     0,     0,     0,     0,     0,     0,   451,   451,     0,
2852        0,   361,     0,     0,     0,     0,     0,   416,   416,   416,
2853      416,   416,   416,   416,     0,     0,   416,   416,     0,   416,
2854      416,   416,   416,   416,   416,   416,   416,     0,   361,     0,
2855        0,     0,   414,     0,     0,     0,   361,   416,   416,   416,
2856      416,   416,   416,   416,   416,   416,   416,   416,   416,   416,
2857      416,   416,   416,   416,   416,     0,   361,     0,     0,     0,
2858        0,     0,     0,     0,     0,     0,     0,  1015,     0,     0,
2859        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2860        0,     0,     0,     0,     0,     0,     0,   416,   416,     0,
2861        0,     0,     0,     0,     0,     0,     0,   625,   625,     0,
2862        0,     0,     0,     0,     0,  1126,  1126,  1126,  1126,     0,
2863        0,  1126,     0,     0,     0,   657,   657,     0,  1126,     0,
2864     1126,     0,     0,     0,     0,     0,     0,     0,     0,   414,
2865        0,     0,  1126,   414,   414,   414,     0,     0,     0,     0,
2866        0,     0,     0,     0,   343,     0,     0,     0,     0,   414,
2867      414,     0,     0,     0,     0,   416,   343,   416,     0,     0,
2868      651,     0,     0,   651,     0,     0,     0,     0,     0,     0,
2869        0,     0,   651,     0,   414,   414,     0,   414,   414,     0,
2870        0,     0,   414,   414,   414,   414,     0,   416,     0,     0,
2871        0,     0,     0,     0,  1626,  1627,   416,     0,   414,     0,
2872        0,   651,     0,  1273,     0,     0,     0,  1639,     0,     0,
2873     1338,     0,  1643,     0,   414,   651,   651,   651,   651,     0,
2874        0,     0,     0,     0,     0,   416,     0,   416,     0,     0,
2875        0,     0,     0,     0,     0,     0,     0,     0,     0,   414,
2876        0,     0,     0,   397,     0,     0,     0,     0,     0,     0,
2877        0,     0,     0,     0,     0,     0,     0,  1917,     0,     0,
2878        0,     0,  1920,  1922,  1926,  1930,  1932,  1936,     0,     0,
2879     1126,  1940,  1944,  1948,  1952,     0,     0,     0,     0,  1126,
2880        0,  1126,     0,     0,     0,     0,     0,     0,     0,     0,
2881        0,     0,     0,   416,   397,     0,     0,     0,     0,     0,
2882        0,     0,     0,     0,     0,  1713,     0,     0,     0,     0,
2883        0,     0,     0,     0,     0,     0,     0,     0,   343,   343,
2884        0,   414,   414,   414,   414,   414,   414,   414,   414,     0,
2885        0,     0,   576,   416,  1126,  1126,     0,     0,  1126,     0,
2886     1126,     0,     0,  1126,   416,     0,     0,  1126,     0,     0,
2887        0,     0,   414,   414,     0,     0,     0,     0,     0,     0,
2888        0,     0,   414,     0,     0,     0,     0,     0,     0,     0,
2889      361,   361,     0,     0,     0,     0,     0,     0,     0,     0,
2890     1126,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2891        0,     0,     0,     0,     0,     0,     0,     0,     0,   686,
2892        0,     0,     0,     0,     0,     0,     0,     0,  1126,     0,
2893        0,     0,     0,     0,   414,     0,     0,     0,   414,   414,
2894        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2895        0,     0,     0,     0,   416,     0,   416,     0,     0,     0,
2896        0,     0,     0,   468,     0,     0,   468,     0,   302,     0,
2897        1,   303,   106,   304,     0,   305,   306,     0,   416,   468,
2898        0,   468,     0,   468,     0,     0,     0,     0,     0,     0,
2899        0,     0,     0,     0,   416,     2,     0,     0,   416,     0,
2900        0,   361,     0,     0,     0,   416,     0,     0,     0,   416,
2901        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2902        0,     0,     0,     0,     0,   850,     0,     0,     0,     0,
2903        0,   855,   307,     0,     0,     0,     0,     0,   308,   309,
2904      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2905      343,   311,   312,     0,     0,     0,     0,     0,     0,     0,
2906        0,     0,     0,     0,     0,   313,     0,     0,   343,   314,
2907      315,   316,   317,   318,   319,   320,   321,  1015,     0,     0,
2908        0,     0,     0,     0,     0,   322,   323,     0,     0,   324,
2909     1158,   325,   649,     0,  1725,     0,     0,     0,  1726,   326,
2910      327,   932,   328,   329,   330,   331,     0,     0,  1015,     0,
2911        0,     0,     0,     0,     0,     0,     0,     0,     0,   343,
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,     0,
2915        0,     0,     0,     0,     0,     0,     0,     0,     0,   651,
2916      651,  1007,     0,     0,  1012,     0,   416,     0,     0,   651,
2917      416,   651,   651,     0,     0,   651,     0,  1007,     0,     0,
2918        0,     0,     0,   651,     0,     0,   651,     0,     0,     0,
2919        0,     0,     0,     0,     0,     0,     0,     0,   576,     0,
2920        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2921        0,   576,   416,     0,     0,     0,     0,     0,     0,     0,
2922        0,     0,   416,     0,     0,     0,     0,     0,     0,     0,
2923        0,     0,     0,   416,     0,     0,     0,     0,     0,     0,
2924        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2925        0,   416,     0,   361,     0,     0,     0,     0,   416,     0,
2926      416,     0,     0,     0,     0,     0,  1015,     0,     0,     0,
2927        0,     0,     0,     0,     0,     0,     0,   416,  1915,     0,
2928        0,     0,     0,     0,     0,     0,     0,   468,   468,     0,
2929     1713,     0,     0,     0,     0,  1639,     0,     0,  1643,     0,
2930        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2931        0,     0,     0,   468,   468,     0,     0,     0,     0,     0,
2932        0,   686,     0,     0,     0,     0,     0,   686,     0,     0,
2933      416,     0,     0,     0,     0,   468,   468,     0,     0,     0,
2934      468,   468,     0,     0,   468,   468,     0,     0,     0,     0,
2935        0,  1001,     0,     0,     0,     0,     0,     0,     0,     0,
2936        0,     0,  1015,     0,     0,     0,     0,     0,     0,     0,
2937        0,     0,     0,  1015,     0,     0,     0,     0,     0,     0,
2938        0,     0,   468,     0,   468,     0,     0,     0,     0,     0,
2939        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2940        0,     0,     0,   651,   651,   651,   651,     0,     0,   651,
2941        0,     0,     0,   651,   651,     0,   651,     0,   651,     0,
2942        0,     0,     0,     0,     0,     0,     0,   416,     0,     0,
2943      651,   416,   416,   416,     0,     0,     0,     0,     0,     0,
2944     2018,  2019,   361,     0,     0,     0,     0,   416,   416,     0,
2945        0,     0,     0,   649,   361,     0,     0,     0,     0,     0,
2946        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2947        0,     0,   416,   416,     0,   416,   416,     0,     0,     0,
2948      416,   416,   416,   416,     0,   649,   649,   649,   649,     0,
2949        0,     0,     0,     0,     0,     0,   416,     0,     0,     0,
2950        0,     0,     0,     0,     0,     0,     0,   686,     0,     0,
2951        0,     0,   416,     0,  1434,     0,     0,     0,     0,     0,
2952        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2953        0,     0,     0,     0,     0,     0,     0,   416,     0,     0,
2954        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2955        0,     0,  1015,     0,     0,     0,  1127,     0,     0,     0,
2956        0,     0,     0,     0,  1001,     0,     0,  1470,   651,     0,
2957        0,  1001,   576,     0,  1001,     0,     0,   651,     0,   651,
2958        0,     0,     0,     0,     0,     0,     0,     0,   932,     0,
2959     1166,  1170,     0,     0,     0,     0,     0,     0,     0,     0,
2960        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2961        0,     0,     0,     0,     0,     0,   361,   361,     0,   416,
2962      416,   416,   416,   416,   416,   416,   416,     0,     0,  1015,
2963        0,     0,   651,   651,     0,   932,   651,     0,   651,     0,
2964        0,   651,     0,     0,     0,   651,     0,     0,     0,     0,
2965      416,   416,  2115,     0,   302,     0,     1,   303,   106,   304,
2966      416,   305,   306,     0,     0,     0,     0,     0,     0,     0,
2967     1015,     0,     0,     0,     0,     0,     0,     0,   651,     0,
2968        0,     2,   397,     0,     0,     0,     0,     0,     0,     0,
2969      121,   576,     0,   576,     0,     0,     0,     0,     0,     0,
2970        0,     0,     0,     0,     0,     0,   651,     0,     0,     0,
2971        0,     0,   416,     0,     0,     0,   416,   416,   307,     0,
2972        0,  2158,     0,     0,   308,   309,   310,    28,    29,   468,
2973      468,     0,    32,     0,     0,     0,     0,   311,   312,    38,
2974        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2975       74,   313,     0,     0,     0,   314,   315,   316,   317,   318,
2976      319,   320,   321,    43,    44,     0,     0,     0,     0,     0,
2977        0,   322,   887,     0,     0,   888,   731,   325,     0,     0,
2978        0,     0,     0,     0,     0,   326,   327,     0,   328,   329,
2979      330,   331,   468,     0,     0,     0,     0,     0,     0,     0,
2980        0,   117,     0,     0,     0,     0,     0,     0,     0,     0,
2981        0,     0,     0,   686,     0,   686,     0,     0,  1001,     0,
2982     1001,     0,     0,     0,     0,     0,     0,     0,   361,     0,
2983        0,     0,     0,   178,     0,     0,     0,     0,     0,     0,
2984        0,   221,   261,    74,     0,     0,   361,     0,     0,     0,
2985       74,    74,     0,     0,     0,     0,     0,     0,     0,     0,
2986        0,   468,   468,     0,     0,   468,   468,   468,   384,     0,
2987        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2988        0,     0,     0,   221,     0,     0,     0,     0,     0,     0,
2989        0,   418,   483,     0,     0,     0,     0,   361,     0,     0,
2990        0,     0,     0,     0,   483,     0,     0,     0,   483,     0,
2991        0,   510,     0,     0,     0,     0,     0,     0,     0,     0,
2992        0,     0,     0,     0,     0,     0,  1001,     0,     0,   649,
2993        0,     0,   649,     0,     0,     0,   261,   261,     0,     0,
2994        0,   649,     0,     0,     0,     0,     0,     0,     0,     0,
2995        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2996        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2997      649,   573,     0,     0,     0,     0,     0,     0,     0,     0,
2998        0,     0,     0,     0,   649,   649,   649,   649,     0,     0,
2999        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3000        0,     0,   468,   468,     0,     0,     0,     0,     0,     0,
3001        0,     0,     0,     0,     0,   611,     0,     0,   261,   261,
3002      261,     0,   302,     0,     1,   303,   106,   304,   178,   305,
3003      306,     0,  1582,     0,     0,  1588,     0,     0,   178,   261,
3004       74,     0,     0,     0,  1605,     0,     0,     0,     0,     2,
3005        0,     0,     0,     0,     0,     0,     0,     0,   714,     0,
3006      686,     0,     0,     0,   714,     0,     0,  1755,     0,     0,
3007        0,  1001,     0,  1629,   736,     0,     0,     0,  1001,     0,
3008        0,     0,  1001,     0,     0,     0,   307,  1166,  1170,  1166,
3009     1170,     0,   308,   309,   310,  1434,     0,   576,     0,     0,
3010     1768,     0,     0,  1012,     0,   311,   312,     0,     0,     0,
3011        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
3012        0,     0,     0,   314,   315,   316,   317,   318,   319,   320,
3013      321,     0,     0,     0,     0,     0,   832,     0,     0,   322,
3014      323,     0,     0,   324,  1158,   325,     0,     0,  1159,     0,
3015        0,     0,     0,   326,   327,  1730,   328,   329,   330,   331,
3016        0,     0,     0,     0,     0,     0,     0,     0,   573,     0,
3017        0,     0,     0,     0,   872,   867,   510,     0,   850,     0,
3018      876,     0,     0,     0,     0,   872,   576,     0,     0,   883,
3019        0,  -870,   890,     0,  -870,  -870,  -870,   576,  -870,  -870,
3020        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3021        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3022      573,     0,     0,     0,     0,     0,   941,     0,     0,     0,
3023        0,     0,   957,     0,     0,     0,     0,   963,     0,     0,
3024        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3025        0,     0,     0,     0,     0,  -870,     0,     0,     0,     0,
3026      573,  -870,  -870,  -870,     0,     0,     0,     0,     0,     0,
3027        0,     0,     0,     0,  -870,     0,     0,     0,     0,   261,
3028        0,     0,     0,     0,     0,  1001,   261,     0,  -870,   261,
3029        0,     0,  -870,  -870,  -870,  -870,  -870,  -870,  -870,  -870,
3030        0,     0,     0,     0,     0,     0,     0,     0,  -870,     0,
3031      221,     0,   468,   468,  -870,  -870,     0,  -870,  -870,  -870,
3032      221,     0,  -870,  -870,     0,  -870,  -870,  -870,  -870,     0,
3033        0,  1001,     0,  1001,     0,     0,     0,     0,     0,     0,
3034      221,     0,     0,   221,     0,   221,     0,   221,     0,     0,
3035        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3036        0,     0,     0,     0,     0,     0,   468,   468,     0,     0,
3037        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3038        0,     0,   686,   686,     0,  1962,     0,     0,  1140,     0,
3039        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3040        0,     0,     0,  1001,     0,     0,     0,     0,   649,   649,
3041        0,     0,     0,   261,   261,   261,   261,     0,   649,     0,
3042      649,   649,     0,     0,   649,     0,     0,     0,     0,     0,
3043        0,     0,   649,     0,     0,   649,     0,     0,     0,  1007,
3044        0,   261,   261,   261,     0,     0,   178,     0,     0,     0,
3045        0,     0,  1198,     0,     0,     0,     0,     0,     0,     0,
3046      261,     0,     0,     0,     0,     0,     0,  1211,  1221,   736,
3047        0,  1211,  1221,     0,     0,     0,     0,     0,  1198,     0,
3048        0,     0,     0,     0,     0,     0,     0,     0,     0,  1241,
3049        0,     0,   261,     0,     0,     0,     0,     0,     0,   261,
3050        0,     0,   261,     0,     0,     0,     0,     0,     0,     0,
3051        0,  1822,  1826,     0,     0,     0,     0,     0,     0,     0,
3052        0,  1835,     0,  1838,  1582,     0,     0,  1588,     0,     0,
3053        0,     0,     0,     0,     0,  1629,     0,     0,  1851,     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,     0,     0,     0,     0,
3057        0,     0,     0,     0,     0,     0,   656,     0,     0,     0,
3058        0,     0,   573,     0,     0,  1001,     0,     0,     0,     0,
3059      832,   832,   832,     0,     0,     0,     0,     0,     0,     0,
3060        0,   468,     0,   468,     0,     0,     0,     0,     0,     0,
3061        0,     0,     0,   418,   418,   221,     0,   573,    91,     0,
3062        0,     0,     0,     0,     0,  1425,   573,   468,     0,   468,
3063      734,     0,     0,   573,     0,     0,  1425,   117,   736,     0,
3064      573,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3065        0,     0,   649,   649,   649,   649,     0,     0,   649,     0,
3066        0,     0,   649,   649,     0,   649,     0,   649,     0,   120,
3067      132,     0,     0,     0,     0,     0,     0,     0,     0,   649,
3068        0,     0,     0,     0,     0,     0,     0,     0,  1466,     0,
3069        0,   573,     0,     0,     0,     0,     0,     0,     0,     0,
3070        0,   183,   132,     0,     0,     0,   230,   573,     0,     0,
3071        0,    91,     0,   418,     0,     0,     0,     0,    91,    91,
3072      510,   510,     0,     0,     0,     0,     0,     0,     0,     0,
3073        0,   510,     0,     0,     0,     0,   385,     0,     0,     0,
3074        0,     0,   734,     0,     0,     0,   261,   261,   261,   394,
3075        0,     0,     0,     0,   611,  1989,  1990,  1991,  1992,     0,
3076        0,  1993,     0,     0,     0,  1822,  1826,     0,  1835,     0,
3077     1838,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3078        0,     0,  2002,     0,     0,     0,     0,     0,     0,     0,
3079        0,     0,   468,   468,   468,   468,   468,     0,     0,     0,
3080      530,     0,     0,     0,     0,     0,   468,   468,   468,   468,
3081        0,     0,     0,   546,     0,     0,     0,   649,   221,     0,
3082        0,     0,     0,   221,     0,     0,   649,     0,   649,  1566,
3083        0,     0,     0,     0,     0,  1566,     0,     0,     0,   580,
3084        0,   221,     0,     0,     0,     0,     0,     0,     0,     0,
3085        0,     0,     0,     0,   261,     0,     0,   261,     0,     0,
3086      261,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3087        0,     0,     0,  1140,   468,   468,     0,     0,     0,     0,
3088        0,   649,   649,   132,     0,   649,     0,   649,     0,     0,
3089      649,     0,     0,     0,   649,     0,   183,     0,   261,     0,
3090        0,     0,     0,     0,     0,     0,   690,     0,    91,     0,
3091        0,     0,   261,   261,   261,   261,     0,     0,     0,     0,
3092     1993,     0,     0,     0,     0,     0,     0,   649,     0,  2070,
3093        0,  2073,     0,     0,     0,   261,     0,   261,     0,     0,
3094        0,     0,  1138,     0,     0,     0,     0,     0,     0,     0,
3095        0,  1662,     0,     0,   611,   649,     0,     0,  1156,     0,
3096      418,   221,     0,     0,     0,     0,     0,     0,     0,   656,
3097      656,   656,   656,     0,  1688,     0,     0,     0,     0,     0,
3098        0,  1688,     0,     0,  2102,  2103,     0,     0,  2070,     0,
3099     2073,     0,     0,  2107,     0,     0,     0,  2109,   261,   261,
3100        0,     0,     0,     0,     0,   261,   261,     0,   734,   261,
3101      261,   734,     0,     0,     0,     0,     0,     0,     0,     0,
3102        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3103     2109,     0,     0,     0,   734,     0,   862,     0,     0,  1156,
3104        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3105        0,     0,     0,     0,   132,   746,     0,     0,  2147,     0,
3106        0,     0,     0,     0,     0,     0,  1271,     0,     0,     0,
3107        0,     0,   774,     0,     0,     0,     0,     0,     0,     0,
3108        0,     0,     0,     0,     0,     0,     0,     0,   936,     0,
3109        0,   944,     0,     0,     0,     0,     0,     0,     0,     0,
3110        0,     0,     0,     0,  1324,     0,     0,     0,     0,     0,
3111        0,     0,  1336,     0,     0,     0,     0,     0,     0,     0,
3112        0,     0,     0,     0,     0,     0,     0,     0,   862,     0,
3113        0,     0,  1388,     0,     0,     0,     0,     0,     0,     0,
3114        0,     0,     0,     0,   132,   132,   132,     0,     0,     0,
3115        0,     0,     0,     0,     0,     0,   832,   832,     0,     0,
3116        0,     0,   132,   132,     0,     0,     0,     0,     0,     0,
3117        0,     0,   418,     0,     0,     0,   418,     0,     0,     0,
3118        0,     0,     0,  1051,     0,  1060,     0,     0,     0,     0,
3119        0,     0,     0,     0,   734,     0,  1062,     0,     0,     0,
3120        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3121        0,     0,     0,   261,     0,     0,   573,     0,     0,     0,
3122        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3123        0,     0,   546,     0,     0,     0,     0,     0,     0,   418,
3124        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3125      418,  1784,   418,  1784,     0,     0,     0,     0,     0,     0,
3126        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3127     -457,     0,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,
3128     -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,
3129     -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,     0,     0,
3130        0,     0,     0,     0,     0,     0,     0,  1182,     0,     0,
3131        0,     0,     0,     0,   690,     0,   573,     0,     0,     0,
3132        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3133      261,   261,     0,     0,  -457,  1216,   261,   261,     0,  1216,
3134     -457,  -457,  -457,     0,     0,     0,     0,     0,     0,   261,
3135        0,     0,   261,  -457,  -457,     0,     0,   862,     0,     0,
3136      261,     0,     0,     0,  1135,     0,     0,  -457,     0,     0,
3137        0,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,     0,
3138        0,     0,     0,     0,     0,     0,     0,  -457,  -457,  -457,
3139     -457,  -457,  -457,  -457,  -457,  -457,  -457,     0,     0,  -457,
3140      510,  -457,  -457,     0,  -457,  -457,  -457,  -457,  -457,  -457,
3141     -457,  -457,  -457,   656,     0,     0,   656,  1593,  1595,     0,
3142     1598,     0,     0,     0,     0,     0,     0,     0,  1608,     0,
3143        0,     0,     0,   418,     0,   221,  1617,     0,   418,     0,
3144        0,     0,     0,  1156,     0,     0,     0,     0,     0,     0,
3145        0,   736,     0,     0,   656,     0,     0,     0,     0,     0,
3146        0,  1156,     0,     0,     0,     0,  1156,     0,   656,   656,
3147      656,   656,     0,     0,     0,     0,     0,     0,   862,  1415,
3148        0,     0,     0,     0,     0,   862,   746,     0,     0,     0,
3149        0,     0,     0,   862,  1429,     0,     0,  1652,     0,  1656,
3150     1272,  1436,   418,     0,   862,   120,   132,     0,     0,     0,
3151        0,     0,   261,   261,     0,     0,     0,     0,     0,  1295,
3152     1299,  1303,  1307,  1311,     0,     0,  1320,  1326,     0,     0,
3153        0,  1156,   746,     0,   573,  1337,     0,     0,     0,     0,
3154        0,     0,     0,     0,     0,   132,     0,  1361,  1365,  1369,
3155     1373,  1377,     0,  1469,  1320,  1390,     0,     0,     0,   580,
3156      260,     0,     0,     0,     0,   132,     0,     0,     0,     0,
3157        0,     0,     0,     0,     0,   936,  1156,     0,   302,     0,
3158        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
3159      261,   261,     0,     0,     0,     0,     0,     0,     0,     0,
3160        0,     0,     0,     0,     0,     2,     0,     0,     0,     0,
3161        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3162        0,     0,   936,     0,     0,     0,     0,     0,  1156,     0,
3163        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3164        0,  1156,   307,     0,     0,     0,     0,     0,   308,   309,
3165      310,     0,     0,   736,   260,   260,   418,     0,     0,     0,
3166        0,   311,   312,     0,     0,     0,     0,     0,  1547,     0,
3167        0,     0,     0,     0,     0,   313,     0,  1555,     0,   314,
3168      315,   316,   317,   318,   319,   320,   321,     0,     0,   572,
3169        0,     0,  1156,     0,     0,   322,   323,     0,     0,   324,
3170     1158,   325,     0,     0,  1725,     0,     0,     0,  1733,   326,
3171      327,     0,   328,   329,   330,   331,     0,     0,     0,     0,
3172        0,     0,     0,     0,     0,     0,     0,     0,     1,     0,
3173      418,     0,   418,   610,     0,     0,   260,   260,   260,     0,
3174        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3175        0,     0,     0,     2,     0,     0,     0,   260,     0,     8,
3176        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
3177       19,    20,    21,    22,    23,    24,   713,     0,     0,     0,
3178        0,     0,   713,     0,     0,     0,     0,     0,     0,     0,
3179        0,    27,   735,     0,     0,     0,     0,     0,     0,    28,
3180       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
3181       37,    38,    39,     0,     0,     0,     0,     0,     0,   862,
3182        0,     0,   862,     0,  1216,    40,     0,     0,     0,     0,
3183        0,     0,  1679,     0,     0,    43,    44,    45,    46,    47,
3184       48,     0,  1216,     0,    51,     0,     0,   860,     0,  1216,
3185     1135,     0,     0,     0,     0,     0,     0,     0,   566,     0,
3186        0,    86,     0,     0,     0,     0,     0,     0,     0,     0,
3187        0,     0,     0,     0,     0,     0,     0,     0,  1272,     0,
3188        0,     0,     0,     0,     0,  1337,   572,     0,     0,     0,
3189        0,     0,   656,   656,     0,     0,     0,     0,  1156,     0,
3190     1156,     0,     0,  1156,   656,     0,     0,     0,     0,  1842,
3191     1845,     0,  1847,    86,     0,     0,     0,     0,     0,  1320,
3192        0,  1320,  1156,     0,  1858,     0,     0,     0,     0,     0,
3193        0,     0,     0,     0,     0,     0,     0,     0,   572,     0,
3194        0,     0,     0,     0,    86,    86,     0,     0,     0,     0,
3195        0,     0,    86,     0,    86,     0,  1156,     0,     0,     0,
3196     1156,    86,    86,     0,     0,     0,     0,     0,     0,     0,
3197        0,     0,     0,     0,     0,     0,     0,     0,   572,     0,
3198     1712,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3199        0,     0,    86,    86,     0,     0,     0,   260,     0,     0,
3200        0,     0,     0,     0,   260,     0,     0,   260,     0,     0,
3201        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3202        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3203        0,     0,  1744,     0,     0,     0,     0,     0,     0,     0,
3204        0,     0,     0,     0,    86,     0,  1751,     0,     0,     0,
3205      263,     0,     0,  1754,     0,     0,     0,     0,     0,     0,
3206        0,   394,     0,     0,     0,     0,     0,     0,     0,     0,
3207        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3208        0,     0,  1436,     0,   580,     0,     0,     0,     0,     0,
3209        0,    86,     0,     0,    86,     0,     0,     0,     0,     0,
3210        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3211        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3212        0,     0,     0,     0,  1156,     0,    86,     0,     0,     0,
3213        0,   260,   260,   260,   260,     0,     0,     0,     0,    86,
3214        0,     0,   656,  1156,   263,   263,     0,     0,     0,    86,
3215     1156,    86,     0,     0,  1847,     0,  2000,     0,     0,   260,
3216      260,   260,     0,     0,  1808,  2006,     0,     0,     0,     0,
3217     1197,     0,     0,     0,     0,     0,     0,     0,   260,   575,
3218        0,     0,     0,     0,   580,  1210,  1220,   735,     0,  1210,
3219     1220,     0,     0,     0,     0,     0,  1197,     0,     0,     0,
3220        0,     0,     0,     0,     0,     0,     0,  1240,     0,   734,
3221      260,     0,     0,     0,     0,     0,     0,   260,     0,     0,
3222      260,     0,     0,   613,     0,     0,   263,   263,   263,     0,
3223        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3224        0,     0,     0,     0,     0,     0,     0,   263,     0,     0,
3225        0,     0,     0,     0,     0,    86,     0,     0,     0,     0,
3226        0,     0,     0,     0,     0,     0,   716,     0,     0,     0,
3227        0,     0,   716,     0,     0,     0,     0,     0,     0,     0,
3228        0,     0,   738,     0,     0,     0,     0,     0,     0,     0,
3229     1884,     0,     0,     0,     0,     0,     0,    86,     0,     0,
3230      572,     0,  2062,  2065,     0,  1156,     0,  1156,     0,     0,
3231      656,  1156,   656,     0,     0,     0,     0,     0,     0,     0,
3232        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3233        0,     0,     0,     0,     0,   572,     0,     0,     0,     0,
3234        0,     0,     0,     0,   572,     0,     0,     0,     0,     0,
3235        0,   572,     0,     0,     0,     0,   735,     0,   572,     0,
3236        0,  1415,     0,     0,     0,     0,     0,  1156,     0,     0,
3237     1156,     0,     0,     0,     0,     0,   575,     0,   656,     0,
3238        0,     0,     0,  1754,     0,     0,     0,    86,    86,    86,
3239        0,    86,     0,     0,    86,     0,     0,     0,     0,     0,
3240        0,     0,   862,     0,     0,    86,    86,    86,     0,   572,
3241        0,     0,     0,     0,  1156,     0,     0,     0,     0,     0,
3242        0,     0,   733,     0,     0,   572,    86,     0,   575,     0,
3243        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3244        0,     0,     0,     0,     0,  1712,     0,     0,     0,     0,
3245     1919,  1921,  1925,  1929,  1931,  1935,     0,     0,     0,  1939,
3246     1943,  1947,  1951,     0,   260,   260,   260,     0,   575,     0,
3247        0,     0,   610,     0,   551,     0,     0,     0,     0,     0,
3248        0,     0,     0,     0,     0,     0,     0,   263,     0,     0,
3249        0,     0,     0,     0,   263,     0,     0,   263,     0,     0,
3250        0,  1679,     0,     0,     0,     0,     0,     0,     0,     0,
3251        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3252        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3253        0,     0,     0,     0,   733,     0,     0,     0,     0,     0,
3254        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3255        0,    86,     0,     0,     0,     0,     0,    86,     0,     0,
3256        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3257        0,     0,   260,     0,     0,   260,   699,     0,   260,     0,
3258        0,     0,     0,     0,     0,   551,     0,     0,     0,     0,
3259        0,   551,     0,     0,     0,     0,     0,     0,  1921,  1925,
3260     1931,  1935,  1939,  1943,  1947,  1951,     0,     0,     0,     0,
3261        0,     0,     0,     0,     0,     0,   260,     0,     0,     0,
3262        0,   263,   263,   263,   263,     0,     0,     0,     0,     0,
3263      260,   260,   260,   260,     0,     0,     0,     0,     0,     0,
3264        0,     0,     0,     0,     0,     0,     0,     0,     0,   263,
3265      263,   263,     0,   260,     0,   260,     0,     0,     0,     0,
3266     1200,     0,   551,     0,   551,     0,     0,     0,   263,  1661,
3267        0,     0,   610,     0,     0,  1213,  1223,   738,     0,  1213,
3268     1223,     0,     0,     0,     0,     0,  1200,     0,     0,     0,
3269        0,     0,  1687,     0,     0,     0,     0,  1243,     0,  1687,
3270      263,     0,     0,     0,     0,     0,     0,   263,     0,     0,
3271      263,     0,     0,     0,     0,     0,   260,   260,     0,     0,
3272        0,     0,     0,   260,   260,     0,     0,   260,   260,     0,
3273        0,     0,     0,     0,  1137,     0,     0,     0,     0,     0,
3274        0,     0,     0,     0,     0,     0,     0,     0,     0,    86,
3275     1155,     0,     0,     0,  1160,     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,     0,     0,
3278        0,     0,     0,     0,     0,     0,     0,     0,    86,     0,
3279      575,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3280      733,     0,     0,   733,     0,  1002,     0,     0,    86,     0,
3281        0,     0,     0,     0,     0,     0,     0,  1225,     0,     0,
3282        0,     0,     0,     0,     0,   575,   733,     0,     0,     0,
3283        0,  1155,  1160,     0,   575,     0,     0,     0,     0,     0,
3284        0,   575,   551,     0,     0,     0,   738,     0,   575,     0,
3285        0,     0,     0,     0,     0,     0,     0,     0,  1270,     0,
3286        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3287        0,     0,     0,     0,   302,     0,     1,   303,   106,   304,
3288        0,   305,   306,     0,     0,     0,     0,     0,     0,     0,
3289        0,     0,     0,     0,     0,     0,  1322,     0,     0,   575,
3290        0,     2,   551,     0,  1335,     0,     0,     0,     0,     0,
3291        0,    86,    86,     0,     0,   575,     0,     0,     0,     0,
3292        0,     0,     0,     0,  1386,     0,     0,     0,     0,     0,
3293        0,   260,     0,     0,   572,     0,     0,     0,   307,     0,
3294        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
3295        0,     0,     0,     0,   263,   263,   263,   311,   312,     0,
3296        0,     0,   613,     0,     0,     0,     0,     0,     0,     0,
3297        0,   313,     0,  1190,     0,   314,   315,   316,   317,   318,
3298      319,   320,   321,     0,     0,     0,   733,     0,     0,     0,
3299        0,   322,   323,     0,     0,   324,  1158,   325,  1623,     0,
3300     1159,     0,     0,     0,     0,   326,   327,     0,   328,   329,
3301      330,   331,     0,     0,     0,     0,     0,     0,  1002,     0,
3302        0,     0,     0,     0,     0,  1002,     0,     0,  1002,     0,
3303        0,     0,     0,     0,   572,     0,     0,     0,     0,     0,
3304        0,     0,     0,    86,     0,    86,     0,     0,   260,   260,
3305        0,     0,     0,     0,   260,   260,     1,     0,     0,     0,
3306        0,     0,   263,     0,     0,   263,     0,   260,   263,     0,
3307      260,     0,     0,     0,     0,     0,     0,     0,   260,     0,
3308        0,     2,     0,     0,     0,     0,     0,     8,     9,    10,
3309       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
3310       21,    22,    23,    24,     0,     0,   263,     0,     0,     0,
3311        0,     0,     0,     0,     0,     0,     0,     0,     0,    27,
3312      263,   263,   263,   263,     0,     0,     0,    28,    29,     0,
3313        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
3314       39,     0,     0,   263,     0,   263,     0,     0,     0,     0,
3315        0,     0,     0,    40,     0,     0,     0,     0,     0,  1664,
3316        0,     0,   613,    43,    44,    45,    46,    47,    48,   735,
3317        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3318        0,     0,  1690,     0,     0,     0,     0,     0,     0,  1690,
3319        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3320        0,     0,  1002,     0,   551,     0,   263,   263,     0,  1592,
3321     1594,     0,  1597,   263,   263,     0,     0,   263,   263,     0,
3322     1137,     0,     0,  1160,     0,     0,     0,     0,  1616,     0,
3323      260,   260,     0,     0,     0,  1155,  1160,     0,     0,     0,
3324        0,     0,   302,   551,     1,   303,   106,   304,     0,   305,
3325      306,     0,   572,  1155,  1160,     0,     0,     0,  1155,     0,
3326        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
3327        0,     0,  1002,     0,  1002,     0,     0,     0,     0,     0,
3328        0,     0,     0,     0,     0,     0,     0,     0,     0,  1650,
3329        0,  1654,     0,  1115,  1116,  1117,   629,  1118,  1119,  1120,
3330     1121,   634,   635,  1122,    86,     0,   307,     0,   260,   260,
3331        0,     0,   308,   309,   310,     0,     0,     0,     0,     0,
3332       32,     0,     0,  1155,     0,   311,   312,  1123,     0,   639,
3333      640,   641,     0,     0,     0,     0,     0,     0,     0,   313,
3334      551,     0,     0,   314,   315,   316,   317,   318,   319,   320,
3335      321,    43,    44,     0,     0,     0,     0,     0,     0,   322,
3336      323,     0,     0,   324,     0,   325,   642,     0,  1155,  1160,
3337      254,   735,   643,   326,   327,     0,   328,   329,   330,   331,
3338     1002,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3339        0,   551,     0,     0,     0,     0,   122,     0,     0,     0,
3340        0,     0,     0,   139,     0,     0,     0,     0,    86,     0,
3341        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3342     1155,   263,  1160,     0,   575,     0,   162,   171,   194,     0,
3343        0,     0,     0,  1155,  1160,     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,     0,     0,     0,     0,     0,
3347        0,     0,     0,     0,     0,   122,   122,     0,     0,     0,
3348        0,     0,     0,   551,  1155,     0,  1160,     0,     0,     0,
3349        0,     0,   493,     0,     0,     0,     0,     0,     0,     0,
3350        0,     0,     0,     0,     0,   551,     0,     0,   524,     0,
3351      302,     0,     1,   303,   106,   304,     0,   305,   306,     0,
3352        0,     0,     0,     0,   575,  1002,     0,   122,     0,     0,
3353        0,     0,  1002,     0,     0,     0,  1002,     2,   263,   263,
3354        0,     0,     0,     0,   263,   263,     0,     0,     0,     0,
3355        0,     0,     0,     0,     0,   125,     0,   263,     0,     0,
3356      263,     0,     0,     0,   162,   569,     0,     0,   263,     0,
3357        0,     0,     0,     0,   307,     0,     0,     0,     0,     0,
3358      308,   309,   310,     0,     0,     0,   125,   125,     0,     0,
3359        0,     0,     0,   311,   312,     0,     0,     0,     0,     0,
3360        0,     0,     0,     0,     0,     0,     0,   313,     0,   171,
3361        0,   314,   315,   316,   317,   318,   319,   320,   321,     0,
3362        0,     0,   171,     0,     0,     0,     0,   322,   323,     0,
3363        0,   324,   569,   325,   125,   125,  2056,  2057,  1014,     0,
3364        0,   326,   327,     0,   328,   329,   330,   331,     0,     0,
3365        0,     0,     0,     0,     0,     0,     0,     0,     0,   738,
3366        0,     0,     0,     0,     0,     0,     0,     0,     0,    86,
3367     1818,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3368        0,     0,     0,     0,     0,     0,   125,     0,     0,     0,
3369     1155,  1160,  1155,  1160,     0,  1155,  1837,     0,     0,     0,
3370        0,  1592,  1844,     0,  1616,  1854,  1160,     1,   303,   106,
3371      304,     0,   305,   306,  1155,  1160,  1616,     0,     0,     0,
3372      263,   263,     0,     0,   577,     0,     0,     0,     0,     0,
3373        0,     0,     2,     0,     0,     0,     0,     0,   122,  1002,
3374        0,     0,   575,     0,   122,     0,     0,     0,  1155,   551,
3375     1160,     0,  1155,     0,  1160,     0,     0,     0,     0,     0,
3376        0,     0,     0,     0,     0,     0,     0,     0,   125,   307,
3377        0,     0,     0,     0,     0,   308,   309,   310,     0,     0,
3378      569,   125,     0,     0,     0,  1002,     0,  1002,   311,   312,
3379        0,   687,     0,     0,     0,     0,     0,     0,   263,   263,
3380        0,     0,   313,     0,  1002,     0,   314,   315,   316,   317,
3381      318,   319,   320,   321,   569,     0,     0,     0,     0,     0,
3382        0,     0,   322,   323,     0,     0,   324,  1158,   325,  1855,
3383      162,  1159,     0,     0,     0,     0,   326,   327,     0,   328,
3384      329,   330,   331,     0,     0,     0,     0,     0,     0,     0,
3385        0,     0,     0,     0,     0,     0,     0,  1002,     0,     0,
3386        0,   738,     0,     0,     0,     0,     0,     0,     0,     0,
3387      122,   122,   122,     0,   122,     0,     0,   122,     0,     0,
3388        0,     0,     0,     0,     0,     0,     0,     0,   122,   122,
3389      122,     0,     0,     0,     0,     0,     0,   125,     0,     0,
3390        0,     0,     0,   577,     0,     0,     0,   524,     0,   569,
3391        0,   122,     0,     0,     0,     0,  1155,     0,     0,     0,
3392        0,     0,     0,     0,   122,     0,     0,     0,     0,     0,
3393        0,     0,     0,     0,     0,  1155,     0,     0,     0,   125,
3394     1160,     0,  1155,  1837,     0,  1160,  1616,     0,  1999,     0,
3395     2001,     0,     0,     0,     0,     0,  1160,  2005,   551,     0,
3396      551,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3397        0,     0,     0,   577,   551,   551,     0,     0,     0,     0,
3398        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3399        0,     0,     0,     0,     0,     0,     0,     0,     0,  1923,
3400     1927,   733,  1933,  1937,     0,     0,     0,  1941,  1945,  1949,
3401     1953,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3402        0,     0,     0,     0,     0,     0,  1178,     0,     0,   125,
3403      125,   125,     0,   125,   122,     0,   687,     0,     0,  1002,
3404      569,     0,     0,     0,     0,     0,     0,   125,   125,   125,
3405        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3406        0,     0,     0,     0,     0,     0,     0,     0,   125,     0,
3407      577,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3408        0,     0,     0,   577,     0,     0,     0,     0,     0,     0,
3409        0,     0,     0,     0,  2061,  2064,     0,  1155,  1160,  1155,
3410        0,     0,     0,  1155,  1837,     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,     0,
3413        0,     0,     0,     0,     0,     0,     0,     0,     0,   258,
3414        0,     0,     0,     0,     0,     0,  1923,  1927,  1933,  1937,
3415     1941,  1945,  1949,  1953,     0,     0,     0,     0,     0,  1155,
3416     1160,     0,  1155,  1837,     0,     0,     0,  2108,     0,     0,
3417        0,     0,     0,     0,     0,     0,     0,     0,   551,     0,
3418        0,     0,     0,     0,     0,     0,     0,   551,     0,   481,
3419        0,     0,     0,   687,     0,     0,     0,     0,     0,   687,
3420        0,   481,     0,     0,   259,   481,  1155,     0,     0,     0,
3421        0,     0,     0,     0,     0,     0,     0,     0,   162,     0,
3422      569,     0,     0,     0,     0,     0,     0,   569,     0,     0,
3423        0,     0,   569,   258,   258,     0,     0,     0,     0,  1002,
3424        0,     0,     0,   551,   551,     0,     0,     0,     0,     0,
3425        0,     0,     0,     0,   259,     0,     0,     0,     0,     0,
3426        0,     0,     0,     0,     0,     0,   259,     0,   571,     0,
3427      259,   122,     0,     0,     0,     0,     0,     0,     0,     0,
3428      122,     0,     0,     0,     0,   569,     0,     0,     0,     0,
3429        0,   122,     0,     0,     0,     0,     0,     0,   259,   259,
3430        0,   569,     0,     0,     0,     0,     0,     0,     0,     0,
3431        0,     0,   609,     0,     0,   258,   258,   258,     0,     0,
3432        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3433        0,     0,     0,     0,     0,     0,   258,     0,     0,     0,
3434        0,     0,     0,     0,     0,     0,     0,     0,   569,     0,
3435        0,     0,     0,     0,     0,   712,     0,     0,     0,     0,
3436        0,   712,     0,     0,     0,     0,     0,     0,     0,     0,
3437        0,     0,     0,     0,     0,     0,     0,   259,     0,   577,
3438      259,   259,   259,     0,     0,     0,   577,     0,     0,     0,
3439        0,   125,     0,     0,   122,   122,     0,     0,     0,     0,
3440        0,   259,     0,     0,   122,     0,   122,     0,     0,     0,
3441        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3442      259,     0,     0,     0,     0,     0,   259,     0,     0,     0,
3443      125,     0,     0,     0,     0,     0,     0,     0,     0,   577,
3444        0,     0,     0,     0,   577,     0,     0,     0,     0,     0,
3445      125,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3446      577,     0,     0,     0,     0,   571,     0,     0,     0,     0,
3447        0,   871,     0,     0,     0,     0,     0,     0,     0,     0,
3448        0,     0,   871,     0,     0,     0,     0,     0,     0,     0,
3449        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3450        0,     0,     0,     0,     0,     0,   264,   577,     0,     0,
3451        0,     0,     0,     0,     0,     0,     0,   571,     0,     0,
3452        0,     0,     0,     0,     0,     0,   122,     0,   122,     0,
3453        0,     0,     0,     0,   962,     0,   259,     0,     0,     0,
3454        0,     0,     0,     0,     0,     0,     0,   259,     0,     0,
3455        0,     0,     0,   125,   125,     0,   264,   571,     0,     0,
3456        0,     0,     0,   577,     0,   577,     0,     0,   264,     0,
3457        0,     0,   264,     0,     0,     0,   258,     0,     0,     0,
3458        0,     1,     0,   258,     0,     0,   258,     0,     0,     0,
3459        0,     0,     0,     0,     0,     0,     0,     0,     0,   259,
3460      264,   264,     0,     0,     0,     0,     2,   200,   201,   202,
3461      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
3462       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
3463        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3464        0,   259,     0,     0,    27,     0,   424,     0,   259,     0,
3465        0,   259,    28,    29,     0,     0,   425,    32,     0,     0,
3466       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
3467        0,     0,     0,     0,     0,     0,     0,     0,    40,   264,
3468        0,     0,   264,   264,   264,   687,     0,   687,    43,    44,
3469       45,    46,    47,    48,   206,   207,     0,    51,     0,     0,
3470      947,     0,   437,   264,     0,     0,     0,     0,     0,   948,
3471      258,   258,   258,   258,     0,     0,     0,     0,     0,     0,
3472        0,     0,   264,     0,     0,     0,     0,     0,   264,     0,
3473        0,     0,     0,     0,     0,     0,     0,     0,   258,   258,
3474      258,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3475        0,     0,     0,     0,     0,     0,     0,   258,     0,     0,
3476        0,     0,     0,     0,  1209,  1219,     0,     0,  1209,  1219,
3477        0,     0,     0,   122,     0,   259,   259,   259,   259,     0,
3478      122,     0,     0,     0,     0,     0,     0,   122,     0,   258,
3479        0,     0,     0,     0,     0,     0,   258,     0,     0,   258,
3480        0,     0,     0,   259,   259,   259,     0,     0,   122,     0,
3481      569,     0,     0,   122,     0,     0,   122,     0,     0,     0,
3482        0,     0,   259,     0,     0,     0,     0,     0,     0,   259,
3483      259,     0,     0,   259,   259,     0,     0,     0,   264,     0,
3484        0,     0,     0,     0,     0,     0,     0,     0,     0,   264,
3485        0,     0,     0,     0,   259,     0,     0,     0,     0,     0,
3486        0,   259,     0,     0,   259,     0,     0,     0,     0,     0,
3487        0,     0,     0,     0,     0,     0,     0,     0,     0,   571,
3488        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3489        0,   122,     0,     0,     0,     0,     0,     0,     0,   122,
3490        0,   264,     0,     0,     0,     0,     0,     0,     0,     0,
3491      569,     0,     0,     0,   571,     0,     0,     0,     0,     0,
3492        0,     0,  1424,   571,     0,     0,     0,     0,     0,     0,
3493      571,     0,   577,  1424,     0,     0,     0,   571,     0,   577,
3494        0,     0,     0,   264,     0,     0,   125,     0,     0,     0,
3495      264,     0,     0,   264,     0,     0,     0,     0,     0,     0,
3496        0,     0,     0,     0,     0,     0,     0,   577,     0,   577,
3497        0,     0,   577,     0,     0,   577,     0,     0,     0,     0,
3498        0,     0,     0,     0,     0,     0,     0,   259,   571,     0,
3499        0,     0,     0,     0,     0,     0,     0,     0,   259,     0,
3500        0,     0,     0,     0,   571,     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,     0,     0,     0,     0,     0,     0,     0,
3504        0,     0,     0,   258,   258,   258,     0,     0,     0,     0,
3505      125,   609,     0,     0,     0,     0,     0,     0,   577,     0,
3506        0,     0,     0,     0,     0,     0,     0,     0,     0,   577,
3507        0,     0,     0,     0,     0,     0,     0,   264,   264,   264,
3508      264,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3509        0,     0,     0,     0,     0,   122,   122,     0,   122,     0,
3510        0,     0,     0,     0,     0,   264,   264,   264,   259,   259,
3511      259,     0,     0,     0,     0,     0,   259,     0,     0,     0,
3512        0,     0,     0,     0,   264,     0,     0,     0,     0,     0,
3513        0,   264,   264,     0,     0,   264,   264,     0,     0,     0,
3514        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3515        0,   258,   122,     0,   258,     0,   264,   258,     0,     0,
3516        0,     0,     0,   264,     0,     0,   264,     0,     0,     0,
3517        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3518        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3519        0,     0,     0,     0,     0,   258,     0,     0,     0,     0,
3520        0,     0,     0,     0,     0,     0,     0,     0,     0,   258,
3521      258,   258,   258,     0,     0,     0,   259,     0,     0,   259,
3522        0,   302,   259,     1,   303,   106,   304,     0,   305,   306,
3523        0,     0,   258,     0,   258,     0,     0,     0,     0,     0,
3524        0,     0,     0,     0,     0,     0,     0,     0,     2,     0,
3525        0,   609,     0,     0,   577,   577,     0,   577,     0,     0,
3526      259,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3527        0,  1686,     0,     0,   259,   259,   259,   259,  1686,     0,
3528        0,     0,     0,     0,     0,   307,     0,     0,     0,   264,
3529        0,   308,   309,   310,     0,   258,   258,   259,     0,   259,
3530      264,     0,   258,   258,   311,   312,   258,   258,     0,     0,
3531        0,   125,     0,     0,     0,     0,   259,     0,   313,     0,
3532        0,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3533        0,     0,     0,     0,     0,     0,   259,     0,   322,   323,
3534        0,     0,   324,   259,   325,     0,     0,     0,     0,   742,
3535        0,     0,   326,   327,   743,   328,   329,   330,   331,     0,
3536      259,   259,     0,     0,     0,     0,     0,   259,   259,     0,
3537        0,   259,   259,     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        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3541      264,   264,   264,     0,     0,     0,   754,     0,   264,     0,
3542        0,     0,   755,   756,   757,  -344,  -344,  -344,  -344,  -344,
3543     -344,  -344,  -344,     0,     0,     0,     0,     0,     0,     0,
3544        0,     0,     0,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3545     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3546     -344,  -344,  -344,  -344,  -344,  -344,     0,     0,     0,     0,
3547        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3548        0,  -344,     0,     0,     0,     0,     0,     0,     0,  -344,
3549     -344,     0,     0,     0,  -344,     0,     0,     0,     0,     0,
3550     -344,  -344,  -344,     0,     0,     0,     0,     0,     0,     0,
3551      258,     0,     0,   571,     0,  -344,     0,     0,   264,     0,
3552        0,   264,     0,     0,   264,  -344,  -344,  -344,  -344,  -344,
3553     -344,  -344,  -344,     0,  -344,  -344,  -344,   758,     0,     0,
3554     -344,  1528,  -344,  -344,     0,   759,     0,     0,   760,     0,
3555     -344,  -344,  -344,     0,  -344,  -344,  -344,  -344,  -344,     0,
3556        0,     0,   264,     0,     0,     0,     0,     0,     0,     0,
3557        0,     0,     0,     0,     0,   259,   264,   264,   264,   264,
3558        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3559        0,     0,     0,     0,     0,     0,     0,     0,     0,   264,
3560        0,   264,     0,     0,     0,     0,     0,     0,     0,     0,
3561        0,     0,     0,   571,     0,     0,     0,     0,   264,     0,
3562        0,     0,     0,     0,     0,     0,     0,   258,   258,     0,
3563        0,     0,     0,   258,   258,     0,     0,     0,   264,     0,
3564        0,     0,     0,     0,     0,   264,   258,     0,     0,   258,
3565        0,     0,     0,     0,     0,     0,     0,   258,     0,     0,
3566        0,     0,   264,   264,     0,     0,     0,     0,     0,   264,
3567      264,     0,     0,   264,   264,     0,     0,     0,     0,     0,
3568        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3569        0,     0,   259,   259,     0,     0,     0,     0,   259,   259,
3570        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3571        0,   259,     0,     0,   259,     0,     0,     0,     0,     0,
3572        0,  -457,   259,  -457,  -457,  -457,  -457,  -457,  -457,  -457,
3573     -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,
3574     -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,     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,     0,     0,     0,     0,     0,
3578        0,     0,     0,     0,     0,  -457,     0,     0,     0,     0,
3579        0,  -457,  -457,  -457,     0,     0,     0,     0,     0,     0,
3580        0,     0,     0,     0,  -457,  -457,     0,     0,     0,   258,
3581      258,     0,     0,     0,     0,     0,     0,     0,  -457,     0,
3582        0,     0,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,
3583        0,   571,     0,     0,     0,     0,     0,     0,  -457,  -457,
3584     -457,  -457,  -457,  -457,  -457,     0,  -457,  -457,     0,     0,
3585     -457,     0,  -457,  -457,     0,  -457,  -457,  -457,  -457,  -457,
3586     -457,  -457,  -457,  -457,   199,     0,     1,     0,     0,     0,
3587        0,     0,     0,     0,   259,   259,     0,   264,     0,     0,
3588        0,     0,     0,     0,     0,     0,     0,   258,   258,     0,
3589        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
3590      564,    12,    13,    14,    15,    16,    17,    18,    19,    20,
3591       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
3592        0,     0,     0,     0,     0,     0,     0,     0,   205,    27,
3593        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
3594        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
3595       39,     0,   259,   259,     0,     0,     0,     0,     0,     0,
3596        0,     0,     0,    40,     0,     0,     0,     0,     0,     0,
3597        0,     0,     0,    43,    44,    45,    46,    47,    48,   206,
3598      207,     0,    51,     0,     0,   565,  1046,     0,     0,     0,
3599        0,     0,     0,     0,   264,   264,   566,     0,     0,     0,
3600      264,   264,     0,     0,     0,     0,     0,     0,     0,     0,
3601        0,     0,     0,   264,     0,     0,   264,     0,     0,     0,
3602        0,     0,  -344,   754,   264,  -344,  -344,  -344,  -344,   755,
3603      756,   757,  -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,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3607     -344,  -344,  -344,     0,  -344,  -344,  -344,  -344,  -344,  -344,
3608     -344,  -344,  -344,  -344,  -344,     0,     0,  -344,  -344,     0,
3609     -344,     0,     0,  -344,  -344,  -344,  -344,  -344,     0,     0,
3610     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3611     -344,  -344,  -344,  -344,  -344,  -344,  -344,     0,  -344,     0,
3612     -344,  -344,  -344,     0,  -344,  -344,  -344,  -344,  -344,  -344,
3613     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3614     -344,  -344,  -344,  -344,   758,  -344,  -344,  -344,  -344,  -344,
3615     -344,  -344,   759,  -344,  -344,   760,  -344,  -344,  -344,  -344,
3616     -344,  -344,  -344,  -344,  -344,  -344,     0,     0,     0,     0,
3617        0,     0,     0,     0,     0,     0,   264,   264,  -449,  1151,
3618        0,  -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,  -449,
3622     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,     0,
3623     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3624     -449,     0,     0,  -449,  -449,     0,  -449,     0,     0,  -449,
3625     -449,  -449,  -449,  -449,   264,   264,  -449,  -449,  -449,  -449,
3626     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3627     -449,  -449,  -449,     0,  -449,     0,  -449,  -449,  -449,     0,
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,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3632     -449,  -449,  -304,   302,     0,     1,   303,   106,   304,  -304,
3633      305,   306,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3634     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3635        2,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3636     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3637     -304,  -304,  -304,     0,  -304,  -304,  -304,  -304,  -304,  -304,
3638     -304,  -304,  -304,  -304,  -304,     0,     0,   307,  -304,     0,
3639     -304,     0,     0,   308,   309,   310,  -304,  -304,     0,     0,
3640     -304,  -304,  -304,  -304,  -304,  -304,   311,   312,  -304,  -304,
3641     -304,  -304,  -304,  -304,  -304,  -304,  -304,     0,  -304,     0,
3642      313,  -304,  -304,     0,   314,   315,   316,   317,   318,   319,
3643      320,   321,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3644      322,   323,  -304,  -304,   324,  1238,   325,  -304,  -304,  1154,
3645     -304,  -304,  -304,  -304,   326,   327,  -304,   328,   329,   330,
3646      331,  -304,  -304,  -304,  -304,  -304,  -305,   302,     0,     1,
3647      303,   106,   304,  -305,   305,   306,  -305,  -305,  -305,  -305,
3648     -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,
3649     -305,  -305,  -305,  -305,     2,  -305,  -305,  -305,  -305,  -305,
3650     -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,
3651     -305,  -305,  -305,  -305,  -305,  -305,  -305,     0,  -305,  -305,
3652     -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,     0,
3653        0,   307,  -305,     0,  -305,     0,     0,   308,   309,   310,
3654     -305,  -305,     0,     0,  -305,  -305,  -305,  -305,  -305,  -305,
3655      311,   312,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,
3656     -305,     0,  -305,     0,   313,  -305,  -305,     0,   314,   315,
3657      316,   317,   318,   319,   320,   321,  -305,  -305,  -305,  -305,
3658     -305,  -305,  -305,  -305,   322,   323,  -305,  -305,   324,  1158,
3659      325,  -305,  -305,  1159,  -305,  -305,  -305,  -305,   326,   327,
3660     -305,   328,   329,   330,   331,  -305,  -305,  -305,  -305,  -305,
3661     -564,   302,     0,     1,   303,   106,   304,  -564,   305,   306,
3662     -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,
3663     -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,     2,  -564,
3664     -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,
3665     -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,
3666     -564,     0,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,
3667     -564,  -564,  -564,     0,     0,   307,  -564,     0,  -564,     0,
3668        0,   308,   309,   310,  -564,  -564,     0,     0,  -564,  -564,
3669     -564,  -564,  -564,  -564,   311,   312,  -564,  -564,  -564,  -564,
3670     -564,  -564,  -564,  -564,  -564,     0,  -564,     0,   313,  -564,
3671     -564,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3672     -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,   322,   323,
3673     -564,  -564,   324,  -564,   325,  -564,  -564,  -564,  -564,   742,
3674     -564,  1319,   326,   327,  -564,   328,   329,   330,   331,  -564,
3675     -564,  -564,  -564,  -564,  -565,   302,     0,     1,   303,   106,
3676      304,  -565,   305,   306,  -565,  -565,  -565,  -565,  -565,  -565,
3677     -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,
3678     -565,  -565,     2,  -565,  -565,  -565,  -565,  -565,  -565,  -565,
3679     -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,
3680     -565,  -565,  -565,  -565,  -565,     0,  -565,  -565,  -565,  -565,
3681     -565,  -565,  -565,  -565,  -565,  -565,  -565,     0,     0,   307,
3682     -565,     0,  -565,     0,     0,   308,   309,   310,  -565,  -565,
3683        0,     0,  -565,  -565,  -565,  -565,  -565,  -565,   311,   312,
3684     -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,     0,
3685     -565,     0,   313,  -565,  -565,     0,   314,   315,   316,   317,
3686      318,   319,   320,   321,  -565,  -565,  -565,  -565,  -565,  -565,
3687     -565,  -565,   322,   323,  -565,  -565,   324,  -565,   325,  -565,
3688     -565,  -565,  -565,   742,  -565,  1385,   326,   327,  -565,   328,
3689      329,   330,   331,  -565,  -565,  -565,  -565,  -565,  -575,   302,
3690        0,     1,   303,   106,   304,  -575,   305,   306,  -575,  -575,
3691     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3692     -575,  -575,  -575,  -575,  -575,  -575,     2,  -575,  -575,  -575,
3693     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3694     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,     0,
3695     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3696     -575,     0,     0,   307,  -575,     0,  -575,     0,     0,   308,
3697      309,   310,  -575,  -575,     0,     0,  -575,  -575,  -575,  -575,
3698     -575,  -575,   311,   312,  -575,  -575,  -575,  -575,  -575,  -575,
3699     -575,  -575,  -575,     0,  -575,     0,   313,  -575,  -575,     0,
3700      314,   315,   316,   317,   318,   319,   320,   321,  -575,  -575,
3701     -575,  -575,  -575,  -575,  -575,  -575,   322,   323,  -575,  -575,
3702      324,  -575,   325,  -575,  -575,  1154,  -575,  -575,  -575,  -575,
3703      326,   327,  -575,   328,   329,   330,   331,  -575,  -575,  -575,
3704     -575,  -575,  -577,   302,     0,     1,   303,   106,   304,  -577,
3705      305,   306,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3706     -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3707        2,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3708     -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3709     -577,  -577,  -577,     0,  -577,  -577,  -577,  -577,  -577,  -577,
3710     -577,  -577,  -577,  -577,  -577,     0,     0,   307,  -577,     0,
3711     -577,     0,     0,   308,   309,   310,  -577,  -577,     0,     0,
3712     -577,  -577,  -577,  -577,  -577,  -577,   311,   312,  -577,  -577,
3713     -577,  -577,  -577,  -577,  -577,  -577,  -577,     0,  -577,     0,
3714      313,  -577,  -577,     0,   314,   315,   316,   317,   318,   319,
3715      320,   321,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3716      322,   323,  -577,  -577,   324,  1158,   325,  -577,  -577,  1159,
3717     -577,  -577,  -577,  -577,   326,   327,  -577,   328,   329,   330,
3718      331,  -577,  -577,  -577,  -577,  -577,  -576,   302,     0,     1,
3719      303,   106,   304,  -576,   305,   306,  -576,  -576,  -576,  -576,
3720     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3721     -576,  -576,  -576,  -576,     2,  -576,  -576,  -576,  -576,  -576,
3722     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3723     -576,  -576,  -576,  -576,  -576,  -576,  -576,     0,  -576,  -576,
3724     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,     0,
3725        0,   307,  -576,     0,  -576,     0,     0,   308,   309,   310,
3726     -576,  -576,     0,     0,  -576,  -576,  -576,  -576,  -576,  -576,
3727      311,   312,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3728     -576,     0,  -576,     0,   313,  -576,  -576,     0,   314,   315,
3729      316,   317,   318,   319,   320,   321,  -576,  -576,  -576,  -576,
3730     -576,  -576,  -576,  -576,   322,   323,  -576,  -576,   324,  -576,
3731      325,  -576,  -576,  1154,  -576,  -576,  -576,  -576,   326,   327,
3732     -576,   328,   329,   330,   331,  -576,  -576,  -576,  -576,  -576,
3733     -338,  1880,     0,  -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,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3738     -338,     0,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3739     -338,  -338,  -338,     0,     0,  -338,  -338,     0,  -338,     0,
3740        0,  -338,  -338,  -338,  -338,  -338,     0,     0,  -338,  -338,
3741     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3742     -338,  -338,  -338,  -338,  -338,     0,  -338,     0,  -338,  -338,
3743     -338,     0,  -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,  -338,  -338,  -338,  -338,  -338,  -338,
3747     -338,  -338,  -338,  -338,  -342,  1916,     0,  -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,  -342,  -342,  -342,  -342,  -342,
3752     -342,  -342,  -342,  -342,  -342,     0,  -342,  -342,  -342,  -342,
3753     -342,  -342,  -342,  -342,  -342,  -342,  -342,     0,     0,  -342,
3754     -342,     0,  -342,     0,     0,  -342,  -342,  -342,  -342,  -342,
3755        0,     0,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3756     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,     0,
3757     -342,     0,  -342,  -342,  -342,     0,  -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,  -342,  -342,
3761     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -332,   302,
3762        0,     1,   303,   106,   304,  -332,   305,   306,  -332,  -332,
3763     -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,
3764     -332,  -332,  -332,  -332,  -332,  -332,     2,  -332,  -332,  -332,
3765     -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,
3766     -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,     0,
3767     -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,
3768     -332,     0,     0,   307,  -332,     0,  -332,     0,     0,   308,
3769      309,   310,  -332,  -332,     0,     0,  -332,  -332,  -332,  -332,
3770     -332,  -332,   311,   312,  -332,  -332,  -332,  -332,  -332,  -332,
3771     -332,  -332,  -332,     0,  -332,     0,   313,  -332,  -332,     0,
3772      314,   315,   316,   317,   318,   319,   320,   321,  -332,  -332,
3773     -332,  -332,  -332,  -332,  -332,  -332,   322,   323,  -332,  -332,
3774      324,  -332,   325,  -332,  -332,  -332,  -332,   742,  -332,  -332,
3775      326,   327,  -332,   328,   329,   330,   331,  -332,  -332,  -332,
3776     -332,  -332,  -542,   302,     0,     1,   303,   106,   304,  -542,
3777      305,   306,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
3778     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
3779        2,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
3780     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
3781     -542,  -542,  -542,     0,  -542,  -542,  -542,  -542,  -542,  -542,
3782     -542,  -542,  -542,  -542,  -542,     0,     0,   307,  -542,     0,
3783     -542,     0,     0,   308,   309,   310,  -542,  -542,     0,     0,
3784     -542,  -542,  -542,  -542,  -542,  -542,   311,   312,  -542,  -542,
3785     -542,  -542,  -542,  -542,  -542,  -542,  -542,     0,  -542,     0,
3786      313,  -542,  -542,     0,   314,   315,   316,   317,   318,   319,
3787      320,   321,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
3788      322,   323,  -542,  -542,   324,  -542,   325,  -542,  -542,  -542,
3789     -542,   742,  -542,  -542,   326,   327,  -542,   328,   329,   330,
3790      331,  -542,  -542,  -542,  -542,  -542,  -550,   302,     0,     1,
3791      303,   106,   304,  -550,   305,   306,  -550,  -550,  -550,  -550,
3792     -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,
3793     -550,  -550,  -550,  -550,     2,  -550,  -550,  -550,  -550,  -550,
3794     -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,
3795     -550,  -550,  -550,  -550,  -550,  -550,  -550,     0,  -550,  -550,
3796     -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,     0,
3797        0,   307,  -550,     0,  -550,     0,     0,   308,   309,   310,
3798     -550,  -550,     0,     0,  -550,  -550,  -550,  -550,  -550,  -550,
3799      311,   312,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,
3800     -550,     0,  -550,     0,   313,  -550,  -550,     0,   314,   315,
3801      316,   317,   318,   319,   320,   321,  -550,  -550,  -550,  -550,
3802     -550,  -550,  -550,  -550,   322,   323,  -550,  -550,   324,  -550,
3803      325,  -550,  -550,  -550,  -550,   742,  -550,  -550,   326,   327,
3804     -550,   328,   329,   330,   331,  -550,  -550,  -550,  -550,  -550,
3805     -543,   302,     0,     1,   303,   106,   304,  -543,   305,   306,
3806     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3807     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,     2,  -543,
3808     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3809     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3810     -543,     0,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3811     -543,  -543,  -543,     0,     0,   307,  -543,     0,  -543,     0,
3812        0,   308,   309,   310,  -543,  -543,     0,     0,  -543,  -543,
3813     -543,  -543,  -543,  -543,   311,   312,  -543,  -543,  -543,  -543,
3814     -543,  -543,  -543,  -543,  -543,     0,  -543,     0,   313,  -543,
3815     -543,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3816     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,   322,   323,
3817     -543,  -543,   324,  -543,   325,  -543,  -543,  -543,  -543,   742,
3818     -543,  -543,   326,   327,  -543,   328,   329,   330,   331,  -543,
3819     -543,  -543,  -543,  -543,  -551,   302,     0,     1,   303,   106,
3820      304,  -551,   305,   306,  -551,  -551,  -551,  -551,  -551,  -551,
3821     -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,
3822     -551,  -551,     2,  -551,  -551,  -551,  -551,  -551,  -551,  -551,
3823     -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,
3824     -551,  -551,  -551,  -551,  -551,     0,  -551,  -551,  -551,  -551,
3825     -551,  -551,  -551,  -551,  -551,  -551,  -551,     0,     0,   307,
3826     -551,     0,  -551,     0,     0,   308,   309,   310,  -551,  -551,
3827        0,     0,  -551,  -551,  -551,  -551,  -551,  -551,   311,   312,
3828     -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,     0,
3829     -551,     0,   313,  -551,  -551,     0,   314,   315,   316,   317,
3830      318,   319,   320,   321,  -551,  -551,  -551,  -551,  -551,  -551,
3831     -551,  -551,   322,   323,  -551,  -551,   324,  -551,   325,  -551,
3832     -551,  -551,  -551,   742,  -551,  -551,   326,   327,  -551,   328,
3833      329,   330,   331,  -551,  -551,  -551,  -551,  -551,  -544,   302,
3834        0,     1,   303,   106,   304,  -544,   305,   306,  -544,  -544,
3835     -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
3836     -544,  -544,  -544,  -544,  -544,  -544,     2,  -544,  -544,  -544,
3837     -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
3838     -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,     0,
3839     -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
3840     -544,     0,     0,   307,  -544,     0,  -544,     0,     0,   308,
3841      309,   310,  -544,  -544,     0,     0,  -544,  -544,  -544,  -544,
3842     -544,  -544,   311,   312,  -544,  -544,  -544,  -544,  -544,  -544,
3843     -544,  -544,  -544,     0,  -544,     0,   313,  -544,  -544,     0,
3844      314,   315,   316,   317,   318,   319,   320,   321,  -544,  -544,
3845     -544,  -544,  -544,  -544,  -544,  -544,   322,   323,  -544,  -544,
3846      324,  -544,   325,  -544,  -544,  -544,  -544,   742,  -544,  -544,
3847      326,   327,  -544,   328,   329,   330,   331,  -544,  -544,  -544,
3848     -544,  -544,  -552,   302,     0,     1,   303,   106,   304,  -552,
3849      305,   306,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3850     -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3851        2,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3852     -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3853     -552,  -552,  -552,     0,  -552,  -552,  -552,  -552,  -552,  -552,
3854     -552,  -552,  -552,  -552,  -552,     0,     0,   307,  -552,     0,
3855     -552,     0,     0,   308,   309,   310,  -552,  -552,     0,     0,
3856     -552,  -552,  -552,  -552,  -552,  -552,   311,   312,  -552,  -552,
3857     -552,  -552,  -552,  -552,  -552,  -552,  -552,     0,  -552,     0,
3858      313,  -552,  -552,     0,   314,   315,   316,   317,   318,   319,
3859      320,   321,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3860      322,   323,  -552,  -552,   324,  -552,   325,  -552,  -552,  -552,
3861     -552,   742,  -552,  -552,   326,   327,  -552,   328,   329,   330,
3862      331,  -552,  -552,  -552,  -552,  -552,  -545,   302,     0,     1,
3863      303,   106,   304,  -545,   305,   306,  -545,  -545,  -545,  -545,
3864     -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,
3865     -545,  -545,  -545,  -545,     2,  -545,  -545,  -545,  -545,  -545,
3866     -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,
3867     -545,  -545,  -545,  -545,  -545,  -545,  -545,     0,  -545,  -545,
3868     -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,     0,
3869        0,   307,  -545,     0,  -545,     0,     0,   308,   309,   310,
3870     -545,  -545,     0,     0,  -545,  -545,  -545,  -545,  -545,  -545,
3871      311,   312,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,
3872     -545,     0,  -545,     0,   313,  -545,  -545,     0,   314,   315,
3873      316,   317,   318,   319,   320,   321,  -545,  -545,  -545,  -545,
3874     -545,  -545,  -545,  -545,   322,   323,  -545,  -545,   324,  -545,
3875      325,  -545,  -545,  -545,  -545,   742,  -545,  -545,   326,   327,
3876     -545,   328,   329,   330,   331,  -545,  -545,  -545,  -545,  -545,
3877     -553,   302,     0,     1,   303,   106,   304,  -553,   305,   306,
3878     -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,
3879     -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,     2,  -553,
3880     -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,
3881     -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,
3882     -553,     0,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,
3883     -553,  -553,  -553,     0,     0,   307,  -553,     0,  -553,     0,
3884        0,   308,   309,   310,  -553,  -553,     0,     0,  -553,  -553,
3885     -553,  -553,  -553,  -553,   311,   312,  -553,  -553,  -553,  -553,
3886     -553,  -553,  -553,  -553,  -553,     0,  -553,     0,   313,  -553,
3887     -553,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3888     -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,   322,   323,
3889     -553,  -553,   324,  -553,   325,  -553,  -553,  -553,  -553,   742,
3890     -553,  -553,   326,   327,  -553,   328,   329,   330,   331,  -553,
3891     -553,  -553,  -553,  -553,  -340,  2020,     0,  -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,  -340,  -340,  -340,  -340,  -340,
3896     -340,  -340,  -340,  -340,  -340,     0,  -340,  -340,  -340,  -340,
3897     -340,  -340,  -340,  -340,  -340,  -340,  -340,     0,     0,  -340,
3898     -340,     0,  -340,     0,     0,  -340,  -340,  -340,  -340,  -340,
3899        0,     0,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3900     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,     0,
3901     -340,     0,  -340,  -340,  -340,     0,  -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,  -340,  -340,
3905     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -339,  2021,
3906        0,  -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,  -339,
3910     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,     0,
3911     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3912     -339,     0,     0,  -339,  -339,     0,  -339,     0,     0,  -339,
3913     -339,  -339,  -339,  -339,     0,     0,  -339,  -339,  -339,  -339,
3914     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3915     -339,  -339,  -339,     0,  -339,     0,  -339,  -339,  -339,     0,
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,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3920     -339,  -339,  -344,   754,     0,  -344,  -344,  -344,  -344,   755,
3921      756,   757,  -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,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3925     -344,  -344,  -344,     0,  -344,  -344,  -344,  -344,  -344,  -344,
3926     -344,  -344,  -344,  -344,  -344,     0,     0,  -344,  -344,     0,
3927     -344,     0,     0,  -344,  -344,  -344,  -344,  -344,     0,     0,
3928     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3929     -344,  -344,  -344,  -344,  -344,  -344,  -344,     0,  -344,     0,
3930     -344,  -344,  -344,     0,  -344,  -344,  -344,  -344,  -344,  -344,
3931     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3932     -344,  -344,  -344,  -344,   758,  -344,  -344,  -344,  -344,  -344,
3933     -344,  -344,  1149,  -344,  -344,   760,     0,  -344,  -344,  -344,
3934     -344,  -344,  -344,  -344,  -344,  -344,  -449,  1151,     0,  -449,
3935     -449,  -449,  -449,     0,  -449,  -449,     0,     0,     0,     0,
3936        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3937        0,     0,     0,     0,  -449,  -449,  -449,  -449,  -449,  -449,
3938     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3939     -449,  -449,  -449,  -449,  -449,  -449,  -449,     0,  -449,  -449,
3940     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,     0,
3941        0,  -449,  -449,     0,  -449,     0,     0,  -449,  -449,  -449,
3942     -449,  -449,     0,     0,  -449,  -449,  -449,  -449,  -449,  -449,
3943     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3944     -449,     0,  -449,     0,  -449,  -449,  -449,     0,  -449,  -449,
3945     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3946     -449,  -449,  -449,  -449,  -449,  -449,     0,     0,  -449,  -449,
3947     -449,  -449,     0,  -449,  -449,  -449,  1152,  -449,  -449,  -449,
3948        0,  -449,  -449,  -449,  -449, -1089,   302,     0,     1,   303,
3949      106,   304,     0,   305,   306,     0,     0,     0,     0,     0,
3950        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3951        0,     0,     0,     2, -1089, -1089, -1089, -1089, -1089, -1089,
3952    -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089,
3953    -1089, -1089, -1089, -1089, -1089, -1089,     0, -1089, -1089, -1089,
3954    -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089,     0,     0,
3955      307, -1089,     0, -1089,     0,     0,   308,   309,   310, -1089,
3956    -1089,     0,     0, -1089, -1089, -1089, -1089, -1089, -1089,   311,
3957      312, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089,
3958        0, -1089,     0,   313, -1089, -1089,     0,   314,   315,   316,
3959      317,   318,   319,   320,   321, -1089, -1089, -1089, -1089, -1089,
3960    -1089, -1089, -1089,   322,   323,     0,     0,   324,  1158,   325,
3961    -1089,     0,  1159, -1089, -1089,     0, -1089,   326,   327,     0,
3962      328,   329,   330,   331, -1233,   302,     0,     1,   303,   106,
3963      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
3964        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3965        0,     0,     2, -1233, -1233, -1233, -1233, -1233, -1233, -1233,
3966    -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233,
3967    -1233, -1233, -1233, -1233, -1233,     0, -1233, -1233, -1233, -1233,
3968    -1233, -1233, -1233, -1233, -1233, -1233, -1233,     0,     0,   307,
3969    -1233,     0, -1233,     0,     0,   308,   309,   310, -1233, -1233,
3970        0,     0, -1233, -1233, -1233, -1233, -1233, -1233,   311,   312,
3971    -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233,     0,
3972    -1233,     0,   313, -1233, -1233,     0,   314,   315,   316,   317,
3973      318,   319,   320,   321, -1233, -1233, -1233, -1233, -1233, -1233,
3974    -1233, -1233,   322,   323,     0,     0,   324,  1158,   325,  1623,
3975        0,  1159, -1233, -1233,     0, -1233,   326,   327,     0,   328,
3976      329,   330,   331, -1191,   302,     0,     1,   303,   106,   304,
3977        0,   305,   306,     0,     0,     0,     0,     0,     0,     0,
3978        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3979        0,     2, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191,
3980    -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191,
3981    -1191, -1191, -1191, -1191,     0, -1191, -1191, -1191, -1191, -1191,
3982    -1191, -1191, -1191, -1191, -1191, -1191,     0,     0,   307, -1191,
3983        0, -1191,     0,     0,   308,   309,   310, -1191, -1191,     0,
3984        0, -1191, -1191, -1191, -1191, -1191, -1191,   311,   312, -1191,
3985    -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191,     0, -1191,
3986        0,   313, -1191, -1191,     0,   314,   315,   316,   317,   318,
3987      319,   320,   321, -1191, -1191, -1191, -1191, -1191, -1191, -1191,
3988    -1191,   322,   323,     0,     0,   324,  1831,   325, -1191,     0,
3989     1159, -1191, -1191,     0, -1191,   326,   327,     0,   328,   329,
3990      330,   331, -1222,   302,     0,     1,   303,   106,   304,     0,
3991      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
3992        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3993        2, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222,
3994    -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222,
3995    -1222, -1222, -1222,     0,   626,   627,   628,   629,   630,   631,
3996      632,   633,   634,   635,   636,     0,     0,   307, -1222,     0,
3997    -1222,     0,     0,   308,   309,   310, -1222, -1222,     0,     0,
3998    -1222,    32, -1222, -1222, -1222, -1222,   311,   312,  1123, -1222,
3999      639,   640,   641, -1222, -1222, -1222, -1222,     0, -1222,     0,
4000      313, -1222, -1222,     0,   314,   315,   316,   317,   318,   319,
4001      320,   321,    43,    44, -1222, -1222, -1222, -1222, -1222, -1222,
4002      322,   323,     0,     0,   324,  1158,   325,   642,     0,  1159,
4003    -1222,   254,     0,   643,   326,   327,     0,   328,   329,   330,
4004      331,  -576,   302,     0,     1,   303,   106,   304,     0,   305,
4005      306,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4006        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4007     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
4008     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
4009     -576,  -576,     0,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
4010     -576,  -576,  -576,  -576,     0,     0,   307,  -576,     0,  -576,
4011        0,     0,   308,   309,   310,  -576,  -576,     0,     0,  -576,
4012     -576,  -576,  -576,  -576,  -576,   311,   312,  -576,  -576,  -576,
4013     -576,  -576,  -576,  -576,  -576,  -576,     0,  -576,     0,   313,
4014     -576,  -576,     0,   314,   315,   316,   317,   318,   319,   320,
4015      321,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,   322,
4016      323,     0,     0,   324,  -576,   325,  1153,     0,  1154,  -576,
4017     -576,     0,  -576,   326,   327,     0,   328,   329,   330,   331,
4018    -1214,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4019        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4020        0,     0,     0,     0,     0,     0,     0,     0,     2, -1214,
4021    -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214,
4022    -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214,
4023    -1214,     0, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214,
4024    -1214, -1214, -1214,     0,     0,   307, -1214,     0, -1214,     0,
4025        0,   308,   309,   310, -1214, -1214,     0,     0, -1214, -1214,
4026    -1214, -1214, -1214, -1214,   311,   312, -1214, -1214, -1214, -1214,
4027    -1214, -1214, -1214, -1214, -1214,     0, -1214,     0,   313, -1214,
4028    -1214,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4029    -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214,   322,   323,
4030        0,     0,   324,  2066,   325, -1214,     0,  1154, -1214, -1214,
4031        0, -1214,   326,   327,     0,   328,   329,   330,   331, -1215,
4032      302,     0,     1,   303,   106,   304,     0,   305,   306,     0,
4033        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4034        0,     0,     0,     0,     0,     0,     0,     2, -1215, -1215,
4035    -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215,
4036    -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215,
4037        0, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215,
4038    -1215, -1215,     0,     0,   307, -1215,     0, -1215,     0,     0,
4039      308,   309,   310, -1215, -1215,     0,     0, -1215, -1215, -1215,
4040    -1215, -1215, -1215,   311,   312, -1215, -1215, -1215, -1215, -1215,
4041    -1215, -1215, -1215, -1215,     0, -1215,     0,   313, -1215, -1215,
4042        0,   314,   315,   316,   317,   318,   319,   320,   321, -1215,
4043    -1215, -1215, -1215, -1215, -1215, -1215, -1215,   322,   323,     0,
4044        0,   324,  1158,   325,  2067,     0,  1159, -1215, -1215,     0,
4045    -1215,   326,   327,     0,   328,   329,   330,   331, -1209,   302,
4046        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4047        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4048        0,     0,     0,     0,     0,     0,     2, -1209, -1209, -1209,
4049    -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209,
4050    -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209,     0,
4051      626,   627,   628,   629,   630,   631,   632,   633,   634,   635,
4052      636,     0,     0,   307, -1209,     0, -1209,     0,     0,   308,
4053      309,   310, -1209, -1209,     0,     0, -1209,    32, -1209, -1209,
4054    -1209, -1209,   311,   312,  1123, -1209,   639,   640,   641, -1209,
4055    -1209, -1209, -1209,     0, -1209,     0,   313, -1209, -1209,     0,
4056      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4057    -1209, -1209, -1209, -1209, -1209, -1209,   322,   323,     0,     0,
4058      324,  1158,   325,   642,     0,  1159, -1209,   254,     0,   643,
4059      326,   327,     0,   328,   329,   330,   331, -1157,   617,     0,
4060    -1157, -1157, -1157, -1157,     0, -1157, -1157,     0,     0,     0,
4061        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4062        0,     0,     0,     0,     0, -1157, -1157, -1157, -1157, -1157,
4063    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4064    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,     0, -1157,
4065    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4066        0,     0, -1157, -1157,     0, -1157,     0,     0, -1157, -1157,
4067    -1157, -1157, -1157,     0,     0, -1157, -1157, -1157, -1157, -1157,
4068    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4069    -1157, -1157,     0, -1157,     0, -1157, -1157, -1157,     0, -1157,
4070    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4071    -1157, -1157, -1157, -1157, -1157, -1157, -1157,     0,     0, -1157,
4072        0, -1157,   618,     0, -1157, -1157, -1157,     0, -1157, -1157,
4073    -1157,     0, -1157, -1157, -1157, -1157, -1180,   302,     0,     1,
4074      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4075        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4076        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4077      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4078       18,    19,   244,   245,    22,    23,    24,     0,   626,   627,
4079      628,   629,   630,   631,   632,   633,   634,   635,   636,     0,
4080        0,   307,   246,     0, -1180,     0,     0,   308,   309,   310,
4081       28,    29,     0,     0, -1180,    32, -1180, -1180, -1180, -1180,
4082      311,   637,   638,   248,   639,   640,   641, -1180, -1180, -1180,
4083    -1180,     0, -1180,     0,   313, -1180,   249,     0,   314,   315,
4084      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4085      252,   253,   206,   207,   322,   323,     0,     0,   324,     0,
4086      325,   642,     0, -1180, -1180,   254,     0,   643,   326,   327,
4087        0,   328,   329,   330,   331, -1158,   617,     0, -1158, -1158,
4088    -1158, -1158,     0, -1158, -1158,     0,     0,     0,     0,     0,
4089        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4090        0,     0,     0, -1158, -1158, -1158, -1158, -1158, -1158, -1158,
4091    -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158,
4092    -1158, -1158, -1158, -1158, -1158, -1158,     0, -1158, -1158, -1158,
4093    -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158,     0,     0,
4094    -1158, -1158,     0, -1158,     0,     0, -1158, -1158, -1158, -1158,
4095    -1158,     0,     0, -1158, -1158, -1158, -1158, -1158, -1158, -1158,
4096    -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158,
4097        0, -1158,     0, -1158, -1158, -1158,     0, -1158, -1158, -1158,
4098    -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158,
4099    -1158, -1158, -1158, -1158, -1158,     0,     0, -1158,     0, -1158,
4100      618,     0, -1158, -1158, -1158,     0, -1158, -1158, -1158,     0,
4101    -1158, -1158, -1158, -1158, -1219,   302,     0,     1,   303,   106,
4102      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4103        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4104        0,     0,     2, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
4105    -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
4106    -1219, -1219, -1219, -1219, -1219,     0,  1115,  1116,  1117,   629,
4107     1118,  1119,  1120,  1121,   634,   635,  1122,     0,     0,   307,
4108    -1219,     0, -1219,     0,     0,   308,   309,   310, -1219, -1219,
4109        0,     0, -1219,    32, -1219, -1219, -1219, -1219,   311,   312,
4110     1123, -1219,   639,   640,   641, -1219, -1219, -1219, -1219,     0,
4111    -1219,     0,   313, -1219, -1219,     0,   314,   315,   316,   317,
4112      318,   319,   320,   321,    43,    44, -1219, -1219, -1219, -1219,
4113    -1219, -1219,   322,   323,     0,     0,   324,     0,   325,   642,
4114        0, -1219, -1219,   254,     0,   643,   326,   327,     0,   328,
4115      329,   330,   331, -1235,   302,     0,     1,   303,   106,   304,
4116        0,   305,   306,     0,     0,     0,     0,     0,     0,     0,
4117        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4118        0,     2, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235,
4119    -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235,
4120    -1235, -1235, -1235, -1235,     0, -1235, -1235, -1235, -1235, -1235,
4121    -1235, -1235, -1235, -1235, -1235, -1235,     0,     0,   307, -1235,
4122        0, -1235,     0,     0,   308,   309,   310, -1235, -1235,     0,
4123        0, -1235, -1235, -1235, -1235, -1235, -1235,   311,   312, -1235,
4124    -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235,     0, -1235,
4125        0,   313, -1235, -1235,     0,   314,   315,   316,   317,   318,
4126      319,   320,   321, -1235, -1235, -1235, -1235, -1235, -1235, -1235,
4127    -1235,   322,   323,     0,     0,   324,     0,   325,  1134,     0,
4128    -1235, -1235,   742,     0, -1235,   326,   327,     0,   328,   329,
4129      330,   331, -1170,  1161,     0,     1,   303,   106,   304,     0,
4130      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4131        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4132        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4133      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4134       22,    23,    24,     0,   626,   627,   628,   629,   630,   631,
4135      632,   633,   634,   635,   636,     0,     0,   307,   246,     0,
4136    -1170,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4137    -1170,    32, -1170, -1170, -1170, -1170,   311,   637,   638,   248,
4138      639,   640,   641, -1170, -1170, -1170, -1170,     0, -1170,     0,
4139      313, -1170,   249,     0,   314,   315,   316,   317,   318,   319,
4140      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4141      322,   323,     0,     0,   324,     0,   325,   642,     0, -1170,
4142    -1170,   254,     0,   643,   326,   327,     0,   328,   329,   330,
4143      331, -1174,   302,     0,     1,   303,   106,   304,     0,   305,
4144      306,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4145        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4146      200,   201,   202,   203,   204,   234,   235,   236,   237,   238,
4147      239,   240,   241,   242,   243,    18,    19,   244,   245,    22,
4148       23,    24,     0,   626,   627,   628,   629,   630,   631,   632,
4149      633,   634,   635,   636,     0,     0,   307,   246,     0, -1174,
4150        0,     0,   308,   309,   310,    28,    29,     0,     0, -1174,
4151       32, -1174, -1174, -1174, -1174,   311,   637,   638,   248,   639,
4152      640,   641, -1174, -1174, -1174, -1174,     0, -1174,     0,   313,
4153    -1174,   249,     0,   314,   315,   316,   317,   318,   319,   320,
4154      321,    43,    44,   250,   251,   252,   253,   206,   207,   322,
4155      323,     0,     0,   324,     0,   325,   642,     0, -1174, -1174,
4156      254,     0,   643,   326,   327,     0,   328,   329,   330,   331,
4157    -1169,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4158        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4159        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
4160      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
4161      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
4162       24,     0,   626,   627,   628,   629,   630,   631,   632,   633,
4163      634,   635,   636,     0,     0,   307,   246,     0, -1169,     0,
4164        0,   308,   309,   310,    28,    29,     0,     0, -1169,    32,
4165    -1169, -1169, -1169, -1169,   311,   637,   638,   248,   639,   640,
4166      641, -1169, -1169, -1169, -1169,     0, -1169,     0,   313, -1169,
4167      249,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4168       43,    44,   250,   251,   252,   253,   206,   207,   322,   323,
4169        0,     0,   324,     0,   325,   642,     0, -1169, -1169,   254,
4170        0,   643,   326,   327,     0,   328,   329,   330,   331, -1173,
4171      302,     0,     1,   303,   106,   304,     0,   305,   306,     0,
4172        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4173        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
4174      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
4175      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
4176        0,   626,   627,   628,   629,   630,   631,   632,   633,   634,
4177      635,   636,     0,     0,   307,   246,     0, -1173,     0,     0,
4178      308,   309,   310,    28,    29,     0,     0, -1173,    32, -1173,
4179    -1173, -1173, -1173,   311,   637,   638,   248,   639,   640,   641,
4180    -1173, -1173, -1173, -1173,     0, -1173,     0,   313, -1173,   249,
4181        0,   314,   315,   316,   317,   318,   319,   320,   321,    43,
4182       44,   250,   251,   252,   253,   206,   207,   322,   323,     0,
4183        0,   324,     0,   325,   642,     0, -1173, -1173,   254,     0,
4184      643,   326,   327,     0,   328,   329,   330,   331, -1076,  1174,
4185        0, -1076, -1076, -1076, -1076,     0, -1076, -1076,     0,     0,
4186        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4187        0,     0,     0,     0,     0,     0, -1076, -1076, -1076, -1076,
4188    -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076,
4189    -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076,     0,
4190    -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076,
4191    -1076,     0,     0, -1076, -1076,     0, -1076,     0,     0, -1076,
4192    -1076, -1076, -1076, -1076,     0,     0, -1076, -1076, -1076, -1076,
4193    -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076,
4194    -1076, -1076, -1076,     0, -1076,     0, -1076, -1076, -1076,     0,
4195    -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076,
4196    -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076,     0,     0,
4197    -1076,     0, -1076, -1076,     0, -1076, -1076, -1076,     0, -1076,
4198    -1076, -1076,     0, -1076, -1076, -1076, -1076, -1078,  1175,     0,
4199    -1078, -1078, -1078, -1078,     0, -1078, -1078,     0,     0,     0,
4200        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4201        0,     0,     0,     0,     0, -1078, -1078, -1078, -1078, -1078,
4202    -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078,
4203    -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078,     0, -1078,
4204    -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078,
4205        0,     0, -1078, -1078,     0, -1078,     0,     0, -1078, -1078,
4206    -1078, -1078, -1078,     0,     0, -1078, -1078, -1078, -1078, -1078,
4207    -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078,
4208    -1078, -1078,     0, -1078,     0, -1078, -1078, -1078,     0, -1078,
4209    -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078,
4210    -1078, -1078, -1078, -1078, -1078, -1078, -1078,     0,     0, -1078,
4211        0, -1078, -1078,     0, -1078, -1078, -1078,     0, -1078, -1078,
4212    -1078,     0, -1078, -1078, -1078, -1078, -1124,   302,     0,     1,
4213      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4214        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4215        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4216      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4217       18,    19,   244,   245,    22,    23,    24,     0,   626,   627,
4218      628,   629,   630,   631,   632,   633,   634,   635,   636,     0,
4219        0,   307,   246,     0, -1124,     0,     0,   308,   309,   310,
4220       28,    29,     0,     0, -1124,    32, -1124, -1124, -1124, -1124,
4221      311,   637,   638,   248,   639,   640,   641, -1124, -1124, -1124,
4222    -1124,     0, -1124,     0,   313, -1124,   249,     0,   314,   315,
4223      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4224      252,   253,   206,   207,   322,   323,     0,     0,   324,     0,
4225      325,   642,     0, -1124, -1124,   254,     0,   643,   326,   327,
4226        0,   328,   329,   330,   331, -1126,   302,     0,     1,   303,
4227      106,   304,     0,   305,   306,     0,     0,     0,     0,     0,
4228        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4229        0,     0,     0,     2,   200,   201,   202,   203,   204,   234,
4230      235,   236,   237,   238,   239,   240,   241,   242,   243,    18,
4231       19,   244,   245,    22,    23,    24,     0,   626,   627,   628,
4232      629,   630,   631,   632,   633,   634,   635,   636,     0,     0,
4233      307,   246,     0, -1126,     0,     0,   308,   309,   310,    28,
4234       29,     0,     0, -1126,    32, -1126, -1126, -1126, -1126,   311,
4235      637,   638,   248,   639,   640,   641, -1126, -1126, -1126, -1126,
4236        0, -1126,     0,   313, -1126,   249,     0,   314,   315,   316,
4237      317,   318,   319,   320,   321,    43,    44,   250,   251,   252,
4238      253,   206,   207,   322,   323,     0,     0,   324,     0,   325,
4239      642,     0, -1126, -1126,   254,     0,   643,   326,   327,     0,
4240      328,   329,   330,   331, -1171,   302,     0,     1,   303,   106,
4241      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4242        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4243        0,     0,     2,   200,   201,   202,   203,   204,   234,   235,
4244      236,   237,   238,   239,   240,   241,   242,   243,    18,    19,
4245      244,   245,    22,    23,    24,     0,   626,   627,   628,   629,
4246      630,   631,   632,   633,   634,   635,   636,     0,     0,   307,
4247      246,     0, -1171,     0,     0,   308,   309,   310,    28,    29,
4248        0,     0, -1171,    32, -1171, -1171, -1171, -1171,   311,   637,
4249      638,   248,   639,   640,   641, -1171, -1171, -1171, -1171,     0,
4250    -1171,     0,   313, -1171,   249,     0,   314,   315,   316,   317,
4251      318,   319,   320,   321,    43,    44,   250,   251,   252,   253,
4252      206,   207,   322,   323,     0,     0,   324,     0,   325,   642,
4253        0, -1171, -1171,   254,     0,   643,   326,   327,     0,   328,
4254      329,   330,   331, -1175,   302,     0,     1,   303,   106,   304,
4255        0,   305,   306,     0,     0,     0,     0,     0,     0,     0,
4256        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4257        0,     2,   200,   201,   202,   203,   204,   234,   235,   236,
4258      237,   238,   239,   240,   241,   242,   243,    18,    19,   244,
4259      245,    22,    23,    24,     0,   626,   627,   628,   629,   630,
4260      631,   632,   633,   634,   635,   636,     0,     0,   307,   246,
4261        0, -1175,     0,     0,   308,   309,   310,    28,    29,     0,
4262        0, -1175,    32, -1175, -1175, -1175, -1175,   311,   637,   638,
4263      248,   639,   640,   641, -1175, -1175, -1175, -1175,     0, -1175,
4264        0,   313, -1175,   249,     0,   314,   315,   316,   317,   318,
4265      319,   320,   321,    43,    44,   250,   251,   252,   253,   206,
4266      207,   322,   323,     0,     0,   324,     0,   325,   642,     0,
4267    -1175, -1175,   254,     0,   643,   326,   327,     0,   328,   329,
4268      330,   331, -1172,   302,     0,     1,   303,   106,   304,     0,
4269      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4270        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4271        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4272      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4273       22,    23,    24,     0,   626,   627,   628,   629,   630,   631,
4274      632,   633,   634,   635,   636,     0,     0,   307,   246,     0,
4275    -1172,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4276    -1172,    32, -1172, -1172, -1172, -1172,   311,   637,   638,   248,
4277      639,   640,   641, -1172, -1172, -1172, -1172,     0, -1172,     0,
4278      313, -1172,   249,     0,   314,   315,   316,   317,   318,   319,
4279      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4280      322,   323,     0,     0,   324,     0,   325,   642,     0, -1172,
4281    -1172,   254,     0,   643,   326,   327,     0,   328,   329,   330,
4282      331, -1176,   302,     0,     1,   303,   106,   304,     0,   305,
4283      306,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4284        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4285      200,   201,   202,   203,   204,   234,   235,   236,   237,   238,
4286      239,   240,   241,   242,   243,    18,    19,   244,   245,    22,
4287       23,    24,     0,   626,   627,   628,   629,   630,   631,   632,
4288      633,   634,   635,   636,     0,     0,   307,   246,     0, -1176,
4289        0,     0,   308,   309,   310,    28,    29,     0,     0, -1176,
4290       32, -1176, -1176, -1176, -1176,   311,   637,   638,   248,   639,
4291      640,   641, -1176, -1176, -1176, -1176,     0, -1176,     0,   313,
4292    -1176,   249,     0,   314,   315,   316,   317,   318,   319,   320,
4293      321,    43,    44,   250,   251,   252,   253,   206,   207,   322,
4294      323,     0,     0,   324,     0,   325,   642,     0, -1176, -1176,
4295      254,     0,   643,   326,   327,     0,   328,   329,   330,   331,
4296    -1167,   617,     0, -1167, -1167, -1167, -1167,     0, -1167, -1167,
4297        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4298        0,     0,     0,     0,     0,     0,     0,     0, -1167, -1167,
4299    -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4300    -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4301    -1167,     0, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4302    -1167, -1167, -1167,     0,     0, -1167, -1167,     0, -1167,     0,
4303        0, -1167, -1167, -1167, -1167, -1167,     0,     0, -1167, -1167,
4304    -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4305    -1167, -1167, -1167, -1167, -1167,     0, -1167,     0, -1167, -1167,
4306    -1167,     0, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4307    -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4308        0,     0, -1167,     0, -1167,   618,     0, -1167, -1167, -1167,
4309        0, -1167, -1167, -1167,     0, -1167, -1167, -1167, -1167, -1168,
4310      617,     0, -1168, -1168, -1168, -1168,     0, -1168, -1168,     0,
4311        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4312        0,     0,     0,     0,     0,     0,     0, -1168, -1168, -1168,
4313    -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168,
4314    -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168,
4315        0, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168,
4316    -1168, -1168,     0,     0, -1168, -1168,     0, -1168,     0,     0,
4317    -1168, -1168, -1168, -1168, -1168,     0,     0, -1168, -1168, -1168,
4318    -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168,
4319    -1168, -1168, -1168, -1168,     0, -1168,     0, -1168, -1168, -1168,
4320        0, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168,
4321    -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168,     0,
4322        0, -1168,     0, -1168,   618,     0, -1168, -1168, -1168,     0,
4323    -1168, -1168, -1168,     0, -1168, -1168, -1168, -1168, -1003,   302,
4324        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4325        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4326        0,     0,     0,     0,     0,     0,     2, -1003, -1003, -1003,
4327    -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003,
4328    -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003,     0,
4329    -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003,
4330    -1003,     0,     0,   307, -1003,     0, -1003,     0,     0,   308,
4331      309,   310, -1003, -1003,     0,     0, -1003, -1003, -1003, -1003,
4332    -1003, -1003,   311,   312, -1003, -1003, -1003, -1003, -1003, -1003,
4333    -1003, -1003, -1003,     0, -1003,     0,   313, -1003, -1003,     0,
4334      314,   315,   316,   317,   318,   319,   320,   321, -1003, -1003,
4335    -1003, -1003, -1003, -1003, -1003, -1003,   322,   323,     0,     0,
4336      324,     0,   325, -1003,     0,  1800,  1801,  1014,     0, -1003,
4337      326,   327,     0,   328,   329,   330,   331, -1130,   617,     0,
4338    -1130, -1130, -1130, -1130,     0, -1130, -1130,     0,     0,     0,
4339        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4340        0,     0,     0,     0,     0, -1130, -1130, -1130, -1130, -1130,
4341    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4342    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,     0, -1130,
4343    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4344        0,     0, -1130, -1130,     0, -1130,     0,     0, -1130, -1130,
4345    -1130, -1130, -1130,     0,     0, -1130, -1130, -1130, -1130, -1130,
4346    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4347    -1130, -1130,     0, -1130,     0, -1130, -1130, -1130,     0, -1130,
4348    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4349    -1130, -1130, -1130, -1130, -1130, -1130, -1130,     0,     0, -1130,
4350        0, -1130,   618,     0, -1130, -1130, -1130,     0, -1130, -1130,
4351    -1130,     0, -1130, -1130, -1130, -1130, -1131,   617,     0, -1131,
4352    -1131, -1131, -1131,     0, -1131, -1131,     0,     0,     0,     0,
4353        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4354        0,     0,     0,     0, -1131, -1131, -1131, -1131, -1131, -1131,
4355    -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131,
4356    -1131, -1131, -1131, -1131, -1131, -1131, -1131,     0, -1131, -1131,
4357    -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131,     0,
4358        0, -1131, -1131,     0, -1131,     0,     0, -1131, -1131, -1131,
4359    -1131, -1131,     0,     0, -1131, -1131, -1131, -1131, -1131, -1131,
4360    -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131,
4361    -1131,     0, -1131,     0, -1131, -1131, -1131,     0, -1131, -1131,
4362    -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131,
4363    -1131, -1131, -1131, -1131, -1131, -1131,     0,     0, -1131,     0,
4364    -1131,   618,     0, -1131, -1131, -1131,     0, -1131, -1131, -1131,
4365        0, -1131, -1131, -1131, -1131, -1127,   617,     0, -1127, -1127,
4366    -1127, -1127,     0, -1127, -1127,     0,     0,     0,     0,     0,
4367        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4368        0,     0,     0, -1127, -1127, -1127, -1127, -1127, -1127, -1127,
4369    -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127,
4370    -1127, -1127, -1127, -1127, -1127, -1127,     0, -1127, -1127, -1127,
4371    -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127,     0,     0,
4372    -1127, -1127,     0, -1127,     0,     0, -1127, -1127, -1127, -1127,
4373    -1127,     0,     0, -1127, -1127, -1127, -1127, -1127, -1127, -1127,
4374    -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127,
4375        0, -1127,     0, -1127, -1127, -1127,     0, -1127, -1127, -1127,
4376    -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127,
4377    -1127, -1127, -1127, -1127, -1127,     0,     0, -1127,     0, -1127,
4378      618,     0, -1127, -1127, -1127,     0, -1127, -1127, -1127,     0,
4379    -1127, -1127, -1127, -1127, -1005,   302,     0,     1,   303,   106,
4380      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4381        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4382        0,     0,     2, -1005, -1005, -1005, -1005, -1005, -1005, -1005,
4383    -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005,
4384    -1005, -1005, -1005, -1005, -1005,     0, -1005, -1005, -1005, -1005,
4385    -1005, -1005, -1005, -1005, -1005, -1005, -1005,     0,     0,   307,
4386    -1005,     0, -1005,     0,     0,   308,   309,   310, -1005, -1005,
4387        0,     0, -1005, -1005, -1005, -1005, -1005, -1005,   311,   312,
4388    -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005,     0,
4389    -1005,     0,   313, -1005, -1005,     0,   314,   315,   316,   317,
4390      318,   319,   320,   321, -1005, -1005, -1005, -1005, -1005, -1005,
4391    -1005, -1005,   322,   323,     0,     0,   324,     0,   325, -1005,
4392        0, -1005,  1980,  1014,     0, -1005,   326,   327,     0,   328,
4393      329,   330,   331,  -999,  1983,     0,  -999,  -999,  -999,  -999,
4394        0,  -999,  -999,     0,     0,     0,     0,     0,     0,     0,
4395        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4396        0,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,
4397     -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,
4398     -999,  -999,  -999,  -999,     0,  -999,  -999,  -999,  -999,  -999,
4399     -999,  -999,  -999,  -999,  -999,  -999,     0,     0,  -999,  -999,
4400        0,  -999,     0,     0,  -999,  -999,  -999,  -999,  -999,     0,
4401        0,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,
4402     -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,     0,  -999,
4403        0,  -999,  -999,  -999,     0,  -999,  -999,  -999,  -999,  -999,
4404     -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,
4405     -999,  -999,  -999,     0,     0,  -999,     0,  -999,  -999,     0,
4406     -999,  -999,  -999,     0,  -999,  -999,  -999,     0,  -999,  -999,
4407     -999,  -999, -1128,   617,     0, -1128, -1128, -1128, -1128,     0,
4408    -1128, -1128,     0,     0,     0,     0,     0,     0,     0,     0,
4409        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4410    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4411    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4412    -1128, -1128, -1128,     0, -1128, -1128, -1128, -1128, -1128, -1128,
4413    -1128, -1128, -1128, -1128, -1128,     0,     0, -1128, -1128,     0,
4414    -1128,     0,     0, -1128, -1128, -1128, -1128, -1128,     0,     0,
4415    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4416    -1128, -1128, -1128, -1128, -1128, -1128, -1128,     0, -1128,     0,
4417    -1128, -1128, -1128,     0, -1128, -1128, -1128, -1128, -1128, -1128,
4418    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4419    -1128, -1128,     0,     0, -1128,     0, -1128,   618,     0, -1128,
4420    -1128, -1128,     0, -1128, -1128, -1128,     0, -1128, -1128, -1128,
4421    -1128, -1129,   617,     0, -1129, -1129, -1129, -1129,     0, -1129,
4422    -1129,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4423        0,     0,     0,     0,     0,     0,     0,     0,     0, -1129,
4424    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4425    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4426    -1129, -1129,     0, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4427    -1129, -1129, -1129, -1129,     0,     0, -1129, -1129,     0, -1129,
4428        0,     0, -1129, -1129, -1129, -1129, -1129,     0,     0, -1129,
4429    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4430    -1129, -1129, -1129, -1129, -1129, -1129,     0, -1129,     0, -1129,
4431    -1129, -1129,     0, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4432    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4433    -1129,     0,     0, -1129,     0, -1129,   618,     0, -1129, -1129,
4434    -1129,     0, -1129, -1129, -1129,     0, -1129, -1129, -1129, -1129,
4435    -1216,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4436        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4437        0,     0,     0,     0,     0,     0,     0,     0,     2, -1216,
4438    -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216,
4439    -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216,
4440    -1216,     0, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216,
4441    -1216, -1216, -1216,     0,     0,   307, -1216,     0, -1216,     0,
4442        0,   308,   309,   310, -1216, -1216,     0,     0, -1216, -1216,
4443    -1216, -1216, -1216, -1216,   311,   312, -1216, -1216, -1216, -1216,
4444    -1216, -1216, -1216, -1216, -1216,     0, -1216,     0,   313, -1216,
4445    -1216,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4446    -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216,   322,   323,
4447        0,     0,   324,     0,   325, -1216,     0, -1216, -1216, -1216,
4448        0, -1216,   326,   327,     0,   328,   329,   330,   331, -1000,
4449     2058,     0, -1000, -1000, -1000, -1000,     0, -1000, -1000,     0,
4450        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4451        0,     0,     0,     0,     0,     0,     0, -1000, -1000, -1000,
4452    -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
4453    -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
4454        0, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
4455    -1000, -1000,     0,     0, -1000, -1000,     0, -1000,     0,     0,
4456    -1000, -1000, -1000, -1000, -1000,     0,     0, -1000, -1000, -1000,
4457    -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
4458    -1000, -1000, -1000, -1000,     0, -1000,     0, -1000, -1000, -1000,
4459        0, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
4460    -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,     0,
4461        0, -1000,     0, -1000, -1000,     0, -1000, -1000, -1000,     0,
4462    -1000, -1000, -1000,     0, -1000, -1000, -1000, -1000,  -906,   583,
4463        0,  -906,  -906,  -906,  -906,     0,  -906,  -906,     0,     0,
4464        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4465        0,     0,     0,     0,     0,     0,  -906,  -906,  -906,  -906,
4466     -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,
4467     -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,     0,
4468        0,  -906,     0,     0,     0,     0,     0,     0,     0,     0,
4469        0,     0,     0,  -906,  -906,     0,  -906,     0,     0,  -906,
4470     -906,  -906,  -906,  -906,     0,     0,  -906,  -906,  -906,  -906,
4471     -906,  -906,  -906,  -906,  -906,  -906,  -906,     0,     0,  -906,
4472     -906,  -906,  -906,     0,  -906,     0,  -906,  -906,  -906,     0,
4473     -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,
4474     -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,     0,     0,
4475     -906,   846,  -906,  -906,     0,   585,  -906,  -906,     0,     0,
4476     -906,  -906,     0,  -906,  -906,  -906,  -906,   302,     0,     1,
4477      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4478        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4479        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4480      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4481       18,    19,   244,   245,    22,    23,    24,     0,   626,   627,
4482      628,   629,   630,   631,   632,   633,   634,   635,   636,     0,
4483        0,   307,   246,     0,     0,     0,     0,   308,   309,   310,
4484       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
4485      311,   637,   638,   248,   639,   640,   641,     0,     0,     0,
4486        0,     0,     0,     0,   313,     0,   249,     0,   314,   315,
4487      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4488      252,   253,   206,   207,   322,   323,     0,     0,   324,     0,
4489      325,   642,     0,     0,     0,   254,     0,   643,   326,   327,
4490        0,   328,   329,   330,   331,   302,     0,     1,   303,   106,
4491      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4492        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4493        0,     0,     2,   200,   201,   202,   203,   204,   234,   235,
4494      236,   237,   238,   239,   240,   241,   242,   243,    18,    19,
4495      244,   245,    22,    23,    24,     0,  1115,  1116,  1117,   629,
4496     1118,  1119,  1120,  1121,   634,   635,  1122,     0,     0,   307,
4497      246,     0,     0,     0,     0,   308,   309,   310,    28,    29,
4498        0,     0,     0,    32,     0,     0,     0,     0,   311,   637,
4499      638,   248,   639,   640,   641,     0,     0,     0,     0,     0,
4500        0,     0,   313,     0,   249,     0,   314,   315,   316,   317,
4501      318,   319,   320,   321,    43,    44,   250,   251,   252,   253,
4502      206,   207,   322,   323,     0,     0,   324,     0,   325,   642,
4503        0,     0,     0,   254,     0,   643,   326,   327,     0,   328,
4504      329,   330,   331,   302,     0,     1,   303,   106,   304,     0,
4505      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4506        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4507        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4508      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4509       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
4510        0,     0,     0,     0,     0,     0,     0,   307,   246,     0,
4511        0,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4512        0,    32,     0,     0,     0,     0,   311,   637,    38,   248,
4513        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4514      313,     0,   249,     0,   314,   315,   316,   317,   318,   319,
4515      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4516      322,   323,     0,     0,   324,     0,   325,   984,     0,   985,
4517      986,   742,     0,     0,   326,   327,     0,   328,   329,   330,
4518      331,  1247,     0,     1,   303,   106,   304,     0,   305,   306,
4519        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4520        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
4521      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
4522      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
4523       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4524        0,     0,     0,     0,     0,   307,   246,     0,     0,     0,
4525        0,   308,   309,   310,    28,    29,     0,     0,     0,    32,
4526        0,     0,     0,     0,   311,   637,    38,   248,     0,     0,
4527        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4528      249,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4529       43,    44,   250,   251,   252,   253,   206,   207,   322,   323,
4530        0,     0,   324,     0,   325,   984,     0,   985,  -110,   742,
4531        0,     0,   326,   327,     0,   328,   329,   330,   331,  1254,
4532        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4533        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4534        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
4535      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
4536      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
4537        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4538        0,     0,     0,   307,   246,     0,     0,     0,     0,   308,
4539      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4540        0,     0,   311,   637,    38,   248,     0,     0,     0,     0,
4541        0,     0,     0,     0,     0,     0,   313,     0,   249,     0,
4542      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4543      250,   251,   252,   253,   206,   207,   322,   323,     0,     0,
4544      324,     0,   325,   984,     0,   985,   -98,   742,     0,     0,
4545      326,   327,     0,   328,   329,   330,   331,  1258,     0,     1,
4546      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4547        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4548        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4549      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4550       18,    19,   244,   245,    22,    23,    24,     0,     0,     0,
4551        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4552        0,   307,   246,     0,     0,     0,     0,   308,   309,   310,
4553       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
4554      311,   637,    38,   248,     0,     0,     0,     0,     0,     0,
4555        0,     0,     0,     0,   313,     0,   249,     0,   314,   315,
4556      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4557      252,   253,   206,   207,   322,   323,     0,     0,   324,     0,
4558      325,   984,     0,   985,  -102,   742,     0,     0,   326,   327,
4559        0,   328,   329,   330,   331,   302,     0,     1,   303,   106,
4560      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4561        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4562        0,     0,     2,   200,   201,   202,   203,   204,   234,   235,
4563      236,   237,   238,   239,   240,   241,   242,   243,    18,    19,
4564      244,   245,    22,    23,    24,     0,     0,     0,     0,     0,
4565        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
4566      246,     0,     0,     0,     0,   308,   309,   310,    28,    29,
4567        0,     0,     0,    32,     0,     0,     0,     0,   311,   637,
4568       38,   248,     0,     0,     0,     0,     0,     0,     0,     0,
4569        0,     0,   313,     0,   249,     0,   314,   315,   316,   317,
4570      318,   319,   320,   321,    43,    44,   250,   251,   252,   253,
4571      206,   207,   322,   323,     0,     0,   324,     0,   325,  1512,
4572        0,   985,   -65,   742,     0,     0,   326,   327,     0,   328,
4573      329,   330,   331,   302,     0,     1,   303,   106,   304,     0,
4574      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4575        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4576        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4577      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4578       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
4579        0,     0,     0,     0,     0,     0,     0,   307,   246,     0,
4580        0,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4581        0,    32,     0,     0,     0,     0,   311,   637,    38,   248,
4582        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4583      313,     0,   249,     0,   314,   315,   316,   317,   318,   319,
4584      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4585      322,   323,     0,     0,   324,     0,   325,  1521,     0,   985,
4586     1522,   742,     0,     0,   326,   327,     0,   328,   329,   330,
4587      331,  1579,     0,     1,   303,   106,   304,     0,   305,   306,
4588        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4589        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
4590      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
4591      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
4592       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4593        0,     0,     0,     0,     0,   307,   246,     0,     0,     0,
4594        0,   308,   309,   310,    28,    29,     0,     0,     0,    32,
4595        0,     0,     0,     0,   311,   637,    38,   248,     0,     0,
4596        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4597      249,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4598       43,    44,   250,   251,   252,   253,   206,   207,   322,   323,
4599        0,     0,   324,     0,   325,   984,     0,   985,   -81,   742,
4600        0,     0,   326,   327,     0,   328,   329,   330,   331,   302,
4601        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4602        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4603        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
4604      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
4605      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
4606        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4607        0,     0,     0,   307,   246,     0,     0,     0,     0,   308,
4608      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4609        0,     0,   311,   637,    38,   248,     0,     0,     0,     0,
4610        0,     0,     0,     0,     0,     0,   313,     0,   249,     0,
4611      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4612      250,   251,   252,   253,   206,   207,   322,   323,     0,     0,
4613      324,     0,   325,  1521,     0,   985,  -107,   742,     0,     0,
4614      326,   327,     0,   328,   329,   330,   331,   302,     0,     1,
4615      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4616        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4617        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4618      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4619       18,    19,   244,   245,    22,    23,    24,     0,     0,     0,
4620        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4621        0,   307,   246,     0,     0,     0,     0,   308,   309,   310,
4622       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
4623      311,   637,    38,   248,     0,     0,     0,     0,     0,     0,
4624        0,     0,     0,     0,   313,     0,   249,     0,   314,   315,
4625      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4626      252,   253,   206,   207,   322,   323,     0,     0,   324,     0,
4627      325,  1521,     0,   985,   -97,   742,     0,     0,   326,   327,
4628        0,   328,   329,   330,   331,   302,     0,     1,   303,   106,
4629      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4630        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4631        0,     0,     2,   200,   201,   202,   203,   204,   234,   235,
4632      236,   237,   238,   239,   240,   241,   242,   243,    18,    19,
4633      244,   245,    22,    23,    24,     0,     0,     0,     0,     0,
4634        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
4635      246,     0,     0,     0,     0,   308,   309,   310,    28,    29,
4636        0,     0,     0,    32,     0,     0,     0,     0,   311,   637,
4637       38,   248,     0,     0,     0,     0,     0,     0,     0,     0,
4638        0,     0,   313,     0,   249,     0,   314,   315,   316,   317,
4639      318,   319,   320,   321,    43,    44,   250,   251,   252,   253,
4640      206,   207,   322,   323,     0,     0,   324,     0,   325,  1521,
4641        0,   985,  -101,   742,     0,     0,   326,   327,     0,   328,
4642      329,   330,   331,  1761,     0,     1,   303,   106,   304,     0,
4643      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4644        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4645        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4646      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4647       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
4648        0,     0,     0,     0,     0,     0,     0,   307,   246,     0,
4649        0,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4650        0,    32,     0,     0,     0,     0,   311,   637,    38,   248,
4651        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4652      313,     0,   249,     0,   314,   315,   316,   317,   318,   319,
4653      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4654      322,   323,     0,     0,   324,     0,   325,   984,     0,   985,
4655      -88,   742,     0,     0,   326,   327,     0,   328,   329,   330,
4656      331,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4657        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4658        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
4659      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
4660      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
4661       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4662        0,     0,     0,     0,     0,   307,   246,     0,     0,     0,
4663        0,   308,   309,   310,    28,    29,     0,     0,     0,    32,
4664        0,     0,     0,     0,   311,   637,    38,   248,     0,     0,
4665        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4666      249,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4667       43,    44,   250,   251,   252,   253,   206,   207,   322,   323,
4668        0,     0,   324,     0,   325,  1521,     0,   985,   -78,   742,
4669        0,     0,   326,   327,     0,   328,   329,   330,   331,   302,
4670        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4671        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4672        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
4673      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
4674      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
4675        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4676        0,     0,     0,   307,   246,     0,     0,     0,     0,   308,
4677      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4678        0,     0,   311,   637,    38,   248,     0,     0,     0,     0,
4679        0,     0,     0,     0,     0,     0,   313,     0,   249,     0,
4680      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4681      250,   251,   252,   253,   206,   207,   322,   323,     0,     0,
4682      324,     0,   325,  1521,     0,   985,   -85,   742,     0,     0,
4683      326,   327,     0,   328,   329,   330,   331,   302,     0,     1,
4684      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4685        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4686        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4687        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
4688       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
4689        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4690        0,   307,    27,     0,     0,     0,     0,   308,   309,   310,
4691       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
4692      311,   406,    38,    39,     0,     0,     0,     0,     0,     0,
4693        0,     0,     0,     0,   313,     0,    40,     0,   314,   315,
4694      316,   317,   318,   319,   320,   321,    43,    44,    45,    46,
4695       47,    48,   206,   207,   322,   323,     0,     0,   324,   302,
4696      325,     1,   303,   106,   304,     0,   305,   306,   326,   327,
4697        0,   328,   329,   330,   331,     0,     0,     0,     0,     0,
4698        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
4699      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
4700       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
4701        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4702        0,     0,     0,   864,    27,     0,     0,     0,     0,   308,
4703      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4704       35,    36,   311,   406,    38,    39,     0,     0,     0,     0,
4705        0,     0,     0,     0,     0,     0,   313,     0,    40,     0,
4706      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4707       45,    46,    47,    48,   206,   207,   322,   323,     0,     0,
4708      324,   302,   325,     1,   303,   106,   304,     0,   305,   306,
4709      326,   327,     0,   328,   329,   330,   331,     0,     0,     0,
4710        0,     0,     0,     0,     0,     0,     0,     0,     2,     0,
4711        0,     0,     0,     0,     8,     9,    10,    11,    12,    13,
4712       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
4713       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4714        0,     0,     0,     0,     0,   307,    27,     0,     0,     0,
4715        0,   308,   309,   310,    28,    29,     0,     0,     0,    32,
4716        0,     0,    35,    36,   311,   406,    38,    39,     0,     0,
4717        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4718       40,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4719       43,    44,    45,    46,    47,    48,     0,     0,   322,   323,
4720        0,     0,   324,   731,   325,     0,     0,     0,     0,     0,
4721        0,     0,   326,   327,     0,   328,   329,   330,   331,   302,
4722        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4723        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4724        0,     0,     0,     0,     0,     0,     2,     0,     0,     0,
4725        0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
4726       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
4727        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4728        0,     0,     0,  1194,    27,     0,     0,     0,     0,   308,
4729      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4730       35,    36,   311,   406,    38,    39,     0,     0,     0,     0,
4731        0,     0,     0,     0,     0,     0,   313,     0,    40,     0,
4732      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4733       45,    46,    47,    48,     0,     0,   322,   323,     0,     0,
4734      324,   731,   325,     0,     0,     0,     0,     0,     0,     0,
4735      326,   327,     0,   328,   329,   330,   331,   302,     0,     1,
4736      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4737        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4738        0,     0,     0,     0,     2,     0,     0,     0,     0,     0,
4739        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
4740       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
4741        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4742        0,   307,    27,     0,     0,     0,     0,   308,   309,   310,
4743       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
4744      311,   406,    38,    39,     0,     0,     0,     0,     0,     0,
4745        0,     0,     0,     0,   313,     0,    40,     0,   314,   315,
4746      316,   317,   318,   319,   320,   321,    43,    44,    45,    46,
4747       47,    48,     0,     0,   322,   323,     0,     0,   324,   302,
4748      325,     1,   303,   106,   304,   254,   305,   306,   326,   327,
4749        0,   328,   329,   330,   331,     0,     0,     0,     0,     0,
4750        0,     0,     0,     0,     0,     0,     2,     0,     0,     0,
4751        0,     0,     8,     9,    10,   564,    12,    13,    14,    15,
4752       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
4753        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4754        0,     0,     0,   307,    27,     0,     0,     0,     0,   308,
4755      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4756       35,    36,   311,   406,    38,    39,     0,   302,     0,     1,
4757      303,   106,   304,     0,   305,   306,   313,     0,    40,     0,
4758      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4759       45,    46,    47,    48,     2,     0,   322,   887,     0,     0,
4760      888,   731,   325,     0,     0,     0,     0,     0,     0,     0,
4761      326,   327,     0,   328,   329,   330,   331,     0,  1115,  1116,
4762     1117,   629,  1118,  1119,  1120,  1121,   634,   635,  1122,     0,
4763        0,   307,     0,     0,     0,     0,     0,   308,   309,   310,
4764        0,     0,     0,     0,     0,    32,     0,     0,     0,     0,
4765      311,   312,  1123,     0,   639,   640,   641,     0,     0,     0,
4766        0,     0,     0,     0,   313,     0,     0,     0,   314,   315,
4767      316,   317,   318,   319,   320,   321,    43,    44,     0,     0,
4768        0,     0,     0,     0,   322,   323,     0,     0,   324,  -452,
4769      325,   642,     0,  -452,     0,   254,     0,   643,   326,   327,
4770        0,   328,   329,   330,   331,   302,     0,     1,   303,   106,
4771      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4772        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4773        0,     0,     2,     0,     0,     0,     0,     0,     0,     0,
4774        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4775        0,     0,     0,     0,     0,     0,  1115,  1116,  1117,   629,
4776     1118,  1119,  1120,  1121,   634,   635,  1122,     0,     0,   307,
4777        0,     0,     0,     0,     0,   308,   309,   310,     0,     0,
4778        0,     0,     0,    32,     0,     0,     0,     0,   311,   312,
4779     1123,     0,   639,   640,   641,     0,     0,     0,     0,     0,
4780        0,     0,   313,     0,     0,     0,   314,   315,   316,   317,
4781      318,   319,   320,   321,    43,    44,     0,     0,     0,     0,
4782        0,     0,   322,   323,     0,     0,   324,  1158,   325,   642,
4783        0,  1159,     0,   254,     0,   643,   326,   327,     0,   328,
4784      329,   330,   331,  1834,     0,     1,   303,   106,   304,     0,
4785      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4786        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4787        2,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4788        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4789        0,     0,     0,     0,  1115,  1116,  1117,   629,  1118,  1119,
4790     1120,  1121,   634,   635,  1122,     0,     0,   307,     0,     0,
4791        0,     0,     0,   308,   309,   310,     0,     0,     0,     0,
4792        0,    32,     0,     0,     0,     0,   311,   312,  1123,     0,
4793      639,   640,   641,     0,     0,     0,     0,     0,     0,     0,
4794      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
4795      320,   321,    43,    44,     0,     0,     0,     0,     0,     0,
4796      322,   323,     0,     0,   324,     0,   325,   642,     0,     0,
4797        0,   254,     0,   643,   326,   327,     0,   328,   329,   330,
4798      331,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4799        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4800        0,     0,     0,     0,     0,     0,     0,     0,     2,     0,
4801        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4802        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4803        0,     0,   626,   627,   628,   629,   630,   631,   632,   633,
4804      634,   635,   636,     0,     0,   307,     0,     0,     0,     0,
4805        0,   308,   309,   310,     0,     0,     0,     0,     0,    32,
4806        0,     0,     0,     0,   311,   312,  1123,     0,   639,   640,
4807      641,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4808        0,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4809       43,    44,     0,     0,     0,     0,     0,     0,   322,   323,
4810        0,     0,   324,     0,   325,   642,     0,     0,     0,   254,
4811        0,   643,   326,   327,     0,   328,   329,   330,   331,   302,
4812        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4813        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4814        0,     0,     0,     0,     0,     0,     2,     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,     0,     0,     0,     0,     0,     0,     0,
4818        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
4819      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
4820        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
4821        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
4822      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4823        0,     2,     0,     0,     0,     0,   322,   323,     0,     0,
4824      324,  1158,   325,     0,     0,  1725,     0,     0,     0,  1872,
4825      326,   327,     0,   328,   329,   330,   331,     0,     0,     0,
4826        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
4827        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
4828        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
4829        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4830        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
4831      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
4832        0,   322,   323,     0,     0,   324,  1158,   325,     0,     0,
4833     1725,     0,     0,     0,  1876,   326,   327,     0,   328,   329,
4834      330,   331,     0,     0,     0,     0,     0,     0,     0,     0,
4835        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
4836      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
4837        0,     0,   311,   312,  2003,     0,     1,   303,   106,   304,
4838        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
4839      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4840        0,     2,     0,     0,     0,     0,   322,   323,     0,     0,
4841      324,  1158,   325,  1855,     0,  1159,     0,     0,     0,     0,
4842      326,   327,     0,   328,   329,   330,   331,     0,     0,     0,
4843        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
4844        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
4845        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
4846        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4847        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
4848      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
4849        0,   322,   323,     0,     0,   324,  1158,   325,  1855,     0,
4850     1159,     0,     0,     0,     0,   326,   327,     0,   328,   329,
4851      330,   331,     0,     0,     0,     0,     0,     0,     0,     0,
4852        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
4853      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
4854        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
4855        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
4856      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4857        0,     2,     0,     0,     0,     0,   322,   323,     0,     0,
4858      324,  2068,   325,  2069,     0,  1154,     0,     0,     0,     0,
4859      326,   327,     0,   328,   329,   330,   331,     0,     0,     0,
4860        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
4861        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
4862        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
4863        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4864        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
4865      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
4866        0,   322,   323,     0,     0,   324,  1158,   325,  2067,     0,
4867     1159,     0,     0,     0,     0,   326,   327,     0,   328,   329,
4868      330,   331,     0,     0,     0,     0,     0,   302,     0,     1,
4869      303,   106,   304,   307,   305,   306,     0,     0,     0,   308,
4870      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
4871        0,     0,   311,   312,     2,     0,     0,     0,     0,     0,
4872        0,     0,     0,     0,     0,     0,   313,     0,     0,     0,
4873      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4874        0,     0,     0,     0,     0,     0,   322,   323,     0,     0,
4875      324,   307,   325,  1153,     0,  1154,     0,   308,   309,   310,
4876      326,   327,     0,   328,   329,   330,   331,     0,     0,     0,
4877      311,   312,   302,     0,     1,   303,   106,   304,     0,   305,
4878      306,     0,     0,     0,   313,     0,     0,     0,   314,   315,
4879      316,   317,   318,   319,   320,   321,     0,     0,     0,     2,
4880        0,     0,     0,     0,   322,   323,     0,     0,   324,  1263,
4881      325,     0,     0,     0,     0,   742,     0,     0,   326,   327,
4882        0,   328,   329,   330,   331,     0,     0,   302,     0,     1,
4883      303,   106,   304,     0,   305,   306,   307,     0,     0,     0,
4884        0,     0,   308,   309,   310,     0,     0,     0,     0,     0,
4885        0,     0,     0,     0,     2,   311,   312,     0,     0,     0,
4886        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
4887        0,     0,     0,   314,   315,   316,   317,   318,   319,   320,
4888      321,     0,     0,     0,     0,     0,     0,     0,     0,   322,
4889      323,   307,     0,   324,  1330,   325,     0,   308,   309,   310,
4890      742,     0,     0,   326,   327,     0,   328,   329,   330,   331,
4891      311,   312,   302,     0,     1,   303,   106,   304,     0,   305,
4892      306,     0,     0,     0,   313,     0,     0,     0,   314,   315,
4893      316,   317,   318,   319,   320,   321,     0,     0,     0,     2,
4894        0,     0,     0,     0,   322,   323,     0,     0,   324,     0,
4895      325,  1134,     0,     0,     0,   742,     0,     0,   326,   327,
4896        0,   328,   329,   330,   331,     0,     0,     0,     0,     0,
4897        0,     0,     0,     0,     0,     0,   307,     0,     0,     0,
4898        0,     0,   308,   309,   310,     0,     0,     0,     0,     0,
4899        0,     0,     0,     0,     0,   311,   312,  1612,     0,     1,
4900      303,   106,   304,     0,   305,   306,     0,     0,     0,   313,
4901        0,     0,     0,   314,   315,   316,   317,   318,   319,   320,
4902      321,     0,     0,     0,     2,     0,     0,     0,     0,   322,
4903      323,     0,     0,   324,  1158,   325,     0,     0,  1159,     0,
4904        0,     0,     0,   326,   327,     0,   328,   329,   330,   331,
4905        0,     0,   302,     0,     1,   303,   106,   304,     0,   305,
4906      306,   307,     0,     0,     0,     0,     0,   308,   309,   310,
4907        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4908      311,   312,     0,     0,     0,     0,     0,     0,     0,     0,
4909        0,     0,     0,     0,   313,     0,     0,     0,   314,   315,
4910      316,   317,   318,   319,   320,   321,     0,     0,     0,     0,
4911        0,     0,     0,     0,   322,   323,   307,     0,   324,  1613,
4912      325,  1614,   308,   309,   310,     0,     0,     0,   326,   327,
4913        0,   328,   329,   330,   331,   311,   312,   302,     0,     1,
4914      303,   106,   304,     0,   305,   306,     0,     0,     0,   313,
4915        0,     0,     0,   314,   315,   316,   317,   318,   319,   320,
4916      321,     0,     0,     0,     2,     0,     0,     0,     0,   322,
4917      323,     0,     0,   324,     0,   325,  1622,     0,  1154,     0,
4918        0,     0,     0,   326,   327,     0,   328,   329,   330,   331,
4919        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4920        0,   307,     0,     0,     0,     0,     0,   308,   309,   310,
4921        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4922      311,   312,   302,     0,     1,   303,   106,   304,     0,   305,
4923      306,     0,     0,     0,   313,     0,     0,     0,   314,   315,
4924      316,   317,   318,   319,   320,   321,     0,     0,     0,     2,
4925        0,     0,     0,     0,   322,   323,     0,     0,   324,  1692,
4926      325,     0,     0,  1154,     0,     0,     0,     0,   326,   327,
4927        0,   328,   329,   330,   331,     0,     0,     0,     0,     0,
4928      302,     0,     1,   303,   106,   304,   307,   305,   306,     0,
4929        0,     0,   308,   309,   310,     0,     0,     0,     0,     0,
4930        0,     0,     0,     0,     0,   311,   312,     2,     0,     0,
4931        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
4932        0,     0,     0,   314,   315,   316,   317,   318,   319,   320,
4933      321,     0,     0,     0,     0,     0,     0,     0,     0,   322,
4934      323,     0,     0,   324,   307,   325,     0,     0,  1154,     0,
4935      308,   309,   310,   326,   327,  1719,   328,   329,   330,   331,
4936        0,     0,     0,   311,   312,   302,     0,     1,   303,   106,
4937      304,     0,   305,   306,     0,     0,     0,   313,     0,     0,
4938        0,   314,   315,   316,   317,   318,   319,   320,   321,     0,
4939        0,     0,     2,     0,     0,     0,     0,   322,   323,     0,
4940        0,   324,     0,   325,     0,     0,  1722,     0,     0,     0,
4941     1723,   326,   327,     0,   328,   329,   330,   331,     0,     0,
4942        0,     0,     0,   302,     0,     1,   303,   106,   304,   307,
4943      305,   306,     0,     0,     0,   308,   309,   310,     0,     0,
4944        0,     0,     0,     0,     0,     0,     0,     0,   311,   312,
4945        2,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4946        0,     0,   313,     0,     0,     0,   314,   315,   316,   317,
4947      318,   319,   320,   321,     0,     0,     0,     0,     0,     0,
4948        0,     0,   322,   323,     0,     0,   324,   307,   325,     0,
4949        0,  1154,     0,   308,   309,   310,   326,   327,  1729,   328,
4950      329,   330,   331,     0,     0,     0,   311,   312,   302,     0,
4951        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
4952      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
4953      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
4954      322,   323,     0,     0,   324,     0,   325,     0,     0,  1722,
4955        0,     0,     0,  1731,   326,   327,     0,   328,   329,   330,
4956      331,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4957        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
4958      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4959        0,   311,   312,   302,     0,     1,   303,   106,   304,     0,
4960      305,   306,     0,     0,     0,   313,     0,     0,     0,   314,
4961      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
4962        2,     0,     0,     0,     0,   322,   323,     0,     0,   324,
4963     1830,   325,     0,     0,  1154,     0,     0,     0,     0,   326,
4964      327,     0,   328,   329,   330,   331,     0,     0,     0,     0,
4965        0,     0,     0,     0,     0,     0,     0,   307,     0,     0,
4966        0,     0,     0,   308,   309,   310,     0,     0,     0,     0,
4967        0,     0,     0,     0,     0,     0,   311,   312,   302,     0,
4968        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
4969      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
4970      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
4971      322,   323,     0,     0,   324,  1832,   325,     0,     0,  1154,
4972        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
4973      331,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4974        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
4975      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4976        0,   311,   312,   302,     0,     1,   303,   106,   304,     0,
4977      305,   306,     0,     0,     0,   313,     0,     0,     0,   314,
4978      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
4979        2,     0,     0,     0,     0,   322,   323,     0,     0,   324,
4980     1833,   325,     0,     0,  1159,     0,     0,     0,     0,   326,
4981      327,     0,   328,   329,   330,   331,     0,     0,     0,     0,
4982        0,     0,     0,     0,     0,     0,     0,   307,     0,     0,
4983        0,     0,     0,   308,   309,   310,     0,     0,     0,     0,
4984        0,     0,     0,     0,     0,     0,   311,   312,   302,     0,
4985        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
4986      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
4987      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
4988      322,   323,     0,     0,   324,  1836,   325,     0,     0,  1154,
4989        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
4990      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
4991      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
4992      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4993        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
4994        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
4995      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
4996        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
4997     1613,   325,  1614,   308,   309,   310,     0,     0,     0,   326,
4998      327,     0,   328,   329,   330,   331,   311,   312,  1856,     0,
4999        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5000      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5001      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5002      322,   323,     0,     0,   324,     0,   325,  1853,     0,  1154,
5003        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5004      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5005      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5006      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5007        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5008        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5009      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5010        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5011     1857,   325,  1614,   308,   309,   310,     0,     0,     0,   326,
5012      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5013        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5014      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5015      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5016      322,   323,     0,     0,   324,     0,   325,     0,     0,  1722,
5017        0,     0,     0,  1870,   326,   327,     0,   328,   329,   330,
5018      331,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5019        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
5020      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5021        0,   311,   312,   302,     0,     1,   303,   106,   304,     0,
5022      305,   306,     0,     0,     0,   313,     0,     0,     0,   314,
5023      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5024        2,     0,     0,     0,     0,   322,   323,     0,     0,   324,
5025        0,   325,     0,     0,  1722,     0,     0,     0,  1874,   326,
5026      327,     0,   328,   329,   330,   331,     0,     0,     0,     0,
5027        0,     0,     0,     0,     0,     0,     0,   307,     0,     0,
5028        0,     0,     0,   308,   309,   310,     0,     0,     0,     0,
5029        0,     0,     0,     0,     0,     0,   311,   312,   302,     0,
5030        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5031      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5032      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5033      322,   323,     0,     0,   324,  1988,   325,     0,     0,  1154,
5034        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5035      331,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5036        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
5037      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5038        0,   311,   312,   302,     0,     1,   303,   106,   304,     0,
5039      305,   306,     0,     0,     0,   313,     0,     0,     0,   314,
5040      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5041        2,     0,     0,     0,     0,   322,   323,     0,     0,   324,
5042     1831,   325,     0,     0,  1159,     0,     0,     0,     0,   326,
5043      327,     0,   328,   329,   330,   331,     0,     0,     0,     0,
5044        0,     0,     0,     0,     0,     0,     0,   307,     0,     0,
5045        0,     0,     0,   308,   309,   310,     0,     0,     0,     0,
5046        0,     0,     0,     0,     0,     0,   311,   312,   302,     0,
5047        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5048      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5049      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5050      322,   323,     0,     0,   324,  1995,   325,     0,     0,  1154,
5051        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5052      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5053      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5054      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5055        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5056        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5057      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5058        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5059     1857,   325,  1614,   308,   309,   310,     0,     0,     0,   326,
5060      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5061        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5062      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5063      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5064      322,   323,     0,     0,   324,  2072,   325,     0,     0,  1154,
5065        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5066      331,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5067        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
5068      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5069        0,   311,   312,   302,     0,     1,   303,   106,   304,     0,
5070      305,   306,     0,     0,     0,   313,     0,     0,     0,   314,
5071      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5072        2,     0,     0,     0,     0,   322,   323,     0,     0,   324,
5073        0,   325,     0,     0,     0,  2101,  1014,     0,     0,   326,
5074      327,     0,   328,   329,   330,   331,     0,     0,     0,     0,
5075        0,     0,     0,     0,     0,     0,     0,   307,     0,     0,
5076        0,     0,     0,   308,   309,   310,     0,     0,     0,     0,
5077        0,     0,     0,     0,     0,     0,   311,   312,   302,     0,
5078        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5079      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5080      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5081      322,   323,     0,     0,   324,  2104,   325,     0,     0,  1154,
5082        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5083      331,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5084        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
5085      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5086        0,   311,   312,   302,     0,     1,   303,   106,   304,     0,
5087      305,   306,     0,     0,     0,   313,     0,     0,     0,   314,
5088      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5089        2,     0,     0,     0,     0,   322,   323,     0,     0,   324,
5090     2105,   325,     0,     0,  1154,     0,     0,     0,     0,   326,
5091      327,     0,   328,   329,   330,   331,     0,     0,     0,     0,
5092        0,     0,     0,     0,     0,     0,     0,   307,     0,     0,
5093        0,     0,     0,   308,   309,   310,     0,     0,     0,     0,
5094        0,     0,     0,     0,     0,     0,   311,   312,   302,     0,
5095        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5096      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5097      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5098      322,   323,     0,     0,   324,  2133,   325,     0,     0,  1154,
5099        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5100      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5101      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5102      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5103        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5104        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5105      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5106        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5107        0,   325,     0,   308,   309,   310,     0,     0,     0,   326,
5108      327,   548,   328,   329,   330,   331,   311,   312,   302,     0,
5109        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5110      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5111      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5112      322,   323,     0,     0,   324,     0,   325,     0,     0,     0,
5113        0,   742,     0,     0,   326,   327,     0,   328,   329,   330,
5114      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5115      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5116      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5117        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5118        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5119      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5120        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5121        0,   325,     0,   308,   309,   310,     0,     0,     0,   326,
5122      327,   838,   328,   329,   330,   331,   311,   312,   302,     0,
5123        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5124      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5125      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5126      322,   323,     0,     0,   324,     0,   325,     0,     0,     0,
5127        0,     0,     0,     0,   326,   327,   842,   328,   329,   330,
5128      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5129      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5130      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5131        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5132        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5133      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5134        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5135        0,   325,     0,   308,   309,   310,  1014,     0,     0,   326,
5136      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5137        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5138      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5139      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5140      322,   323,     0,     0,   324,     0,   325,     0,     0,     0,
5141        0,     0,     0,     0,   326,   327,  1055,   328,   329,   330,
5142      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5143      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5144      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5145        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5146        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5147      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5148        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5149        0,   325,     0,   308,   309,   310,     0,     0,  1107,   326,
5150      327,     0,   328,   329,   330,   331,   311,   312,  1457,     0,
5151        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5152      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5153      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5154      322,   323,     0,     0,   324,   731,   325,     0,     0,     0,
5155        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5156      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5157      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5158      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5159        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5160        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5161      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5162        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5163        0,   325,     0,   308,   309,   310,   742,     0,     0,   326,
5164      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5165        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5166      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5167      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5168      322,   323,     0,     0,   324,     0,   325,     0,     0,     0,
5169        0,     0,     0,     0,   326,   327,  1560,   328,   329,   330,
5170      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5171      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5172      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5173        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5174        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5175      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5176        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5177     1596,   325,     0,   308,   309,   310,     0,     0,     0,   326,
5178      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5179        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5180      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5181      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5182      322,   323,     0,     0,   324,     0,   325,     0,     0,     0,
5183        0,     0,     0,  1599,   326,   327,     0,   328,   329,   330,
5184      331,     0,     0,  1790,     0,     1,   303,   106,   304,     0,
5185      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5186      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5187        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5188        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5189      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5190        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5191        0,   325,     0,   308,   309,   310,  1789,     0,     0,   326,
5192      327,     0,   328,   329,   330,   331,   311,   312,  1793,     0,
5193        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5194      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5195      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5196      322,   323,     0,     0,   324,     0,   325,     0,     0,     0,
5197        0,   742,     0,     0,   326,   327,     0,   328,   329,   330,
5198      331,     0,     0,  1797,     0,     1,   303,   106,   304,     0,
5199      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5200      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5201        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5202        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5203      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5204        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5205        0,   325,     0,   308,   309,   310,   742,     0,     0,   326,
5206      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5207        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5208      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5209      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5210      322,   323,     0,     0,   324,     0,   325,     0,     0,     0,
5211        0,   742,     0,     0,   326,   327,     0,   328,   329,   330,
5212      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5213      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5214      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5215        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5216        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5217      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5218        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5219     1843,   325,     0,   308,   309,   310,     0,     0,     0,   326,
5220      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5221        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5222      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5223      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5224      322,   323,     0,     0,  1903,     0,   325,     0,     0,     0,
5225        0,  1789,     0,     0,   326,   327,     0,   328,   329,   330,
5226      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5227      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5228      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5229        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5230        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5231      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5232        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5233     2004,   325,     0,   308,   309,   310,     0,     0,     0,   326,
5234      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5235        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5236      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5237      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5238      322,   323,     0,     0,   324,  2063,   325,     0,     0,     0,
5239        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5240      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5241      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5242      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5243        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5244        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5245      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5246        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5247        0,   325,     0,   308,   309,   310,     0,     0,     0,   326,
5248      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5249        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5250      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5251      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5252      322,   323,     0,     0,   702,     0,   325,     0,     0,     0,
5253        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5254      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5255      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5256      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5257        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5258        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5259      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5260        0,     0,     0,     0,     0,   322,   323,   307,     0,   705,
5261        0,   325,     0,   308,   309,   310,     0,     0,     0,   326,
5262      327,     0,   328,   329,   330,   331,   311,   312,     0,     0,
5263        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5264      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5265      320,   321,     0,  -894,   583,     0,  -894,  -894,  -894,     0,
5266      322,   323,     0,     0,   728,     0,   325,     0,     0,     0,
5267        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5268      331,  -894,  -894,  -894,  -894,  -894,  -894,  -894,  -894,  -894,
5269     -894,  -894,  -894,  -894,  -894,  -894,  -894,  -894,  -894,  -894,
5270     -894,  -894,  -894,  -894,     0,     0,  -894,     0,     0,     0,
5271        0,     0,     0,     0,     0,     0,     0,     0,  -894,  -894,
5272        0,  -894,     0,     0,  -894,  -894,     0,  -894,  -894,     0,
5273        0,  -894,  -894,  -894,  -894,  -894,  -894,     0,  -894,  -894,
5274     -894,  -894,     0,     0,  -894,  -894,  -894,  -894,     0,  -894,
5275        0,  -894,  -894,  -894,     0,  -894,  -894,  -894,  -894,  -894,
5276     -894,  -894,     0,  -894,  -894,  -894,  -894,  -894,  -894,  -894,
5277     -894,  -894,  -894,     0,     0,  -894,   584,  -894,  -894,     0,
5278      585,  -894,     0,     0,     0,  -894,  -894,  -189,   905,     0,
5279     -189,  -189,  -189,     0,     0,     0,     0,     0,     0,     0,
5280        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5281        0,     0,     0,     0,     0,  -189,  -189,  -189,  -189,  -189,
5282     -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
5283     -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,     0,     0,
5284     -189,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5285        0,     0,  -189,  -189,     0,  -189,     0,     0,  -189,  -189,
5286        0,  -189,  -189,     0,     0,  -189,  -189,  -189,  -189,  -189,
5287     -189,     0,  -189,  -189,  -189,  -189,     0,     0,  -189,  -189,
5288     -189,  -189,     0,  -189,     0,  -189,  -189,  -189,     0,  -189,
5289     -189,  -189,  -189,  -189,  -189,  -189,     0,  -189,  -189,  -189,
5290     -189,  -189,  -189,  -189,  -189,  -189,  -189,     0,     0,  -189,
5291        0,  -189,   906,     0,   907,  -189,     0,     0,     0,  -189,
5292     -189,  -253,   919,     0,     1,   303,   106,     0,     0,     0,
5293        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5294        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5295      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5296       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5297       23,    24,     0,     0,  -253,     0,     0,     0,     0,     0,
5298        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5299        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5300       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5301        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5302      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5303        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5304       51,     0,     0,   436,     0,   437,   438,  -251,   922,  -253,
5305        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5306        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5307        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5308      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5309       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5310     -251,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5311        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5312        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5313       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5314      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5315      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5316       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5317        0,   437,   438,  -254,   919,  -251,     1,   303,   106,   326,
5318      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5319        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5320        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5321       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5322       21,    22,    23,    24,     0,     0,  -254,     0,     0,     0,
5323        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5324        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5325        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5326       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5327        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5328      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5329      207,   322,    51,     0,     0,   436,     0,   437,   438,  -252,
5330      922,  -254,     1,   303,   106,   326,   327,     0,     0,     0,
5331        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5332        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5333      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5334       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5335        0,     0,  -252,     0,     0,     0,     0,     0,     0,     0,
5336        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5337      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5338      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5339      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5340        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5341       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5342        0,   436,     0,   437,   438,     0,   423,  -252,     1,   303,
5343      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5344        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5345        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5346        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5347       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5348        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5349      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5350       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5351      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5352        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5353      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5354       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5355      438,     0,   489,   439,     1,   303,   106,   326,   327,     0,
5356        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5357        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5358      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5359       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5360       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5361        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5362        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5363       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5364        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5365      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5366        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5367       51,     0,     0,   436,     0,   437,   438,     0,   511,   490,
5368        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5369        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5370        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5371      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5372       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5373        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5374        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5375        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5376       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5377      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5378      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5379       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5380        0,   437,   438,     0,   516,   512,     1,   303,   106,   326,
5381      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5382        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5383        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5384       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5385       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5386        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5387        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5388        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5389       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5390        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5391      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5392      207,   322,    51,     0,     0,   436,     0,   437,   438,     0,
5393      520,   517,     1,   303,   106,   326,   327,     0,     0,     0,
5394        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5395        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5396      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5397       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5398        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5399        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5400      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5401      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5402      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5403        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5404       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5405        0,   436,     0,   437,   438,     0,   919,   521,     1,   303,
5406      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5407        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5408        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5409        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5410       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5411        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5412      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5413       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5414      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5415        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5416      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5417       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5418      438,     0,   922,  -749,     1,   303,   106,   326,   327,     0,
5419        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5420        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5421      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5422       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5423       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5424        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5425        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5426       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5427        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5428      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5429        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5430       51,     0,     0,   436,     0,   437,   438,     0,   919,  -750,
5431        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5432        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5433        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5434      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5435       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5436        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5437        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5438        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5439       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5440      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5441      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5442       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5443        0,   437,   438,     0,   922,  -746,     1,   303,   106,   326,
5444      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5445        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5446        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5447       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5448       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5449        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5450        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5451        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5452       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5453        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5454      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5455      207,   322,    51,     0,     0,   436,     0,   437,   438,     0,
5456      919,  -747,     1,   303,   106,   326,   327,     0,     0,     0,
5457        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5458        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5459      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5460       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5461        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5462        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5463      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5464      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5465      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5466        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5467       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5468        0,   436,     0,   437,   438,     0,   922,  -752,     1,   303,
5469      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5470        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5471        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5472        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5473       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5474        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5475      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5476       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5477      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5478        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5479      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5480       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5481      438,     0,  1037,  -753,     1,   303,   106,   326,   327,     0,
5482        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5483        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5484      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5485       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5486       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5487        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5488        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5489       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5490        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5491      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5492        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5493       51,     0,     0,   436,     0,   437,   438,     0,  1041,  1038,
5494        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5495        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5496        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5497      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5498       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5499        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5500        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5501        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5502       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5503      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5504      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5505       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5506        0,   437,   438,     0,   302,  1042,     1,   303,   106,   326,
5507      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5508        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5509        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5510       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5511       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5512        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5513        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5514        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5515       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5516        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5517      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5518      207,   322,    51,     0,     0,   436,     0,   437,   438,     0,
5519      919,  -648,     1,   303,   106,   326,   327,     0,     0,     0,
5520        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5521        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5522      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5523       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5524        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5525        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5526      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5527      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5528      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5529        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5530       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5531        0,   436,     0,   437,   438,     0,   922,  -729,     1,   303,
5532      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5533        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5534        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5535        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5536       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5537        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5538      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5539       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5540      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5541        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5542      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5543       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5544      438,     0,   919,  -730,     1,   303,   106,   326,   327,     0,
5545        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5546        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5547      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5548       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5549       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5550        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5551        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5552       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5553        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5554      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5555        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5556       51,     0,     0,   436,     0,   437,   438,     0,   922,  -732,
5557        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5558        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5559        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5560      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5561       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5562        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5563        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5564        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5565       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5566      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5567      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5568       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5569        0,   437,   438,     0,  1542,  -733,     1,   303,   106,   326,
5570      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5571        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5572        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5573       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5574       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5575        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5576        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5577        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5578       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5579        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5580      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5581      207,   322,    51,     0,     0,   436,     0,   437,   438,     0,
5582      919,  1543,     1,   303,   106,   326,   327,     0,     0,     0,
5583        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5584        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5585      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5586       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5587        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5588        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5589      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5590      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5591      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5592        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5593       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5594        0,   436,     0,   437,   438,     0,   922,  -643,     1,   303,
5595      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5596        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5597        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5598        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5599       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5600        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5601      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5602       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5603      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5604        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5605      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5606       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5607      438,     0,   919,  -644,     1,   303,   106,   326,   327,     0,
5608        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5609        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5610      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5611       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5612       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5613        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5614        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5615       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5616        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5617      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5618        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5619       51,     0,     0,   436,     0,   437,   438,     0,   922,  -735,
5620        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5621        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5622        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5623      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5624       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5625        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5626        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5627        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5628       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5629      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5630      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5631       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5632        0,   437,   438,     0,   302,  -736,     1,   303,   106,   326,
5633      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5634        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5635        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5636       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5637       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5638        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5639        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5640        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5641       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5642        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5643      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5644      207,   322,    51,     0,     0,   436,     0,   437,   438,     0,
5645      302,  -647,     1,   303,   106,   326,   327,     0,     0,     0,
5646        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5647        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5648      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5649       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5650        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5651        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5652      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5653      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5654      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5655        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5656       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5657        0,   436,     0,   437,   438,     0,   302,  -645,     1,   303,
5658      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5659        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5660        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5661        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5662       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5663        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5664      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5665       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5666      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5667        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5668      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5669       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5670      438,     0,   302,  -623,     1,   303,   106,   326,   327,     0,
5671        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5672        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5673      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5674       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5675       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5676        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5677        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5678       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5679        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5680      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5681        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5682       51,     0,     0,   436,     0,   437,   438,     0,   919,  -622,
5683        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5684        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5685        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5686      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5687       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5688        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5689        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5690        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5691       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5692      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5693      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5694       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5695        0,   437,   438,     0,   922,  -636,     1,   303,   106,   326,
5696      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5697        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5698        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5699       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5700       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5701        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5702        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5703        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5704       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5705        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5706      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5707      207,   322,    51,     0,     0,   436,     0,   437,   438,     0,
5708      302,  -637,     1,   303,   106,   326,   327,     0,     0,     0,
5709        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5710        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5711      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5712       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5713        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5714        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5715      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5716      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5717      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5718        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5719       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5720        0,   436,     0,   437,   438,     0,   919,  -646,     1,   303,
5721      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5722        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5723        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5724        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5725       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5726        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5727      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5728       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5729      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5730        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5731      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5732       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5733      438,     0,   922,  -632,     1,   303,   106,   326,   327,     0,
5734        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5735        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5736      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5737       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5738       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5739        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5740        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5741       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5742        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5743      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5744        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5745       51,     0,     0,   436,     0,   437,   438,     0,   919,  -633,
5746        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5747        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5748        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5749      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5750       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5751        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5752        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5753        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5754       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5755      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5756      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5757       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5758        0,   437,   438,     0,   922,  -620,     1,   303,   106,   326,
5759      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5760        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5761        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5762       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5763       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5764        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5765        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5766        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5767       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5768        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5769      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5770      207,   322,    51,     0,     0,   436,     0,   437,   438,     0,
5771      919,  -621,     1,   303,   106,   326,   327,     0,     0,     0,
5772        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5773        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5774      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5775       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5776        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5777        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5778      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5779      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5780      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5781        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5782       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5783        0,   436,     0,   437,   438,     0,   922,  -615,     1,   303,
5784      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5785        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5786        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5787        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5788       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5789        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5790      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5791       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5792      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5793        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5794      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5795       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5796      438,     0,   919,  -616,     1,   303,   106,   326,   327,     0,
5797        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5798        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5799      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5800       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5801       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5802        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5803        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5804       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5805        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5806      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5807        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5808       51,     0,     0,   436,     0,   437,   438,     0,   922,  -634,
5809        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5810        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5811        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5812      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5813       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5814        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5815        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5816        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5817       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5818      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5819      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5820       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5821        0,   437,   438,     0,   423,  -635,     1,   303,   106,   326,
5822      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5823        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5824        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5825       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5826       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5827        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5828        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5829        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5830       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5831        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5832      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5833      207,   322,    51,     0,     0,   436,     0,   437,   438,   489,
5834        0,     1,   303,   106,     0,   326,   327,     0,     0,     0,
5835        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5836        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
5837      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
5838       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5839        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5840        0,     0,     0,   307,    27,     0,   424,     0,     0,   308,
5841      309,     0,    28,    29,     0,     0,   425,    32,   426,   427,
5842       35,    36,     0,   406,    38,    39,   428,     0,     0,   429,
5843      430,   431,   432,     0,   433,     0,   434,   435,    40,     0,
5844      314,   315,   316,   317,   318,   319,   320,     0,    43,    44,
5845       45,    46,    47,    48,   206,   207,   322,    51,     0,   199,
5846      436,     1,   437,   438,     0,     0,     0,     0,     0,     0,
5847      326,   327,     0,     0,     0,     0,     0,     0,     0,     0,
5848        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
5849      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
5850       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5851        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5852        0,     0,     0,   205,    27,     0,     0,     0,     0,     0,
5853        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
5854       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
5855        0,     0,     0,     0,     0,     0,     0,     0,    40,     0,
5856        0,     0,     0,     0,     0,     0,     0,     1,    43,    44,
5857       45,    46,    47,    48,   206,   207,     0,    51,     0,     0,
5858      860,  1046,     0,     0,     0,     0,     0,     0,     0,     0,
5859        0,   566,     2,   200,   201,   202,   203,   204,     8,     9,
5860       10,   564,    12,    13,    14,    15,    16,    17,    18,    19,
5861       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5862        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5863       27,     0,     0,     0,     0,     0,     0,     0,    28,    29,
5864        0,     0,     0,    32,     0,     0,    35,    36,     0,    37,
5865       38,    39,     0,     0,     0,     0,     0,     0,     0,     0,
5866        0,     0,     0,     0,    40,     0,     0,     0,     0,     0,
5867        0,     0,     0,     0,    43,    44,    45,    46,    47,    48,
5868      206,   207,     1,    51,     0,     0,   565,     0,     0,     0,
5869        0,     0,     0,     0,     0,     0,     0,   566,     0,   567,
5870        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5871      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5872       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5873        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5874        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
5875        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5876        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5877        0,     0,     0,     0,     0,     0,     0,     0,     0,    40,
5878        0,     0,     0,     0,     0,     0,     0,     0,     1,    43,
5879       44,    45,    46,    47,    48,   206,   207,     0,    51,     0,
5880        0,   860,     0,     0,     0,     0,     0,     0,     0,     0,
5881        0,     0,   566,     2,   200,   201,   202,   203,   204,   234,
5882      235,   236,   237,   238,   239,   240,   241,   242,   243,    18,
5883       19,   244,   245,    22,    23,    24,     0,     0,     0,     0,
5884        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5885        0,   246,     0,     0,     0,     0,     0,     0,     0,    28,
5886       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
5887      247,    38,   248,     0,     0,     0,     0,     0,     0,     0,
5888        0,     0,     0,     0,     0,   249,     0,     0,     0,     0,
5889        0,     0,     0,     0,     1,    43,    44,   250,   251,   252,
5890      253,   206,   207,     0,    51,     0,     0,   860,     0,     0,
5891        0,     0,     0,     0,  1422,     0,     0,     0,   566,     2,
5892      200,   201,   202,   203,   204,   234,   235,   236,   237,   238,
5893      239,   240,   241,   242,   243,    18,    19,   244,   245,    22,
5894       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5895        0,     0,     0,     0,     0,     0,     0,   246,     0,     0,
5896        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
5897       32,     0,     0,     0,     0,     0,   247,    38,   248,     0,
5898        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5899        0,   249,     0,     0,     0,     0,     0,     0,     0,     0,
5900        1,    43,    44,   250,   251,   252,   253,   206,   207,     0,
5901       51,     0,     0,   860,     0,     0,     0,     0,     0,     0,
5902     1439,     0,     0,     0,   566,     2,   200,   201,   202,   203,
5903      204,   234,   235,   236,   237,   238,   239,   240,   241,   242,
5904      243,    18,    19,   244,   245,    22,    23,    24,     0,     0,
5905        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5906        0,     0,     0,   246,     0,     0,     0,     0,     0,     0,
5907        0,    28,    29,     0,     0,     0,    32,     0,     0,     0,
5908        0,     0,   247,    38,   248,     0,     0,     0,     0,     0,
5909        0,     0,     0,     0,     0,     0,     0,   249,     0,     0,
5910        0,     0,     0,     0,     0,     0,     1,    43,    44,   250,
5911      251,   252,   253,   206,   207,     0,    51,     0,     0,  1206,
5912        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5913     1207,     2,   200,   201,   202,   203,   204,   234,   235,   236,
5914      237,   238,   239,   240,   241,   242,   243,    18,    19,   244,
5915      245,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5916        0,     0,     0,     0,     0,     0,     0,     0,     0,   246,
5917        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5918        0,     0,    32,     0,     0,     0,     0,     0,   247,    38,
5919      248,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5920        0,     0,     0,   249,     0,     0,     0,     0,     0,     0,
5921        0,     0,     1,    43,    44,   250,   251,   252,   253,   206,
5922      207,     0,    51,     0,     0,  1206,     0,     0,     0,     0,
5923        0,     0,     0,     0,     0,     0,  1229,     2,   200,   201,
5924      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
5925      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
5926        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5927        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
5928        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5929        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
5930        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
5931        0,     0,     0,     0,     0,     0,     0,     0,     1,    43,
5932       44,   250,   251,   252,   253,   206,   207,     0,    51,     0,
5933        0,  1206,     0,     0,     0,     0,     0,     0,     0,     0,
5934        0,     0,  1684,     2,   200,   201,   202,   203,   204,   234,
5935      235,   236,   237,   238,   239,   240,   241,   242,   243,    18,
5936       19,   244,   245,    22,    23,    24,     0,     0,     0,     0,
5937        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5938        0,   246,     0,     0,     0,     0,     0,     0,     0,    28,
5939       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
5940      247,    38,   248,     0,     0,     0,     0,     0,     0,     0,
5941        0,     0,     0,     0,     0,   249,     0,     0,     0,     0,
5942        0,     0,     0,     0,     1,    43,    44,   250,   251,   252,
5943      253,   206,   207,     0,    51,     0,     0,  1206,     0,     0,
5944        0,     0,     0,     0,     0,     0,     0,     0,  1699,     2,
5945        3,     4,   273,     6,     7,     8,     9,    10,    11,    12,
5946       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5947       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5948        0,     0,     0,     0,     0,     0,    26,    27,     0,     0,
5949        0,     0,     0,     0,     0,    28,    29,   274,    31,     0,
5950       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
5951        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5952        0,    40,     0,     0,     0,     0,    42,     0,     1,     0,
5953        0,    43,    44,    45,    46,    47,    48,    49,    50,     0,
5954       51,     0,     0,    52,     0,     0,     0,     0,     0,     0,
5955        0,     0,   275,     2,   200,   201,   202,   203,   204,     8,
5956        9,    10,   564,    12,    13,    14,    15,    16,    17,    18,
5957       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5958        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5959        0,    27,     0,     0,     0,     0,     0,     0,     0,    28,
5960       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
5961       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
5962        0,     0,     0,     0,     0,    40,     0,     0,     0,     0,
5963        0,     0,     1,     0,     0,    43,    44,    45,    46,    47,
5964       48,   206,   207,     0,    51,     0,     0,   927,     0,     0,
5965        0,     0,     0,     0,     0,     0,   928,     2,   200,   201,
5966      202,   203,   204,     8,     9,    10,   564,    12,    13,    14,
5967       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5968        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5969        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
5970        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5971        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5972        0,     0,     0,     0,     0,     0,     0,     0,     0,    40,
5973        0,     0,     0,     0,   619,     0,     0,     0,     0,    43,
5974       44,    45,    46,    47,    48,   206,   207,     0,    51,     0,
5975        0,    52,     0,     0,     0,     0,     0,     0,     0,     0,
5976      928,     2,   200,   201,   202,   203,   204,   234,   235,   236,
5977      237,   238,   239,   240,   241,   242,   243,    18,    19,   244,
5978      245,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5979        0,     0,     0,     0,     0,     0,     0,     0,     0,   246,
5980        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5981        0,     0,    32,     0,     0,     0,     0,     0,   247,    38,
5982      248,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5983        0,     0,     0,   249,     0,     0,  1507,     0,     0,     0,
5984        0,     0,     0,    43,    44,   250,   251,   252,   253,   206,
5985      207,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5986        0,     0,   254,   -66,   -66,   -66,   -66,   -66,   -66,   -66,
5987      -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,
5988      -66,   -66,   -66,   -66,   -66,   -66,     0,     0,     0,     0,
5989        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5990        0,   -66,     0,     0,     0,     0,     0,     0,     0,   -66,
5991      -66,     0,     0,     0,   -66,     0,     0,     0,     0,     0,
5992      -66,   -66,   -66,     0,     0,     0,     0,     0,     0,     0,
5993        0,     0,     0,     0,     0,   -66,     0,  1710,     0,     0,
5994        0,     0,     0,     0,     0,   -66,   -66,   -66,   -66,   -66,
5995      -66,   -66,   -66,     0,     0,     0,     0,     0,     0,     0,
5996     1508,     0,  1509,   -66,     2,   200,   201,   202,   203,   204,
5997      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
5998       18,    19,   244,   245,    22,    23,    24,     0,     0,     0,
5999        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6000        0,     0,   246,     0,     0,     0,     0,     0,     0,     0,
6001       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
6002        0,   247,    38,   248,     0,     0,     0,     0,     0,     0,
6003        0,     0,     0,     0,     0,     0,   249,     0,  1714,     0,
6004        0,     0,     0,     0,     0,     0,    43,    44,   250,   251,
6005      252,   253,   206,   207,     0,     0,     0,     0,     0,     0,
6006        0,     0,     0,     0,  -111,     2,   200,   201,   202,   203,
6007      204,   234,   235,   236,   237,   238,   239,   240,   241,   242,
6008      243,    18,    19,   244,   245,    22,    23,    24,     0,     0,
6009        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6010        0,     0,     0,   246,     0,     0,     0,     0,     0,     0,
6011        0,    28,    29,     0,     0,     0,    32,     0,     0,     0,
6012        0,     0,   247,    38,   248,     0,     0,     0,     0,     0,
6013        0,     0,     0,     0,     0,     0,     0,   249,     0,  1715,
6014        0,     0,     0,     0,     0,     0,     0,    43,    44,   250,
6015      251,   252,   253,   206,   207,     0,     0,     0,     0,     0,
6016        0,     0,     0,     0,     0,   -95,     2,   200,   201,   202,
6017      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
6018      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
6019        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6020        0,     0,     0,     0,   246,     0,     0,     0,     0,     0,
6021        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6022        0,     0,     0,   247,    38,   248,     0,     0,     0,     0,
6023        0,     0,     0,     0,     0,     0,     0,     0,   249,     0,
6024     1821,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6025      250,   251,   252,   253,   206,   207,     0,     0,     0,     0,
6026        0,     0,     0,     0,     0,     0,   -96,     2,   200,   201,
6027      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
6028      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
6029        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6030        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
6031        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6032        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
6033        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
6034        0,  1965,     0,     0,     0,     0,     0,     0,     0,    43,
6035       44,   250,   251,   252,   253,   206,   207,     0,     0,     0,
6036        0,     0,     0,     0,     0,     0,     0,   -80,     2,   200,
6037      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
6038      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
6039       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6040        0,     0,     0,     0,     0,     0,   246,     0,     0,     0,
6041        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6042        0,     0,     0,     0,     0,   247,    38,   248,     0,     0,
6043        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6044      249, -1287,   292,     0,     1,     0,     0,     0,     0,     0,
6045       43,    44,   250,   251,   252,   253,   206,   207,     0,     0,
6046        0,     0,     0,     0,     0,     0,     0,     0,   -87,     2,
6047        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
6048       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6049       23,    24,     0,     0,    25,     0,     0,     0,     0,     0,
6050        0,     0,     0,     0,     0,     0,    26,    27,     0,     0,
6051        0,     0,     0,     0,     0,    28,    29,    30,    31,     0,
6052       32,    33,    34,    35,    36,     0,    37,    38,    39,     0,
6053        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6054        0,    40,    41,     1,     0,     0,    42,     0,     0,     0,
6055        0,    43,    44,    45,    46,    47,    48,    49,    50,     0,
6056       51,     0,     0,    52,     0,     0,    53,     0,     2,   200,
6057      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6058       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6059       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6060        0,     0,     0,     0,     0,     0,    27,     0,     0,     0,
6061        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6062        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6063        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6064       40,     0,     0,     0,     1,     0,     0,   830,     0,     0,
6065       43,    44,    45,    46,    47,    48,   206,   207,     0,     0,
6066        0,     0,     0,     0,     0,     0,     0,     0,  1398,     2,
6067      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
6068       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6069       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6070        0,     0,     0,     0,     0,     0,     0,    27,     0,     0,
6071        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6072       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
6073        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6074        0,    40,     0,     0,     0,     1,     0,     0,   830,     0,
6075        0,    43,    44,    45,    46,    47,    48,   206,   207,     0,
6076        0,     0,     0,     0,     0,     0,     0,     0,     0,  1741,
6077        2,   200,   201,   202,   203,   204,     8,     9,    10,    11,
6078       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
6079       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
6080        0,     0,     0,     0,     0,     0,     0,     0,    27,     0,
6081        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
6082        0,    32,     0,     0,    35,    36,     0,    37,    38,    39,
6083        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6084        0,     0,    40,     0,   165,     0,     1,     0,     0,   830,
6085        0,     0,    43,    44,    45,    46,    47,    48,   206,   207,
6086        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6087     1742,     2,     3,     4,   166,     6,     7,     8,     9,    10,
6088      167,   168,    13,    14,    15,    16,    17,    18,    19,    20,
6089       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6090        0,     0,     0,     0,     0,     0,     0,     0,    26,    27,
6091        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6092        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6093       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6094        0,     0,   165,    40,     1,     0,     0,     0,     0,     0,
6095        0,     0,     0,    43,    44,    45,    46,    47,    48,    49,
6096       50,     0,    51,     0,     0,    52,     0,     0,   169,     2,
6097        3,     4,   166,     6,     7,     8,     9,    10,   167,   168,
6098       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6099       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6100        0,     0,     0,     0,     0,     0,     0,    27,     0,     0,
6101        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6102       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
6103        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6104      604,    40,     1,     0,     0,     0,     0,     0,     0,     0,
6105        0,    43,    44,    45,    46,    47,    48,    49,    50,     0,
6106       51,     0,     0,    52,     0,     0,   169,     2,   200,   201,
6107      202,   203,   204,   234,   235,   236,   605,   606,   239,   240,
6108      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
6109        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6110        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
6111        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6112        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
6113        0,     0,     0,     0,     0,     0,     0,     0,  -914,   249,
6114     -914,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6115       44,   250,   251,   252,   253,   206,   207,     0,    51,     0,
6116        0,    52,     0,     0,   607,  -914,  -914,  -914,  -914,  -914,
6117     -914,  -914,  -914,  -914,  -914,  -914,  -914,  -914,  -914,  -914,
6118     -914,  -914,  -914,  -914,  -914,  -914,  -914,  -914,     0,     0,
6119        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6120        0,     0,     0,  -914,     0,     0,     0,     0,     0,     0,
6121        0,  -914,  -914,     0,     0,     0,  -914,     0,     0,     0,
6122        0,     0,  -914,  -914,  -914,     0,     0,     0,     0,     0,
6123        0,     0,     0,     0,     0,     0,     0,  -914,     1,     0,
6124        0,     0,     0,     0,     0,     0,     0,  -914,  -914,  -914,
6125     -914,  -914,  -914,  -914,  -914,     0,  -914,     0,     0,  -914,
6126        0,     0,  -914,     2,     3,     4,     5,     6,     7,     8,
6127        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
6128       19,    20,    21,    22,    23,    24,     0,     0,    25,     0,
6129        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6130       26,    27,     0,     0,     0,     0,     0,     0,     0,    28,
6131       29,    30,    31,     0,    32,    33,    34,    35,    36,     0,
6132       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
6133        0,     0,     0,     0,     0,    40,    41,     0, -1288,   284,
6134       42,     1,     0,     0,     0,    43,    44,    45,    46,    47,
6135       48,    49,    50,     0,    51,     0,     0,    52,     0,     0,
6136       53,     0,     0,     0,     0,     0,     2,     3,     4,   166,
6137        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
6138       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
6139        0,    25,     0,     0,     0,     0,     0,     0,     0,     0,
6140        0,     0,     0,    26,    27,     0,     0,     0,     0,     0,
6141        0,     0,    28,    29,     0,     0,     0,    32,    33,    34,
6142       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
6143        0,     0,     0,     0,   199,     0,     1,     0,    40,     0,
6144        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6145       45,    46,    47,    48,    49,    50,     0,    51,     0,     0,
6146       52,     2,   200,   201,   202,   203,   204,     8,     9,    10,
6147       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6148       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6149        0,     0,     0,     0,     0,     0,     0,     0,   205,    27,
6150        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6151        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6152       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6153      199,     0,     1,    40,     0,     0,     0,     0,     0,     0,
6154        0,     0,     0,    43,    44,    45,    46,    47,    48,   206,
6155      207,     0,    51,     0,     0,  1206,  1671,     2,   200,   201,
6156      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6157       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6158        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6159        0,     0,     0,     0,   205,    27,     0,     0,     0,     0,
6160        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6161        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6162        0,     0,     0,     0,     0,     0,   199,     0,     1,    40,
6163        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6164       44,    45,    46,    47,    48,   206,   207,     0,     0,     0,
6165        0,     0,   208,     2,   200,   201,   202,   203,   204,     8,
6166        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
6167       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
6168        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6169      205,    27,     0,     0,     0,     0,     0,     0,     0,    28,
6170       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
6171       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
6172        0,     0,   940,     0,     1,    40,     0,     0,     0,     0,
6173        0,     0,     0,     0,     0,    43,    44,    45,    46,    47,
6174       48,   206,   207,     0,     0,     0,     0,     0,   389,     2,
6175      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
6176       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6177       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6178        0,     0,     0,     0,     0,     0,   205,    27,     0,     0,
6179        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6180       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
6181        0,     0,     0,     0,     0,     0,     0,     0,  1465,     0,
6182        1,    40,     0,     0,     0,     0,     0,     0,     0,     0,
6183        0,    43,    44,    45,    46,    47,    48,   206,   207,     0,
6184        0,     0,     0,     0,   208,     2,   200,   201,   202,   203,
6185      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
6186       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
6187        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6188        0,     0,   205,    27,     0,     0,     0,     0,     0,     0,
6189        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
6190       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
6191        0,     0,     0,     0,   199,     0,     1,    40,     0,     0,
6192        0,     0,     0,     0,     0,     0,     0,    43,    44,    45,
6193       46,    47,    48,   206,   207,     0,     0,     0,     0,     0,
6194      389,     2,   200,   201,   202,   203,   204,     8,     9,    10,
6195       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6196       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6197        0,     0,     0,     0,     0,     0,     0,     0,   205,    27,
6198        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6199        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6200       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6201      199,     0,     1,    40,     0,     0,     0,     0,     0,     0,
6202        0,     0,     0,    43,    44,    45,    46,    47,    48,   206,
6203      207,     0,     0,     0,     0,     0,  1557,     2,   200,   201,
6204      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6205       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6206        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6207        0,     0,     0,     0,   205,    27,     0,     0,     0,     0,
6208        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6209        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6210        0,     0,     0,     0,     0,     0,   165,     0,     1,    40,
6211        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6212       44,    45,    46,    47,    48,   206,   207,     0,     0,     0,
6213        0,     0,  1893,     2,     3,     4,   166,     6,     7,     8,
6214        9,    10,   564,    12,    13,    14,    15,    16,    17,    18,
6215       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
6216        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6217       26,    27,     0,     0,     0,     0,     0,     0,     0,    28,
6218       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
6219       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
6220        0,   165,     0,     1,     0,    40,     0,     0,     0,     0,
6221        0,     0,     0,     0,     0,    43,    44,    45,    46,    47,
6222       48,    49,    50,     0,    51,     0,     0,    52,     2,     3,
6223        4,   166,     6,     7,     8,     9,    10,   564,    12,    13,
6224       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6225       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6226        0,     0,     0,     0,     0,     0,    27,     0,     0,     0,
6227        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6228        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6229        0,     0,     0,     0,     0,     0,   884,     0,     1,     0,
6230       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6231       43,    44,    45,    46,    47,    48,    49,    50,     0,    51,
6232        0,     0,    52,     2,   200,   201,   202,   203,   204,   234,
6233      235,   236,   237,   238,   239,   240,   241,   242,   243,    18,
6234       19,   244,   245,    22,    23,    24,     0,     0,     0,     0,
6235        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6236        0,   246,     0,     0,     0,     0,     0,     0,     0,    28,
6237       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
6238      247,    38,   248,     0,     0,     0,     0,     0,     0,     0,
6239        0,     0,     0,     1,     0,   249,     0,     0,     0,     0,
6240        0,     0,     0,     0,     0,    43,    44,   250,   251,   252,
6241      253,   206,   207,     0,     0,     0,     0,   885,     2,     3,
6242        4,   166,     6,     7,     8,     9,    10,    11,    12,    13,
6243       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6244       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6245        0,     0,     0,     0,     0,    26,    27,     0,     0,     0,
6246        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6247        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6248        0,     0,     0,     0,     0,     0,     0,     0,     1,     0,
6249       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6250       43,    44,    45,    46,    47,    48,    49,    50,     0,    51,
6251        0,     0,    52,     2,   200,   201,   202,   203,   204,     8,
6252        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
6253       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
6254        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6255        0,    27,     0,     0,     0,     0,     0,     0,     0,    28,
6256       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
6257       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
6258        0,     0,     0,     1,     0,    40,     0,     0,     0,     0,
6259        0,     0,     0,     0,     0,    43,    44,    45,    46,    47,
6260       48,   206,   207,     0,    51,     0,     0,    52,     2,   200,
6261      201,   202,   203,   204,     8,     9,    10,   564,    12,    13,
6262       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6263       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6264        0,     0,     0,     0,     0,     0,    27,     0,     0,     0,
6265        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6266        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6267        0,     0,     0,     0,     0,     0,     0,     0,     1,     0,
6268       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6269       43,    44,    45,    46,    47,    48,   206,   207,     0,    51,
6270        0,     0,    52,     2,   200,   201,   202,   203,   204,     8,
6271        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
6272       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
6273        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6274        0,    27,     0,     0,     0,     0,     0,     0,     0,    28,
6275       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
6276       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
6277        0,     0,     0,     1,     0,    40,     0,     0,     0,     0,
6278        0,     0,     0,     0,     0,    43,    44,    45,    46,    47,
6279       48,   206,   207,     0,     0,     0,     0,   720,     2,   200,
6280      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6281       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6282       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6283        0,     0,     0,     0,     0,     0,    27,     0,     0,     0,
6284        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6285        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6286        0,     0,     0,     0,     0,     0,     0,     0,     1,     0,
6287       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6288       43,    44,    45,    46,    47,    48,   206,   207,     0,     0,
6289        0,     0,  1444,     2,   200,   201,   202,   203,   204,   234,
6290      235,   236,  1529,   238,   239,   240,   241,   242,   243,    18,
6291       19,   244,   245,    22,    23,    24,     0,     0,     0,     0,
6292        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6293        0,   246,     0,     0,     0,     0,     0,     0,     0,    28,
6294       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
6295      247,    38,   248,     0,     0,     0,     0,     0,     0,     0,
6296        0,  1069,     0,     1,     0,   249,     0,     0,     0,     0,
6297        0,     0,     0,     0,     0,    43,    44,   250,   251,   252,
6298      253,   206,   207,     0,    51,     0,     0,    52,     2,   200,
6299      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6300       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6301       24,  1070,     0,     0,     0,     0,     0,     0,     0,     0,
6302        0,     0,     0,     0,     0,   205,    27,     0,     0,     0,
6303        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6304        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6305        0,  1075,     0,     1,     0,     0,     0,     0,     0,     0,
6306       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6307       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6308      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6309       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6310       24,  1076,     0,     0,     0,     0,     0,     0,     0,     0,
6311        0,     0,     0,     0,     0,   205,    27,     0,     0,     0,
6312        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6313        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6314        0,  1081,     0,     1,     0,     0,     0,     0,     0,     0,
6315       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6316       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6317      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6318       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6319       24,  1082,     0,     0,     0,     0,     0,     0,     0,     0,
6320        0,     0,     0,     0,     0,   205,    27,     0,     0,     0,
6321        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6322        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6323        0,   869,     0,     1,     0,     0,     0,     0,     0,     0,
6324       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6325       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6326      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
6327      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
6328       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6329        0,     0,     0,     0,     0,     0,   246,     0,     0,     0,
6330        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6331        0,     0,     0,     0,     0,   247,    38,   248,     0,     0,
6332        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6333      249,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6334       43,    44,   250,   251,   252,   253,   206,   207,     2,   200,
6335      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6336       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6337       24,  1030,     0,     0,     0,     0,     0,     0,     0,     0,
6338        0,     0,     0,     0,     0,   205,    27,     0,     0,     0,
6339        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6340        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6341        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6342       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6343       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6344      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6345       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6346       24,  1087,     0,     0,     0,     0,     0,     0,     0,     0,
6347        0,     0,     0,     0,     0,   205,    27,     0,     0,     0,
6348        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6349        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6350        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6351       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6352       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6353      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6354       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6355       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6356        0,     0,     0,     0,     0,   503,    27,     0,     0,     0,
6357        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6358        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6359        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6360       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6361       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6362      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6363       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6364       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6365        0,     0,     0,     0,     0,     0,    27,     0,     0,     0,
6366        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6367        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6368        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6369       40,     0,     0,     0,     0,     0,     0,   830,     0,     0,
6370       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6371      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6372       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6373       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6374        0,     0,     0,     0,     0,   205,    27,     0,     0,     0,
6375        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6376        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6377        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6378       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6379       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6380      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
6381      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
6382       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6383        0,     0,     0,     0,     0,     0,   246,     0,     0,     0,
6384        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6385      478,   479,     0,     0,     0,   247,    38,   248,     0,     0,
6386        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6387      249,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6388       43,    44,   250,   251,   252,   253,   206,   207,     2,   200,
6389      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6390       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6391       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6392        0,     0,     0,     0,     0,     0,    27,     0,     0,     0,
6393        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6394        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6395        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6396       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6397       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6398      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
6399      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
6400       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6401        0,     0,     0,     0,     0,     0,   246,     0,     0,     0,
6402        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6403        0,     0,     0,     0,     0,   247,    38,   248,     0,     0,
6404        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6405      249,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6406       43,    44,   250,   251,   252,   253,   206,   207,     2,   200,
6407      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
6408      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
6409       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6410        0,     0,     0,     0,     0,     0,   246,     0,     0,     0,
6411        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6412        0,     0,     0,     0,     0,   247,    38,   248,     0,     0,
6413        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6414      249,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6415       43,    44,   250,   251,   252,   253,   206,   207,     0,    51,
6416        0,     0,   860,  1668,     0,     0,     0,     0,     0,     0,
6417        0,     0,     0,   566,     2,   200,   201,   202,   203,   204,
6418      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
6419       18,    19,   244,   245,    22,    23,    24,     0,     0,     0,
6420        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6421        0,     0,   246,     0,     0,     0,     0,     0,     0,     0,
6422       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
6423        0,   247,    38,   248,     0,     0,     0,     0,     0,     0,
6424        0,     0,     0,     0,     0,     0,   249,     0,     0,     0,
6425        0,     0,     0,     0,     0,     0,    43,    44,   250,   251,
6426      252,   253,   206,   207,     0,     0,     0,     0,     0,     0,
6427        0,     0,     0,     0,     0,   254,     2,   200,   201,   202,
6428      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
6429      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
6430        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6431        0,     0,     0,     0,   246,     0,     0,     0,     0,     0,
6432        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6433        0,     0,     0,   247,    38,   248,     0,     0,     0,     0,
6434        0,     0,     0,     0,     0,     0,     0,     0,   249,     0,
6435        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6436      250,   251,   252,   253,   206,   207,     0,     0,     0,     0,
6437        0,     0,     0,     0,     0,     0,  1518,     2,   200,   201,
6438      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
6439      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
6440        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6441        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
6442        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6443        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
6444        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
6445        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6446       44,   250,   251,   252,   253,   206,   207
6447 };
6448
6449 static const yytype_int16 yycheck[] =
6450 {
6451        0,   641,    92,   719,    86,    86,   535,   926,   156,   926,
6452      742,   859,  1216,    83,   470,   309,   859,   749,   132,   344,
6453      752,   315,   580,   153,   344,   859,   100,    83,     1,    93,
6454       30,    31,   996,   997,   998,   327,   288,  1099,    93,   128,
6455      471,    41,    83,   742,   555,   826,   128,   128,   100,    30,
6456      749,   721,    52,   752,     1,  1606,    93,   128,     1,    59,
6457       84,    42,    83,   100,    64,    64,    66,  1618,   997,   183,
6458       83,     5,    93,     1,   585,     3,   835,   588,   826,   590,
6459       93,   592,    82,    83,    84,   936,    86,   100,   883,     5,
6460      835,    91,   386,    93,   388,     3,   186,   187,   126,     3,
6461      100,   101,   470,   131,   104,  1014,   996,   474,   998,    77,
6462     2089,     3,   876,   113,   535,   996,   116,   998,     1,     1,
6463        3,     3,   144,    17,     1,   122,   107,   108,   128,     1,
6464      111,   131,   132,     1,     1,   157,   136,   159,   122,   161,
6465      140,   141,   142,   977,   144,     7,     8,     9,   148,   122,
6466      150,     0,     5,   153,   154,   144,   156,   157,   158,   159,
6467       83,   161,   957,   131,   164,    73,  2145,     1,   157,     3,
6468      159,    59,   161,     1,   174,   174,    17,   122,   268,   186,
6469      187,     1,     5,   183,   131,   128,     1,   996,     5,   998,
6470        3,     1,     7,     8,     9,     1,   130,   996,   198,   998,
6471      128,   270,     1,     3,     5,     5,   132,     3,   278,     5,
6472      210,   418,   212,    17,   288,    28,   290,   133,   470,   123,
6473      220,   221,   278,   127,    37,   113,   290,   131,     3,     3,
6474      230,     5,   288,   233,    83,   290,   288,   278,   290,   879,
6475     1004,   265,     1,     3,    93,   128,   128,   288,   125,   143,
6476        1,   100,   101,   290,   122,   123,   128,   183,     1,   127,
6477      183,   128,    52,   270,     1,   265,     1,   288,   130,   290,
6478      270,     1,   566,   421,   274,     1,   270,   290,   278,   132,
6479      394,     1,   289,     1,  1248,  1249,     3,   958,   288,   288,
6480      290,  1255,  1256,   274,   128,  1259,  1260,  1848,   343,   122,
6481      128,     1,   143,   510,   862,   125,   123,   122,   308,   122,
6482      198,   126,   357,   123,   314,   130,   361,   127,   133,  1248,
6483      133,   122,   128,   123,   324,     5,  1255,   123,   120,   128,
6484     1259,   131,   626,   791,   792,   131,   793,   758,   338,   143,
6485      125,   131,     5,    17,   129,   326,     3,    83,    84,   123,
6486      440,   441,   442,   443,   129,   278,    73,   131,   565,  1249,
6487        3,   819,   820,   123,   821,   288,  1256,   127,  1249,   128,
6488     1260,   131,  1104,     1,   125,  1256,   127,   128,     5,  1260,
6489      380,   381,   125,   804,   127,   128,   386,   125,   388,   471,
6490      471,   128,   120,   128,   394,   131,     3,     3,   128,     1,
6491      400,   129,   128,   131,   129,  1104,   131,   125,   128,   127,
6492     1191,   128,  1193,   413,    69,    70,   530,     3,   418,     5,
6493      420,   421,   128,     3,   424,   425,   556,   883,   128,   278,
6494      430,   221,   546,   433,   434,   435,   436,   437,     1,   288,
6495     1249,   290,    28,  1191,   696,  1193,   536,  1256,    28,   539,
6496     1249,  1260,     3,   778,   779,   780,     3,  1256,   778,   779,
6497      780,  1260,   119,   120,   127,   465,   466,   467,   394,   143,
6498      470,   471,   129,   128,   474,  1679,   565,   477,     3,   122,
6499      772,    28,   482,   808,   809,   810,   486,   487,   808,   809,
6500      810,   491,   492,  1051,   565,   123,   123,     3,   386,   127,
6501      388,   957,   933,   503,  1062,   128,     3,   799,   876,   509,
6502      510,     3,  1574,   513,   514,   807,   123,   123,   518,   519,
6503      128,   141,   522,   523,   144,   127,   526,   527,   528,   265,
6504      530,    28,   739,   533,  1205,   827,  1206,   157,   560,   159,
6505      562,   161,   278,   129,   544,   545,   546,   470,  1004,   129,
6506      550,     7,     8,     9,  1224,   555,   556,  1068,   129,    65,
6507      560,  1231,   562,   563,   127,   565,   566,   567,   936,  1417,
6508      570,   560,   123,   562,  1417,  1086,   425,   944,  1429,   946,
6509      580,   119,   129,  1417,     5,   585,     1,     3,   588,   957,
6510      590,   794,   592,  1014,   663,   664,   665,   666,     3,   599,
6511      125,     1,   127,   122,   530,   650,     3,   530,   653,  1528,
6512      533,  1528,   758,   119,   120,     5,  1580,  1581,  1469,   822,
6513      546,  1472,   696,   129,   876,     3,  1535,     1,     1,   719,
6514        3,   631,   129,   633,   928,     0,  1004,   129,   112,     3,
6515      696,   641,  1401,  1402,   696,     5,   436,  1495,     3,  1497,
6516       11,  1580,     1,   860,   580,   696,  1401,  1402,   804,  1502,
6517      867,     1,     3,   663,   664,   665,   666,     3,   875,   663,
6518      664,   665,   666,   967,   130,   126,     3,   133,   566,   886,
6519     1884,   681,   682,   133,   691,   692,     3,    28,   127,     1,
6520      690,  1581,    28,   125,    11,   134,   696,   678,   679,     3,
6521     1581,     1,   702,   119,   120,   957,   127,   122,   123,     3,
6522      710,   599,   127,   129,   127,   120,   121,   717,   718,   719,
6523      720,   721,   722,   123,   198,    74,    75,   127,   728,  1150,
6524       79,  1463,   129,  1154,    28,   125,  1157,    86,  1159,   739,
6525      127,   119,   120,   724,   725,   726,   119,   120,   122,   123,
6526     1421,   129,  1004,   127,   127,   755,     1,   795,     3,   759,
6527      121,   110,   111,     3,  1463,   129,   127,   690,   123,    73,
6528     1064,   860,  1581,   696,   127,   565,   125,   567,   127,     3,
6529      133,   122,  1581,   123,  1693,   823,   122,   127,    28,   860,
6530      526,   527,   528,     7,     8,     9,   123,    79,  1762,  1763,
6531        3,   801,   119,   120,   121,   805,   796,     3,   544,   545,
6532      127,   123,   129,  1484,     3,   127,     5,   965,   966,   909,
6533      910,  1115,   912,   123,   128,   915,   916,   127,   110,   111,
6534      830,   831,   832,  1762,   824,   835,   836,   837,     7,     8,
6535        9,   971,    31,  1050,   933,   465,   466,   696,   129,   131,
6536      131,   933,   933,   327,    12,    13,     3,  1415,   858,   859,
6537      860,     1,   933,     3,   864,   127,   866,   867,     7,     8,
6538        9,   491,   492,  1763,   874,   875,   876,   665,   666,   879,
6539     1789,   122,  1763,   883,     3,   885,   886,     3,   888,     5,
6540      890,  1800,   133,   513,   514,   119,   120,   987,   518,   519,
6541     1751,  1752,   522,   523,     3,  1035,  1036,   127,   122,     7,
6542        8,     9,   386,  1207,   388,    31,   130,   120,     3,   133,
6543     1245,   797,   125,   119,   120,  1245,   120,   927,   128,   929,
6544      126,   125,     3,   933,     5,  1229,   936,  1051,   129,   793,
6545      560,   941,   562,    28,   944,  1788,   946,   947,   970,   825,
6546       90,   128,    37,   876,  1763,   794,   956,   957,   958,   128,
6547     1252,   130,   120,   121,  1763,   965,   966,   821,   968,   122,
6548      970,   971,   119,   120,  1063,   122,   976,   977,   978,   979,
6549      133,   970,     3,   822,   122,  1701,   795,   126,   126,  1547,
6550      119,   130,  1063,   127,  1201,   133,   123,  1204,  1638,   133,
6551      119,   120,  1672,   122,  1004,   796,  1535,  1678,  1464,   123,
6552      139,   140,  1683,   936,   823,   122,     7,     8,     9,   122,
6553      119,   120,     0,  1045,    12,    13,   133,   126,   122,     3,
6554      133,   797,   130,   824,   957,  1035,  1036,   122,  1107,  1039,
6555     1040,  1110,   122,  1043,  1044,  1045,  1963,  1047,   119,   120,
6556     1050,  1051,   119,    74,    75,   529,  1045,   120,    79,   825,
6557     1060,  1429,  1062,  1063,  1064,    86,   129,   122,  1068,   120,
6558     1979,  1071,   139,   140,  1074,   128,  1747,  1077,   129,  1148,
6559     1080,  1004,   126,  1083,   136,   137,  1086,   131,  1088,   110,
6560      111,    65,   566,  1162,  1163,  1164,  1165,   121,   888,    10,
6561       11,  1469,  1102,   127,  1472,    83,   121,  1107,   129,   386,
6562     1110,   388,   127,  1107,  1535,    93,  1110,  1206,    77,  1119,
6563      121,  1121,   100,   101,   598,  1051,   127,  1975,   126,  1977,
6564     1130,   122,   120,   121,  1060,  1206,  1062,   927,   121,   130,
6565       14,    15,   133,  1143,   127,   119,   120,  2056,  1148,  1149,
6566      121,   941,   626,   122,  1148,   121,   127,   947,  1139,  1181,
6567        1,   127,  1162,  1163,  1164,  1165,   136,   137,  1162,  1163,
6568     1164,  1165,   781,   782,   122,     3,  1064,   122,   120,  1473,
6569     1180,  1181,  1182,   555,  1184,   127,  1744,  1903,  2097,    69,
6570       70,   133,  1181,   121,  1194,   129,  1196,   131,   122,   127,
6571       28,  1201,   811,   812,   123,  1205,  1206,  1414,   127,    37,
6572      122,    91,   131,   585,   300,    95,   588,    97,   590,   129,
6573      592,   131,   129,   309,  1224,     6,  1866,     8,     9,   315,
6574     1901,  1231,   122,    74,    75,   121,   136,     3,    79,  1239,
6575      125,   127,   129,   221,   129,    86,    74,    75,   128,   723,
6576     1808,    79,     3,   727,    14,    15,     1,   121,    86,  1182,
6577     1050,  1184,    28,   127,   129,  1246,   131,   121,   742,   110,
6578      111,  1800,   123,   127,   122,   749,   127,    28,   752,   125,
6579      131,   127,   110,   111,   125,   126,   127,   907,   908,   566,
6580      122,   119,    73,    44,   122,   154,  1717,   135,   772,   158,
6581      278,  1722,   141,    84,  1725,   133,  1194,   123,    74,    75,
6582      288,   127,   290,    79,  1050,   131,   142,   783,   784,  1107,
6583       86,    16,  1110,    74,    75,   799,   121,   123,   109,    74,
6584       75,   127,   127,   807,    79,   131,   121,     1,   125,   120,
6585      127,    86,   127,   123,   110,   111,   324,   813,   814,   626,
6586      970,   135,   133,   827,   142,   136,   137,   138,   121,  1566,
6587     1148,    16,     3,   129,   127,   110,   111,   123,  1789,   123,
6588       11,   127,   123,   127,  1162,  1163,  1164,  1165,   122,  1800,
6589      125,   126,   127,  1751,  1752,    10,    11,   123,  1682,     3,
6590     1684,   127,  1392,  1393,   123,   123,  1396,  1397,   127,   127,
6591      141,  1401,  1402,   123,  1698,  1699,   791,   792,   123,   123,
6592       74,    75,   127,  1413,    28,    79,  1397,  1417,  1418,  1039,
6593     1040,  1421,    86,  1043,  1044,  1045,   125,  1427,   127,  1429,
6594       44,     3,  1432,  1547,   819,   820,  1436,   781,   782,   129,
6595      418,  1441,  1442,  1443,   123,   129,   110,   111,   127,   349,
6596     1979,   123,   926,  2093,   928,   127,    28,   123,   122,   123,
6597       74,    75,   129,   127,  1464,   125,  1466,   811,   812,  1469,
6598      123,  1862,  1472,   123,   127,  1475,   127,   127,   119,   120,
6599      121,    88,    89,    90,  1484,   126,   127,     1,   129,     3,
6600     1490,  1491,   470,   967,   125,  1495,  1496,  1497,  1498,    74,
6601       75,   120,    74,    75,    79,   120,  1429,    79,   129,   123,
6602      131,    86,   120,   127,    86,   907,   908,  1586,  1587,   129,
6603      420,   131,   996,     3,   998,   126,     1,  2056,     3,  1598,
6604      127,     1,   510,     3,   129,   110,   111,   129,   110,   111,
6605        1,   300,     3,   134,  1544,  1545,  1469,  1547,    28,  1472,
6606      309,     1,   134,     3,   129,  1555,   315,   129,  1979,   129,
6607     1180,  1181,   133,   125,    44,   127,  1566,    18,    19,    20,
6608       21,    22,    23,    24,    25,    26,    27,  1784,  1870,  1871,
6609     1872,  1873,  1874,  1875,  1876,  1877,  1586,  1587,   907,   908,
6610     1064,  1680,  1586,  1587,    74,    75,  1596,   134,  1598,  1599,
6611       74,    75,  1602,   127,  1598,    79,  1606,   127,  1902,  1680,
6612     1610,   697,    86,  1613,   129,    79,   131,  1911,   125,     3,
6613      127,  1547,  2013,   129,  2015,   131,   127,    11,  1609,  1555,
6614     1104,   526,   527,   528,   127,  2056,   110,   111,  1638,   783,
6615      784,  1115,   544,   545,  1625,  1645,   110,   111,   129,   544,
6616      545,   928,   126,  1443,  1509,   128,  1511,  1509,   125,  1511,
6617      131,   125,   122,  1753,   122,   129,   122,  1141,  1142,   813,
6618      814,  1963,   125,  1967,  1968,   126,  1466,   125,  1678,   122,
6619     1680,   663,   664,  1683,   663,   664,   122,  2078,   125,  2080,
6620      967,  2082,   100,   101,  1808,   125,  1068,   125,   129,   836,
6621      837,  1701,  1074,  1703,  1704,   125,   120,  1443,  1080,   128,
6622      123,   134,   134,   134,  1086,   120,   134,   134,   696,   134,
6623      129,   133,   129,   125,   702,   128,   127,   120,   128,  2120,
6624     2121,   128,  2123,  1207,   123,   119,   120,   121,  1738,   134,
6625      123,   719,   126,   127,   123,   129,   134,  1747,  2139,   134,
6626      728,  1751,  1752,   123,  1754,  1229,   122,  1779,   123,  1781,
6627      123,   739,   131,   131,   131,  2156,  1766,  1836,   122,   122,
6628      122,   120,  2097,    56,   125,  1249,  1566,  2097,  1252,  1779,
6629      125,  1781,  1256,  1805,  1784,  1807,  1260,  1064,   125,   122,
6630     1779,   120,  1781,   125,   120,   123,   123,   122,  1586,  1587,
6631      122,   120,   133,   123,   127,  1805,   123,  1807,  1808,   123,
6632     1598,   127,   133,   123,    74,    75,  1805,   128,  1807,    79,
6633      123,     3,   131,   131,     3,   131,    86,   131,  1751,  1752,
6634     1830,  1831,  1832,  1833,   123,   123,  1836,     3,  1115,   123,
6635     1840,  1841,  1836,  1843,   125,  1845,    28,   126,   128,    28,
6636      110,   111,   123,   123,   832,    37,   141,  1857,    37,   144,
6637      123,   134,   134,   123,   123,   134,  1866,   131,    56,  1869,
6638     1490,  1491,   157,   131,   159,   122,   161,   123,   122,  1860,
6639      122,  1862,  1808,   131,   123,   123,   131,   787,   788,   867,
6640      790,   131,    74,    75,   131,    74,    75,    79,   876,   123,
6641       79,  1901,   123,  1903,    86,   883,   123,    86,    74,    75,
6642      888,   123,   890,    79,   134,   815,   816,   817,   818,   134,
6643       86,   120,   133,   133,  1544,  1545,   134,   134,   110,   111,
6644     1207,   110,   111,   125,    11,  2004,   129,  2006,   697,   126,
6645      122,   131,   131,   122,   110,   111,   129,   125,   122,   126,
6646     1972,   133,  1229,   126,   125,   123,   122,   129,   858,   859,
6647      123,   123,   123,   941,    74,    75,   123,     3,   123,    79,
6648     1970,  1971,  1972,  1973,  1974,  1975,    86,  1977,   134,   957,
6649      134,   134,   134,  1972,  1984,  1985,  1986,  1987,   134,  1463,
6650        0,   134,    28,   134,   134,  1995,  2086,  2087,   123,  1473,
6651      110,   111,    64,  2072,  2004,    64,  2006,  2007,   125,   123,
6652     2004,   134,  2006,   123,   134,   123,  2016,  2017,   134,   134,
6653      125,   125,   134,   125,   125,   123,   129,  2128,   125,   125,
6654     1504,    41,  2013,   125,  2015,  1509,   125,  1511,    74,    75,
6655      125,   125,   125,    79,   125,   123,   125,   976,  1836,    59,
6656       86,   125,  2052,  2053,  1528,  1498,    66,   858,   958,  2059,
6657     2060,   477,   288,  2063,   913,  2065,   477,     0,  2068,   288,
6658      804,   477,  2072,    83,   110,   111,    86,   968,  2072,   477,
6659       74,    75,    92,    93,  1464,    79,   477,  2087,    92,  2089,
6660      100,   101,    86,  2093,   435,   722,  2077,  2078,   314,  2080,
6661     1789,  2082,   728,   113,   100,  2105,   116,  1581,  2077,    93,
6662      425,   270,    93,   101,   265,    93,   110,   111,   128,  1738,
6663       -1,    -1,    -1,    -1,    -1,    -1,   136,    -1,  2128,  2129,
6664     2111,   141,   142,  2133,   144,    -1,    -1,    -1,    -1,  2120,
6665     2121,    -1,  2123,    -1,   154,  2145,   156,   157,   158,   159,
6666       83,   161,    -1,    -1,    -1,    -1,    -1,    -1,  2139,  1779,
6667       93,  1781,   136,    -1,    -1,    -1,    -1,   100,   101,    -1,
6668       -1,    -1,    -1,    -1,    -1,  2156,   186,   187,    -1,    -1,
6669      465,   466,   186,   187,    -1,  1805,    -1,  1807,   198,    -1,
6670       -1,    -1,   477,    -1,    -1,    -1,  1473,    -1,    -1,    -1,
6671       -1,    -1,   212,    -1,    -1,    -1,   491,   492,  1682,    -1,
6672     1684,   221,    -1,    -1,    -1,    -1,  2004,    -1,  2006,  1693,
6673       -1,    -1,    -1,  1201,  1698,  1699,    -1,    -1,   513,   514,
6674       -1,  1705,    -1,   518,   519,    -1,    -1,   522,   523,    -1,
6675       -1,    44,    45,    -1,    -1,    74,    75,    -1,    -1,    -1,
6676       79,    -1,    -1,    -1,    -1,   265,    -1,    86,   268,   269,
6677      270,     3,    -1,    -1,   268,    -1,   270,    -1,   278,    -1,
6678       -1,    74,    75,    -1,    -1,   560,    79,   562,   288,   289,
6679      290,   110,   111,    86,  2072,   289,    28,    -1,   221,  1763,
6680       -1,    -1,    -1,    -1,   123,    37,    -1,    -1,   308,    -1,
6681       -1,    -1,    -1,    -1,   314,  1205,    -1,   110,   111,    -1,
6682       -1,    -1,    -1,    -1,   324,    -1,    -1,     7,    -1,   122,
6683       10,    11,    12,    13,    14,    15,    16,    17,    -1,    -1,
6684       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
6685       -1,    -1,    -1,    -1,    86,   278,    -1,    -1,    -1,    -1,
6686     1970,  1971,  1972,  1973,  1974,   288,    -1,   290,    -1,    -1,
6687       -1,    -1,    -1,    -1,  1984,  1985,  1986,  1987,   110,   111,
6688       -1,   381,    -1,    -1,    -1,   349,   386,   119,   388,    -1,
6689      122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,
6690       -1,    -1,    -1,  1867,  1868,    -1,    -1,    -1,    -1,    -1,
6691       -1,    -1,    -1,    -1,    -1,  1682,    -1,  1684,   418,    -1,
6692      420,   421,    44,    45,   424,   425,    -1,    -1,    -1,    -1,
6693      430,  1698,  1699,    -1,   434,   435,    -1,   437,  1902,    -1,
6694      120,   121,  2052,  2053,    -1,    -1,   440,  1911,    -1,   443,
6695      130,    -1,    74,    75,    -1,    -1,   420,    79,    -1,   139,
6696      140,   141,   142,   143,    86,   465,   466,    -1,    -1,    -1,
6697      470,   471,    -1,    -1,    -1,    -1,    -1,   477,    -1,    -1,
6698       -1,    -1,   482,    -1,    -1,    -1,    -1,   487,   110,   111,
6699       -1,   491,   492,    -1,    -1,   418,    -1,    -1,  1466,    -1,
6700      122,     3,    -1,  1967,  1968,    -1,    -1,    -1,    -1,    -1,
6701      510,    -1,    -1,   513,   514,    -1,    74,    75,   518,   519,
6702       -1,    79,   522,   523,    -1,    -1,    28,  1417,    86,   529,
6703       -1,  1421,    -1,    -1,    -1,    37,   536,    -1,    -1,   539,
6704       -1,    -1,   536,    -1,    -1,   539,    -1,   470,    -1,    -1,
6705       -1,    -1,   110,   111,    -1,   555,    -1,    -1,    -1,    -1,
6706      560,   119,   562,    -1,   122,   565,   566,    -1,    -1,   529,
6707       -1,    -1,    74,    75,    -1,   133,    -1,    79,    -1,    -1,
6708       -1,    -1,    -1,    -1,    86,   585,    -1,   510,   588,    -1,
6709      590,    -1,   592,    -1,  1484,    -1,    -1,    -1,  1566,   599,
6710       -1,    -1,    -1,    -1,    -1,     1,    -1,     3,   110,   111,
6711       -1,    -1,  1502,    -1,    -1,  2079,    -1,   119,    -1,    -1,
6712      122,   123,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
6713       -1,    -1,    28,  2097,    -1,  1902,    86,    -1,    37,    -1,
6714       -1,    37,    38,    -1,  1911,    44,    45,  1723,  1724,    -1,
6715     1726,  1727,    -1,    -1,    -1,  1731,  1732,  1733,  1734,    -1,
6716      110,   111,    -1,   663,   664,   665,   666,    -1,    -1,   663,
6717      664,   665,   666,   123,    -1,    74,    75,    -1,    74,    75,
6718       79,    -1,    -1,    79,  2148,    -1,    -1,    86,    -1,    -1,
6719       86,   691,   692,   693,    -1,   970,   696,   691,   692,   693,
6720     1967,  1968,   702,    -1,    -1,    44,    45,    -1,    -1,    -1,
6721      710,   110,   111,    -1,   110,   111,    -1,   717,   718,   719,
6722      119,   721,   722,   119,    -1,    -1,   122,    -1,   728,   125,
6723       -1,   127,   128,  1701,    -1,    74,    75,    -1,    -1,   739,
6724       79,    -1,   742,    -1,    -1,    -1,    -1,    86,    -1,   749,
6725      710,    -1,   752,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6726       -1,    -1,    -1,    -1,  1039,  1040,    -1,    -1,  1043,  1044,
6727     1045,   110,   111,   696,    -1,    -1,    -1,    -1,    -1,   702,
6728      119,    -1,   742,    -1,    -1,    -1,    -1,    -1,  1678,   749,
6729       -1,    -1,   752,  1683,  1870,  1871,  1872,  1873,  1874,  1875,
6730     1876,  1877,    74,    75,    -1,   728,    -1,    79,    -1,    -1,
6731       -1,    -1,    -1,    -1,    86,    -1,  1784,    -1,    -1,    -1,
6732       -1,    -1,    -1,   787,   788,    -1,   790,    -1,    -1,    -1,
6733       -1,    -1,   832,    -1,    -1,   835,   836,   837,   110,   111,
6734       -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,
6735      122,   815,   816,   817,   818,    -1,    -1,  1747,   858,   859,
6736      860,    -1,    -1,    -1,    -1,   465,   466,   867,     0,    -1,
6737       -1,    -1,    -1,    -1,    -1,   875,   876,    -1,    -1,    -1,
6738       -1,    -1,    -1,   883,    -1,    -1,   886,  1963,   888,    -1,
6739      890,   491,   492,    -1,   858,   859,    -1,    -1,  1788,    -1,
6740       -1,    -1,    -1,    -1,    -1,  1180,  1181,    -1,    -1,   832,
6741       -1,    -1,    -1,   513,   514,    -1,    -1,    -1,   518,   519,
6742       52,    -1,   522,   523,    -1,    -1,    -1,    -1,    -1,    -1,
6743       -1,    -1,    -1,   933,    -1,  1903,    -1,    -1,    -1,    -1,
6744       -1,   941,    -1,    -1,   867,    -1,    -1,    -1,    -1,    -1,
6745       82,    83,    84,   876,    -1,    -1,    -1,   957,   958,    91,
6746      883,    93,    -1,    -1,    -1,   965,   966,   890,   100,   101,
6747      970,    -1,    -1,    -1,  1723,  1724,   976,  1726,  1727,    -1,
6748       -1,    -1,  1731,  1732,  1733,  1734,    -1,    -1,    -1,     3,
6749       -1,    -1,    -1,   987,   958,    -1,   996,   997,   998,   131,
6750      132,   133,   134,   135,  1004,    -1,    -1,    -1,    -1,   141,
6751       -1,  1901,   144,    -1,    28,    -1,    -1,    -1,   941,    -1,
6752       -1,    -1,    -1,    37,    38,   157,    -1,   159,    -1,   161,
6753       -1,    -1,    -1,    -1,   957,    -1,   996,   997,   998,  1039,
6754     1040,    -1,    -1,  1043,  1044,  1045,    -1,    -1,    -1,    -1,
6755       -1,   183,   184,   185,    -1,    -1,    -1,    -1,    -1,     3,
6756       74,    75,    -1,  1063,  1064,    79,    -1,    -1,  1068,    -1,
6757       -1,    -1,    86,    -1,  1074,    -1,    -1,    -1,    -1,    -1,
6758     1080,    -1,    -1,    -1,    28,    -1,  1086,    -1,   220,   221,
6759       -1,    -1,    -1,    37,    -1,    -1,   110,   111,    -1,    -1,
6760       -1,    -1,    -1,    -1,  1104,   119,    -1,  1107,   122,    -1,
6761     1110,    -1,    -1,  1107,    -1,    -1,  1110,    -1,    -1,    -1,
6762       -1,  1870,  1871,  1872,  1873,  1874,  1875,  1876,  1877,    -1,
6763       74,    75,    -1,   265,    -1,    79,    -1,    -1,    -1,    -1,
6764       -1,    -1,    86,    -1,  1104,    -1,   278,    -1,  1148,    -1,
6765       -1,    -1,    -1,    -1,  1148,    -1,   288,    -1,   290,    -1,
6766       -1,    -1,  1162,  1163,  1164,  1165,   110,   111,  1162,  1163,
6767     1164,  1165,    -1,    -1,    -1,   119,    -1,    -1,   122,    -1,
6768     1180,  1181,    -1,    -1,    -1,  1185,    -1,  1187,    -1,    -1,
6769       -1,  1185,    -1,  1187,  1194,    -1,    -1,    -1,    -1,    -1,
6770       -1,  1201,    -1,    -1,  1204,  1205,  1206,    -1,    -1,    -1,
6771       -1,    -1,    -1,    -1,  1963,  1490,  1491,    -1,    -1,    -1,
6772       -1,    -1,    -1,    -1,  1224,    -1,    -1,    -1,    -1,    -1,
6773       -1,  1231,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6774        1,  1205,     3,    -1,    -1,    -1,     0,    -1,  1248,  1249,
6775       -1,    -1,    -1,    -1,    -1,  1255,  1256,    -1,    -1,  1259,
6776     1260,    -1,   394,   395,   396,    -1,    -1,    28,    -1,  1544,
6777     1545,  1194,    -1,    -1,    -1,    -1,    37,    38,  1201,    -1,
6778       -1,    -1,    -1,    -1,    -1,    -1,   418,    -1,  1248,  1249,
6779       -1,    -1,    -1,   425,    -1,  1255,  1256,    -1,    -1,  1259,
6780     1260,    -1,    -1,    -1,   436,    -1,    -1,    -1,    -1,    -1,
6781       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
6782       -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,    -1,    83,
6783       -1,    -1,    -1,   465,   466,    -1,    -1,    -1,   470,    93,
6784       -1,    -1,   474,    -1,    -1,   477,   100,   101,    -1,   110,
6785      111,    -1,    -1,    -1,   486,    -1,    -1,    -1,   119,   491,
6786      492,   122,    -1,    -1,   125,    -1,   127,   128,    -1,    -1,
6787       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   510,    -1,
6788       -1,   513,   514,    -1,    -1,    -1,   518,   519,   142,    -1,
6789      522,   523,    52,    -1,   526,   527,   528,    -1,    -1,    -1,
6790      154,  1401,  1402,    -1,   158,    -1,    -1,    -1,    -1,    -1,
6791       -1,    -1,   544,   545,    -1,    -1,   141,  1417,    -1,   144,
6792       -1,  1421,    -1,    83,    84,    -1,    -1,    -1,   560,    -1,
6793      562,    91,   157,   565,   159,   567,   161,    -1,    -1,  1039,
6794     1040,    -1,    -1,  1043,  1044,    -1,    -1,    -1,    -1,    -1,
6795      582,    -1,    -1,  1417,    -1,    -1,    -1,  1421,    -1,    -1,
6796       -1,    -1,    -1,  1463,    -1,    -1,  1466,   142,    -1,    -1,
6797       -1,   131,   132,    -1,    -1,    -1,    -1,    -1,    -1,   154,
6798       -1,    -1,    -1,   158,  1484,    -1,    -1,    -1,    -1,    -1,
6799     1490,  1491,    -1,    -1,    -1,  1495,  1496,  1497,  1498,    -1,
6800       -1,    -1,    -1,  1463,  1779,    -1,  1781,    -1,    -1,    -1,
6801       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6802     1484,    -1,    -1,   183,   278,  1519,    -1,    -1,    -1,    -1,
6803     1805,    -1,  1807,    -1,   288,    -1,   290,    -1,  1502,    -1,
6804       -1,    -1,    -1,  1466,  1544,  1545,    -1,    -1,    -1,    -1,
6805       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   690,    -1,
6806       -1,    -1,    -1,    -1,   696,    -1,  1566,    -1,    -1,    -1,
6807      230,    -1,    -1,   233,    -1,    -1,    -1,    -1,    -1,    -1,
6808     1580,  1581,    -1,    -1,    -1,   717,  1586,  1587,    -1,   721,
6809      265,    -1,  1586,  1587,   268,   269,    -1,    -1,    -1,  1599,
6810       -1,    -1,  1602,    -1,  1598,   265,    -1,   739,   465,   466,
6811     1610,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   278,    -1,
6812     1580,  1581,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6813       -1,    -1,    -1,   308,   491,   492,    -1,    -1,    -1,   314,
6814       -1,    -1,    -1,  1566,    -1,  1645,    -1,    -1,    -1,    -1,
6815       -1,    -1,    -1,    -1,    -1,    -1,   513,   514,    -1,    -1,
6816       -1,   518,   519,    -1,    -1,   522,   523,    -1,    -1,    -1,
6817      424,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1678,    -1,
6818     1680,   435,    -1,  1683,    -1,    -1,    -1,    -1,    -1,    -1,
6819       -1,    -1,    -1,    -1,    -1,  1970,  1971,  1972,  1973,  1974,
6820       -1,  1701,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1984,
6821     1985,  1986,  1987,    -1,  1678,    -1,    -1,    -1,    -1,  1683,
6822       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   860,    -1,
6823       -1,    -1,    -1,   487,   394,   867,    -1,    -1,    -1,    -1,
6824      465,   466,   874,   875,   876,    -1,     0,  1747,    -1,   424,
6825       -1,   883,   477,    -1,   886,    -1,   888,    -1,    -1,    -1,
6826      435,    -1,  1762,  1763,    -1,    -1,   491,   492,    -1,    -1,
6827       -1,    -1,    -1,    -1,    -1,    -1,   436,  2052,  2053,  1779,
6828       -1,  1781,    -1,  1747,  1784,    -1,    -1,    -1,   513,   514,
6829       -1,    -1,    -1,   518,   519,   927,    -1,   522,   523,    -1,
6830       -1,    -1,  1762,  1763,   936,  1805,    -1,  1807,    -1,   941,
6831       -1,    -1,   487,    -1,   474,   947,    -1,    -1,    -1,    -1,
6832       -1,    -1,    -1,    -1,  1788,   957,    -1,    -1,    -1,    83,
6833       -1,    -1,    -1,    -1,    -1,   560,    -1,   562,   970,    93,
6834     1840,  1841,  1836,    -1,    -1,    -1,   100,   101,   980,    -1,
6835       -1,    -1,    -1,    -1,    -1,   268,   269,    -1,    -1,    -1,
6836       -1,  1784,   536,    -1,    -1,   539,   526,   527,   528,    -1,
6837      530,    -1,  1004,   533,    -1,   270,    -1,    -1,    -1,    -1,
6838       -1,    -1,    -1,    -1,   544,   545,   546,    -1,   142,    -1,
6839     1490,  1491,    -1,   112,    -1,    -1,    -1,    -1,    -1,    -1,
6840      154,  1901,    -1,  1903,   158,   565,    -1,  1039,  1040,    -1,
6841       -1,  1043,  1044,  1045,    -1,    -1,    -1,   136,  1050,  1051,
6842       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1061,
6843       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1901,    -1,    -1,
6844       -1,    -1,   696,    -1,  1544,  1545,    -1,    -1,    -1,    -1,
6845       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6846       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6847     1970,  1971,  1972,  1973,  1974,  1975,    -1,  1977,    -1,   198,
6848       -1,    -1,    -1,    -1,  1984,  1985,  1986,  1987,    -1,   663,
6849      664,   665,   666,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6850       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6851     2004,    -1,  2006,    -1,    -1,    -1,    -1,    -1,    -1,   693,
6852       -1,    -1,    -1,    -1,   278,    -1,    -1,    -1,    -1,    -1,
6853      690,    -1,    -1,    -1,   288,    -1,   290,    -1,    -1,    -1,
6854       -1,    -1,   717,   718,    -1,   440,   721,   722,  1180,  1181,
6855       -1,    -1,  2052,  2053,    -1,    -1,    -1,    -1,    -1,    -1,
6856       -1,    -1,    -1,     0,    -1,    -1,    -1,    -1,    -1,  1201,
6857       -1,    -1,  1204,    -1,  1206,    -1,    -1,    -1,  2072,    -1,
6858       -1,   300,    -1,    -1,    -1,   304,   305,   306,    -1,    -1,
6859      309,     1,  1224,     3,     4,     5,   315,    -1,    -1,  1231,
6860       -1,    -1,   321,    -1,    -1,    -1,    -1,    -1,   327,    -1,
6861       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,
6862       -1,   875,    -1,   536,    -1,   344,   539,    -1,    -1,    -1,
6863      349,    -1,   886,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6864       -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,
6865       -1,    -1,    -1,    -1,    -1,    65,    93,    -1,    -1,    -1,
6866       -1,    71,    72,   100,   101,    -1,    -1,   386,    -1,   388,
6867      424,    -1,    -1,    -1,    -1,    85,    -1,    -1,    -1,    -1,
6868       -1,   435,  1039,  1040,    -1,    -1,  1043,  1044,    98,    -1,
6869       -1,    -1,   102,   103,   104,   105,   106,   107,   108,    -1,
6870      875,   420,    -1,    -1,    -1,   142,    -1,    -1,   118,    -1,
6871       -1,   886,   122,    -1,   344,    -1,    -1,   154,    -1,    -1,
6872       -1,   158,   132,   133,    -1,    -1,    -1,    -1,   888,    -1,
6873       -1,    -1,    -1,   487,    -1,    -1,   631,    -1,    -1,    -1,
6874       -1,    -1,    -1,    -1,    -1,   970,    -1,    -1,    -1,    -1,
6875      663,   664,   665,   666,    -1,    -1,    -1,    -1,    -1,    -1,
6876       -1,    -1,    -1,    -1,    -1,    -1,    -1,   927,   663,   664,
6877      665,   666,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6878      693,    -1,  1414,    -1,   944,    -1,   946,   947,    -1,    -1,
6879       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1429,    -1,    -1,
6880       -1,    -1,    -1,    -1,  1436,    -1,    -1,    -1,    -1,    -1,
6881      529,  1443,    -1,    -1,  1039,  1040,    -1,    -1,  1043,  1044,
6882     1045,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1004,
6883       -1,    -1,  1464,    -1,  1466,    -1,    -1,    -1,    -1,    -1,
6884       -1,   278,    -1,    -1,    -1,    -1,    -1,   566,    -1,    -1,
6885       -1,   288,    -1,   290,    -1,    -1,    -1,    -1,  1490,  1491,
6886       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6887     1970,  1971,    -1,  1973,  1974,    -1,    -1,    -1,    -1,   598,
6888       -1,    -1,    -1,    -1,  1984,  1985,  1986,  1987,    -1,    -1,
6889     1050,  1051,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6890       -1,    -1,    -1,    -1,    -1,    -1,    -1,   626,    -1,    -1,
6891       -1,    -1,  1544,  1545,    -1,  1547,    -1,    -1,    -1,    -1,
6892       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6893       -1,    -1,    -1,  1107,  1566,    -1,  1110,    -1,    -1,    -1,
6894       -1,    -1,   696,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6895       -1,    -1,  2052,  2053,    -1,  1180,  1181,    -1,    -1,    -1,
6896       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6897       -1,    -1,    -1,    -1,  1148,    -1,    -1,    -1,   697,    -1,
6898       -1,    -1,    -1,    -1,    -1,    -1,    -1,   424,  1162,  1163,
6899     1164,  1165,    -1,    -1,    -1,   112,    -1,    -1,   435,    -1,
6900       -1,    -1,    -1,    -1,   723,    -1,   636,    -1,   727,    -1,
6901       -1,  1185,    -1,  1187,    -1,    -1,    -1,    -1,    -1,    -1,
6902       -1,    -1,  1182,   742,  1184,    -1,    -1,    -1,    -1,  1204,
6903      749,    -1,    -1,   752,    -1,    -1,    -1,    -1,    -1,    -1,
6904     1672,    -1,    -1,    -1,   939,    -1,    -1,    -1,    -1,  1224,
6905      487,    -1,    -1,   772,    -1,    -1,  1231,    -1,    -1,   778,
6906      779,   780,   781,   782,   783,   784,    -1,    -1,   787,   788,
6907       -1,   790,   791,   792,   793,   794,   795,   796,   797,    -1,
6908      799,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   807,   808,
6909      809,   810,   811,   812,   813,   814,   815,   816,   817,   818,
6910      819,   820,   821,   822,   823,   824,   825,    -1,   827,    -1,
6911       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6912       -1,   875,    -1,    -1,    -1,    -1,    -1,    -1,   758,    -1,
6913       -1,    -1,   886,  1490,  1491,    -1,    -1,    -1,    -1,   858,
6914      859,    -1,    -1,    -1,    -1,    -1,    -1,  1779,    -1,  1781,
6915       -1,    -1,  1784,   270,    -1,    -1,    -1,    -1,    -1,    -1,
6916       -1,   791,   792,   793,   794,   795,    -1,    -1,   798,    -1,
6917       -1,   112,    -1,  1805,   804,  1807,    -1,    -1,    -1,    -1,
6918       -1,    -1,    -1,    -1,    -1,  1817,    -1,  1544,  1545,   819,
6919      820,   821,   822,   823,  1107,   136,   826,  1110,    -1,    -1,
6920       -1,    -1,    -1,    -1,    -1,    -1,    -1,   926,    -1,   928,
6921      327,    -1,  1107,    -1,    -1,  1110,    -1,    -1,    -1,    -1,
6922       -1,    -1,    -1,    -1,  1119,    -1,    -1,    -1,    -1,    -1,
6923       -1,    -1,    -1,    -1,    -1,  1148,    -1,    -1,    -1,   958,
6924       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   967,  1162,
6925     1163,  1164,  1165,  1148,    -1,    -1,    -1,   198,    -1,   696,
6926       -1,    -1,    -1,    -1,    -1,  1490,  1491,  1162,  1163,  1164,
6927     1165,    -1,  1185,    -1,  1187,    -1,    -1,   996,    -1,   998,
6928       -1,    -1,    -1,  1443,    -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,    -1,
6931       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1544,
6932     1545,    -1,    -1,    -1,    -1,    -1,    -1,     7,     8,     9,
6933       10,    11,    12,    13,    14,    15,    16,    17,  1970,  1971,
6934     1972,  1973,  1974,    -1,    -1,  1064,    -1,    -1,    -1,    -1,
6935       -1,    -1,  1984,  1985,  1986,  1987,    -1,    -1,    -1,   300,
6936       -1,    -1,    -1,   304,   305,   306,    -1,    -1,   309,    -1,
6937       -1,    -1,    -1,    -1,   315,    -1,    -1,    -1,    -1,    -1,
6938      321,    -1,    -1,    -1,    -1,  1104,   327,  1547,    -1,    -1,
6939       -1,    -1,    -1,    -1,    -1,    -1,  1115,    -1,    -1,    -1,
6940       -1,    -1,    -1,   344,    -1,    -1,    -1,    -1,   349,    -1,
6941       -1,    -1,  1586,  1587,    -1,    -1,    -1,    -1,   535,    -1,
6942     2052,  2053,  1141,  1142,    -1,  1599,    -1,    -1,  1602,    -1,
6943       -1,    -1,    -1,    -1,    -1,    -1,  1610,    -1,   875,    -1,
6944      120,   121,    -1,    -1,    -1,   386,    -1,   388,    -1,   886,
6945      130,    -1,    -1,    -1,    -1,   135,   136,   137,    -1,   139,
6946      140,   141,   142,   143,    -1,    -1,    -1,    -1,     1,    -1,
6947        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,   420,
6948       -1,   598,    -1,    -1,    -1,    -1,  1205,    -1,  1207,    -1,
6949       -1,    -1,  1122,    -1,    -1,    28,    -1,    -1,    -1,    -1,
6950       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6951     1229,    -1,    -1,    -1,   631,    -1,    -1,    -1,    -1,    -1,
6952     1150,    -1,    -1,    -1,    -1,    -1,  1245,  1157,    -1,    -1,
6953     1249,    -1,    65,  1252,    -1,    -1,    -1,  1256,    71,    72,
6954       73,  1260,    -1,    -1,    -1,    -1,   663,   664,   665,   666,
6955       -1,    84,    85,    -1,  1779,    -1,  1781,    -1,    -1,    -1,
6956       -1,  1191,    -1,  1193,    -1,    98,    -1,    -1,    -1,   102,
6957      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
6958     1805,    -1,  1807,    -1,    -1,   118,   119,    -1,   529,   122,
6959      123,   124,    -1,    -1,   127,    -1,    -1,    -1,    -1,   132,
6960      133,   134,   135,   136,   137,   138,   723,    -1,    -1,    -1,
6961      727,    -1,    -1,  1970,  1971,    -1,  1973,  1974,    -1,    -1,
6962       -1,    -1,    -1,    -1,    -1,   566,    -1,  1984,  1985,  1986,
6963     1987,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6964       -1,   758,    -1,    -1,    -1,    -1,    -1,    -1,  1808,    -1,
6965       -1,    -1,    -1,    -1,    -1,   772,    -1,   598,    -1,    -1,
6966       -1,    -1,    -1,    -1,    -1,    -1,  1840,  1841,    -1,    -1,
6967       -1,    -1,    -1,  1586,  1587,    -1,    -1,    -1,    -1,    -1,
6968       -1,    -1,   799,    -1,    -1,   626,  1599,   804,    -1,  1602,
6969      807,  1586,  1587,    -1,    -1,  2052,  2053,  1610,  1417,    -1,
6970       -1,  1596,  1421,  1598,  1599,    -1,    -1,  1602,    -1,    -1,
6971      827,    -1,    -1,    -1,    -1,  1610,    -1,    -1,  1613,    -1,
6972       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6973       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6974       -1,    -1,    -1,    -1,  1463,  1970,  1971,  1972,  1973,  1974,
6975       -1,    -1,    -1,    -1,  1473,    -1,   697,    -1,    -1,  1984,
6976     1985,  1986,  1987,    -1,    -1,  1484,    -1,    -1,    -1,    -1,
6977       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6978       -1,    -1,   723,  1502,    -1,  1504,   727,    -1,    -1,    -1,
6979     1509,    -1,  1511,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6980       -1,   742,    -1,    -1,    -1,    -1,    -1,    -1,   749,  1528,
6981       -1,   752,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6982       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2052,  2053,    -1,
6983       -1,   772,    -1,    -1,    -1,    -1,    -1,   778,   779,   780,
6984      781,   782,   783,   784,    -1,    -1,   787,   788,    -1,   790,
6985      791,   792,   793,   794,   795,   796,   797,    -1,   799,    -1,
6986       -1,    -1,  1581,    -1,    -1,    -1,   807,   808,   809,   810,
6987      811,   812,   813,   814,   815,   816,   817,   818,   819,   820,
6988      821,   822,   823,   824,   825,    -1,   827,    -1,    -1,    -1,
6989       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1014,    -1,    -1,
6990       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6991       -1,    -1,    -1,    -1,    -1,    -1,    -1,   858,   859,    -1,
6992       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1840,  1841,    -1,
6993       -1,    -1,    -1,    -1,    -1,  1830,  1831,  1832,  1833,    -1,
6994       -1,  1836,    -1,    -1,    -1,  1840,  1841,    -1,  1843,    -1,
6995     1845,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1678,
6996       -1,    -1,  1857,  1682,  1683,  1684,    -1,    -1,    -1,    -1,
6997       -1,    -1,    -1,    -1,  1693,    -1,    -1,    -1,    -1,  1698,
6998     1699,    -1,    -1,    -1,    -1,   926,  1705,   928,    -1,    -1,
6999     1107,    -1,    -1,  1110,    -1,    -1,    -1,    -1,    -1,    -1,
7000       -1,    -1,  1119,    -1,  1723,  1724,    -1,  1726,  1727,    -1,
7001       -1,    -1,  1731,  1732,  1733,  1734,    -1,   958,    -1,    -1,
7002       -1,    -1,    -1,    -1,  1141,  1142,   967,    -1,  1747,    -1,
7003       -1,  1148,    -1,  1150,    -1,    -1,    -1,  1154,    -1,    -1,
7004     1157,    -1,  1159,    -1,  1763,  1162,  1163,  1164,  1165,    -1,
7005       -1,    -1,    -1,    -1,    -1,   996,    -1,   998,    -1,    -1,
7006       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1788,
7007       -1,    -1,    -1,   132,    -1,    -1,    -1,    -1,    -1,    -1,
7008       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1717,    -1,    -1,
7009       -1,    -1,  1722,  1723,  1724,  1725,  1726,  1727,    -1,    -1,
7010     1995,  1731,  1732,  1733,  1734,    -1,    -1,    -1,    -1,  2004,
7011       -1,  2006,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7012       -1,    -1,    -1,  1064,   183,    -1,    -1,    -1,    -1,    -1,
7013       -1,    -1,    -1,    -1,    -1,  1252,    -1,    -1,    -1,    -1,
7014       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1867,  1868,
7015       -1,  1870,  1871,  1872,  1873,  1874,  1875,  1876,  1877,    -1,
7016       -1,    -1,   221,  1104,  2059,  2060,    -1,    -1,  2063,    -1,
7017     2065,    -1,    -1,  2068,  1115,    -1,    -1,  2072,    -1,    -1,
7018       -1,    -1,  1901,  1902,    -1,    -1,    -1,    -1,    -1,    -1,
7019       -1,    -1,  1911,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7020     1141,  1142,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7021     2105,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7022       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   288,
7023       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2133,    -1,
7024       -1,    -1,    -1,    -1,  1963,    -1,    -1,    -1,  1967,  1968,
7025       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7026       -1,    -1,    -1,    -1,  1205,    -1,  1207,    -1,    -1,    -1,
7027       -1,    -1,    -1,   141,    -1,    -1,   144,    -1,     1,    -1,
7028        3,     4,     5,     6,    -1,     8,     9,    -1,  1229,   157,
7029       -1,   159,    -1,   161,    -1,    -1,    -1,    -1,    -1,    -1,
7030       -1,    -1,    -1,    -1,  1245,    28,    -1,    -1,  1249,    -1,
7031       -1,  1252,    -1,    -1,    -1,  1256,    -1,    -1,    -1,  1260,
7032       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7033       -1,    -1,    -1,    -1,    -1,   394,    -1,    -1,    -1,    -1,
7034       -1,   400,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
7035       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7036     2079,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7037       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,  2097,   102,
7038      103,   104,   105,   106,   107,   108,   109,  1504,    -1,    -1,
7039       -1,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,
7040      123,   124,   270,    -1,   127,    -1,    -1,    -1,   131,   132,
7041      133,   470,   135,   136,   137,   138,    -1,    -1,  1535,    -1,
7042       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2148,
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,    -1,
7046       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1586,
7047     1587,   530,    -1,    -1,   533,    -1,  1417,    -1,    -1,  1596,
7048     1421,  1598,  1599,    -1,    -1,  1602,    -1,   546,    -1,    -1,
7049       -1,    -1,    -1,  1610,    -1,    -1,  1613,    -1,    -1,    -1,
7050       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   567,    -1,
7051       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7052       -1,   580,  1463,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7053       -1,    -1,  1473,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7054       -1,    -1,    -1,  1484,    -1,    -1,    -1,    -1,    -1,    -1,
7055       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7056       -1,  1502,    -1,  1504,    -1,    -1,    -1,    -1,  1509,    -1,
7057     1511,    -1,    -1,    -1,    -1,    -1,  1693,    -1,    -1,    -1,
7058       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1528,  1705,    -1,
7059       -1,    -1,    -1,    -1,    -1,    -1,    -1,   465,   466,    -1,
7060     1717,    -1,    -1,    -1,    -1,  1722,    -1,    -1,  1725,    -1,
7061       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7062       -1,    -1,    -1,   491,   492,    -1,    -1,    -1,    -1,    -1,
7063       -1,   690,    -1,    -1,    -1,    -1,    -1,   696,    -1,    -1,
7064     1581,    -1,    -1,    -1,    -1,   513,   514,    -1,    -1,    -1,
7065      518,   519,    -1,    -1,   522,   523,    -1,    -1,    -1,    -1,
7066       -1,   529,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7067       -1,    -1,  1789,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7068       -1,    -1,    -1,  1800,    -1,    -1,    -1,    -1,    -1,    -1,
7069       -1,    -1,   560,    -1,   562,    -1,    -1,    -1,    -1,    -1,
7070       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7071       -1,    -1,    -1,  1830,  1831,  1832,  1833,    -1,    -1,  1836,
7072       -1,    -1,    -1,  1840,  1841,    -1,  1843,    -1,  1845,    -1,
7073       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1678,    -1,    -1,
7074     1857,  1682,  1683,  1684,    -1,    -1,    -1,    -1,    -1,    -1,
7075     1867,  1868,  1693,    -1,    -1,    -1,    -1,  1698,  1699,    -1,
7076       -1,    -1,    -1,   631,  1705,    -1,    -1,    -1,    -1,    -1,
7077       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7078       -1,    -1,  1723,  1724,    -1,  1726,  1727,    -1,    -1,    -1,
7079     1731,  1732,  1733,  1734,    -1,   663,   664,   665,   666,    -1,
7080       -1,    -1,    -1,    -1,    -1,    -1,  1747,    -1,    -1,    -1,
7081       -1,    -1,    -1,    -1,    -1,    -1,    -1,   876,    -1,    -1,
7082       -1,    -1,  1763,    -1,   883,    -1,    -1,    -1,    -1,    -1,
7083       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7084       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1788,    -1,    -1,
7085       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7086       -1,    -1,  1979,    -1,    -1,    -1,   631,    -1,    -1,    -1,
7087       -1,    -1,    -1,    -1,   742,    -1,    -1,   936,  1995,    -1,
7088       -1,   749,   941,    -1,   752,    -1,    -1,  2004,    -1,  2006,
7089       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   957,    -1,
7090      665,   666,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7091       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7092       -1,    -1,    -1,    -1,    -1,    -1,  1867,  1868,    -1,  1870,
7093     1871,  1872,  1873,  1874,  1875,  1876,  1877,    -1,    -1,  2056,
7094       -1,    -1,  2059,  2060,    -1,  1004,  2063,    -1,  2065,    -1,
7095       -1,  2068,    -1,    -1,    -1,  2072,    -1,    -1,    -1,    -1,
7096     1901,  1902,  2079,    -1,     1,    -1,     3,     4,     5,     6,
7097     1911,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7098     2097,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2105,    -1,
7099       -1,    28,  1051,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7100       37,  1060,    -1,  1062,    -1,    -1,    -1,    -1,    -1,    -1,
7101       -1,    -1,    -1,    -1,    -1,    -1,  2133,    -1,    -1,    -1,
7102       -1,    -1,  1963,    -1,    -1,    -1,  1967,  1968,    65,    -1,
7103       -1,  2148,    -1,    -1,    71,    72,    73,    74,    75,   907,
7104      908,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,
7105       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7106        0,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
7107      107,   108,   109,   110,   111,    -1,    -1,    -1,    -1,    -1,
7108       -1,   118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,
7109       -1,    -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,
7110      137,   138,   970,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7111       -1,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7112       -1,    -1,    -1,  1182,    -1,  1184,    -1,    -1,   996,    -1,
7113      998,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2079,    -1,
7114       -1,    -1,    -1,    83,    -1,    -1,    -1,    -1,    -1,    -1,
7115       -1,    86,    92,    93,    -1,    -1,  2097,    -1,    -1,    -1,
7116      100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7117       -1,  1039,  1040,    -1,    -1,  1043,  1044,  1045,   118,    -1,
7118       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7119       -1,    -1,    -1,   128,    -1,    -1,    -1,    -1,    -1,    -1,
7120       -1,   136,   142,    -1,    -1,    -1,    -1,  2148,    -1,    -1,
7121       -1,    -1,    -1,    -1,   154,    -1,    -1,    -1,   158,    -1,
7122       -1,   156,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7123       -1,    -1,    -1,    -1,    -1,    -1,  1104,    -1,    -1,  1107,
7124       -1,    -1,  1110,    -1,    -1,    -1,   186,   187,    -1,    -1,
7125       -1,  1119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7126       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7127       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7128     1148,   221,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7129       -1,    -1,    -1,    -1,  1162,  1163,  1164,  1165,    -1,    -1,
7130       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7131       -1,    -1,  1180,  1181,    -1,    -1,    -1,    -1,    -1,    -1,
7132       -1,    -1,    -1,    -1,    -1,   265,    -1,    -1,   268,   269,
7133      270,    -1,     1,    -1,     3,     4,     5,     6,   278,     8,
7134        9,    -1,  1107,    -1,    -1,  1110,    -1,    -1,   288,   289,
7135      290,    -1,    -1,    -1,  1119,    -1,    -1,    -1,    -1,    28,
7136       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   308,    -1,
7137     1429,    -1,    -1,    -1,   314,    -1,    -1,  1436,    -1,    -1,
7138       -1,  1249,    -1,  1148,   324,    -1,    -1,    -1,  1256,    -1,
7139       -1,    -1,  1260,    -1,    -1,    -1,    65,  1162,  1163,  1164,
7140     1165,    -1,    71,    72,    73,  1464,    -1,  1466,    -1,    -1,
7141     1469,    -1,    -1,  1472,    -1,    84,    85,    -1,    -1,    -1,
7142       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
7143       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
7144      109,    -1,    -1,    -1,    -1,    -1,   381,    -1,    -1,   118,
7145      119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,    -1,
7146       -1,    -1,    -1,   132,   133,   134,   135,   136,   137,   138,
7147       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   418,    -1,
7148       -1,    -1,    -1,    -1,   424,   420,   421,    -1,  1547,    -1,
7149      425,    -1,    -1,    -1,    -1,   435,  1555,    -1,    -1,   434,
7150       -1,     1,   437,    -1,     4,     5,     6,  1566,     8,     9,
7151       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7152       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7153      470,    -1,    -1,    -1,    -1,    -1,   471,    -1,    -1,    -1,
7154       -1,    -1,   477,    -1,    -1,    -1,    -1,   487,    -1,    -1,
7155       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7156       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
7157      510,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,    -1,
7158       -1,    -1,    -1,    -1,    84,    -1,    -1,    -1,    -1,   529,
7159       -1,    -1,    -1,    -1,    -1,  1463,   536,    -1,    98,   539,
7160       -1,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7161       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
7162      555,    -1,  1490,  1491,   124,   125,    -1,   127,   128,   129,
7163      565,    -1,   132,   133,    -1,   135,   136,   137,   138,    -1,
7164       -1,  1509,    -1,  1511,    -1,    -1,    -1,    -1,    -1,    -1,
7165      585,    -1,    -1,   588,    -1,   590,    -1,   592,    -1,    -1,
7166       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7167       -1,    -1,    -1,    -1,    -1,    -1,  1544,  1545,    -1,    -1,
7168       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7169       -1,    -1,  1751,  1752,    -1,  1754,    -1,    -1,   638,    -1,
7170       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7171       -1,    -1,    -1,  1581,    -1,    -1,    -1,    -1,  1586,  1587,
7172       -1,    -1,    -1,   663,   664,   665,   666,    -1,  1596,    -1,
7173     1598,  1599,    -1,    -1,  1602,    -1,    -1,    -1,    -1,    -1,
7174       -1,    -1,  1610,    -1,    -1,  1613,    -1,    -1,    -1,  1808,
7175       -1,   691,   692,   693,    -1,    -1,   696,    -1,    -1,    -1,
7176       -1,    -1,   702,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7177      710,    -1,    -1,    -1,    -1,    -1,    -1,   717,   718,   719,
7178       -1,   721,   722,    -1,    -1,    -1,    -1,    -1,   728,    -1,
7179       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   739,
7180       -1,    -1,   742,    -1,    -1,    -1,    -1,    -1,    -1,   749,
7181       -1,    -1,   752,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7182       -1,  1586,  1587,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7183       -1,  1596,    -1,  1598,  1599,    -1,    -1,  1602,    -1,    -1,
7184       -1,    -1,    -1,    -1,    -1,  1610,    -1,    -1,  1613,    -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,    -1,    -1,    -1,    -1,
7188       -1,    -1,    -1,    -1,    -1,    -1,   270,    -1,    -1,    -1,
7189       -1,    -1,   832,    -1,    -1,  1763,    -1,    -1,    -1,    -1,
7190      835,   836,   837,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7191       -1,  1779,    -1,  1781,    -1,    -1,    -1,    -1,    -1,    -1,
7192       -1,    -1,    -1,   858,   859,   860,    -1,   867,     0,    -1,
7193       -1,    -1,    -1,    -1,    -1,   875,   876,  1805,    -1,  1807,
7194      324,    -1,    -1,   883,    -1,    -1,   886,   887,   888,    -1,
7195      890,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7196       -1,    -1,  1830,  1831,  1832,  1833,    -1,    -1,  1836,    -1,
7197       -1,    -1,  1840,  1841,    -1,  1843,    -1,  1845,    -1,    51,
7198       52,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1857,
7199       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   933,    -1,
7200       -1,   941,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7201       -1,    83,    84,    -1,    -1,    -1,    88,   957,    -1,    -1,
7202       -1,    93,    -1,   958,    -1,    -1,    -1,    -1,   100,   101,
7203      965,   966,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7204       -1,   976,    -1,    -1,    -1,    -1,   118,    -1,    -1,    -1,
7205       -1,    -1,   436,    -1,    -1,    -1,   996,   997,   998,   131,
7206       -1,    -1,    -1,    -1,  1004,  1830,  1831,  1832,  1833,    -1,
7207       -1,  1836,    -1,    -1,    -1,  1840,  1841,    -1,  1843,    -1,
7208     1845,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7209       -1,    -1,  1857,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7210       -1,    -1,  1970,  1971,  1972,  1973,  1974,    -1,    -1,    -1,
7211      182,    -1,    -1,    -1,    -1,    -1,  1984,  1985,  1986,  1987,
7212       -1,    -1,    -1,   195,    -1,    -1,    -1,  1995,  1063,    -1,
7213       -1,    -1,    -1,  1068,    -1,    -1,  2004,    -1,  2006,  1074,
7214       -1,    -1,    -1,    -1,    -1,  1080,    -1,    -1,    -1,   221,
7215       -1,  1086,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7216       -1,    -1,    -1,    -1,  1104,    -1,    -1,  1107,    -1,    -1,
7217     1110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7218       -1,    -1,    -1,  1123,  2052,  2053,    -1,    -1,    -1,    -1,
7219       -1,  2059,  2060,   265,    -1,  2063,    -1,  2065,    -1,    -1,
7220     2068,    -1,    -1,    -1,  2072,    -1,   278,    -1,  1148,    -1,
7221       -1,    -1,    -1,    -1,    -1,    -1,   288,    -1,   290,    -1,
7222       -1,    -1,  1162,  1163,  1164,  1165,    -1,    -1,    -1,    -1,
7223     1995,    -1,    -1,    -1,    -1,    -1,    -1,  2105,    -1,  2004,
7224       -1,  2006,    -1,    -1,    -1,  1185,    -1,  1187,    -1,    -1,
7225       -1,    -1,   636,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7226       -1,  1201,    -1,    -1,  1204,  2133,    -1,    -1,   652,    -1,
7227     1205,  1206,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   663,
7228      664,   665,   666,    -1,  1224,    -1,    -1,    -1,    -1,    -1,
7229       -1,  1231,    -1,    -1,  2059,  2060,    -1,    -1,  2063,    -1,
7230     2065,    -1,    -1,  2068,    -1,    -1,    -1,  2072,  1248,  1249,
7231       -1,    -1,    -1,    -1,    -1,  1255,  1256,    -1,   702,  1259,
7232     1260,   705,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7233       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7234     2105,    -1,    -1,    -1,   728,    -1,   418,    -1,    -1,   733,
7235       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7236       -1,    -1,    -1,    -1,   436,   327,    -1,    -1,  2133,    -1,
7237       -1,    -1,    -1,    -1,    -1,    -1,   760,    -1,    -1,    -1,
7238       -1,    -1,   344,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7239       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   470,    -1,
7240       -1,   473,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7241       -1,    -1,    -1,    -1,   798,    -1,    -1,    -1,    -1,    -1,
7242       -1,    -1,   806,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7243       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   510,    -1,
7244       -1,    -1,   826,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7245       -1,    -1,    -1,    -1,   526,   527,   528,    -1,    -1,    -1,
7246       -1,    -1,    -1,    -1,    -1,    -1,  1401,  1402,    -1,    -1,
7247       -1,    -1,   544,   545,    -1,    -1,    -1,    -1,    -1,    -1,
7248       -1,    -1,  1417,    -1,    -1,    -1,  1421,    -1,    -1,    -1,
7249       -1,    -1,    -1,   565,    -1,   567,    -1,    -1,    -1,    -1,
7250       -1,    -1,    -1,    -1,   888,    -1,   578,    -1,    -1,    -1,
7251       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7252       -1,    -1,    -1,  1463,    -1,    -1,  1466,    -1,    -1,    -1,
7253       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7254       -1,    -1,   614,    -1,    -1,    -1,    -1,    -1,    -1,  1484,
7255       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7256     1495,  1496,  1497,  1498,    -1,    -1,    -1,    -1,    -1,    -1,
7257       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7258        1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
7259       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
7260       21,    22,    23,    24,    25,    26,    27,    28,    -1,    -1,
7261       -1,    -1,    -1,    -1,    -1,    -1,    -1,   689,    -1,    -1,
7262       -1,    -1,    -1,    -1,   696,    -1,  1566,    -1,    -1,    -1,
7263       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7264     1580,  1581,    -1,    -1,    65,   717,  1586,  1587,    -1,   721,
7265       71,    72,    73,    -1,    -1,    -1,    -1,    -1,    -1,  1599,
7266       -1,    -1,  1602,    84,    85,    -1,    -1,   739,    -1,    -1,
7267     1610,    -1,    -1,    -1,   636,    -1,    -1,    98,    -1,    -1,
7268       -1,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
7269       -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,
7270      121,   122,   123,   124,   125,   126,   127,    -1,    -1,   130,
7271     1645,   132,   133,    -1,   135,   136,   137,   138,   139,   140,
7272      141,   142,   143,  1107,    -1,    -1,  1110,  1111,  1112,    -1,
7273     1114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1122,    -1,
7274       -1,    -1,    -1,  1678,    -1,  1680,  1130,    -1,  1683,    -1,
7275       -1,    -1,    -1,  1137,    -1,    -1,    -1,    -1,    -1,    -1,
7276       -1,  1701,    -1,    -1,  1148,    -1,    -1,    -1,    -1,    -1,
7277       -1,  1155,    -1,    -1,    -1,    -1,  1160,    -1,  1162,  1163,
7278     1164,  1165,    -1,    -1,    -1,    -1,    -1,    -1,   860,   861,
7279       -1,    -1,    -1,    -1,    -1,   867,   758,    -1,    -1,    -1,
7280       -1,    -1,    -1,   875,   876,    -1,    -1,  1191,    -1,  1193,
7281      772,   883,  1747,    -1,   886,   887,   888,    -1,    -1,    -1,
7282       -1,    -1,  1762,  1763,    -1,    -1,    -1,    -1,    -1,   791,
7283      792,   793,   794,   795,    -1,    -1,   798,   799,    -1,    -1,
7284       -1,  1225,   804,    -1,  1784,   807,    -1,    -1,    -1,    -1,
7285       -1,    -1,    -1,    -1,    -1,   927,    -1,   819,   820,   821,
7286      822,   823,    -1,   935,   826,   827,    -1,    -1,    -1,   941,
7287       92,    -1,    -1,    -1,    -1,   947,    -1,    -1,    -1,    -1,
7288       -1,    -1,    -1,    -1,    -1,   957,  1270,    -1,     1,    -1,
7289        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
7290     1840,  1841,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7291       -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
7292       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7293       -1,    -1,  1004,    -1,    -1,    -1,    -1,    -1,  1322,    -1,
7294       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7295       -1,  1335,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
7296       73,    -1,    -1,  1903,   186,   187,  1901,    -1,    -1,    -1,
7297       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,  1050,    -1,
7298       -1,    -1,    -1,    -1,    -1,    98,    -1,  1059,    -1,   102,
7299      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   221,
7300       -1,    -1,  1386,    -1,    -1,   118,   119,    -1,    -1,   122,
7301      123,   124,    -1,    -1,   127,    -1,    -1,    -1,   131,   132,
7302      133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
7303       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
7304     1975,    -1,  1977,   265,    -1,    -1,   268,   269,   270,    -1,
7305       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7306       -1,    -1,    -1,    28,    -1,    -1,    -1,   289,    -1,    34,
7307       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7308       45,    46,    47,    48,    49,    50,   308,    -1,    -1,    -1,
7309       -1,    -1,   314,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7310       -1,    66,   324,    -1,    -1,    -1,    -1,    -1,    -1,    74,
7311       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
7312       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,  1201,
7313       -1,    -1,  1204,    -1,  1206,   100,    -1,    -1,    -1,    -1,
7314       -1,    -1,  1214,    -1,    -1,   110,   111,   112,   113,   114,
7315      115,    -1,  1224,    -1,   119,    -1,    -1,   122,    -1,  1231,
7316     1122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   133,    -1,
7317       -1,     0,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7318       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1150,    -1,
7319       -1,    -1,    -1,    -1,    -1,  1157,   418,    -1,    -1,    -1,
7320       -1,    -1,  1586,  1587,    -1,    -1,    -1,    -1,  1592,    -1,
7321     1594,    -1,    -1,  1597,  1598,    -1,    -1,    -1,    -1,  1603,
7322     1604,    -1,  1606,    52,    -1,    -1,    -1,    -1,    -1,  1191,
7323       -1,  1193,  1616,    -1,  1618,    -1,    -1,    -1,    -1,    -1,
7324       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   470,    -1,
7325       -1,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,    -1,
7326       -1,    -1,    91,    -1,    93,    -1,  1650,    -1,    -1,    -1,
7327     1654,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7328       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   510,    -1,
7329     1252,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7330       -1,    -1,   131,   132,    -1,    -1,    -1,   529,    -1,    -1,
7331       -1,    -1,    -1,    -1,   536,    -1,    -1,   539,    -1,    -1,
7332       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7333       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7334       -1,    -1,  1414,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7335       -1,    -1,    -1,    -1,   183,    -1,  1428,    -1,    -1,    -1,
7336       92,    -1,    -1,  1435,    -1,    -1,    -1,    -1,    -1,    -1,
7337       -1,  1443,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7338       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7339       -1,    -1,  1464,    -1,  1466,    -1,    -1,    -1,    -1,    -1,
7340       -1,   230,    -1,    -1,   233,    -1,    -1,    -1,    -1,    -1,
7341       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7342       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7343       -1,    -1,    -1,    -1,  1818,    -1,   265,    -1,    -1,    -1,
7344       -1,   663,   664,   665,   666,    -1,    -1,    -1,    -1,   278,
7345       -1,    -1,  1836,  1837,   186,   187,    -1,    -1,    -1,   288,
7346     1844,   290,    -1,    -1,  1848,    -1,  1850,    -1,    -1,   691,
7347      692,   693,    -1,    -1,  1546,  1859,    -1,    -1,    -1,    -1,
7348      702,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   710,   221,
7349       -1,    -1,    -1,    -1,  1566,   717,   718,   719,    -1,   721,
7350      722,    -1,    -1,    -1,    -1,    -1,   728,    -1,    -1,    -1,
7351       -1,    -1,    -1,    -1,    -1,    -1,    -1,   739,    -1,  1903,
7352      742,    -1,    -1,    -1,    -1,    -1,    -1,   749,    -1,    -1,
7353      752,    -1,    -1,   265,    -1,    -1,   268,   269,   270,    -1,
7354       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7355       -1,    -1,    -1,    -1,    -1,    -1,    -1,   289,    -1,    -1,
7356       -1,    -1,    -1,    -1,    -1,   394,    -1,    -1,    -1,    -1,
7357       -1,    -1,    -1,    -1,    -1,    -1,   308,    -1,    -1,    -1,
7358       -1,    -1,   314,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7359       -1,    -1,   324,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7360     1672,    -1,    -1,    -1,    -1,    -1,    -1,   436,    -1,    -1,
7361      832,    -1,  1996,  1997,    -1,  1999,    -1,  2001,    -1,    -1,
7362     2004,  2005,  2006,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7363       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7364       -1,    -1,    -1,    -1,    -1,   867,    -1,    -1,    -1,    -1,
7365       -1,    -1,    -1,    -1,   876,    -1,    -1,    -1,    -1,    -1,
7366       -1,   883,    -1,    -1,    -1,    -1,   888,    -1,   890,    -1,
7367       -1,  1743,    -1,    -1,    -1,    -1,    -1,  2061,    -1,    -1,
7368     2064,    -1,    -1,    -1,    -1,    -1,   418,    -1,  2072,    -1,
7369       -1,    -1,    -1,  1765,    -1,    -1,    -1,   526,   527,   528,
7370       -1,   530,    -1,    -1,   533,    -1,    -1,    -1,    -1,    -1,
7371       -1,    -1,  1784,    -1,    -1,   544,   545,   546,    -1,   941,
7372       -1,    -1,    -1,    -1,  2108,    -1,    -1,    -1,    -1,    -1,
7373       -1,    -1,   324,    -1,    -1,   957,   565,    -1,   470,    -1,
7374       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7375       -1,    -1,    -1,    -1,    -1,  1717,    -1,    -1,    -1,    -1,
7376     1722,  1723,  1724,  1725,  1726,  1727,    -1,    -1,    -1,  1731,
7377     1732,  1733,  1734,    -1,   996,   997,   998,    -1,   510,    -1,
7378       -1,    -1,  1004,    -1,   198,    -1,    -1,    -1,    -1,    -1,
7379       -1,    -1,    -1,    -1,    -1,    -1,    -1,   529,    -1,    -1,
7380       -1,    -1,    -1,    -1,   536,    -1,    -1,   539,    -1,    -1,
7381       -1,  1883,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7382       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7383       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7384       -1,    -1,    -1,    -1,   436,    -1,    -1,    -1,    -1,    -1,
7385       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7386       -1,   690,    -1,    -1,    -1,    -1,    -1,   696,    -1,    -1,
7387       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7388       -1,    -1,  1104,    -1,    -1,  1107,   300,    -1,  1110,    -1,
7389       -1,    -1,    -1,    -1,    -1,   309,    -1,    -1,    -1,    -1,
7390       -1,   315,    -1,    -1,    -1,    -1,    -1,    -1,  1870,  1871,
7391     1872,  1873,  1874,  1875,  1876,  1877,    -1,    -1,    -1,    -1,
7392       -1,    -1,    -1,    -1,    -1,    -1,  1148,    -1,    -1,    -1,
7393       -1,   663,   664,   665,   666,    -1,    -1,    -1,    -1,    -1,
7394     1162,  1163,  1164,  1165,    -1,    -1,    -1,    -1,    -1,    -1,
7395       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   691,
7396      692,   693,    -1,  1185,    -1,  1187,    -1,    -1,    -1,    -1,
7397      702,    -1,   386,    -1,   388,    -1,    -1,    -1,   710,  1201,
7398       -1,    -1,  1204,    -1,    -1,   717,   718,   719,    -1,   721,
7399      722,    -1,    -1,    -1,    -1,    -1,   728,    -1,    -1,    -1,
7400       -1,    -1,  1224,    -1,    -1,    -1,    -1,   739,    -1,  1231,
7401      742,    -1,    -1,    -1,    -1,    -1,    -1,   749,    -1,    -1,
7402      752,    -1,    -1,    -1,    -1,    -1,  1248,  1249,    -1,    -1,
7403       -1,    -1,    -1,  1255,  1256,    -1,    -1,  1259,  1260,    -1,
7404       -1,    -1,    -1,    -1,   636,    -1,    -1,    -1,    -1,    -1,
7405       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   888,
7406      652,    -1,    -1,    -1,   656,    -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,    -1,    -1,
7409       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   927,    -1,
7410      832,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7411      702,    -1,    -1,   705,    -1,   529,    -1,    -1,   947,    -1,
7412       -1,    -1,    -1,    -1,    -1,    -1,    -1,   719,    -1,    -1,
7413       -1,    -1,    -1,    -1,    -1,   867,   728,    -1,    -1,    -1,
7414       -1,   733,   734,    -1,   876,    -1,    -1,    -1,    -1,    -1,
7415       -1,   883,   566,    -1,    -1,    -1,   888,    -1,   890,    -1,
7416       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   760,    -1,
7417       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7418       -1,    -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,
7419       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7420       -1,    -1,    -1,    -1,    -1,    -1,   798,    -1,    -1,   941,
7421       -1,    28,   626,    -1,   806,    -1,    -1,    -1,    -1,    -1,
7422       -1,  1050,  1051,    -1,    -1,   957,    -1,    -1,    -1,    -1,
7423       -1,    -1,    -1,    -1,   826,    -1,    -1,    -1,    -1,    -1,
7424       -1,  1463,    -1,    -1,  1466,    -1,    -1,    -1,    65,    -1,
7425       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
7426       -1,    -1,    -1,    -1,   996,   997,   998,    84,    85,    -1,
7427       -1,    -1,  1004,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7428       -1,    98,    -1,   697,    -1,   102,   103,   104,   105,   106,
7429      107,   108,   109,    -1,    -1,    -1,   888,    -1,    -1,    -1,
7430       -1,   118,   119,    -1,    -1,   122,   123,   124,   125,    -1,
7431      127,    -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,
7432      137,   138,    -1,    -1,    -1,    -1,    -1,    -1,   742,    -1,
7433       -1,    -1,    -1,    -1,    -1,   749,    -1,    -1,   752,    -1,
7434       -1,    -1,    -1,    -1,  1566,    -1,    -1,    -1,    -1,    -1,
7435       -1,    -1,    -1,  1182,    -1,  1184,    -1,    -1,  1580,  1581,
7436       -1,    -1,    -1,    -1,  1586,  1587,     3,    -1,    -1,    -1,
7437       -1,    -1,  1104,    -1,    -1,  1107,    -1,  1599,  1110,    -1,
7438     1602,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1610,    -1,
7439       -1,    28,    -1,    -1,    -1,    -1,    -1,    34,    35,    36,
7440       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7441       47,    48,    49,    50,    -1,    -1,  1148,    -1,    -1,    -1,
7442       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
7443     1162,  1163,  1164,  1165,    -1,    -1,    -1,    74,    75,    -1,
7444       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
7445       87,    -1,    -1,  1185,    -1,  1187,    -1,    -1,    -1,    -1,
7446       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,  1201,
7447       -1,    -1,  1204,   110,   111,   112,   113,   114,   115,  1701,
7448       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7449       -1,    -1,  1224,    -1,    -1,    -1,    -1,    -1,    -1,  1231,
7450       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7451       -1,    -1,   926,    -1,   928,    -1,  1248,  1249,    -1,  1111,
7452     1112,    -1,  1114,  1255,  1256,    -1,    -1,  1259,  1260,    -1,
7453     1122,    -1,    -1,  1125,    -1,    -1,    -1,    -1,  1130,    -1,
7454     1762,  1763,    -1,    -1,    -1,  1137,  1138,    -1,    -1,    -1,
7455       -1,    -1,     1,   967,     3,     4,     5,     6,    -1,     8,
7456        9,    -1,  1784,  1155,  1156,    -1,    -1,    -1,  1160,    -1,
7457       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
7458       -1,    -1,   996,    -1,   998,    -1,    -1,    -1,    -1,    -1,
7459       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1191,
7460       -1,  1193,    -1,    52,    53,    54,    55,    56,    57,    58,
7461       59,    60,    61,    62,  1443,    -1,    65,    -1,  1840,  1841,
7462       -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,
7463       79,    -1,    -1,  1225,    -1,    84,    85,    86,    -1,    88,
7464       89,    90,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
7465     1064,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
7466      109,   110,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,
7467      119,    -1,    -1,   122,    -1,   124,   125,    -1,  1270,  1271,
7468      129,  1903,   131,   132,   133,    -1,   135,   136,   137,   138,
7469     1104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7470       -1,  1115,    -1,    -1,    -1,    -1,    52,    -1,    -1,    -1,
7471       -1,    -1,    -1,    59,    -1,    -1,    -1,    -1,  1547,    -1,
7472       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7473     1322,  1463,  1324,    -1,  1466,    -1,    82,    83,    84,    -1,
7474       -1,    -1,    -1,  1335,  1336,    -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,    -1,    -1,    -1,    -1,    -1,
7478       -1,    -1,    -1,    -1,    -1,   131,   132,    -1,    -1,    -1,
7479       -1,    -1,    -1,  1207,  1386,    -1,  1388,    -1,    -1,    -1,
7480       -1,    -1,   148,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7481       -1,    -1,    -1,    -1,    -1,  1229,    -1,    -1,   164,    -1,
7482        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
7483       -1,    -1,    -1,    -1,  1566,  1249,    -1,   183,    -1,    -1,
7484       -1,    -1,  1256,    -1,    -1,    -1,  1260,    28,  1580,  1581,
7485       -1,    -1,    -1,    -1,  1586,  1587,    -1,    -1,    -1,    -1,
7486       -1,    -1,    -1,    -1,    -1,    52,    -1,  1599,    -1,    -1,
7487     1602,    -1,    -1,    -1,   220,   221,    -1,    -1,  1610,    -1,
7488       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
7489       71,    72,    73,    -1,    -1,    -1,    83,    84,    -1,    -1,
7490       -1,    -1,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
7491       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   265,
7492       -1,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
7493       -1,    -1,   278,    -1,    -1,    -1,    -1,   118,   119,    -1,
7494       -1,   122,   288,   124,   131,   132,   127,   128,   129,    -1,
7495       -1,   132,   133,    -1,   135,   136,   137,   138,    -1,    -1,
7496       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1701,
7497       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1808,
7498     1572,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7499       -1,    -1,    -1,    -1,    -1,    -1,   183,    -1,    -1,    -1,
7500     1592,  1593,  1594,  1595,    -1,  1597,  1598,    -1,    -1,    -1,
7501       -1,  1603,  1604,    -1,  1606,     1,  1608,     3,     4,     5,
7502        6,    -1,     8,     9,  1616,  1617,  1618,    -1,    -1,    -1,
7503     1762,  1763,    -1,    -1,   221,    -1,    -1,    -1,    -1,    -1,
7504       -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,   394,  1463,
7505       -1,    -1,  1784,    -1,   400,    -1,    -1,    -1,  1650,  1473,
7506     1652,    -1,  1654,    -1,  1656,    -1,    -1,    -1,    -1,    -1,
7507       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   265,    65,
7508       -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,
7509      436,   278,    -1,    -1,    -1,  1509,    -1,  1511,    84,    85,
7510       -1,   288,    -1,    -1,    -1,    -1,    -1,    -1,  1840,  1841,
7511       -1,    -1,    98,    -1,  1528,    -1,   102,   103,   104,   105,
7512      106,   107,   108,   109,   470,    -1,    -1,    -1,    -1,    -1,
7513       -1,    -1,   118,   119,    -1,    -1,   122,   123,   124,   125,
7514      486,   127,    -1,    -1,    -1,    -1,   132,   133,    -1,   135,
7515      136,   137,   138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7516       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1581,    -1,    -1,
7517       -1,  1903,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7518      526,   527,   528,    -1,   530,    -1,    -1,   533,    -1,    -1,
7519       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   544,   545,
7520      546,    -1,    -1,    -1,    -1,    -1,    -1,   394,    -1,    -1,
7521       -1,    -1,    -1,   400,    -1,    -1,    -1,   563,    -1,   565,
7522       -1,   567,    -1,    -1,    -1,    -1,  1818,    -1,    -1,    -1,
7523       -1,    -1,    -1,    -1,   580,    -1,    -1,    -1,    -1,    -1,
7524       -1,    -1,    -1,    -1,    -1,  1837,    -1,    -1,    -1,   436,
7525     1842,    -1,  1844,  1845,    -1,  1847,  1848,    -1,  1850,    -1,
7526     1852,    -1,    -1,    -1,    -1,    -1,  1858,  1859,  1682,    -1,
7527     1684,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7528       -1,    -1,    -1,   470,  1698,  1699,    -1,    -1,    -1,    -1,
7529       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7530       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1723,
7531     1724,  1903,  1726,  1727,    -1,    -1,    -1,  1731,  1732,  1733,
7532     1734,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7533       -1,    -1,    -1,    -1,    -1,    -1,   682,    -1,    -1,   526,
7534      527,   528,    -1,   530,   690,    -1,   533,    -1,    -1,  1763,
7535      696,    -1,    -1,    -1,    -1,    -1,    -1,   544,   545,   546,
7536       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7537       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   565,    -1,
7538      567,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7539       -1,    -1,    -1,   580,    -1,    -1,    -1,    -1,    -1,    -1,
7540       -1,    -1,    -1,    -1,  1996,  1997,    -1,  1999,  2000,  2001,
7541       -1,    -1,    -1,  2005,  2006,    -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,    -1,
7544       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    92,
7545       -1,    -1,    -1,    -1,    -1,    -1,  1870,  1871,  1872,  1873,
7546     1874,  1875,  1876,  1877,    -1,    -1,    -1,    -1,    -1,  2061,
7547     2062,    -1,  2064,  2065,    -1,    -1,    -1,  2069,    -1,    -1,
7548       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1902,    -1,
7549       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1911,    -1,   142,
7550       -1,    -1,    -1,   690,    -1,    -1,    -1,    -1,    -1,   696,
7551       -1,   154,    -1,    -1,    92,   158,  2108,    -1,    -1,    -1,
7552       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   874,    -1,
7553      876,    -1,    -1,    -1,    -1,    -1,    -1,   883,    -1,    -1,
7554       -1,    -1,   888,   186,   187,    -1,    -1,    -1,    -1,  1963,
7555       -1,    -1,    -1,  1967,  1968,    -1,    -1,    -1,    -1,    -1,
7556       -1,    -1,    -1,    -1,   142,    -1,    -1,    -1,    -1,    -1,
7557       -1,    -1,    -1,    -1,    -1,    -1,   154,    -1,   221,    -1,
7558      158,   927,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7559      936,    -1,    -1,    -1,    -1,   941,    -1,    -1,    -1,    -1,
7560       -1,   947,    -1,    -1,    -1,    -1,    -1,    -1,   186,   187,
7561       -1,   957,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7562       -1,    -1,   265,    -1,    -1,   268,   269,   270,    -1,    -1,
7563       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7564       -1,    -1,    -1,    -1,    -1,    -1,   289,    -1,    -1,    -1,
7565       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1004,    -1,
7566       -1,    -1,    -1,    -1,    -1,   308,    -1,    -1,    -1,    -1,
7567       -1,   314,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7568       -1,    -1,    -1,    -1,    -1,    -1,    -1,   265,    -1,   876,
7569      268,   269,   270,    -1,    -1,    -1,   883,    -1,    -1,    -1,
7570       -1,   888,    -1,    -1,  1050,  1051,    -1,    -1,    -1,    -1,
7571       -1,   289,    -1,    -1,  1060,    -1,  1062,    -1,    -1,    -1,
7572       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7573      308,    -1,    -1,    -1,    -1,    -1,   314,    -1,    -1,    -1,
7574      927,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   936,
7575       -1,    -1,    -1,    -1,   941,    -1,    -1,    -1,    -1,    -1,
7576      947,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7577      957,    -1,    -1,    -1,    -1,   418,    -1,    -1,    -1,    -1,
7578       -1,   424,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7579       -1,    -1,   435,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7580       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7581       -1,    -1,    -1,    -1,    -1,    -1,    92,  1004,    -1,    -1,
7582       -1,    -1,    -1,    -1,    -1,    -1,    -1,   470,    -1,    -1,
7583       -1,    -1,    -1,    -1,    -1,    -1,  1182,    -1,  1184,    -1,
7584       -1,    -1,    -1,    -1,   487,    -1,   424,    -1,    -1,    -1,
7585       -1,    -1,    -1,    -1,    -1,    -1,    -1,   435,    -1,    -1,
7586       -1,    -1,    -1,  1050,  1051,    -1,   142,   510,    -1,    -1,
7587       -1,    -1,    -1,  1060,    -1,  1062,    -1,    -1,   154,    -1,
7588       -1,    -1,   158,    -1,    -1,    -1,   529,    -1,    -1,    -1,
7589       -1,     3,    -1,   536,    -1,    -1,   539,    -1,    -1,    -1,
7590       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   487,
7591      186,   187,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
7592       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7593       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7594       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7595       -1,   529,    -1,    -1,    66,    -1,    68,    -1,   536,    -1,
7596       -1,   539,    74,    75,    -1,    -1,    78,    79,    -1,    -1,
7597       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
7598       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   265,
7599       -1,    -1,   268,   269,   270,  1182,    -1,  1184,   110,   111,
7600      112,   113,   114,   115,   116,   117,    -1,   119,    -1,    -1,
7601      122,    -1,   124,   289,    -1,    -1,    -1,    -1,    -1,   131,
7602      663,   664,   665,   666,    -1,    -1,    -1,    -1,    -1,    -1,
7603       -1,    -1,   308,    -1,    -1,    -1,    -1,    -1,   314,    -1,
7604       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   691,   692,
7605      693,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7606       -1,    -1,    -1,    -1,    -1,    -1,    -1,   710,    -1,    -1,
7607       -1,    -1,    -1,    -1,   717,   718,    -1,    -1,   721,   722,
7608       -1,    -1,    -1,  1429,    -1,   663,   664,   665,   666,    -1,
7609     1436,    -1,    -1,    -1,    -1,    -1,    -1,  1443,    -1,   742,
7610       -1,    -1,    -1,    -1,    -1,    -1,   749,    -1,    -1,   752,
7611       -1,    -1,    -1,   691,   692,   693,    -1,    -1,  1464,    -1,
7612     1466,    -1,    -1,  1469,    -1,    -1,  1472,    -1,    -1,    -1,
7613       -1,    -1,   710,    -1,    -1,    -1,    -1,    -1,    -1,   717,
7614      718,    -1,    -1,   721,   722,    -1,    -1,    -1,   424,    -1,
7615       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   435,
7616       -1,    -1,    -1,    -1,   742,    -1,    -1,    -1,    -1,    -1,
7617       -1,   749,    -1,    -1,   752,    -1,    -1,    -1,    -1,    -1,
7618       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   832,
7619       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7620       -1,  1547,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1555,
7621       -1,   487,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7622     1566,    -1,    -1,    -1,   867,    -1,    -1,    -1,    -1,    -1,
7623       -1,    -1,   875,   876,    -1,    -1,    -1,    -1,    -1,    -1,
7624      883,    -1,  1429,   886,    -1,    -1,    -1,   890,    -1,  1436,
7625       -1,    -1,    -1,   529,    -1,    -1,  1443,    -1,    -1,    -1,
7626      536,    -1,    -1,   539,    -1,    -1,    -1,    -1,    -1,    -1,
7627       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1464,    -1,  1466,
7628       -1,    -1,  1469,    -1,    -1,  1472,    -1,    -1,    -1,    -1,
7629       -1,    -1,    -1,    -1,    -1,    -1,    -1,   875,   941,    -1,
7630       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   886,    -1,
7631       -1,    -1,    -1,    -1,   957,    -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,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7635       -1,    -1,    -1,   996,   997,   998,    -1,    -1,    -1,    -1,
7636     1547,  1004,    -1,    -1,    -1,    -1,    -1,    -1,  1555,    -1,
7637       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1566,
7638       -1,    -1,    -1,    -1,    -1,    -1,    -1,   663,   664,   665,
7639      666,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7640       -1,    -1,    -1,    -1,    -1,  1751,  1752,    -1,  1754,    -1,
7641       -1,    -1,    -1,    -1,    -1,   691,   692,   693,   996,   997,
7642      998,    -1,    -1,    -1,    -1,    -1,  1004,    -1,    -1,    -1,
7643       -1,    -1,    -1,    -1,   710,    -1,    -1,    -1,    -1,    -1,
7644       -1,   717,   718,    -1,    -1,   721,   722,    -1,    -1,    -1,
7645       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7646       -1,  1104,  1808,    -1,  1107,    -1,   742,  1110,    -1,    -1,
7647       -1,    -1,    -1,   749,    -1,    -1,   752,    -1,    -1,    -1,
7648       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7649       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7650       -1,    -1,    -1,    -1,    -1,  1148,    -1,    -1,    -1,    -1,
7651       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1162,
7652     1163,  1164,  1165,    -1,    -1,    -1,  1104,    -1,    -1,  1107,
7653       -1,     1,  1110,     3,     4,     5,     6,    -1,     8,     9,
7654       -1,    -1,  1185,    -1,  1187,    -1,    -1,    -1,    -1,    -1,
7655       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,
7656       -1,  1204,    -1,    -1,  1751,  1752,    -1,  1754,    -1,    -1,
7657     1148,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7658       -1,  1224,    -1,    -1,  1162,  1163,  1164,  1165,  1231,    -1,
7659       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,   875,
7660       -1,    71,    72,    73,    -1,  1248,  1249,  1185,    -1,  1187,
7661      886,    -1,  1255,  1256,    84,    85,  1259,  1260,    -1,    -1,
7662       -1,  1808,    -1,    -1,    -1,    -1,  1204,    -1,    98,    -1,
7663       -1,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7664       -1,    -1,    -1,    -1,    -1,    -1,  1224,    -1,   118,   119,
7665       -1,    -1,   122,  1231,   124,    -1,    -1,    -1,    -1,   129,
7666       -1,    -1,   132,   133,   134,   135,   136,   137,   138,    -1,
7667     1248,  1249,    -1,    -1,    -1,    -1,    -1,  1255,  1256,    -1,
7668       -1,  1259,  1260,    -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       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7672      996,   997,   998,    -1,    -1,    -1,     1,    -1,  1004,    -1,
7673       -1,    -1,     7,     8,     9,    10,    11,    12,    13,    14,
7674       15,    16,    17,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7675       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
7676       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7677       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
7678       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7679       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
7680       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
7681       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7682     1463,    -1,    -1,  1466,    -1,   100,    -1,    -1,  1104,    -1,
7683       -1,  1107,    -1,    -1,  1110,   110,   111,   112,   113,   114,
7684      115,   116,   117,    -1,   119,   120,   121,   122,    -1,    -1,
7685      125,   126,   127,   128,    -1,   130,    -1,    -1,   133,    -1,
7686      135,   136,   137,    -1,   139,   140,   141,   142,   143,    -1,
7687       -1,    -1,  1148,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7688       -1,    -1,    -1,    -1,    -1,  1463,  1162,  1163,  1164,  1165,
7689       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7690       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1185,
7691       -1,  1187,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7692       -1,    -1,    -1,  1566,    -1,    -1,    -1,    -1,  1204,    -1,
7693       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1580,  1581,    -1,
7694       -1,    -1,    -1,  1586,  1587,    -1,    -1,    -1,  1224,    -1,
7695       -1,    -1,    -1,    -1,    -1,  1231,  1599,    -1,    -1,  1602,
7696       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1610,    -1,    -1,
7697       -1,    -1,  1248,  1249,    -1,    -1,    -1,    -1,    -1,  1255,
7698     1256,    -1,    -1,  1259,  1260,    -1,    -1,    -1,    -1,    -1,
7699       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7700       -1,    -1,  1580,  1581,    -1,    -1,    -1,    -1,  1586,  1587,
7701       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7702       -1,  1599,    -1,    -1,  1602,    -1,    -1,    -1,    -1,    -1,
7703       -1,     1,  1610,     3,     4,     5,     6,     7,     8,     9,
7704       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7705       20,    21,    22,    23,    24,    25,    26,    27,    28,    -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,    -1,    -1,    -1,    -1,    -1,
7709       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
7710       -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,    -1,
7711       -1,    -1,    -1,    -1,    84,    85,    -1,    -1,    -1,  1762,
7712     1763,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
7713       -1,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7714       -1,  1784,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,
7715      120,   121,   122,   123,   124,    -1,   126,   127,    -1,    -1,
7716      130,    -1,   132,   133,    -1,   135,   136,   137,   138,   139,
7717      140,   141,   142,   143,     1,    -1,     3,    -1,    -1,    -1,
7718       -1,    -1,    -1,    -1,  1762,  1763,    -1,  1463,    -1,    -1,
7719       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1840,  1841,    -1,
7720       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
7721       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7722       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
7723       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
7724       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
7725       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
7726       87,    -1,  1840,  1841,    -1,    -1,    -1,    -1,    -1,    -1,
7727       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
7728       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
7729      117,    -1,   119,    -1,    -1,   122,   123,    -1,    -1,    -1,
7730       -1,    -1,    -1,    -1,  1580,  1581,   133,    -1,    -1,    -1,
7731     1586,  1587,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7732       -1,    -1,    -1,  1599,    -1,    -1,  1602,    -1,    -1,    -1,
7733       -1,    -1,     0,     1,  1610,     3,     4,     5,     6,     7,
7734        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7735       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7736       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7737       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7738       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7739       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7740       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7741       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7742       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7743       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7744      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7745      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7746      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
7747      138,   139,   140,   141,   142,   143,    -1,    -1,    -1,    -1,
7748       -1,    -1,    -1,    -1,    -1,    -1,  1762,  1763,     0,     1,
7749       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7750       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7751       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7752       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7753       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7754       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7755       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7756       72,    73,    74,    75,  1840,  1841,    78,    79,    80,    81,
7757       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7758       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7759      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7760      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7761      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7762      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
7763      142,   143,     0,     1,    -1,     3,     4,     5,     6,     7,
7764        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7765       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7766       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7767       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7768       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7769       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7770       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7771       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7772       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7773       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7774      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7775      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7776      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
7777      138,   139,   140,   141,   142,   143,     0,     1,    -1,     3,
7778        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7779       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7780       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7781       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7782       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7783       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7784       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7785       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7786       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7787       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7788      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7789      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7790      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7791      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
7792        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
7793       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7794       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
7795       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7796       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7797       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7798       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7799       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7800       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7801       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7802      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7803      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
7804      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
7805      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
7806      140,   141,   142,   143,     0,     1,    -1,     3,     4,     5,
7807        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7808       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
7809       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
7810       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7811       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7812       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7813       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7814       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7815       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7816       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7817      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7818      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
7819      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
7820      136,   137,   138,   139,   140,   141,   142,   143,     0,     1,
7821       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7822       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7823       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7824       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7825       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7826       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7827       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7828       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7829       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7830       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7831      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7832      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7833      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7834      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
7835      142,   143,     0,     1,    -1,     3,     4,     5,     6,     7,
7836        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7837       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7838       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7839       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7840       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7841       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7842       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7843       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7844       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7845       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7846      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7847      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7848      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
7849      138,   139,   140,   141,   142,   143,     0,     1,    -1,     3,
7850        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7851       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7852       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7853       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7854       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7855       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7856       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7857       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7858       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7859       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7860      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7861      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7862      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7863      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
7864        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
7865       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7866       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
7867       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7868       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7869       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7870       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7871       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7872       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7873       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7874      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7875      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
7876      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
7877      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
7878      140,   141,   142,   143,     0,     1,    -1,     3,     4,     5,
7879        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7880       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
7881       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
7882       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7883       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7884       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7885       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7886       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7887       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7888       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7889      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7890      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
7891      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
7892      136,   137,   138,   139,   140,   141,   142,   143,     0,     1,
7893       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7894       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7895       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7896       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7897       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7898       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7899       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7900       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7901       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7902       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7903      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7904      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7905      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7906      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
7907      142,   143,     0,     1,    -1,     3,     4,     5,     6,     7,
7908        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7909       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7910       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7911       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7912       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7913       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7914       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7915       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7916       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7917       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7918      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7919      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7920      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
7921      138,   139,   140,   141,   142,   143,     0,     1,    -1,     3,
7922        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7923       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7924       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7925       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7926       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7927       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7928       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7929       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7930       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7931       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7932      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7933      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7934      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7935      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
7936        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
7937       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7938       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
7939       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7940       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7941       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7942       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7943       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7944       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7945       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7946      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7947      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
7948      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
7949      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
7950      140,   141,   142,   143,     0,     1,    -1,     3,     4,     5,
7951        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7952       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
7953       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
7954       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7955       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7956       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7957       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7958       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7959       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7960       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7961      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7962      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
7963      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
7964      136,   137,   138,   139,   140,   141,   142,   143,     0,     1,
7965       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7966       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7967       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7968       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7969       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7970       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7971       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7972       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7973       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7974       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7975      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7976      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7977      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7978      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
7979      142,   143,     0,     1,    -1,     3,     4,     5,     6,     7,
7980        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7981       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7982       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7983       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7984       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7985       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7986       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7987       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7988       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7989       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7990      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7991      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7992      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
7993      138,   139,   140,   141,   142,   143,     0,     1,    -1,     3,
7994        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7995       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7996       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7997       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7998       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7999       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8000       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8001       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8002       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8003       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8004      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8005      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
8006      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
8007      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
8008        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
8009       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
8010       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
8011       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8012       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8013       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8014       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8015       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8016       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8017       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8018      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8019      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8020      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
8021      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
8022      140,   141,   142,   143,     0,     1,    -1,     3,     4,     5,
8023        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
8024       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
8025       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
8026       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8027       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8028       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8029       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8030       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8031       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8032       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8033      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8034      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
8035      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
8036      136,   137,   138,   139,   140,   141,   142,   143,     0,     1,
8037       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
8038       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
8039       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
8040       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8041       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8042       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8043       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8044       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8045       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8046       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8047      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8048      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
8049      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
8050      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
8051      142,   143,     0,     1,    -1,     3,     4,     5,     6,     7,
8052        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
8053       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
8054       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8055       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8056       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8057       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8058       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8059       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8060       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8061       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8062      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8063      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
8064      128,   129,   130,   131,   132,   133,    -1,   135,   136,   137,
8065      138,   139,   140,   141,   142,   143,     0,     1,    -1,     3,
8066        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8067       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8068       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8069       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8070       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8071       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8072       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8073       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8074       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8075       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8076      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8077      114,   115,   116,   117,   118,   119,    -1,    -1,   122,   123,
8078      124,   125,    -1,   127,   128,   129,   130,   131,   132,   133,
8079       -1,   135,   136,   137,   138,     0,     1,    -1,     3,     4,
8080        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8081       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8082       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8083       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8084       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
8085       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
8086       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
8087       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
8088       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
8089       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
8090      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8091      115,   116,   117,   118,   119,    -1,    -1,   122,   123,   124,
8092      125,    -1,   127,   128,   129,    -1,   131,   132,   133,    -1,
8093      135,   136,   137,   138,     0,     1,    -1,     3,     4,     5,
8094        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8095       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8096       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8097       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8098       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8099       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8100       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8101       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8102       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8103       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8104      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8105      116,   117,   118,   119,    -1,    -1,   122,   123,   124,   125,
8106       -1,   127,   128,   129,    -1,   131,   132,   133,    -1,   135,
8107      136,   137,   138,     0,     1,    -1,     3,     4,     5,     6,
8108       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8109       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8110       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8111       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8112       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
8113       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
8114       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8115       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
8116       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
8117       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
8118      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
8119      117,   118,   119,    -1,    -1,   122,   123,   124,   125,    -1,
8120      127,   128,   129,    -1,   131,   132,   133,    -1,   135,   136,
8121      137,   138,     0,     1,    -1,     3,     4,     5,     6,    -1,
8122        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8123       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8124       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8125       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8126       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8127       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8128       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8129       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8130       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8131       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8132      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8133      118,   119,    -1,    -1,   122,   123,   124,   125,    -1,   127,
8134      128,   129,    -1,   131,   132,   133,    -1,   135,   136,   137,
8135      138,     0,     1,    -1,     3,     4,     5,     6,    -1,     8,
8136        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8137       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8138       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8139       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8140       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8141       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
8142       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
8143       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
8144       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
8145       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8146      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8147      119,    -1,    -1,   122,   123,   124,   125,    -1,   127,   128,
8148      129,    -1,   131,   132,   133,    -1,   135,   136,   137,   138,
8149        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8150       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8151       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8152       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8153       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8154       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8155       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8156       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8157       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8158       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8159      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8160      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8161       -1,    -1,   122,   123,   124,   125,    -1,   127,   128,   129,
8162       -1,   131,   132,   133,    -1,   135,   136,   137,   138,     0,
8163        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8164       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8165       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8166       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8167       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8168       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
8169       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
8170       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
8171       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
8172       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
8173       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8174      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
8175       -1,   122,   123,   124,   125,    -1,   127,   128,   129,    -1,
8176      131,   132,   133,    -1,   135,   136,   137,   138,     0,     1,
8177       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8178       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8179       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8180       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8181       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8182       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8183       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8184       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8185       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8186       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8187      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8188      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8189      122,   123,   124,   125,    -1,   127,   128,   129,    -1,   131,
8190      132,   133,    -1,   135,   136,   137,   138,     0,     1,    -1,
8191        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8192       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8193       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
8194       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
8195       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
8196       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
8197       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
8198       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
8199       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
8200       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
8201      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8202      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
8203       -1,   124,   125,    -1,   127,   128,   129,    -1,   131,   132,
8204      133,    -1,   135,   136,   137,   138,     0,     1,    -1,     3,
8205        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8206       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8207       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8208       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8209       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8210       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8211       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8212       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8213       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8214       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8215      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8216      114,   115,   116,   117,   118,   119,    -1,    -1,   122,    -1,
8217      124,   125,    -1,   127,   128,   129,    -1,   131,   132,   133,
8218       -1,   135,   136,   137,   138,     0,     1,    -1,     3,     4,
8219        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8220       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8221       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8222       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8223       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
8224       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
8225       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
8226       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
8227       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
8228       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
8229      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8230      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
8231      125,    -1,   127,   128,   129,    -1,   131,   132,   133,    -1,
8232      135,   136,   137,   138,     0,     1,    -1,     3,     4,     5,
8233        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8234       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8235       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8236       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8237       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8238       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8239       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8240       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8241       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8242       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8243      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8244      116,   117,   118,   119,    -1,    -1,   122,    -1,   124,   125,
8245       -1,   127,   128,   129,    -1,   131,   132,   133,    -1,   135,
8246      136,   137,   138,     0,     1,    -1,     3,     4,     5,     6,
8247       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8248       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8249       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8250       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8251       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
8252       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
8253       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8254       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
8255       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
8256       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
8257      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
8258      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
8259      127,   128,   129,    -1,   131,   132,   133,    -1,   135,   136,
8260      137,   138,     0,     1,    -1,     3,     4,     5,     6,    -1,
8261        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8262       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8263       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8264       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8265       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8266       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8267       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8268       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8269       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8270       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8271      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8272      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,
8273      128,   129,    -1,   131,   132,   133,    -1,   135,   136,   137,
8274      138,     0,     1,    -1,     3,     4,     5,     6,    -1,     8,
8275        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8276       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8277       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8278       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8279       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8280       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
8281       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
8282       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
8283       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
8284       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8285      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8286      119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,
8287      129,    -1,   131,   132,   133,    -1,   135,   136,   137,   138,
8288        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8289       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8290       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8291       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8292       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8293       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8294       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8295       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8296       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8297       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8298      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8299      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8300       -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,   129,
8301       -1,   131,   132,   133,    -1,   135,   136,   137,   138,     0,
8302        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8303       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8304       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8305       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8306       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8307       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
8308       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
8309       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
8310       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
8311       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
8312       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8313      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
8314       -1,   122,    -1,   124,   125,    -1,   127,   128,   129,    -1,
8315      131,   132,   133,    -1,   135,   136,   137,   138,     0,     1,
8316       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8317       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8318       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8319       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8320       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8321       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8322       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8323       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8324       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8325       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8326      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8327      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8328      122,    -1,   124,   125,    -1,   127,   128,   129,    -1,   131,
8329      132,   133,    -1,   135,   136,   137,   138,     0,     1,    -1,
8330        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8331       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8332       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
8333       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
8334       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
8335       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
8336       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
8337       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
8338       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
8339       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
8340      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8341      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
8342       -1,   124,   125,    -1,   127,   128,   129,    -1,   131,   132,
8343      133,    -1,   135,   136,   137,   138,     0,     1,    -1,     3,
8344        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8345       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8346       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8347       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8348       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8349       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8350       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8351       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8352       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8353       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8354      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8355      114,   115,   116,   117,   118,   119,    -1,    -1,   122,    -1,
8356      124,   125,    -1,   127,   128,   129,    -1,   131,   132,   133,
8357       -1,   135,   136,   137,   138,     0,     1,    -1,     3,     4,
8358        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8359       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8360       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8361       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8362       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
8363       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
8364       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
8365       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
8366       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
8367       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
8368      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8369      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
8370      125,    -1,   127,   128,   129,    -1,   131,   132,   133,    -1,
8371      135,   136,   137,   138,     0,     1,    -1,     3,     4,     5,
8372        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8373       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8374       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8375       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8376       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8377       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8378       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8379       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8380       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8381       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8382      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8383      116,   117,   118,   119,    -1,    -1,   122,    -1,   124,   125,
8384       -1,   127,   128,   129,    -1,   131,   132,   133,    -1,   135,
8385      136,   137,   138,     0,     1,    -1,     3,     4,     5,     6,
8386       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8387       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8388       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8389       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8390       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
8391       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
8392       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8393       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
8394       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
8395       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
8396      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
8397      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
8398      127,   128,   129,    -1,   131,   132,   133,    -1,   135,   136,
8399      137,   138,     0,     1,    -1,     3,     4,     5,     6,    -1,
8400        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8401       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8402       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8403       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8404       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8405       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8406       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8407       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8408       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8409       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8410      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8411      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,
8412      128,   129,    -1,   131,   132,   133,    -1,   135,   136,   137,
8413      138,     0,     1,    -1,     3,     4,     5,     6,    -1,     8,
8414        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8415       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8416       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8417       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8418       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8419       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
8420       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
8421       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
8422       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
8423       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8424      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8425      119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,
8426      129,    -1,   131,   132,   133,    -1,   135,   136,   137,   138,
8427        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8428       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8429       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8430       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8431       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8432       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8433       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8434       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8435       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8436       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8437      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8438      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8439       -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,   129,
8440       -1,   131,   132,   133,    -1,   135,   136,   137,   138,     0,
8441        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8442       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8443       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8444       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8445       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8446       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
8447       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
8448       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
8449       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
8450       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
8451       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8452      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
8453       -1,   122,    -1,   124,   125,    -1,   127,   128,   129,    -1,
8454      131,   132,   133,    -1,   135,   136,   137,   138,     0,     1,
8455       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8456       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8457       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8458       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8459       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8460       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8461       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8462       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8463       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8464       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8465      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8466      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8467      122,    -1,   124,   125,    -1,   127,   128,   129,    -1,   131,
8468      132,   133,    -1,   135,   136,   137,   138,     0,     1,    -1,
8469        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8470       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8471       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
8472       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
8473       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
8474       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
8475       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
8476       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
8477       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
8478       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
8479      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8480      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
8481       -1,   124,   125,    -1,   127,   128,   129,    -1,   131,   132,
8482      133,    -1,   135,   136,   137,   138,     0,     1,    -1,     3,
8483        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8484       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8485       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8486       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8487       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8488       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8489       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8490       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8491       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8492       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8493      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8494      114,   115,   116,   117,   118,   119,    -1,    -1,   122,    -1,
8495      124,   125,    -1,   127,   128,   129,    -1,   131,   132,   133,
8496       -1,   135,   136,   137,   138,     0,     1,    -1,     3,     4,
8497        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8498       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8499       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8500       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8501       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
8502       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
8503       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
8504       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
8505       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
8506       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
8507      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8508      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
8509      125,    -1,   127,   128,   129,    -1,   131,   132,   133,    -1,
8510      135,   136,   137,   138,     0,     1,    -1,     3,     4,     5,
8511        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8512       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8513       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8514       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8515       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8516       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8517       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8518       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8519       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8520       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8521      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8522      116,   117,   118,   119,    -1,    -1,   122,    -1,   124,   125,
8523       -1,   127,   128,   129,    -1,   131,   132,   133,    -1,   135,
8524      136,   137,   138,     0,     1,    -1,     3,     4,     5,     6,
8525       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8526       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8527       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8528       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8529       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
8530       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
8531       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8532       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
8533       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
8534       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
8535      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
8536      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
8537      127,   128,   129,    -1,   131,   132,   133,    -1,   135,   136,
8538      137,   138,     0,     1,    -1,     3,     4,     5,     6,    -1,
8539        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8540       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8541       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8542       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8543       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8544       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8545       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8546       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8547       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8548       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8549      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8550      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,
8551      128,   129,    -1,   131,   132,   133,    -1,   135,   136,   137,
8552      138,     0,     1,    -1,     3,     4,     5,     6,    -1,     8,
8553        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8554       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8555       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8556       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8557       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8558       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
8559       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
8560       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
8561       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
8562       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8563      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8564      119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,
8565      129,    -1,   131,   132,   133,    -1,   135,   136,   137,   138,
8566        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8567       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8568       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8569       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8570       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8571       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8572       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8573       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8574       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8575       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8576      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8577      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8578       -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,   129,
8579       -1,   131,   132,   133,    -1,   135,   136,   137,   138,     0,
8580        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8581       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8582       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8583       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8584       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8585       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
8586       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
8587       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
8588       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
8589       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
8590       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8591      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
8592       -1,   122,    -1,   124,   125,    -1,   127,   128,   129,    -1,
8593      131,   132,   133,    -1,   135,   136,   137,   138,     0,     1,
8594       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8595       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8596       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8597       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8598       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8599       -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8600       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8601       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8602       82,    83,    84,    85,    86,    87,    88,    -1,    -1,    91,
8603       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8604      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8605      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8606      122,   123,   124,   125,    -1,   127,   128,   129,    -1,    -1,
8607      132,   133,    -1,   135,   136,   137,   138,     1,    -1,     3,
8608        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8609       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8610       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8611       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8612       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8613       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8614       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8615       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8616       84,    85,    86,    87,    88,    89,    90,    -1,    -1,    -1,
8617       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8618      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8619      114,   115,   116,   117,   118,   119,    -1,    -1,   122,    -1,
8620      124,   125,    -1,    -1,    -1,   129,    -1,   131,   132,   133,
8621       -1,   135,   136,   137,   138,     1,    -1,     3,     4,     5,
8622        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8623       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8624       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8625       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8626       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8627       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8628       66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
8629       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8630       86,    87,    88,    89,    90,    -1,    -1,    -1,    -1,    -1,
8631       -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,   105,
8632      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8633      116,   117,   118,   119,    -1,    -1,   122,    -1,   124,   125,
8634       -1,    -1,    -1,   129,    -1,   131,   132,   133,    -1,   135,
8635      136,   137,   138,     1,    -1,     3,     4,     5,     6,    -1,
8636        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8637       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8638       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8639       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8640       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8641       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8642       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8643       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,
8644       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8645       98,    -1,   100,    -1,   102,   103,   104,   105,   106,   107,
8646      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8647      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,
8648      128,   129,    -1,    -1,   132,   133,    -1,   135,   136,   137,
8649      138,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8650       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8651       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8652       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8653       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8654       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8655       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8656       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8657       -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,
8658       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8659      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8660      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8661       -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,   129,
8662       -1,    -1,   132,   133,    -1,   135,   136,   137,   138,     1,
8663       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8664       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8665       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8666       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8667       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8668       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8669       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8670       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8671       -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8672       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8673      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8674      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8675      122,    -1,   124,   125,    -1,   127,   128,   129,    -1,    -1,
8676      132,   133,    -1,   135,   136,   137,   138,     1,    -1,     3,
8677        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8678       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8679       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8680       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8681       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8682       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8683       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8684       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8685       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8686       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8687      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8688      114,   115,   116,   117,   118,   119,    -1,    -1,   122,    -1,
8689      124,   125,    -1,   127,   128,   129,    -1,    -1,   132,   133,
8690       -1,   135,   136,   137,   138,     1,    -1,     3,     4,     5,
8691        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8692       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8693       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8694       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8695       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
8696       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8697       66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
8698       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8699       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8700       -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,   105,
8701      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8702      116,   117,   118,   119,    -1,    -1,   122,    -1,   124,   125,
8703       -1,   127,   128,   129,    -1,    -1,   132,   133,    -1,   135,
8704      136,   137,   138,     1,    -1,     3,     4,     5,     6,    -1,
8705        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8706       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8707       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8708       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8709       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8710       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8711       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8712       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,
8713       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8714       98,    -1,   100,    -1,   102,   103,   104,   105,   106,   107,
8715      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8716      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,
8717      128,   129,    -1,    -1,   132,   133,    -1,   135,   136,   137,
8718      138,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8719       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8720       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8721       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8722       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8723       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8724       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8725       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8726       -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,
8727       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8728      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8729      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8730       -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,   129,
8731       -1,    -1,   132,   133,    -1,   135,   136,   137,   138,     1,
8732       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8733       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8734       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8735       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8736       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8737       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8738       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8739       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8740       -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8741       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8742      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8743      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8744      122,    -1,   124,   125,    -1,   127,   128,   129,    -1,    -1,
8745      132,   133,    -1,   135,   136,   137,   138,     1,    -1,     3,
8746        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8747       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8748       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8749       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8750       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8751       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8752       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8753       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8754       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8755       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8756      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8757      114,   115,   116,   117,   118,   119,    -1,    -1,   122,    -1,
8758      124,   125,    -1,   127,   128,   129,    -1,    -1,   132,   133,
8759       -1,   135,   136,   137,   138,     1,    -1,     3,     4,     5,
8760        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8761       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8762       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8763       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8764       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
8765       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8766       66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
8767       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8768       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8769       -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,   105,
8770      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8771      116,   117,   118,   119,    -1,    -1,   122,    -1,   124,   125,
8772       -1,   127,   128,   129,    -1,    -1,   132,   133,    -1,   135,
8773      136,   137,   138,     1,    -1,     3,     4,     5,     6,    -1,
8774        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8775       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8776       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8777       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8778       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8779       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8780       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8781       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,
8782       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8783       98,    -1,   100,    -1,   102,   103,   104,   105,   106,   107,
8784      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8785      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,
8786      128,   129,    -1,    -1,   132,   133,    -1,   135,   136,   137,
8787      138,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8788       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8789       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8790       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8791       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8792       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8793       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8794       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8795       -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,
8796       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8797      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8798      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8799       -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,   129,
8800       -1,    -1,   132,   133,    -1,   135,   136,   137,   138,     1,
8801       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8802       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8803       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8804       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8805       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8806       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8807       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8808       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8809       -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8810       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8811      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8812      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8813      122,    -1,   124,   125,    -1,   127,   128,   129,    -1,    -1,
8814      132,   133,    -1,   135,   136,   137,   138,     1,    -1,     3,
8815        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8816       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8817       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8818       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8819       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8820       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8821       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8822       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
8823       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8824       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8825      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8826      114,   115,   116,   117,   118,   119,    -1,    -1,   122,     1,
8827      124,     3,     4,     5,     6,    -1,     8,     9,   132,   133,
8828       -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,    -1,
8829       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8830       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8831       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8832       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8833       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8834       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8835       82,    83,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8836       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8837      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8838      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8839      122,     1,   124,     3,     4,     5,     6,    -1,     8,     9,
8840      132,   133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,
8841       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,
8842       -1,    -1,    -1,    -1,    34,    35,    36,    37,    38,    39,
8843       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8844       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8845       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8846       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8847       -1,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
8848       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8849      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8850      110,   111,   112,   113,   114,   115,    -1,    -1,   118,   119,
8851       -1,    -1,   122,   123,   124,    -1,    -1,    -1,    -1,    -1,
8852       -1,    -1,   132,   133,    -1,   135,   136,   137,   138,     1,
8853       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8854       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8855       -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,
8856       -1,    -1,    34,    35,    36,    37,    38,    39,    40,    41,
8857       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8858       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8859       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8860       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8861       82,    83,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8862       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8863      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8864      112,   113,   114,   115,    -1,    -1,   118,   119,    -1,    -1,
8865      122,   123,   124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8866      132,   133,    -1,   135,   136,   137,   138,     1,    -1,     3,
8867        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8868       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8869       -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,
8870       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8871       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8872       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8873       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8874       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
8875       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8876       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8877      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8878      114,   115,    -1,    -1,   118,   119,    -1,    -1,   122,     1,
8879      124,     3,     4,     5,     6,   129,     8,     9,   132,   133,
8880       -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,    -1,
8881       -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,
8882       -1,    -1,    34,    35,    36,    37,    38,    39,    40,    41,
8883       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8884       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8885       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8886       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8887       82,    83,    84,    85,    86,    87,    -1,     1,    -1,     3,
8888        4,     5,     6,    -1,     8,     9,    98,    -1,   100,    -1,
8889      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8890      112,   113,   114,   115,    28,    -1,   118,   119,    -1,    -1,
8891      122,   123,   124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8892      132,   133,    -1,   135,   136,   137,   138,    -1,    52,    53,
8893       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8894       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8895       -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8896       84,    85,    86,    -1,    88,    89,    90,    -1,    -1,    -1,
8897       -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,
8898      104,   105,   106,   107,   108,   109,   110,   111,    -1,    -1,
8899       -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,   123,
8900      124,   125,    -1,   127,    -1,   129,    -1,   131,   132,   133,
8901       -1,   135,   136,   137,   138,     1,    -1,     3,     4,     5,
8902        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8903       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8904       -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8905       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8906       -1,    -1,    -1,    -1,    -1,    -1,    52,    53,    54,    55,
8907       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8908       -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,
8909       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8910       86,    -1,    88,    89,    90,    -1,    -1,    -1,    -1,    -1,
8911       -1,    -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,
8912      106,   107,   108,   109,   110,   111,    -1,    -1,    -1,    -1,
8913       -1,    -1,   118,   119,    -1,    -1,   122,   123,   124,   125,
8914       -1,   127,    -1,   129,    -1,   131,   132,   133,    -1,   135,
8915      136,   137,   138,     1,    -1,     3,     4,     5,     6,    -1,
8916        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8917       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8918       28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8919       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8920       -1,    -1,    -1,    -1,    52,    53,    54,    55,    56,    57,
8921       58,    59,    60,    61,    62,    -1,    -1,    65,    -1,    -1,
8922       -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,
8923       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    -1,
8924       88,    89,    90,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8925       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
8926      108,   109,   110,   111,    -1,    -1,    -1,    -1,    -1,    -1,
8927      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,    -1,
8928       -1,   129,    -1,   131,   132,   133,    -1,   135,   136,   137,
8929      138,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8930       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8931       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,
8932       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8933       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8934       -1,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8935       60,    61,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8936       -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,    79,
8937       -1,    -1,    -1,    -1,    84,    85,    86,    -1,    88,    89,
8938       90,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8939       -1,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8940      110,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,
8941       -1,    -1,   122,    -1,   124,   125,    -1,    -1,    -1,   129,
8942       -1,   131,   132,   133,    -1,   135,   136,   137,   138,     1,
8943       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8944       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8945       -1,    -1,    -1,    -1,    -1,    -1,    28,    -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,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8949       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8950       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8951       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
8952       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
8953      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8954       -1,    28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,
8955      122,   123,   124,    -1,    -1,   127,    -1,    -1,    -1,   131,
8956      132,   133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,
8957       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8958       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
8959       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
8960       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8961       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
8962      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
8963       -1,   118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,
8964      127,    -1,    -1,    -1,   131,   132,   133,    -1,   135,   136,
8965      137,   138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8966       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8967       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8968       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
8969       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
8970      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8971       -1,    28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,
8972      122,   123,   124,   125,    -1,   127,    -1,    -1,    -1,    -1,
8973      132,   133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,
8974       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8975       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
8976       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
8977       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8978       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
8979      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
8980       -1,   118,   119,    -1,    -1,   122,   123,   124,   125,    -1,
8981      127,    -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,
8982      137,   138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8983       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8984       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8985       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
8986       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
8987      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8988       -1,    28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,
8989      122,   123,   124,   125,    -1,   127,    -1,    -1,    -1,    -1,
8990      132,   133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,
8991       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8992       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
8993       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
8994       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8995       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
8996      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
8997       -1,   118,   119,    -1,    -1,   122,   123,   124,   125,    -1,
8998      127,    -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,
8999      137,   138,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,
9000        4,     5,     6,    65,     8,     9,    -1,    -1,    -1,    71,
9001       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9002       -1,    -1,    84,    85,    28,    -1,    -1,    -1,    -1,    -1,
9003       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9004      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9005       -1,    -1,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,
9006      122,    65,   124,   125,    -1,   127,    -1,    71,    72,    73,
9007      132,   133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,
9008       84,    85,     1,    -1,     3,     4,     5,     6,    -1,     8,
9009        9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,
9010      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    28,
9011       -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,   123,
9012      124,    -1,    -1,    -1,    -1,   129,    -1,    -1,   132,   133,
9013       -1,   135,   136,   137,   138,    -1,    -1,     1,    -1,     3,
9014        4,     5,     6,    -1,     8,     9,    65,    -1,    -1,    -1,
9015       -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,
9016       -1,    -1,    -1,    -1,    28,    84,    85,    -1,    -1,    -1,
9017       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
9018       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
9019      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
9020      119,    65,    -1,   122,   123,   124,    -1,    71,    72,    73,
9021      129,    -1,    -1,   132,   133,    -1,   135,   136,   137,   138,
9022       84,    85,     1,    -1,     3,     4,     5,     6,    -1,     8,
9023        9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,
9024      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    28,
9025       -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,    -1,
9026      124,   125,    -1,    -1,    -1,   129,    -1,    -1,   132,   133,
9027       -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,    -1,
9028       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
9029       -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,
9030       -1,    -1,    -1,    -1,    -1,    84,    85,     1,    -1,     3,
9031        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    98,
9032       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
9033      109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,   118,
9034      119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,    -1,
9035       -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,   138,
9036       -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,     8,
9037        9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
9038       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9039       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9040       -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,
9041      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,
9042       -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,   123,
9043      124,   125,    71,    72,    73,    -1,    -1,    -1,   132,   133,
9044       -1,   135,   136,   137,   138,    84,    85,     1,    -1,     3,
9045        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    98,
9046       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
9047      109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,   118,
9048      119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,    -1,
9049       -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,   138,
9050       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9051       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
9052       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9053       84,    85,     1,    -1,     3,     4,     5,     6,    -1,     8,
9054        9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,
9055      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    28,
9056       -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,   123,
9057      124,    -1,    -1,   127,    -1,    -1,    -1,    -1,   132,   133,
9058       -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,    -1,
9059        1,    -1,     3,     4,     5,     6,    65,     8,     9,    -1,
9060       -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,
9061       -1,    -1,    -1,    -1,    -1,    84,    85,    28,    -1,    -1,
9062       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
9063       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
9064      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
9065      119,    -1,    -1,   122,    65,   124,    -1,    -1,   127,    -1,
9066       71,    72,    73,   132,   133,   134,   135,   136,   137,   138,
9067       -1,    -1,    -1,    84,    85,     1,    -1,     3,     4,     5,
9068        6,    -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,
9069       -1,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
9070       -1,    -1,    28,    -1,    -1,    -1,    -1,   118,   119,    -1,
9071       -1,   122,    -1,   124,    -1,    -1,   127,    -1,    -1,    -1,
9072      131,   132,   133,    -1,   135,   136,   137,   138,    -1,    -1,
9073       -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,    65,
9074        8,     9,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,
9075       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,
9076       28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9077       -1,    -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,
9078      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
9079       -1,    -1,   118,   119,    -1,    -1,   122,    65,   124,    -1,
9080       -1,   127,    -1,    71,    72,    73,   132,   133,   134,   135,
9081      136,   137,   138,    -1,    -1,    -1,    84,    85,     1,    -1,
9082        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9083       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9084      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9085      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,   127,
9086       -1,    -1,    -1,   131,   132,   133,    -1,   135,   136,   137,
9087      138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9088       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9089       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9090       -1,    84,    85,     1,    -1,     3,     4,     5,     6,    -1,
9091        8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9092      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9093       28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,
9094      123,   124,    -1,    -1,   127,    -1,    -1,    -1,    -1,   132,
9095      133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
9096       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
9097       -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,
9098       -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,    -1,
9099        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9100       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9101      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9102      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,
9103       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9104      138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9105       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9106       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9107       -1,    84,    85,     1,    -1,     3,     4,     5,     6,    -1,
9108        8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9109      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9110       28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,
9111      123,   124,    -1,    -1,   127,    -1,    -1,    -1,    -1,   132,
9112      133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
9113       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
9114       -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,
9115       -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,    -1,
9116        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9117       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9118      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9119      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,
9120       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9121      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9122        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9123       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9124       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9125       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9126      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9127       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9128      123,   124,   125,    71,    72,    73,    -1,    -1,    -1,   132,
9129      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9130        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9131       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9132      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9133      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,
9134       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9135      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9136        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9137       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9138       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9139       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9140      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9141       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9142      123,   124,   125,    71,    72,    73,    -1,    -1,    -1,   132,
9143      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9144        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9145       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9146      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9147      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,   127,
9148       -1,    -1,    -1,   131,   132,   133,    -1,   135,   136,   137,
9149      138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9150       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9151       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9152       -1,    84,    85,     1,    -1,     3,     4,     5,     6,    -1,
9153        8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9154      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9155       28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,
9156       -1,   124,    -1,    -1,   127,    -1,    -1,    -1,   131,   132,
9157      133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
9158       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
9159       -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,
9160       -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,    -1,
9161        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9162       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9163      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9164      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,
9165       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9166      138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9167       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9168       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9169       -1,    84,    85,     1,    -1,     3,     4,     5,     6,    -1,
9170        8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9171      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9172       28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,
9173      123,   124,    -1,    -1,   127,    -1,    -1,    -1,    -1,   132,
9174      133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
9175       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
9176       -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,
9177       -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,    -1,
9178        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9179       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9180      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9181      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,
9182       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9183      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9184        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9185       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9186       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9187       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9188      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9189       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9190      123,   124,   125,    71,    72,    73,    -1,    -1,    -1,   132,
9191      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9192        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9193       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9194      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9195      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,
9196       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9197      138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9198       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9199       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9200       -1,    84,    85,     1,    -1,     3,     4,     5,     6,    -1,
9201        8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9202      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9203       28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,
9204       -1,   124,    -1,    -1,    -1,   128,   129,    -1,    -1,   132,
9205      133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
9206       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
9207       -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,
9208       -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,    -1,
9209        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9210       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9211      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9212      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,
9213       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9214      138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9215       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9216       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9217       -1,    84,    85,     1,    -1,     3,     4,     5,     6,    -1,
9218        8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9219      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9220       28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,
9221      123,   124,    -1,    -1,   127,    -1,    -1,    -1,    -1,   132,
9222      133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
9223       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
9224       -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,
9225       -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,    -1,
9226        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9227       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9228      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9229      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,
9230       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9231      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9232        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9233       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9234       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9235       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9236      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9237       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9238       -1,   124,    -1,    71,    72,    73,    -1,    -1,    -1,   132,
9239      133,   134,   135,   136,   137,   138,    84,    85,     1,    -1,
9240        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9241       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9242      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9243      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9244       -1,   129,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9245      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9246        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9247       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9248       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9249       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9250      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9251       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9252       -1,   124,    -1,    71,    72,    73,    -1,    -1,    -1,   132,
9253      133,   134,   135,   136,   137,   138,    84,    85,     1,    -1,
9254        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9255       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9256      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9257      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9258       -1,    -1,    -1,    -1,   132,   133,   134,   135,   136,   137,
9259      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9260        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9261       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9262       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9263       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9264      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9265       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9266       -1,   124,    -1,    71,    72,    73,   129,    -1,    -1,   132,
9267      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9268        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9269       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9270      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9271      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9272       -1,    -1,    -1,    -1,   132,   133,   134,   135,   136,   137,
9273      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9274        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9275       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9276       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9277       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9278      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9279       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9280       -1,   124,    -1,    71,    72,    73,    -1,    -1,   131,   132,
9281      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9282        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9283       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9284      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9285      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,    -1,
9286       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9287      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9288        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9289       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9290       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9291       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9292      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9293       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9294       -1,   124,    -1,    71,    72,    73,   129,    -1,    -1,   132,
9295      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9296        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9297       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9298      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9299      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9300       -1,    -1,    -1,    -1,   132,   133,   134,   135,   136,   137,
9301      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9302        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9303       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9304       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9305       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9306      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9307       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9308      123,   124,    -1,    71,    72,    73,    -1,    -1,    -1,   132,
9309      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9310        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9311       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9312      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9313      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9314       -1,    -1,    -1,   131,   132,   133,    -1,   135,   136,   137,
9315      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9316        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9317       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9318       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9319       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9320      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9321       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9322       -1,   124,    -1,    71,    72,    73,   129,    -1,    -1,   132,
9323      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9324        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9325       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9326      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9327      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9328       -1,   129,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9329      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9330        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9331       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9332       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9333       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9334      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9335       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9336       -1,   124,    -1,    71,    72,    73,   129,    -1,    -1,   132,
9337      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9338        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9339       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9340      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9341      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9342       -1,   129,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9343      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9344        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9345       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9346       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9347       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9348      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9349       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9350      123,   124,    -1,    71,    72,    73,    -1,    -1,    -1,   132,
9351      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9352        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9353       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9354      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9355      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9356       -1,   129,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9357      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9358        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9359       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9360       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9361       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9362      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9363       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9364      123,   124,    -1,    71,    72,    73,    -1,    -1,    -1,   132,
9365      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9366        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9367       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9368      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9369      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,    -1,
9370       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9371      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9372        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9373       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9374       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9375       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9376      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9377       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9378       -1,   124,    -1,    71,    72,    73,    -1,    -1,    -1,   132,
9379      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9380        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9381       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9382      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9383      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9384       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9385      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9386        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9387       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9388       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9389       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9390      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9391       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9392       -1,   124,    -1,    71,    72,    73,    -1,    -1,    -1,   132,
9393      133,    -1,   135,   136,   137,   138,    84,    85,    -1,    -1,
9394       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9395       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9396      108,   109,    -1,     0,     1,    -1,     3,     4,     5,    -1,
9397      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9398       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9399      138,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9400       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9401       47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,    -1,
9402       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9403       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9404       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9405       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9406       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9407      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9408      117,   118,   119,    -1,    -1,   122,   123,   124,   125,    -1,
9409      127,   128,    -1,    -1,    -1,   132,   133,     0,     1,    -1,
9410        3,     4,     5,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9411       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9412       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9413       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9414       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9415       53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9416       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9417       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9418       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9419       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9420      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9421      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9422       -1,   124,   125,    -1,   127,   128,    -1,    -1,    -1,   132,
9423      133,     0,     1,    -1,     3,     4,     5,    -1,    -1,    -1,
9424       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9425       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9426       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9427       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9428       49,    50,    -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,
9429       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9430       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9431       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9432       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9433       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9434       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9435      119,    -1,    -1,   122,    -1,   124,   125,     0,     1,   128,
9436        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9437       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9438       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9439       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9440       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9441       53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9442       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9443       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9444       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9445       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9446      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9447      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9448       -1,   124,   125,     0,     1,   128,     3,     4,     5,   132,
9449      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9450       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9451       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9452       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9453       47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,    -1,
9454       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9455       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9456       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9457       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9458       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9459      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9460      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,     0,
9461        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9462       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9463       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9464       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9465       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9466       -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9467       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9468       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9469       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9470       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9471       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9472      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9473       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9474        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9475       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9476       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9477       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9478       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9479       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9480       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9481       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9482       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9483       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9484      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9485      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9486      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9487       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9488       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9489       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9490       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9491       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9492       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9493       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9494       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9495       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9496       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9497       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9498      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9499        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9500       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9501       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9502       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9503       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9504       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9505       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9506       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9507       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9508       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9509      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9510      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9511       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9512      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9513       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9514       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9515       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9516       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9517       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9518       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9519       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9520       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9521       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9522      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9523      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
9524        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9525       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9526       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9527       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9528       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9529       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9530       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9531       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9532       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9533       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9534       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9535      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9536       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9537        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9538       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9539       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9540       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9541       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9542       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9543       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9544       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9545       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9546       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9547      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9548      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9549      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9550       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9551       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9552       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9553       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9554       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9555       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9556       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9557       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9558       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9559       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9560       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9561      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9562        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9563       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9564       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9565       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9566       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9567       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9568       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9569       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9570       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9571       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9572      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9573      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9574       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9575      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9576       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9577       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9578       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9579       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9580       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9581       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9582       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9583       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9584       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9585      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9586      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
9587        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9588       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9589       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9590       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9591       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9592       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9593       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9594       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9595       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9596       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9597       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9598      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9599       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9600        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9601       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9602       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9603       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9604       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9605       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9606       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9607       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9608       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9609       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9610      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9611      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9612      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9613       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9614       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9615       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9616       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9617       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9618       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9619       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9620       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9621       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9622       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9623       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9624      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9625        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9626       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9627       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9628       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9629       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9630       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9631       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9632       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9633       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9634       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9635      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9636      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9637       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9638      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9639       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9640       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9641       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9642       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9643       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9644       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9645       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9646       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9647       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9648      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9649      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
9650        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9651       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9652       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9653       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9654       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9655       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9656       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9657       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9658       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9659       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9660       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9661      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9662       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9663        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9664       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9665       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9666       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9667       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9668       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9669       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9670       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9671       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9672       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9673      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9674      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9675      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9676       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9677       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9678       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9679       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9680       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9681       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9682       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9683       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9684       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9685       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9686       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9687      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9688        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9689       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9690       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9691       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9692       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9693       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9694       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9695       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9696       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9697       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9698      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9699      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9700       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9701      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9702       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9703       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9704       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9705       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9706       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9707       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9708       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9709       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9710       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9711      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9712      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
9713        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9714       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9715       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9716       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9717       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9718       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9719       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9720       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9721       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9722       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9723       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9724      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9725       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9726        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9727       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9728       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9729       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9730       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9731       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9732       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9733       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9734       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9735       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9736      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9737      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9738      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9739       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9740       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9741       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9742       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9743       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9744       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9745       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9746       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9747       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9748       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9749       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9750      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9751        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9752       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9753       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9754       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9755       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9756       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9757       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9758       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9759       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9760       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9761      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9762      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9763       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9764      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9765       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9766       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9767       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9768       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9769       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9770       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9771       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9772       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9773       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9774      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9775      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
9776        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9777       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9778       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9779       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9780       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9781       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9782       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9783       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9784       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9785       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9786       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9787      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9788       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9789        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9790       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9791       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9792       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9793       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9794       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9795       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9796       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9797       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9798       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9799      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9800      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9801      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9802       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9803       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9804       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9805       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9806       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9807       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9808       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9809       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9810       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9811       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9812       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9813      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9814        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9815       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9816       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9817       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9818       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9819       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9820       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9821       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9822       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9823       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9824      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9825      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9826       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9827      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9828       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9829       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9830       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9831       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9832       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9833       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9834       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9835       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9836       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9837      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9838      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
9839        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9840       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9841       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9842       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9843       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9844       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9845       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9846       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9847       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9848       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9849       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9850      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9851       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9852        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9853       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9854       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9855       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9856       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9857       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9858       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9859       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9860       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9861       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9862      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9863      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9864      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9865       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9866       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9867       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9868       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9869       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9870       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9871       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9872       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9873       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9874       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9875       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9876      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9877        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9878       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9879       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9880       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9881       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9882       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9883       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9884       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9885       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9886       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9887      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9888      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9889       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9890      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9891       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9892       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9893       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9894       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9895       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9896       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9897       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9898       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9899       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9900      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9901      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
9902        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9903       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9904       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9905       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9906       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9907       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9908       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9909       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9910       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9911       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9912       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9913      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9914       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9915        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9916       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9917       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9918       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9919       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9920       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9921       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9922       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9923       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9924       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9925      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9926      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9927      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9928       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9929       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9930       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9931       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9932       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9933       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9934       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9935       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9936       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9937       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9938       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9939      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9940        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9941       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9942       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9943       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9944       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9945       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9946       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9947       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9948       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9949       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9950      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9951      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9952       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9953      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9954       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9955       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9956       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9957       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9958       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9959       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9960       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9961       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9962       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9963      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9964      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,     1,
9965       -1,     3,     4,     5,    -1,   132,   133,    -1,    -1,    -1,
9966       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9967       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
9968       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9969       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9970       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9971       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
9972       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
9973       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
9974       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
9975      102,   103,   104,   105,   106,   107,   108,    -1,   110,   111,
9976      112,   113,   114,   115,   116,   117,   118,   119,    -1,     1,
9977      122,     3,   124,   125,    -1,    -1,    -1,    -1,    -1,    -1,
9978      132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9979       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
9980       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9981       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9982       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9983       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
9984       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
9985       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
9986       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
9987       -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,   110,   111,
9988      112,   113,   114,   115,   116,   117,    -1,   119,    -1,    -1,
9989      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9990       -1,   133,    28,    29,    30,    31,    32,    33,    34,    35,
9991       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9992       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9993       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9994       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
9995       -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,
9996       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9997       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
9998       -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
9999      116,   117,     3,   119,    -1,    -1,   122,    -1,    -1,    -1,
10000       -1,    -1,    -1,    -1,    -1,    -1,    -1,   133,    -1,   135,
10001       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
10002       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10003       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10004       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10005       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10006       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10007       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10008       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10009       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,   110,
10010      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
10011       -1,   122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10012       -1,    -1,   133,    28,    29,    30,    31,    32,    33,    34,
10013       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10014       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10015       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10016       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10017       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10018       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10019       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,
10020       -1,    -1,    -1,    -1,     3,   110,   111,   112,   113,   114,
10021      115,   116,   117,    -1,   119,    -1,    -1,   122,    -1,    -1,
10022       -1,    -1,    -1,    -1,   129,    -1,    -1,    -1,   133,    28,
10023       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10024       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10025       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10026       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
10027       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10028       79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,
10029       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10030       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10031        3,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10032      119,    -1,    -1,   122,    -1,    -1,    -1,    -1,    -1,    -1,
10033      129,    -1,    -1,    -1,   133,    28,    29,    30,    31,    32,
10034       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10035       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10036       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10037       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10038       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
10039       -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10040       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,
10041       -1,    -1,    -1,    -1,    -1,    -1,     3,   110,   111,   112,
10042      113,   114,   115,   116,   117,    -1,   119,    -1,    -1,   122,
10043       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10044      133,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10045       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10046       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10047       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
10048       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10049       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,
10050       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10051       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10052       -1,    -1,     3,   110,   111,   112,   113,   114,   115,   116,
10053      117,    -1,   119,    -1,    -1,   122,    -1,    -1,    -1,    -1,
10054       -1,    -1,    -1,    -1,    -1,    -1,   133,    28,    29,    30,
10055       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10056       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10057       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10058       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10059       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10060       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
10061       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10062       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,   110,
10063      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
10064       -1,   122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10065       -1,    -1,   133,    28,    29,    30,    31,    32,    33,    34,
10066       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10067       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10068       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10069       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10070       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10071       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10072       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,
10073       -1,    -1,    -1,    -1,     3,   110,   111,   112,   113,   114,
10074      115,   116,   117,    -1,   119,    -1,    -1,   122,    -1,    -1,
10075       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   133,    28,
10076       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10077       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10078       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10079       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
10080       -1,    -1,    -1,    -1,    -1,    74,    75,    76,    77,    -1,
10081       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
10082       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10083       -1,   100,    -1,    -1,    -1,    -1,   105,    -1,     3,    -1,
10084       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10085      119,    -1,    -1,   122,    -1,    -1,    -1,    -1,    -1,    -1,
10086       -1,    -1,   131,    28,    29,    30,    31,    32,    33,    34,
10087       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10088       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10089       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10090       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10091       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
10092       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10093       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,
10094       -1,    -1,     3,    -1,    -1,   110,   111,   112,   113,   114,
10095      115,   116,   117,    -1,   119,    -1,    -1,   122,    -1,    -1,
10096       -1,    -1,    -1,    -1,    -1,    -1,   131,    28,    29,    30,
10097       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10098       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10099       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10100       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10101       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10102       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10103       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10104       -1,    -1,    -1,    -1,     1,    -1,    -1,    -1,    -1,   110,
10105      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
10106       -1,   122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10107      131,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10108       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10109       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10110       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
10111       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10112       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,
10113       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10114       -1,    -1,    -1,   100,    -1,    -1,     1,    -1,    -1,    -1,
10115       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10116      117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10117       -1,    -1,   129,    28,    29,    30,    31,    32,    33,    34,
10118       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10119       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10120       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10121       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10122       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10123       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10124       -1,    -1,    -1,    -1,    -1,   100,    -1,     1,    -1,    -1,
10125       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10126      115,   116,   117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10127      125,    -1,   127,   128,    28,    29,    30,    31,    32,    33,
10128       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10129       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10130       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10131       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10132       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
10133       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
10134       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,     1,    -1,
10135       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10136      114,   115,   116,   117,    -1,    -1,    -1,    -1,    -1,    -1,
10137       -1,    -1,    -1,    -1,   128,    28,    29,    30,    31,    32,
10138       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10139       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10140       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10141       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10142       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
10143       -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10144       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,     1,
10145       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
10146      113,   114,   115,   116,   117,    -1,    -1,    -1,    -1,    -1,
10147       -1,    -1,    -1,    -1,    -1,   128,    28,    29,    30,    31,
10148       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10149       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10150       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10151       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
10152       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10153       -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10154       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
10155        1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10156      112,   113,   114,   115,   116,   117,    -1,    -1,    -1,    -1,
10157       -1,    -1,    -1,    -1,    -1,    -1,   128,    28,    29,    30,
10158       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10159       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10160       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10161       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10162       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10163       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
10164       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10165       -1,     1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10166      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
10167       -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,    28,    29,
10168       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10169       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10170       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10171       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10172       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10173       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
10174       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10175      100,     0,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
10176      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
10177       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,    28,
10178       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10179       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10180       49,    50,    -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,
10181       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
10182       -1,    -1,    -1,    -1,    -1,    74,    75,    76,    77,    -1,
10183       79,    80,    81,    82,    83,    -1,    85,    86,    87,    -1,
10184       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10185       -1,   100,   101,     3,    -1,    -1,   105,    -1,    -1,    -1,
10186       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10187      119,    -1,    -1,   122,    -1,    -1,   125,    -1,    28,    29,
10188       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10189       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10190       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10191       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10192       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10193       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10194       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10195      100,    -1,    -1,    -1,     3,    -1,    -1,   107,    -1,    -1,
10196      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
10197       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,    28,
10198       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10199       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10200       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10201       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
10202       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10203       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
10204       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10205       -1,   100,    -1,    -1,    -1,     3,    -1,    -1,   107,    -1,
10206       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10207       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,
10208       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
10209       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
10210       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10211       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
10212       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
10213       -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,    87,
10214       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10215       -1,    -1,   100,    -1,     1,    -1,     3,    -1,    -1,   107,
10216       -1,    -1,   110,   111,   112,   113,   114,   115,   116,   117,
10217       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10218      128,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10219       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10220       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10221       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10222       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10223       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10224       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10225       -1,    -1,     1,   100,     3,    -1,    -1,    -1,    -1,    -1,
10226       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10227      117,    -1,   119,    -1,    -1,   122,    -1,    -1,   125,    28,
10228       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10229       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10230       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10231       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
10232       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10233       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
10234       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10235        1,   100,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10236       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10237      119,    -1,    -1,   122,    -1,    -1,   125,    28,    29,    30,
10238       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10239       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10240       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10241       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10242       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10243       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
10244       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,   100,
10245        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10246      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
10247       -1,   122,    -1,    -1,   125,    28,    29,    30,    31,    32,
10248       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10249       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10250       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10251       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10252       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
10253       -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10254       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,     3,    -1,
10255       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
10256      113,   114,   115,   116,   117,    -1,   119,    -1,    -1,   122,
10257       -1,    -1,   125,    28,    29,    30,    31,    32,    33,    34,
10258       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10259       45,    46,    47,    48,    49,    50,    -1,    -1,    53,    -1,
10260       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10261       65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10262       75,    76,    77,    -1,    79,    80,    81,    82,    83,    -1,
10263       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10264       -1,    -1,    -1,    -1,    -1,   100,   101,    -1,     0,     1,
10265      105,     3,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10266      115,   116,   117,    -1,   119,    -1,    -1,   122,    -1,    -1,
10267      125,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
10268       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10269       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10270       -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10271       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
10272       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    80,    81,
10273       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10274       -1,    -1,    -1,    -1,     1,    -1,     3,    -1,   100,    -1,
10275       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10276      112,   113,   114,   115,   116,   117,    -1,   119,    -1,    -1,
10277      122,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10278       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10279       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10280       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10281       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10282       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10283       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10284        1,    -1,     3,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10285       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10286      117,    -1,   119,    -1,    -1,   122,   123,    28,    29,    30,
10287       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10288       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10289       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10290       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
10291       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10292       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10293       -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,   100,
10294       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10295      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
10296       -1,    -1,   123,    28,    29,    30,    31,    32,    33,    34,
10297       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10298       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10299       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10300       65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10301       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
10302       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10303       -1,    -1,     1,    -1,     3,   100,    -1,    -1,    -1,    -1,
10304       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10305      115,   116,   117,    -1,    -1,    -1,    -1,    -1,   123,    28,
10306       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10307       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10308       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10309       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
10310       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10311       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
10312       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,
10313        3,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10314       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10315       -1,    -1,    -1,    -1,   123,    28,    29,    30,    31,    32,
10316       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10317       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10318       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10319       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10320       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
10321       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10322       -1,    -1,    -1,    -1,     1,    -1,     3,   100,    -1,    -1,
10323       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
10324      113,   114,   115,   116,   117,    -1,    -1,    -1,    -1,    -1,
10325      123,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10326       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10327       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10328       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10329       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10330       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10331       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10332        1,    -1,     3,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10333       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10334      117,    -1,    -1,    -1,    -1,    -1,   123,    28,    29,    30,
10335       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10336       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10337       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10338       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
10339       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10340       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10341       -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,   100,
10342       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10343      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
10344       -1,    -1,   123,    28,    29,    30,    31,    32,    33,    34,
10345       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10346       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10347       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10348       65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10349       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
10350       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10351       -1,     1,    -1,     3,    -1,   100,    -1,    -1,    -1,    -1,
10352       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10353      115,   116,   117,    -1,   119,    -1,    -1,   122,    28,    29,
10354       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10355       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10356       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10357       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10358       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10359       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10360       -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,    -1,
10361      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10362      110,   111,   112,   113,   114,   115,   116,   117,    -1,   119,
10363       -1,    -1,   122,    28,    29,    30,    31,    32,    33,    34,
10364       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10365       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10366       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10367       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10368       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10369       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10370       -1,    -1,    -1,     3,    -1,   100,    -1,    -1,    -1,    -1,
10371       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10372      115,   116,   117,    -1,    -1,    -1,    -1,   122,    28,    29,
10373       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10374       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10375       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10376       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10377       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10378       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10379       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
10380      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10381      110,   111,   112,   113,   114,   115,   116,   117,    -1,   119,
10382       -1,    -1,   122,    28,    29,    30,    31,    32,    33,    34,
10383       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10384       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10385       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10386       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10387       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
10388       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10389       -1,    -1,    -1,     3,    -1,   100,    -1,    -1,    -1,    -1,
10390       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10391      115,   116,   117,    -1,   119,    -1,    -1,   122,    28,    29,
10392       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10393       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10394       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10395       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10396       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10397       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10398       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
10399      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10400      110,   111,   112,   113,   114,   115,   116,   117,    -1,   119,
10401       -1,    -1,   122,    28,    29,    30,    31,    32,    33,    34,
10402       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10403       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10404       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10405       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10406       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
10407       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10408       -1,    -1,    -1,     3,    -1,   100,    -1,    -1,    -1,    -1,
10409       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10410      115,   116,   117,    -1,    -1,    -1,    -1,   122,    28,    29,
10411       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10412       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10413       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10414       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10415       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10416       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10417       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
10418      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10419      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
10420       -1,    -1,   122,    28,    29,    30,    31,    32,    33,    34,
10421       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10422       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10423       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10424       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10425       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10426       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10427       -1,     1,    -1,     3,    -1,   100,    -1,    -1,    -1,    -1,
10428       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10429      115,   116,   117,    -1,   119,    -1,    -1,   122,    28,    29,
10430       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10431       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10432       50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10433       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10434       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10435       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10436       -1,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10437      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10438      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10439       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10440       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10441       50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10442       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10443       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10444       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10445       -1,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10446      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10447      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10448       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10449       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10450       50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10451       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10452       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10453       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10454       -1,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10455      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10456      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10457       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10458       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10459       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10460       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10461       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10462       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
10463       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10464      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10465      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10466       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10467       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10468       50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10469       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10470       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10471       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10472       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10473      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10474      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10475       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10476       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10477       50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10478       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10479       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10480       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10481       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10482      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10483      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10484       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10485       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10486       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10487       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10488       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10489       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10490       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10491      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10492      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10493       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10494       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10495       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10496       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10497       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10498       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10499       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10500      100,    -1,    -1,    -1,    -1,    -1,    -1,   107,    -1,    -1,
10501      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10502       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10503       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10504       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10505       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10506       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10507       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10508       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10509      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10510      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10511       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10512       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10513       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10514       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10515       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10516       80,    81,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
10517       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10518      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10519      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10520       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10521       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10522       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10523       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10524       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10525       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10526       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10527      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10528      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10529       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10530       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10531       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10532       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10533       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10534       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
10535       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10536      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10537      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10538       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10539       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10540       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10541       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10542       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10543       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
10544       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10545      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10546      110,   111,   112,   113,   114,   115,   116,   117,    -1,   119,
10547       -1,    -1,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,
10548       -1,    -1,    -1,   133,    28,    29,    30,    31,    32,    33,
10549       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10550       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10551       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10552       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10553       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
10554       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
10555       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10556       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10557      114,   115,   116,   117,    -1,    -1,    -1,    -1,    -1,    -1,
10558       -1,    -1,    -1,    -1,    -1,   129,    28,    29,    30,    31,
10559       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10560       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10561       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10562       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
10563       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10564       -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10565       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
10566       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10567      112,   113,   114,   115,   116,   117,    -1,    -1,    -1,    -1,
10568       -1,    -1,    -1,    -1,    -1,    -1,   128,    28,    29,    30,
10569       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10570       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10571       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10572       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10573       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10574       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
10575       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10576       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10577      111,   112,   113,   114,   115,   116,   117
10578 };
10579
10580 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
10581    symbol of state STATE-NUM.  */
10582 static const yytype_uint16 yystos[] =
10583 {
10584        0,     3,    28,    29,    30,    31,    32,    33,    34,    35,
10585       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10586       46,    47,    48,    49,    50,    53,    65,    66,    74,    75,
10587       76,    77,    79,    80,    81,    82,    83,    85,    86,    87,
10588      100,   101,   105,   110,   111,   112,   113,   114,   115,   116,
10589      117,   119,   122,   125,   145,   146,   147,   149,   174,   211,
10590      212,   213,   214,   215,   216,   268,   271,   272,   275,   276,
10591      277,   278,   279,   280,   281,   283,   287,   290,   291,   292,
10592      293,   294,   295,   300,   301,   310,   311,   312,   319,   320,
10593      324,   327,   332,   361,   364,   365,   383,   384,   386,   387,
10594      388,   389,   390,   391,    77,   131,     5,    31,   216,   385,
10595      216,   122,   122,   122,   149,   216,   385,   281,   282,   319,
10596      327,    37,   147,   216,   309,   310,   312,   314,   315,   316,
10597      318,   319,   327,   330,   331,   336,   120,   125,   146,   147,
10598      216,   129,   131,   125,   129,   128,   119,   120,   211,   216,
10599      129,   149,   216,   129,   131,   128,   120,   129,   131,   129,
10600      128,   129,   147,   216,   319,     1,    31,    37,    38,   125,
10601      145,   147,   213,   215,   216,   268,   278,   279,   281,   283,
10602      312,   316,   319,   327,   330,   331,   332,   334,   342,   343,
10603      344,   345,    37,    38,   147,   319,   344,   122,   133,     1,
10604       29,    30,    31,    32,    33,    65,   116,   117,   123,   145,
10605      216,   267,   271,   273,   274,   281,   283,   287,   288,   289,
10606      295,   299,   307,   308,   348,   349,   350,   351,   352,   353,
10607      327,   122,   312,   319,    34,    35,    36,    37,    38,    39,
10608       40,    41,    42,    43,    46,    47,    66,    85,    87,   100,
10609      112,   113,   114,   115,   129,   149,   170,   171,   267,   272,
10610      273,   281,   284,   288,   290,   298,   363,   366,   367,   368,
10611      373,   374,   375,    31,    76,   131,   213,   215,   300,   364,
10612      365,   383,   384,   391,     1,   213,   277,   294,   300,   332,
10613      361,   387,     1,   386,   387,     0,   216,   385,   385,     5,
10614      126,   385,     1,     4,     6,     8,     9,    65,    71,    72,
10615       73,    84,    85,    98,   102,   103,   104,   105,   106,   107,
10616      108,   109,   118,   119,   122,   124,   132,   133,   135,   136,
10617      137,   138,   149,   175,   176,   216,   217,   218,   219,   220,
10618      223,   224,   227,   228,   229,   230,   231,   232,   233,   234,
10619      235,   236,   237,   238,   239,   240,   241,   242,   243,   247,
10620      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
10621      258,   259,   260,   261,   385,   397,   398,   399,   400,   146,
10622      216,   129,   149,   216,   281,   327,   133,   122,   133,   123,
10623      307,   308,   352,   353,   327,   330,   331,   309,   314,   318,
10624      319,   123,   319,   123,   319,   319,    85,   149,   201,   203,
10625      205,   209,   210,   216,   228,   233,   249,   253,   299,   125,
10626      120,   120,   125,     1,    68,    78,    80,    81,    88,    91,
10627       92,    93,    94,    96,    98,    99,   122,   124,   125,   128,
10628      150,   151,   152,   153,   154,   155,   156,   157,   172,   173,
10629      175,   176,   179,   180,   181,   182,   183,   184,   185,   186,
10630      187,   188,   192,   196,   197,   198,   199,   216,   224,   247,
10631      299,   311,   313,   319,   327,   332,   333,   362,    80,    81,
10632      216,   267,   271,   281,   284,   287,   295,   302,   303,     1,
10633      128,   198,   199,   147,   216,     1,   216,   269,   270,     1,
10634      128,   270,   303,    65,   202,   204,   206,   207,   208,   216,
10635      299,     1,   128,   198,   199,   303,     1,   128,   198,   199,
10636        1,   128,   198,   199,   147,   216,   127,   127,   127,   129,
10637      327,   312,   316,   319,     1,   126,   367,   374,   375,   367,
10638      374,   375,     1,   125,   127,   127,   327,   125,   134,   146,
10639      216,   242,   261,   265,   266,   127,   129,   149,   216,   128,
10640      129,   128,   129,   319,    37,   122,   133,   135,   145,   147,
10641      216,   267,   273,   281,   283,   288,   309,   310,   319,   325,
10642      327,   328,   331,     1,   123,   127,     1,   123,   127,     1,
10643      127,     1,   127,   123,   123,   312,   122,   312,   122,   122,
10644        1,   125,     1,   128,     1,    37,    38,   125,   216,   267,
10645      273,   281,   284,   288,   319,   344,   345,     1,   125,     1,
10646      363,   366,   374,   375,   363,   366,    52,    53,    54,    55,
10647       56,    57,    58,    59,    60,    61,    62,    85,    86,    88,
10648       89,    90,   125,   131,   149,   193,   194,   195,   216,   224,
10649      228,   243,   245,   249,   261,   262,   263,   324,   354,   355,
10650      358,   359,   360,   367,   368,   369,   370,   371,   372,   374,
10651      375,   377,   378,   379,   380,   381,   382,   128,    31,   216,
10652      385,   216,   211,   212,   214,   215,   309,   310,   316,   319,
10653      327,   332,   334,   367,   375,   213,   300,   126,   241,   242,
10654      260,   123,   122,   228,   249,   122,   228,   249,   228,   249,
10655      122,   216,   267,   273,   281,   284,   288,   306,   265,   122,
10656      122,   306,   265,   122,   122,   122,   122,   122,   122,   228,
10657      249,   123,   243,   245,   263,   273,   281,   283,   288,   296,
10658      346,   385,   129,   134,   177,   178,   221,   225,   243,   129,
10659        1,   128,   129,   216,     1,     7,     8,     9,   122,   130,
10660      133,    18,    19,    20,    21,    22,    23,    24,    25,    26,
10661       27,   126,   244,   178,   221,   222,   230,   250,   119,   139,
10662      140,   136,   137,    10,    11,   233,   253,    12,    13,   120,
10663      121,    14,    15,   135,   141,   142,    16,    17,   143,   244,
10664      123,     7,     8,     9,   122,   130,   133,   244,   119,   139,
10665      140,   136,   137,    10,    11,    12,    13,   120,   121,    14,
10666       15,   135,   141,   142,    16,    17,   143,   244,   123,   123,
10667      107,   216,   299,   392,   395,   396,   129,   129,   134,   146,
10668      265,   266,   134,   146,   265,   266,   123,   123,   123,   123,
10669      309,   314,   318,   123,   123,   309,    11,   121,   127,   126,
10670      122,   319,   327,   328,    65,   208,   216,   299,   208,     1,
10671      216,   267,   281,   284,   295,   304,   299,   332,   333,   122,
10672      149,   216,   216,   299,     1,   122,   304,   119,   122,   216,
10673      299,   125,   324,   374,   375,   374,   375,   374,   125,   374,
10674      375,   125,     1,   128,     1,     1,   125,   127,   127,    69,
10675       70,    91,    95,    97,   128,    69,    70,   128,   125,     1,
10676      196,   197,     1,   196,   197,     1,   126,   122,   131,   216,
10677      285,   286,   309,   315,   317,   319,   327,   334,   335,   336,
10678        1,   299,   307,   350,   327,   313,   319,   122,   131,   156,
10679      157,   172,   173,   175,   176,   185,   216,   299,   120,   149,
10680      216,   216,   267,   281,   284,   120,   120,   126,   127,     1,
10681      125,   129,    28,   148,   216,   121,   127,   126,   216,   328,
10682      330,   342,   342,   342,   125,   127,   128,   158,   159,   160,
10683      161,   162,   163,   164,   165,   166,   167,   168,   169,   221,
10684      222,   224,   242,   261,   298,   339,   340,   309,   312,   314,
10685      316,   318,   309,   316,   129,   243,   262,   337,   338,   374,
10686      375,   374,   375,   342,   343,   342,   343,   134,   134,   134,
10687       51,   348,   349,     1,   270,   129,   129,     1,   128,   198,
10688      199,     1,   128,   198,   199,   129,   123,   216,   307,   308,
10689      319,   327,   328,   352,   353,   134,   146,   265,   266,   319,
10690      327,   331,   327,   122,   133,   325,     1,     1,   127,     1,
10691       51,   216,   348,   349,   127,     1,    51,   216,   348,   349,
10692      127,     1,    51,   216,   348,   349,   127,    51,   216,   348,
10693      349,     3,    28,    44,    74,    75,   123,   321,   322,   323,
10694      243,   146,   216,   128,   129,   125,   125,   131,   265,   266,
10695      131,   122,   122,     1,   122,    52,    53,    54,    56,    57,
10696       58,    59,    62,    86,   216,   263,   324,   354,   377,   381,
10697      122,   216,   125,   125,   125,   221,   222,   245,   263,   122,
10698      281,   122,   122,   189,   216,   125,   125,   125,   131,   130,
10699      244,     1,   130,   125,   127,   245,   263,   244,   123,   127,
10700      245,     1,   369,   370,   369,   370,   354,   355,   363,   366,
10701      354,   355,   363,   366,     1,     1,   385,   385,   147,   216,
10702      129,   129,   327,   316,   319,   367,   375,   367,   375,   375,
10703      242,   143,   125,   143,    65,   145,   216,   273,   281,   283,
10704      288,   297,   347,   216,   298,   120,   122,   133,   216,   267,
10705      273,   281,   284,   288,   319,   326,   327,   329,   216,   267,
10706      273,   281,   284,   288,   305,   245,   346,   374,   216,   133,
10707      329,   305,   243,   385,   385,   385,   243,   347,   123,   216,
10708      273,   281,   283,   288,   328,   123,   130,     1,   168,   169,
10709        1,   128,   127,   134,     1,   168,   169,   128,     1,   168,
10710      169,     1,   216,   123,   222,   225,   226,   262,     1,   216,
10711      245,   263,   221,   243,     1,   230,   250,   230,   250,   230,
10712      250,   231,   251,   231,   251,   232,   252,   232,   252,   233,
10713      253,   233,   253,   233,   253,   221,   222,   235,   254,   221,
10714      222,   235,   254,   221,   222,   236,   255,   221,   222,   237,
10715      256,   221,   222,   238,   257,   239,   258,   240,   259,   131,
10716      221,   222,   245,   246,   263,   264,   221,   243,     1,   216,
10717      123,   225,   226,     1,   216,   245,   263,   221,   243,   230,
10718      250,   230,   250,   230,   250,   231,   251,   231,   251,   232,
10719      252,   232,   252,   233,   253,   233,   253,   233,   253,   233,
10720      253,   221,   222,   235,   254,   221,   222,   235,   254,   221,
10721      222,   236,   255,   221,   222,   237,   256,   221,   222,   238,
10722      257,   239,   258,   240,   259,   131,   245,   246,   263,   264,
10723      221,   243,   120,   121,   216,   393,   394,   216,   128,   392,
10724      395,   396,   396,   134,   134,   134,   134,   134,   134,   209,
10725      201,   203,   205,   216,   319,   327,   121,   126,   328,   121,
10726      129,   120,   129,   216,   267,   281,   284,   328,   319,   327,
10727      334,   335,   189,   286,   309,   319,   327,   129,   216,   129,
10728      216,   328,   216,   319,   122,   125,   128,   179,   180,   179,
10729      180,   374,   374,   374,   218,   374,   374,     1,   339,   340,
10730      123,   265,   266,   129,   127,     1,   299,   307,   350,   327,
10731      309,   317,   319,   131,   324,   216,   122,   313,   313,   216,
10732        1,     1,   286,   210,   120,   208,   208,   265,   266,   269,
10733      198,   199,     1,   128,   270,   126,   131,   126,   131,   207,
10734      203,   216,   126,   216,   126,   374,   375,     1,   125,   127,
10735      125,   127,   125,   160,   161,   164,   165,   166,   128,   158,
10736      161,   125,   128,   160,   161,   164,   165,   166,   126,    37,
10737      334,   335,   336,   337,   338,   341,     1,   128,   270,     1,
10738      128,   270,     1,   128,   198,   199,   319,   327,   328,   123,
10739      123,   123,   134,   134,   134,   327,   325,   123,   352,   353,
10740      134,   146,   265,   266,   348,   349,   299,   348,   348,   348,
10741      349,   123,   122,   123,   127,   322,   123,   123,   123,     1,
10742      168,   169,   354,   355,   363,   366,   131,   131,   354,   355,
10743      363,   366,   245,   263,   245,   263,   123,   245,   263,   131,
10744      265,   266,   131,   122,   122,   354,   122,   222,   263,   122,
10745      131,    56,     1,   123,   125,   216,   245,   263,   376,   125,
10746      125,   125,   125,   125,   385,   122,   243,   243,   216,   354,
10747      355,   363,   366,    90,   222,   262,    88,    89,    90,   243,
10748      262,   222,   262,   243,   262,   120,   316,   375,   375,   125,
10749      245,   246,   263,   264,   245,   246,   263,   264,   145,   146,
10750      145,   273,   281,   283,   288,   328,   123,   123,   123,   328,
10751      210,   123,   319,   329,   352,   353,   265,   266,   120,   327,
10752      122,   326,   133,   120,   133,   216,   267,   273,   281,   284,
10753      288,   329,   123,   123,   123,   123,   265,   266,   133,   133,
10754      329,   127,   123,   127,   127,   127,   123,   230,   250,   385,
10755        1,   128,   221,   243,     1,     1,   123,   127,   123,   134,
10756      134,     1,   127,   131,   131,   127,   131,   131,   123,   134,
10757      134,   131,   131,   131,   131,   216,   216,   125,   127,   216,
10758      385,   128,   128,   319,   327,   203,   210,   120,   129,   129,
10759      216,   327,   319,   123,   327,   309,   123,   129,   129,   216,
10760      123,     1,   168,   169,   285,   319,   216,   122,   309,   317,
10761      317,   265,   266,   122,   123,   121,   210,   121,   121,   125,
10762        1,   125,   201,   200,   299,   201,   200,   205,   126,   129,
10763        1,   162,   163,     1,   162,   163,   375,     1,   339,   340,
10764      127,   128,   337,   338,     1,   125,     1,   125,   327,   325,
10765      123,   123,   123,   134,   134,   134,   328,   331,   245,   123,
10766      322,     1,   354,   355,   363,   366,   354,   355,   363,   366,
10767      123,   123,   123,   123,     1,   354,   123,   245,   354,   355,
10768      131,   131,   263,   123,   245,   263,    56,   263,   376,   385,
10769      122,   354,   131,   125,     1,   125,     1,   123,   263,   376,
10770        3,   123,   131,   385,   123,   123,   127,   122,   122,   189,
10771      131,   131,   131,   131,   131,   131,   131,   131,   123,   123,
10772        1,   123,   121,   319,   327,   329,   123,   123,   123,   134,
10773      134,   210,   326,   123,   352,   353,   265,   266,   210,   265,
10774      266,   120,   133,   122,   337,   134,   134,   265,   266,   265,
10775      266,   133,   346,   216,   216,   243,     1,   222,   262,   221,
10776      222,   221,   222,   242,   260,   221,   222,   242,   260,   221,
10777      222,   221,   222,   242,   260,   221,   222,   242,   260,   221,
10778      222,   242,   260,   221,   222,   242,   260,   221,   222,   242,
10779      260,   221,   222,   242,   260,   393,   125,   125,   121,   210,
10780      129,   374,   309,   126,   129,     1,   122,   131,   131,   121,
10781      198,   199,   125,   198,   199,   126,   328,   126,   205,   341,
10782      128,   337,   338,     1,   198,   199,   198,   199,   123,   354,
10783      354,   354,   354,   354,   355,   123,   122,   376,   123,   245,
10784      263,   245,   354,     1,   123,   245,   263,   133,   356,   357,
10785      385,   125,   357,     3,   123,   131,   129,   189,   243,   243,
10786        1,     1,   326,   123,   121,   123,   123,   134,   134,   121,
10787      134,   134,   210,   265,   266,   346,   134,   134,   134,   134,
10788      265,   266,   123,   123,   123,   123,   121,   339,   265,   266,
10789      265,   266,   198,   199,   201,   201,   127,   128,     1,    64,
10790       64,   245,   263,   123,   245,   263,   123,   125,   123,   125,
10791      354,   355,   123,   354,   355,   216,   123,   127,   131,   122,
10792        3,   123,   131,   357,   125,   357,    73,   189,   190,   191,
10793      123,   123,   123,   127,   121,   134,   134,   123,   134,   134,
10794      125,   128,   354,   354,   123,   123,   125,   354,   245,   354,
10795      355,   134,   125,   356,   357,   243,   357,   125,   357,   123,
10796      131,     3,   123,   131,   374,   374,   128,   190,   129,   189,
10797      230,   250,   337,   123,   385,   123,   123,   123,   123,   131,
10798      125,   357,   357,   125,   357,   191,   123,   354,   122,   125,
10799      125,   125,   357,   123,   123,   123,   131,   128,   243,   123,
10800      125,   125,   125,   357,   123,   125,   123,   125
10801 };
10802
10803 #define yyerrok         (yyerrstatus = 0)
10804 #define yyclearin       (yychar = YYEMPTY)
10805 #define YYEMPTY         (-2)
10806 #define YYEOF           0
10807
10808 #define YYACCEPT        goto yyacceptlab
10809 #define YYABORT         goto yyabortlab
10810 #define YYERROR         goto yyerrorlab
10811
10812
10813 /* Like YYERROR except do call yyerror.  This remains here temporarily
10814    to ease the transition to the new meaning of YYERROR, for GCC.
10815    Once GCC version 2 has supplanted version 1, this can go.  However,
10816    YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
10817    in Bison 2.4.2's NEWS entry, where a plan to phase it out is
10818    discussed.  */
10819
10820 #define YYFAIL          goto yyerrlab
10821 #if defined YYFAIL
10822   /* This is here to suppress warnings from the GCC cpp's
10823      -Wunused-macros.  Normally we don't worry about that warning, but
10824      some users do, and we want to make it easy for users to remove
10825      YYFAIL uses, which will produce warnings from Bison 2.5.  */
10826 #endif
10827
10828 #define YYRECOVERING()  (!!yyerrstatus)
10829
10830 #define YYBACKUP(Token, Value)                                  \
10831 do                                                              \
10832   if (yychar == YYEMPTY && yylen == 1)                          \
10833     {                                                           \
10834       yychar = (Token);                                         \
10835       yylval = (Value);                                         \
10836       yytoken = YYTRANSLATE (yychar);                           \
10837       YYPOPSTACK (1);                                           \
10838       goto yybackup;                                            \
10839     }                                                           \
10840   else                                                          \
10841     {                                                           \
10842       yyerror (YY_("syntax error: cannot back up")); \
10843       YYERROR;                                                  \
10844     }                                                           \
10845 while (YYID (0))
10846
10847
10848 #define YYTERROR        1
10849 #define YYERRCODE       256
10850
10851
10852 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
10853    If N is 0, then set CURRENT to the empty location which ends
10854    the previous symbol: RHS[0] (always defined).  */
10855
10856 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
10857 #ifndef YYLLOC_DEFAULT
10858 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
10859     do                                                                  \
10860       if (YYID (N))                                                    \
10861         {                                                               \
10862           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
10863           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
10864           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
10865           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
10866         }                                                               \
10867       else                                                              \
10868         {                                                               \
10869           (Current).first_line   = (Current).last_line   =              \
10870             YYRHSLOC (Rhs, 0).last_line;                                \
10871           (Current).first_column = (Current).last_column =              \
10872             YYRHSLOC (Rhs, 0).last_column;                              \
10873         }                                                               \
10874     while (YYID (0))
10875 #endif
10876
10877
10878 /* YY_LOCATION_PRINT -- Print the location on the stream.
10879    This macro was not mandated originally: define only if we know
10880    we won't break user code: when these are the locations we know.  */
10881
10882 #ifndef YY_LOCATION_PRINT
10883 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
10884 #  define YY_LOCATION_PRINT(File, Loc)                  \
10885      fprintf (File, "%d.%d-%d.%d",                      \
10886               (Loc).first_line, (Loc).first_column,     \
10887               (Loc).last_line,  (Loc).last_column)
10888 # else
10889 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
10890 # endif
10891 #endif
10892
10893
10894 /* YYLEX -- calling `yylex' with the right arguments.  */
10895
10896 #ifdef YYLEX_PARAM
10897 # define YYLEX yylex (YYLEX_PARAM)
10898 #else
10899 # define YYLEX yylex ()
10900 #endif
10901
10902 /* Enable debugging if requested.  */
10903 #if YYDEBUG
10904
10905 # ifndef YYFPRINTF
10906 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
10907 #  define YYFPRINTF fprintf
10908 # endif
10909
10910 # define YYDPRINTF(Args)                        \
10911 do {                                            \
10912   if (yydebug)                                  \
10913     YYFPRINTF Args;                             \
10914 } while (YYID (0))
10915
10916 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
10917 do {                                                                      \
10918   if (yydebug)                                                            \
10919     {                                                                     \
10920       YYFPRINTF (stderr, "%s ", Title);                                   \
10921       yy_symbol_print (stderr,                                            \
10922                   Type, Value, Location); \
10923       YYFPRINTF (stderr, "\n");                                           \
10924     }                                                                     \
10925 } while (YYID (0))
10926
10927
10928 /*--------------------------------.
10929 | Print this symbol on YYOUTPUT.  |
10930 `--------------------------------*/
10931
10932 /*ARGSUSED*/
10933 #if (defined __STDC__ || defined __C99__FUNC__ \
10934      || defined __cplusplus || defined _MSC_VER)
10935 static void
10936 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
10937 #else
10938 static void
10939 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp)
10940     FILE *yyoutput;
10941     int yytype;
10942     YYSTYPE const * const yyvaluep;
10943     YYLTYPE const * const yylocationp;
10944 #endif
10945 {
10946   if (!yyvaluep)
10947     return;
10948   YYUSE (yylocationp);
10949 # ifdef YYPRINT
10950   if (yytype < YYNTOKENS)
10951     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
10952 # else
10953   YYUSE (yyoutput);
10954 # endif
10955   switch (yytype)
10956     {
10957       default:
10958         break;
10959     }
10960 }
10961
10962
10963 /*--------------------------------.
10964 | Print this symbol on YYOUTPUT.  |
10965 `--------------------------------*/
10966
10967 #if (defined __STDC__ || defined __C99__FUNC__ \
10968      || defined __cplusplus || defined _MSC_VER)
10969 static void
10970 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
10971 #else
10972 static void
10973 yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp)
10974     FILE *yyoutput;
10975     int yytype;
10976     YYSTYPE const * const yyvaluep;
10977     YYLTYPE const * const yylocationp;
10978 #endif
10979 {
10980   if (yytype < YYNTOKENS)
10981     YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
10982   else
10983     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
10984
10985   YY_LOCATION_PRINT (yyoutput, *yylocationp);
10986   YYFPRINTF (yyoutput, ": ");
10987   yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp);
10988   YYFPRINTF (yyoutput, ")");
10989 }
10990
10991 /*------------------------------------------------------------------.
10992 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
10993 | TOP (included).                                                   |
10994 `------------------------------------------------------------------*/
10995
10996 #if (defined __STDC__ || defined __C99__FUNC__ \
10997      || defined __cplusplus || defined _MSC_VER)
10998 static void
10999 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
11000 #else
11001 static void
11002 yy_stack_print (yybottom, yytop)
11003     yytype_int16 *yybottom;
11004     yytype_int16 *yytop;
11005 #endif
11006 {
11007   YYFPRINTF (stderr, "Stack now");
11008   for (; yybottom <= yytop; yybottom++)
11009     {
11010       int yybot = *yybottom;
11011       YYFPRINTF (stderr, " %d", yybot);
11012     }
11013   YYFPRINTF (stderr, "\n");
11014 }
11015
11016 # define YY_STACK_PRINT(Bottom, Top)                            \
11017 do {                                                            \
11018   if (yydebug)                                                  \
11019     yy_stack_print ((Bottom), (Top));                           \
11020 } while (YYID (0))
11021
11022
11023 /*------------------------------------------------.
11024 | Report that the YYRULE is going to be reduced.  |
11025 `------------------------------------------------*/
11026
11027 #if (defined __STDC__ || defined __C99__FUNC__ \
11028      || defined __cplusplus || defined _MSC_VER)
11029 static void
11030 yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule)
11031 #else
11032 static void
11033 yy_reduce_print (yyvsp, yylsp, yyrule)
11034     YYSTYPE *yyvsp;
11035     YYLTYPE *yylsp;
11036     int yyrule;
11037 #endif
11038 {
11039   int yynrhs = yyr2[yyrule];
11040   int yyi;
11041   unsigned long int yylno = yyrline[yyrule];
11042   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
11043              yyrule - 1, yylno);
11044   /* The symbols being reduced.  */
11045   for (yyi = 0; yyi < yynrhs; yyi++)
11046     {
11047       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
11048       yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
11049                        &(yyvsp[(yyi + 1) - (yynrhs)])
11050                        , &(yylsp[(yyi + 1) - (yynrhs)])                );
11051       YYFPRINTF (stderr, "\n");
11052     }
11053 }
11054
11055 # define YY_REDUCE_PRINT(Rule)          \
11056 do {                                    \
11057   if (yydebug)                          \
11058     yy_reduce_print (yyvsp, yylsp, Rule); \
11059 } while (YYID (0))
11060
11061 /* Nonzero means print parse trace.  It is left uninitialized so that
11062    multiple parsers can coexist.  */
11063 int yydebug;
11064 #else /* !YYDEBUG */
11065 # define YYDPRINTF(Args)
11066 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
11067 # define YY_STACK_PRINT(Bottom, Top)
11068 # define YY_REDUCE_PRINT(Rule)
11069 #endif /* !YYDEBUG */
11070
11071
11072 /* YYINITDEPTH -- initial size of the parser's stacks.  */
11073 #ifndef YYINITDEPTH
11074 # define YYINITDEPTH 200
11075 #endif
11076
11077 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
11078    if the built-in stack extension method is used).
11079
11080    Do not make this value too large; the results are undefined if
11081    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
11082    evaluated with infinite-precision integer arithmetic.  */
11083
11084 #ifndef YYMAXDEPTH
11085 # define YYMAXDEPTH 10000
11086 #endif
11087
11088 \f
11089
11090 #if YYERROR_VERBOSE
11091
11092 # ifndef yystrlen
11093 #  if defined __GLIBC__ && defined _STRING_H
11094 #   define yystrlen strlen
11095 #  else
11096 /* Return the length of YYSTR.  */
11097 #if (defined __STDC__ || defined __C99__FUNC__ \
11098      || defined __cplusplus || defined _MSC_VER)
11099 static YYSIZE_T
11100 yystrlen (const char *yystr)
11101 #else
11102 static YYSIZE_T
11103 yystrlen (yystr)
11104     const char *yystr;
11105 #endif
11106 {
11107   YYSIZE_T yylen;
11108   for (yylen = 0; yystr[yylen]; yylen++)
11109     continue;
11110   return yylen;
11111 }
11112 #  endif
11113 # endif
11114
11115 # ifndef yystpcpy
11116 #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
11117 #   define yystpcpy stpcpy
11118 #  else
11119 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
11120    YYDEST.  */
11121 #if (defined __STDC__ || defined __C99__FUNC__ \
11122      || defined __cplusplus || defined _MSC_VER)
11123 static char *
11124 yystpcpy (char *yydest, const char *yysrc)
11125 #else
11126 static char *
11127 yystpcpy (yydest, yysrc)
11128     char *yydest;
11129     const char *yysrc;
11130 #endif
11131 {
11132   char *yyd = yydest;
11133   const char *yys = yysrc;
11134
11135   while ((*yyd++ = *yys++) != '\0')
11136     continue;
11137
11138   return yyd - 1;
11139 }
11140 #  endif
11141 # endif
11142
11143 # ifndef yytnamerr
11144 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
11145    quotes and backslashes, so that it's suitable for yyerror.  The
11146    heuristic is that double-quoting is unnecessary unless the string
11147    contains an apostrophe, a comma, or backslash (other than
11148    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
11149    null, do not copy; instead, return the length of what the result
11150    would have been.  */
11151 static YYSIZE_T
11152 yytnamerr (char *yyres, const char *yystr)
11153 {
11154   if (*yystr == '"')
11155     {
11156       YYSIZE_T yyn = 0;
11157       char const *yyp = yystr;
11158
11159       for (;;)
11160         switch (*++yyp)
11161           {
11162           case '\'':
11163           case ',':
11164             goto do_not_strip_quotes;
11165
11166           case '\\':
11167             if (*++yyp != '\\')
11168               goto do_not_strip_quotes;
11169             /* Fall through.  */
11170           default:
11171             if (yyres)
11172               yyres[yyn] = *yyp;
11173             yyn++;
11174             break;
11175
11176           case '"':
11177             if (yyres)
11178               yyres[yyn] = '\0';
11179             return yyn;
11180           }
11181     do_not_strip_quotes: ;
11182     }
11183
11184   if (! yyres)
11185     return yystrlen (yystr);
11186
11187   return yystpcpy (yyres, yystr) - yyres;
11188 }
11189 # endif
11190
11191 /* Copy into YYRESULT an error message about the unexpected token
11192    YYCHAR while in state YYSTATE.  Return the number of bytes copied,
11193    including the terminating null byte.  If YYRESULT is null, do not
11194    copy anything; just return the number of bytes that would be
11195    copied.  As a special case, return 0 if an ordinary "syntax error"
11196    message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
11197    size calculation.  */
11198 static YYSIZE_T
11199 yysyntax_error (char *yyresult, int yystate, int yychar)
11200 {
11201   int yyn = yypact[yystate];
11202
11203   if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
11204     return 0;
11205   else
11206     {
11207       int yytype = YYTRANSLATE (yychar);
11208       YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
11209       YYSIZE_T yysize = yysize0;
11210       YYSIZE_T yysize1;
11211       int yysize_overflow = 0;
11212       enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
11213       char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
11214       int yyx;
11215
11216 # if 0
11217       /* This is so xgettext sees the translatable formats that are
11218          constructed on the fly.  */
11219       YY_("syntax error, unexpected %s");
11220       YY_("syntax error, unexpected %s, expecting %s");
11221       YY_("syntax error, unexpected %s, expecting %s or %s");
11222       YY_("syntax error, unexpected %s, expecting %s or %s or %s");
11223       YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
11224 # endif
11225       char *yyfmt;
11226       char const *yyf;
11227       static char const yyunexpected[] = "syntax error, unexpected %s";
11228       static char const yyexpecting[] = ", expecting %s";
11229       static char const yyor[] = " or %s";
11230       char yyformat[sizeof yyunexpected
11231                     + sizeof yyexpecting - 1
11232                     + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
11233                        * (sizeof yyor - 1))];
11234       char const *yyprefix = yyexpecting;
11235
11236       /* Start YYX at -YYN if negative to avoid negative indexes in
11237          YYCHECK.  */
11238       int yyxbegin = yyn < 0 ? -yyn : 0;
11239
11240       /* Stay within bounds of both yycheck and yytname.  */
11241       int yychecklim = YYLAST - yyn + 1;
11242       int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
11243       int yycount = 1;
11244
11245       yyarg[0] = yytname[yytype];
11246       yyfmt = yystpcpy (yyformat, yyunexpected);
11247
11248       for (yyx = yyxbegin; yyx < yyxend; ++yyx)
11249         if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
11250           {
11251             if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
11252               {
11253                 yycount = 1;
11254                 yysize = yysize0;
11255                 yyformat[sizeof yyunexpected - 1] = '\0';
11256                 break;
11257               }
11258             yyarg[yycount++] = yytname[yyx];
11259             yysize1 = yysize + yytnamerr (0, yytname[yyx]);
11260             yysize_overflow |= (yysize1 < yysize);
11261             yysize = yysize1;
11262             yyfmt = yystpcpy (yyfmt, yyprefix);
11263             yyprefix = yyor;
11264           }
11265
11266       yyf = YY_(yyformat);
11267       yysize1 = yysize + yystrlen (yyf);
11268       yysize_overflow |= (yysize1 < yysize);
11269       yysize = yysize1;
11270
11271       if (yysize_overflow)
11272         return YYSIZE_MAXIMUM;
11273
11274       if (yyresult)
11275         {
11276           /* Avoid sprintf, as that infringes on the user's name space.
11277              Don't have undefined behavior even if the translation
11278              produced a string with the wrong number of "%s"s.  */
11279           char *yyp = yyresult;
11280           int yyi = 0;
11281           while ((*yyp = *yyf) != '\0')
11282             {
11283               if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
11284                 {
11285                   yyp += yytnamerr (yyp, yyarg[yyi++]);
11286                   yyf += 2;
11287                 }
11288               else
11289                 {
11290                   yyp++;
11291                   yyf++;
11292                 }
11293             }
11294         }
11295       return yysize;
11296     }
11297 }
11298 #endif /* YYERROR_VERBOSE */
11299 \f
11300
11301 /*-----------------------------------------------.
11302 | Release the memory associated to this symbol.  |
11303 `-----------------------------------------------*/
11304
11305 /*ARGSUSED*/
11306 #if (defined __STDC__ || defined __C99__FUNC__ \
11307      || defined __cplusplus || defined _MSC_VER)
11308 static void
11309 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp)
11310 #else
11311 static void
11312 yydestruct (yymsg, yytype, yyvaluep, yylocationp)
11313     const char *yymsg;
11314     int yytype;
11315     YYSTYPE *yyvaluep;
11316     YYLTYPE *yylocationp;
11317 #endif
11318 {
11319   YYUSE (yyvaluep);
11320   YYUSE (yylocationp);
11321
11322   if (!yymsg)
11323     yymsg = "Deleting";
11324   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
11325
11326   switch (yytype)
11327     {
11328       case 145: /* "guess_type" */
11329
11330 /* Line 1009 of yacc.c  */
11331 #line 214 "grammar.y"
11332         { FreeSpecifier((yyvaluep->specifier)); };
11333
11334 /* Line 1009 of yacc.c  */
11335 #line 11336 "grammar.ec"
11336         break;
11337       case 146: /* "type" */
11338
11339 /* Line 1009 of yacc.c  */
11340 #line 214 "grammar.y"
11341         { FreeSpecifier((yyvaluep->specifier)); };
11342
11343 /* Line 1009 of yacc.c  */
11344 #line 11345 "grammar.ec"
11345         break;
11346       case 147: /* "base_strict_type" */
11347
11348 /* Line 1009 of yacc.c  */
11349 #line 214 "grammar.y"
11350         { FreeSpecifier((yyvaluep->specifier)); };
11351
11352 /* Line 1009 of yacc.c  */
11353 #line 11354 "grammar.ec"
11354         break;
11355       case 148: /* "base_strict_type_name" */
11356
11357 /* Line 1009 of yacc.c  */
11358 #line 249 "grammar.y"
11359         { delete (yyvaluep->string); };
11360
11361 /* Line 1009 of yacc.c  */
11362 #line 11363 "grammar.ec"
11363         break;
11364       case 149: /* "strict_type" */
11365
11366 /* Line 1009 of yacc.c  */
11367 #line 214 "grammar.y"
11368         { FreeSpecifier((yyvaluep->specifier)); };
11369
11370 /* Line 1009 of yacc.c  */
11371 #line 11372 "grammar.ec"
11372         break;
11373       case 150: /* "class_function_definition_start" */
11374
11375 /* Line 1009 of yacc.c  */
11376 #line 241 "grammar.y"
11377         { FreeClassFunction((yyvaluep->classFunction)); };
11378
11379 /* Line 1009 of yacc.c  */
11380 #line 11381 "grammar.ec"
11381         break;
11382       case 151: /* "constructor_function_definition_start" */
11383
11384 /* Line 1009 of yacc.c  */
11385 #line 241 "grammar.y"
11386         { FreeClassFunction((yyvaluep->classFunction)); };
11387
11388 /* Line 1009 of yacc.c  */
11389 #line 11390 "grammar.ec"
11390         break;
11391       case 152: /* "destructor_function_definition_start" */
11392
11393 /* Line 1009 of yacc.c  */
11394 #line 241 "grammar.y"
11395         { FreeClassFunction((yyvaluep->classFunction)); };
11396
11397 /* Line 1009 of yacc.c  */
11398 #line 11399 "grammar.ec"
11399         break;
11400       case 153: /* "virtual_class_function_definition_start" */
11401
11402 /* Line 1009 of yacc.c  */
11403 #line 241 "grammar.y"
11404         { FreeClassFunction((yyvaluep->classFunction)); };
11405
11406 /* Line 1009 of yacc.c  */
11407 #line 11408 "grammar.ec"
11408         break;
11409       case 154: /* "class_function_definition_start_error" */
11410
11411 /* Line 1009 of yacc.c  */
11412 #line 241 "grammar.y"
11413         { FreeClassFunction((yyvaluep->classFunction)); };
11414
11415 /* Line 1009 of yacc.c  */
11416 #line 11417 "grammar.ec"
11417         break;
11418       case 155: /* "virtual_class_function_definition_start_error" */
11419
11420 /* Line 1009 of yacc.c  */
11421 #line 241 "grammar.y"
11422         { FreeClassFunction((yyvaluep->classFunction)); };
11423
11424 /* Line 1009 of yacc.c  */
11425 #line 11426 "grammar.ec"
11426         break;
11427       case 156: /* "class_function_definition" */
11428
11429 /* Line 1009 of yacc.c  */
11430 #line 241 "grammar.y"
11431         { FreeClassFunction((yyvaluep->classFunction)); };
11432
11433 /* Line 1009 of yacc.c  */
11434 #line 11435 "grammar.ec"
11435         break;
11436       case 157: /* "class_function_definition_error" */
11437
11438 /* Line 1009 of yacc.c  */
11439 #line 241 "grammar.y"
11440         { FreeClassFunction((yyvaluep->classFunction)); };
11441
11442 /* Line 1009 of yacc.c  */
11443 #line 11444 "grammar.ec"
11444         break;
11445       case 158: /* "instance_class_function_definition_start" */
11446
11447 /* Line 1009 of yacc.c  */
11448 #line 241 "grammar.y"
11449         { FreeClassFunction((yyvaluep->classFunction)); };
11450
11451 /* Line 1009 of yacc.c  */
11452 #line 11453 "grammar.ec"
11453         break;
11454       case 159: /* "instance_class_function_definition_start_error" */
11455
11456 /* Line 1009 of yacc.c  */
11457 #line 241 "grammar.y"
11458         { FreeClassFunction((yyvaluep->classFunction)); };
11459
11460 /* Line 1009 of yacc.c  */
11461 #line 11462 "grammar.ec"
11462         break;
11463       case 160: /* "instance_class_function_definition" */
11464
11465 /* Line 1009 of yacc.c  */
11466 #line 241 "grammar.y"
11467         { FreeClassFunction((yyvaluep->classFunction)); };
11468
11469 /* Line 1009 of yacc.c  */
11470 #line 11471 "grammar.ec"
11471         break;
11472       case 161: /* "instance_class_function_definition_error" */
11473
11474 /* Line 1009 of yacc.c  */
11475 #line 241 "grammar.y"
11476         { FreeClassFunction((yyvaluep->classFunction)); };
11477
11478 /* Line 1009 of yacc.c  */
11479 #line 11480 "grammar.ec"
11480         break;
11481       case 162: /* "data_member_initialization" */
11482
11483 /* Line 1009 of yacc.c  */
11484 #line 239 "grammar.y"
11485         { FreeMemberInit((yyvaluep->memberInit)); };
11486
11487 /* Line 1009 of yacc.c  */
11488 #line 11489 "grammar.ec"
11489         break;
11490       case 163: /* "data_member_initialization_error" */
11491
11492 /* Line 1009 of yacc.c  */
11493 #line 239 "grammar.y"
11494         { FreeMemberInit((yyvaluep->memberInit)); };
11495
11496 /* Line 1009 of yacc.c  */
11497 #line 11498 "grammar.ec"
11498         break;
11499       case 164: /* "data_member_initialization_list" */
11500
11501 /* Line 1009 of yacc.c  */
11502 #line 264 "grammar.y"
11503         { FreeList((yyvaluep->list), FreeMemberInit); };
11504
11505 /* Line 1009 of yacc.c  */
11506 #line 11507 "grammar.ec"
11507         break;
11508       case 165: /* "data_member_initialization_list_error" */
11509
11510 /* Line 1009 of yacc.c  */
11511 #line 264 "grammar.y"
11512         { FreeList((yyvaluep->list), FreeMemberInit); };
11513
11514 /* Line 1009 of yacc.c  */
11515 #line 11516 "grammar.ec"
11516         break;
11517       case 166: /* "data_member_initialization_list_coloned" */
11518
11519 /* Line 1009 of yacc.c  */
11520 #line 264 "grammar.y"
11521         { FreeList((yyvaluep->list), FreeMemberInit); };
11522
11523 /* Line 1009 of yacc.c  */
11524 #line 11525 "grammar.ec"
11525         break;
11526       case 167: /* "members_initialization_list_coloned" */
11527
11528 /* Line 1009 of yacc.c  */
11529 #line 265 "grammar.y"
11530         { FreeList((yyvaluep->list), FreeMembersInit); };
11531
11532 /* Line 1009 of yacc.c  */
11533 #line 11534 "grammar.ec"
11534         break;
11535       case 168: /* "members_initialization_list" */
11536
11537 /* Line 1009 of yacc.c  */
11538 #line 265 "grammar.y"
11539         { FreeList((yyvaluep->list), FreeMembersInit); };
11540
11541 /* Line 1009 of yacc.c  */
11542 #line 11543 "grammar.ec"
11543         break;
11544       case 169: /* "members_initialization_list_error" */
11545
11546 /* Line 1009 of yacc.c  */
11547 #line 265 "grammar.y"
11548         { FreeList((yyvaluep->list), FreeMembersInit); };
11549
11550 /* Line 1009 of yacc.c  */
11551 #line 11552 "grammar.ec"
11552         break;
11553       case 170: /* "instantiation_named" */
11554
11555 /* Line 1009 of yacc.c  */
11556 #line 237 "grammar.y"
11557         { FreeInstance((yyvaluep->instance)); };
11558
11559 /* Line 1009 of yacc.c  */
11560 #line 11561 "grammar.ec"
11561         break;
11562       case 171: /* "instantiation_named_error" */
11563
11564 /* Line 1009 of yacc.c  */
11565 #line 237 "grammar.y"
11566         { FreeInstance((yyvaluep->instance)); };
11567
11568 /* Line 1009 of yacc.c  */
11569 #line 11570 "grammar.ec"
11570         break;
11571       case 175: /* "instantiation_unnamed" */
11572
11573 /* Line 1009 of yacc.c  */
11574 #line 237 "grammar.y"
11575         { FreeInstance((yyvaluep->instance)); };
11576
11577 /* Line 1009 of yacc.c  */
11578 #line 11579 "grammar.ec"
11579         break;
11580       case 176: /* "instantiation_unnamed_error" */
11581
11582 /* Line 1009 of yacc.c  */
11583 #line 237 "grammar.y"
11584         { FreeInstance((yyvaluep->instance)); };
11585
11586 /* Line 1009 of yacc.c  */
11587 #line 11588 "grammar.ec"
11588         break;
11589       case 179: /* "default_property" */
11590
11591 /* Line 1009 of yacc.c  */
11592 #line 239 "grammar.y"
11593         { FreeMemberInit((yyvaluep->memberInit)); };
11594
11595 /* Line 1009 of yacc.c  */
11596 #line 11597 "grammar.ec"
11597         break;
11598       case 180: /* "default_property_error" */
11599
11600 /* Line 1009 of yacc.c  */
11601 #line 239 "grammar.y"
11602         { FreeMemberInit((yyvaluep->memberInit)); };
11603
11604 /* Line 1009 of yacc.c  */
11605 #line 11606 "grammar.ec"
11606         break;
11607       case 181: /* "default_property_list" */
11608
11609 /* Line 1009 of yacc.c  */
11610 #line 264 "grammar.y"
11611         { FreeList((yyvaluep->list), FreeMemberInit); };
11612
11613 /* Line 1009 of yacc.c  */
11614 #line 11615 "grammar.ec"
11615         break;
11616       case 182: /* "default_property_list_error" */
11617
11618 /* Line 1009 of yacc.c  */
11619 #line 264 "grammar.y"
11620         { FreeList((yyvaluep->list), FreeMemberInit); };
11621
11622 /* Line 1009 of yacc.c  */
11623 #line 11624 "grammar.ec"
11624         break;
11625       case 185: /* "property" */
11626
11627 /* Line 1009 of yacc.c  */
11628 #line 250 "grammar.y"
11629         { FreeProperty((yyvaluep->prop)); };
11630
11631 /* Line 1009 of yacc.c  */
11632 #line 11633 "grammar.ec"
11633         break;
11634       case 196: /* "struct_declaration" */
11635
11636 /* Line 1009 of yacc.c  */
11637 #line 248 "grammar.y"
11638         { FreeClassDef((yyvaluep->classDef)); };
11639
11640 /* Line 1009 of yacc.c  */
11641 #line 11642 "grammar.ec"
11642         break;
11643       case 197: /* "struct_declaration_error" */
11644
11645 /* Line 1009 of yacc.c  */
11646 #line 248 "grammar.y"
11647         { FreeClassDef((yyvaluep->classDef)); };
11648
11649 /* Line 1009 of yacc.c  */
11650 #line 11651 "grammar.ec"
11651         break;
11652       case 198: /* "struct_declaration_list" */
11653
11654 /* Line 1009 of yacc.c  */
11655 #line 263 "grammar.y"
11656         { FreeList((yyvaluep->list), FreeClassDef); };
11657
11658 /* Line 1009 of yacc.c  */
11659 #line 11660 "grammar.ec"
11660         break;
11661       case 199: /* "struct_declaration_list_error" */
11662
11663 /* Line 1009 of yacc.c  */
11664 #line 263 "grammar.y"
11665         { FreeList((yyvaluep->list), FreeClassDef); };
11666
11667 /* Line 1009 of yacc.c  */
11668 #line 11669 "grammar.ec"
11669         break;
11670       case 200: /* "template_datatype" */
11671
11672 /* Line 1009 of yacc.c  */
11673 #line 269 "grammar.y"
11674         { FreeTemplateDataType((yyvaluep->templateDatatype)); };
11675
11676 /* Line 1009 of yacc.c  */
11677 #line 11678 "grammar.ec"
11678         break;
11679       case 201: /* "template_type_argument" */
11680
11681 /* Line 1009 of yacc.c  */
11682 #line 268 "grammar.y"
11683         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11684
11685 /* Line 1009 of yacc.c  */
11686 #line 11687 "grammar.ec"
11687         break;
11688       case 202: /* "template_type_parameter" */
11689
11690 /* Line 1009 of yacc.c  */
11691 #line 267 "grammar.y"
11692         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11693
11694 /* Line 1009 of yacc.c  */
11695 #line 11696 "grammar.ec"
11696         break;
11697       case 203: /* "template_identifier_argument" */
11698
11699 /* Line 1009 of yacc.c  */
11700 #line 268 "grammar.y"
11701         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11702
11703 /* Line 1009 of yacc.c  */
11704 #line 11705 "grammar.ec"
11705         break;
11706       case 204: /* "template_identifier_parameter" */
11707
11708 /* Line 1009 of yacc.c  */
11709 #line 267 "grammar.y"
11710         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11711
11712 /* Line 1009 of yacc.c  */
11713 #line 11714 "grammar.ec"
11714         break;
11715       case 205: /* "template_expression_argument" */
11716
11717 /* Line 1009 of yacc.c  */
11718 #line 268 "grammar.y"
11719         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11720
11721 /* Line 1009 of yacc.c  */
11722 #line 11723 "grammar.ec"
11723         break;
11724       case 206: /* "template_expression_parameter" */
11725
11726 /* Line 1009 of yacc.c  */
11727 #line 267 "grammar.y"
11728         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11729
11730 /* Line 1009 of yacc.c  */
11731 #line 11732 "grammar.ec"
11732         break;
11733       case 207: /* "template_parameter" */
11734
11735 /* Line 1009 of yacc.c  */
11736 #line 267 "grammar.y"
11737         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11738
11739 /* Line 1009 of yacc.c  */
11740 #line 11741 "grammar.ec"
11741         break;
11742       case 208: /* "template_parameters_list" */
11743
11744 /* Line 1009 of yacc.c  */
11745 #line 270 "grammar.y"
11746         { FreeList((yyvaluep->list), FreeTemplateParameter); };
11747
11748 /* Line 1009 of yacc.c  */
11749 #line 11750 "grammar.ec"
11750         break;
11751       case 209: /* "template_argument" */
11752
11753 /* Line 1009 of yacc.c  */
11754 #line 268 "grammar.y"
11755         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11756
11757 /* Line 1009 of yacc.c  */
11758 #line 11759 "grammar.ec"
11759         break;
11760       case 210: /* "template_arguments_list" */
11761
11762 /* Line 1009 of yacc.c  */
11763 #line 271 "grammar.y"
11764         { FreeList((yyvaluep->list), FreeTemplateArgument); };
11765
11766 /* Line 1009 of yacc.c  */
11767 #line 11768 "grammar.ec"
11768         break;
11769       case 211: /* "class_entry" */
11770
11771 /* Line 1009 of yacc.c  */
11772 #line 245 "grammar.y"
11773         { Context ctx = curContext; PopContext(ctx); FreeContext(ctx); delete ctx; };
11774
11775 /* Line 1009 of yacc.c  */
11776 #line 11777 "grammar.ec"
11777         break;
11778       case 212: /* "class_decl" */
11779
11780 /* Line 1009 of yacc.c  */
11781 #line 246 "grammar.y"
11782         { Context ctx = curContext; PopContext(ctx); FreeContext(ctx); delete ctx; };
11783
11784 /* Line 1009 of yacc.c  */
11785 #line 11786 "grammar.ec"
11786         break;
11787       case 213: /* "class" */
11788
11789 /* Line 1009 of yacc.c  */
11790 #line 247 "grammar.y"
11791         { FreeClass((yyvaluep->_class)); };
11792
11793 /* Line 1009 of yacc.c  */
11794 #line 11795 "grammar.ec"
11795         break;
11796       case 214: /* "class_head" */
11797
11798 /* Line 1009 of yacc.c  */
11799 #line 247 "grammar.y"
11800         { FreeClass((yyvaluep->_class)); };
11801
11802 /* Line 1009 of yacc.c  */
11803 #line 11804 "grammar.ec"
11804         break;
11805       case 215: /* "class_error" */
11806
11807 /* Line 1009 of yacc.c  */
11808 #line 247 "grammar.y"
11809         { FreeClass((yyvaluep->_class)); };
11810
11811 /* Line 1009 of yacc.c  */
11812 #line 11813 "grammar.ec"
11813         break;
11814       case 216: /* "identifier" */
11815
11816 /* Line 1009 of yacc.c  */
11817 #line 201 "grammar.y"
11818         { FreeIdentifier((yyvaluep->id)); };
11819
11820 /* Line 1009 of yacc.c  */
11821 #line 11822 "grammar.ec"
11822         break;
11823       case 217: /* "primary_expression" */
11824
11825 /* Line 1009 of yacc.c  */
11826 #line 203 "grammar.y"
11827         { FreeExpression((yyvaluep->exp)); };
11828
11829 /* Line 1009 of yacc.c  */
11830 #line 11831 "grammar.ec"
11831         break;
11832       case 218: /* "i18n_string" */
11833
11834 /* Line 1009 of yacc.c  */
11835 #line 203 "grammar.y"
11836         { FreeExpression((yyvaluep->exp)); };
11837
11838 /* Line 1009 of yacc.c  */
11839 #line 11840 "grammar.ec"
11840         break;
11841       case 223: /* "primary_expression_error" */
11842
11843 /* Line 1009 of yacc.c  */
11844 #line 203 "grammar.y"
11845         { FreeExpression((yyvaluep->exp)); };
11846
11847 /* Line 1009 of yacc.c  */
11848 #line 11849 "grammar.ec"
11849         break;
11850       case 224: /* "postfix_expression" */
11851
11852 /* Line 1009 of yacc.c  */
11853 #line 203 "grammar.y"
11854         { FreeExpression((yyvaluep->exp)); };
11855
11856 /* Line 1009 of yacc.c  */
11857 #line 11858 "grammar.ec"
11858         break;
11859       case 225: /* "argument_expression_list" */
11860
11861 /* Line 1009 of yacc.c  */
11862 #line 252 "grammar.y"
11863         { FreeList((yyvaluep->list), FreeExpression); };
11864
11865 /* Line 1009 of yacc.c  */
11866 #line 11867 "grammar.ec"
11867         break;
11868       case 226: /* "argument_expression_list_error" */
11869
11870 /* Line 1009 of yacc.c  */
11871 #line 252 "grammar.y"
11872         { FreeList((yyvaluep->list), FreeExpression); };
11873
11874 /* Line 1009 of yacc.c  */
11875 #line 11876 "grammar.ec"
11876         break;
11877       case 228: /* "unary_expression" */
11878
11879 /* Line 1009 of yacc.c  */
11880 #line 203 "grammar.y"
11881         { FreeExpression((yyvaluep->exp)); };
11882
11883 /* Line 1009 of yacc.c  */
11884 #line 11885 "grammar.ec"
11885         break;
11886       case 230: /* "cast_expression" */
11887
11888 /* Line 1009 of yacc.c  */
11889 #line 203 "grammar.y"
11890         { FreeExpression((yyvaluep->exp)); };
11891
11892 /* Line 1009 of yacc.c  */
11893 #line 11894 "grammar.ec"
11894         break;
11895       case 231: /* "multiplicative_expression" */
11896
11897 /* Line 1009 of yacc.c  */
11898 #line 203 "grammar.y"
11899         { FreeExpression((yyvaluep->exp)); };
11900
11901 /* Line 1009 of yacc.c  */
11902 #line 11903 "grammar.ec"
11903         break;
11904       case 232: /* "additive_expression" */
11905
11906 /* Line 1009 of yacc.c  */
11907 #line 203 "grammar.y"
11908         { FreeExpression((yyvaluep->exp)); };
11909
11910 /* Line 1009 of yacc.c  */
11911 #line 11912 "grammar.ec"
11912         break;
11913       case 233: /* "shift_expression" */
11914
11915 /* Line 1009 of yacc.c  */
11916 #line 203 "grammar.y"
11917         { FreeExpression((yyvaluep->exp)); };
11918
11919 /* Line 1009 of yacc.c  */
11920 #line 11921 "grammar.ec"
11921         break;
11922       case 235: /* "relational_expression" */
11923
11924 /* Line 1009 of yacc.c  */
11925 #line 203 "grammar.y"
11926         { FreeExpression((yyvaluep->exp)); };
11927
11928 /* Line 1009 of yacc.c  */
11929 #line 11930 "grammar.ec"
11930         break;
11931       case 236: /* "equality_expression" */
11932
11933 /* Line 1009 of yacc.c  */
11934 #line 203 "grammar.y"
11935         { FreeExpression((yyvaluep->exp)); };
11936
11937 /* Line 1009 of yacc.c  */
11938 #line 11939 "grammar.ec"
11939         break;
11940       case 237: /* "and_expression" */
11941
11942 /* Line 1009 of yacc.c  */
11943 #line 203 "grammar.y"
11944         { FreeExpression((yyvaluep->exp)); };
11945
11946 /* Line 1009 of yacc.c  */
11947 #line 11948 "grammar.ec"
11948         break;
11949       case 238: /* "exclusive_or_expression" */
11950
11951 /* Line 1009 of yacc.c  */
11952 #line 203 "grammar.y"
11953         { FreeExpression((yyvaluep->exp)); };
11954
11955 /* Line 1009 of yacc.c  */
11956 #line 11957 "grammar.ec"
11957         break;
11958       case 239: /* "inclusive_or_expression" */
11959
11960 /* Line 1009 of yacc.c  */
11961 #line 203 "grammar.y"
11962         { FreeExpression((yyvaluep->exp)); };
11963
11964 /* Line 1009 of yacc.c  */
11965 #line 11966 "grammar.ec"
11966         break;
11967       case 240: /* "logical_and_expression" */
11968
11969 /* Line 1009 of yacc.c  */
11970 #line 203 "grammar.y"
11971         { FreeExpression((yyvaluep->exp)); };
11972
11973 /* Line 1009 of yacc.c  */
11974 #line 11975 "grammar.ec"
11975         break;
11976       case 241: /* "logical_or_expression" */
11977
11978 /* Line 1009 of yacc.c  */
11979 #line 203 "grammar.y"
11980         { FreeExpression((yyvaluep->exp)); };
11981
11982 /* Line 1009 of yacc.c  */
11983 #line 11984 "grammar.ec"
11984         break;
11985       case 242: /* "conditional_expression" */
11986
11987 /* Line 1009 of yacc.c  */
11988 #line 203 "grammar.y"
11989         { FreeExpression((yyvaluep->exp)); };
11990
11991 /* Line 1009 of yacc.c  */
11992 #line 11993 "grammar.ec"
11993         break;
11994       case 243: /* "assignment_expression" */
11995
11996 /* Line 1009 of yacc.c  */
11997 #line 203 "grammar.y"
11998         { FreeExpression((yyvaluep->exp)); };
11999
12000 /* Line 1009 of yacc.c  */
12001 #line 12002 "grammar.ec"
12002         break;
12003       case 245: /* "expression" */
12004
12005 /* Line 1009 of yacc.c  */
12006 #line 252 "grammar.y"
12007         { FreeList((yyvaluep->list), FreeExpression); };
12008
12009 /* Line 1009 of yacc.c  */
12010 #line 12011 "grammar.ec"
12011         break;
12012       case 247: /* "postfix_expression_error" */
12013
12014 /* Line 1009 of yacc.c  */
12015 #line 203 "grammar.y"
12016         { FreeExpression((yyvaluep->exp)); };
12017
12018 /* Line 1009 of yacc.c  */
12019 #line 12020 "grammar.ec"
12020         break;
12021       case 249: /* "unary_expression_error" */
12022
12023 /* Line 1009 of yacc.c  */
12024 #line 203 "grammar.y"
12025         { FreeExpression((yyvaluep->exp)); };
12026
12027 /* Line 1009 of yacc.c  */
12028 #line 12029 "grammar.ec"
12029         break;
12030       case 250: /* "cast_expression_error" */
12031
12032 /* Line 1009 of yacc.c  */
12033 #line 203 "grammar.y"
12034         { FreeExpression((yyvaluep->exp)); };
12035
12036 /* Line 1009 of yacc.c  */
12037 #line 12038 "grammar.ec"
12038         break;
12039       case 251: /* "multiplicative_expression_error" */
12040
12041 /* Line 1009 of yacc.c  */
12042 #line 203 "grammar.y"
12043         { FreeExpression((yyvaluep->exp)); };
12044
12045 /* Line 1009 of yacc.c  */
12046 #line 12047 "grammar.ec"
12047         break;
12048       case 252: /* "additive_expression_error" */
12049
12050 /* Line 1009 of yacc.c  */
12051 #line 203 "grammar.y"
12052         { FreeExpression((yyvaluep->exp)); };
12053
12054 /* Line 1009 of yacc.c  */
12055 #line 12056 "grammar.ec"
12056         break;
12057       case 253: /* "shift_expression_error" */
12058
12059 /* Line 1009 of yacc.c  */
12060 #line 203 "grammar.y"
12061         { FreeExpression((yyvaluep->exp)); };
12062
12063 /* Line 1009 of yacc.c  */
12064 #line 12065 "grammar.ec"
12065         break;
12066       case 254: /* "relational_expression_error" */
12067
12068 /* Line 1009 of yacc.c  */
12069 #line 203 "grammar.y"
12070         { FreeExpression((yyvaluep->exp)); };
12071
12072 /* Line 1009 of yacc.c  */
12073 #line 12074 "grammar.ec"
12074         break;
12075       case 255: /* "equality_expression_error" */
12076
12077 /* Line 1009 of yacc.c  */
12078 #line 203 "grammar.y"
12079         { FreeExpression((yyvaluep->exp)); };
12080
12081 /* Line 1009 of yacc.c  */
12082 #line 12083 "grammar.ec"
12083         break;
12084       case 256: /* "and_expression_error" */
12085
12086 /* Line 1009 of yacc.c  */
12087 #line 203 "grammar.y"
12088         { FreeExpression((yyvaluep->exp)); };
12089
12090 /* Line 1009 of yacc.c  */
12091 #line 12092 "grammar.ec"
12092         break;
12093       case 257: /* "exclusive_or_expression_error" */
12094
12095 /* Line 1009 of yacc.c  */
12096 #line 203 "grammar.y"
12097         { FreeExpression((yyvaluep->exp)); };
12098
12099 /* Line 1009 of yacc.c  */
12100 #line 12101 "grammar.ec"
12101         break;
12102       case 258: /* "inclusive_or_expression_error" */
12103
12104 /* Line 1009 of yacc.c  */
12105 #line 203 "grammar.y"
12106         { FreeExpression((yyvaluep->exp)); };
12107
12108 /* Line 1009 of yacc.c  */
12109 #line 12110 "grammar.ec"
12110         break;
12111       case 259: /* "logical_and_expression_error" */
12112
12113 /* Line 1009 of yacc.c  */
12114 #line 203 "grammar.y"
12115         { FreeExpression((yyvaluep->exp)); };
12116
12117 /* Line 1009 of yacc.c  */
12118 #line 12119 "grammar.ec"
12119         break;
12120       case 260: /* "logical_or_expression_error" */
12121
12122 /* Line 1009 of yacc.c  */
12123 #line 203 "grammar.y"
12124         { FreeExpression((yyvaluep->exp)); };
12125
12126 /* Line 1009 of yacc.c  */
12127 #line 12128 "grammar.ec"
12128         break;
12129       case 261: /* "conditional_expression_error" */
12130
12131 /* Line 1009 of yacc.c  */
12132 #line 203 "grammar.y"
12133         { FreeExpression((yyvaluep->exp)); };
12134
12135 /* Line 1009 of yacc.c  */
12136 #line 12137 "grammar.ec"
12137         break;
12138       case 262: /* "assignment_expression_error" */
12139
12140 /* Line 1009 of yacc.c  */
12141 #line 203 "grammar.y"
12142         { FreeExpression((yyvaluep->exp)); };
12143
12144 /* Line 1009 of yacc.c  */
12145 #line 12146 "grammar.ec"
12146         break;
12147       case 263: /* "expression_error" */
12148
12149 /* Line 1009 of yacc.c  */
12150 #line 252 "grammar.y"
12151         { FreeList((yyvaluep->list), FreeExpression); };
12152
12153 /* Line 1009 of yacc.c  */
12154 #line 12155 "grammar.ec"
12155         break;
12156       case 265: /* "constant_expression" */
12157
12158 /* Line 1009 of yacc.c  */
12159 #line 203 "grammar.y"
12160         { FreeExpression((yyvaluep->exp)); };
12161
12162 /* Line 1009 of yacc.c  */
12163 #line 12164 "grammar.ec"
12164         break;
12165       case 266: /* "constant_expression_error" */
12166
12167 /* Line 1009 of yacc.c  */
12168 #line 203 "grammar.y"
12169         { FreeExpression((yyvaluep->exp)); };
12170
12171 /* Line 1009 of yacc.c  */
12172 #line 12173 "grammar.ec"
12173         break;
12174       case 267: /* "storage_class_specifier" */
12175
12176 /* Line 1009 of yacc.c  */
12177 #line 214 "grammar.y"
12178         { FreeSpecifier((yyvaluep->specifier)); };
12179
12180 /* Line 1009 of yacc.c  */
12181 #line 12182 "grammar.ec"
12182         break;
12183       case 268: /* "external_storage_class_specifier" */
12184
12185 /* Line 1009 of yacc.c  */
12186 #line 214 "grammar.y"
12187         { FreeSpecifier((yyvaluep->specifier)); };
12188
12189 /* Line 1009 of yacc.c  */
12190 #line 12191 "grammar.ec"
12191         break;
12192       case 269: /* "enumerator" */
12193
12194 /* Line 1009 of yacc.c  */
12195 #line 219 "grammar.y"
12196         { FreeEnumerator((yyvaluep->enumerator)); };
12197
12198 /* Line 1009 of yacc.c  */
12199 #line 12200 "grammar.ec"
12200         break;
12201       case 270: /* "enumerator_list" */
12202
12203 /* Line 1009 of yacc.c  */
12204 #line 253 "grammar.y"
12205         { FreeList((yyvaluep->list), FreeEnumerator); };
12206
12207 /* Line 1009 of yacc.c  */
12208 #line 12209 "grammar.ec"
12209         break;
12210       case 272: /* "enum_specifier_nocompound" */
12211
12212 /* Line 1009 of yacc.c  */
12213 #line 214 "grammar.y"
12214         { FreeSpecifier((yyvaluep->specifier)); };
12215
12216 /* Line 1009 of yacc.c  */
12217 #line 12218 "grammar.ec"
12218         break;
12219       case 273: /* "enum_specifier_compound" */
12220
12221 /* Line 1009 of yacc.c  */
12222 #line 214 "grammar.y"
12223         { FreeSpecifier((yyvaluep->specifier)); };
12224
12225 /* Line 1009 of yacc.c  */
12226 #line 12227 "grammar.ec"
12227         break;
12228       case 274: /* "enum_specifier_compound_error" */
12229
12230 /* Line 1009 of yacc.c  */
12231 #line 214 "grammar.y"
12232         { FreeSpecifier((yyvaluep->specifier)); };
12233
12234 /* Line 1009 of yacc.c  */
12235 #line 12236 "grammar.ec"
12236         break;
12237       case 276: /* "enum_class" */
12238
12239 /* Line 1009 of yacc.c  */
12240 #line 214 "grammar.y"
12241         { FreeSpecifier((yyvaluep->specifier)); };
12242
12243 /* Line 1009 of yacc.c  */
12244 #line 12245 "grammar.ec"
12245         break;
12246       case 277: /* "enum_class_error" */
12247
12248 /* Line 1009 of yacc.c  */
12249 #line 214 "grammar.y"
12250         { FreeSpecifier((yyvaluep->specifier)); };
12251
12252 /* Line 1009 of yacc.c  */
12253 #line 12254 "grammar.ec"
12254         break;
12255       case 278: /* "class_specifier" */
12256
12257 /* Line 1009 of yacc.c  */
12258 #line 214 "grammar.y"
12259         { FreeSpecifier((yyvaluep->specifier)); };
12260
12261 /* Line 1009 of yacc.c  */
12262 #line 12263 "grammar.ec"
12263         break;
12264       case 279: /* "class_specifier_error" */
12265
12266 /* Line 1009 of yacc.c  */
12267 #line 214 "grammar.y"
12268         { FreeSpecifier((yyvaluep->specifier)); };
12269
12270 /* Line 1009 of yacc.c  */
12271 #line 12272 "grammar.ec"
12272         break;
12273       case 280: /* "ext_storage" */
12274
12275 /* Line 1009 of yacc.c  */
12276 #line 214 "grammar.y"
12277         { FreeSpecifier((yyvaluep->specifier)); };
12278
12279 /* Line 1009 of yacc.c  */
12280 #line 12281 "grammar.ec"
12281         break;
12282       case 281: /* "type_qualifier" */
12283
12284 /* Line 1009 of yacc.c  */
12285 #line 214 "grammar.y"
12286         { FreeSpecifier((yyvaluep->specifier)); };
12287
12288 /* Line 1009 of yacc.c  */
12289 #line 12290 "grammar.ec"
12290         break;
12291       case 282: /* "type_qualifier_list" */
12292
12293 /* Line 1009 of yacc.c  */
12294 #line 254 "grammar.y"
12295         { FreeList((yyvaluep->list), FreeSpecifier); };
12296
12297 /* Line 1009 of yacc.c  */
12298 #line 12299 "grammar.ec"
12299         break;
12300       case 283: /* "type_specifier" */
12301
12302 /* Line 1009 of yacc.c  */
12303 #line 214 "grammar.y"
12304         { FreeSpecifier((yyvaluep->specifier)); };
12305
12306 /* Line 1009 of yacc.c  */
12307 #line 12308 "grammar.ec"
12308         break;
12309       case 284: /* "strict_type_specifier" */
12310
12311 /* Line 1009 of yacc.c  */
12312 #line 214 "grammar.y"
12313         { FreeSpecifier((yyvaluep->specifier)); };
12314
12315 /* Line 1009 of yacc.c  */
12316 #line 12317 "grammar.ec"
12317         break;
12318       case 285: /* "struct_declarator" */
12319
12320 /* Line 1009 of yacc.c  */
12321 #line 220 "grammar.y"
12322         { FreeDeclarator((yyvaluep->declarator)); };
12323
12324 /* Line 1009 of yacc.c  */
12325 #line 12326 "grammar.ec"
12326         break;
12327       case 286: /* "struct_declarator_list" */
12328
12329 /* Line 1009 of yacc.c  */
12330 #line 256 "grammar.y"
12331         { FreeList((yyvaluep->list), FreeDeclarator); };
12332
12333 /* Line 1009 of yacc.c  */
12334 #line 12335 "grammar.ec"
12335         break;
12336       case 287: /* "struct_entry" */
12337
12338 /* Line 1009 of yacc.c  */
12339 #line 214 "grammar.y"
12340         { FreeSpecifier((yyvaluep->specifier)); };
12341
12342 /* Line 1009 of yacc.c  */
12343 #line 12344 "grammar.ec"
12344         break;
12345       case 288: /* "struct_or_union_specifier_compound" */
12346
12347 /* Line 1009 of yacc.c  */
12348 #line 214 "grammar.y"
12349         { FreeSpecifier((yyvaluep->specifier)); };
12350
12351 /* Line 1009 of yacc.c  */
12352 #line 12353 "grammar.ec"
12353         break;
12354       case 289: /* "struct_or_union_specifier_compound_error" */
12355
12356 /* Line 1009 of yacc.c  */
12357 #line 214 "grammar.y"
12358         { FreeSpecifier((yyvaluep->specifier)); };
12359
12360 /* Line 1009 of yacc.c  */
12361 #line 12362 "grammar.ec"
12362         break;
12363       case 290: /* "struct_or_union_specifier_nocompound" */
12364
12365 /* Line 1009 of yacc.c  */
12366 #line 214 "grammar.y"
12367         { FreeSpecifier((yyvaluep->specifier)); };
12368
12369 /* Line 1009 of yacc.c  */
12370 #line 12371 "grammar.ec"
12371         break;
12372       case 291: /* "struct_decl" */
12373
12374 /* Line 1009 of yacc.c  */
12375 #line 214 "grammar.y"
12376         { FreeSpecifier((yyvaluep->specifier)); };
12377
12378 /* Line 1009 of yacc.c  */
12379 #line 12380 "grammar.ec"
12380         break;
12381       case 292: /* "struct_head" */
12382
12383 /* Line 1009 of yacc.c  */
12384 #line 214 "grammar.y"
12385         { FreeSpecifier((yyvaluep->specifier)); };
12386
12387 /* Line 1009 of yacc.c  */
12388 #line 12389 "grammar.ec"
12389         break;
12390       case 293: /* "struct_class" */
12391
12392 /* Line 1009 of yacc.c  */
12393 #line 214 "grammar.y"
12394         { FreeSpecifier((yyvaluep->specifier)); };
12395
12396 /* Line 1009 of yacc.c  */
12397 #line 12398 "grammar.ec"
12398         break;
12399       case 294: /* "struct_class_error" */
12400
12401 /* Line 1009 of yacc.c  */
12402 #line 214 "grammar.y"
12403         { FreeSpecifier((yyvaluep->specifier)); };
12404
12405 /* Line 1009 of yacc.c  */
12406 #line 12407 "grammar.ec"
12407         break;
12408       case 296: /* "specifier_qualifier_list" */
12409
12410 /* Line 1009 of yacc.c  */
12411 #line 254 "grammar.y"
12412         { FreeList((yyvaluep->list), FreeSpecifier); };
12413
12414 /* Line 1009 of yacc.c  */
12415 #line 12416 "grammar.ec"
12416         break;
12417       case 297: /* "guess_specifier_qualifier_list" */
12418
12419 /* Line 1009 of yacc.c  */
12420 #line 254 "grammar.y"
12421         { FreeList((yyvaluep->list), FreeSpecifier); };
12422
12423 /* Line 1009 of yacc.c  */
12424 #line 12425 "grammar.ec"
12425         break;
12426       case 298: /* "declaration_specifiers" */
12427
12428 /* Line 1009 of yacc.c  */
12429 #line 254 "grammar.y"
12430         { FreeList((yyvaluep->list), FreeSpecifier); };
12431
12432 /* Line 1009 of yacc.c  */
12433 #line 12434 "grammar.ec"
12434         break;
12435       case 299: /* "guess_declaration_specifiers" */
12436
12437 /* Line 1009 of yacc.c  */
12438 #line 254 "grammar.y"
12439         { FreeList((yyvaluep->list), FreeSpecifier); };
12440
12441 /* Line 1009 of yacc.c  */
12442 #line 12443 "grammar.ec"
12443         break;
12444       case 300: /* "external_guess_declaration_specifiers" */
12445
12446 /* Line 1009 of yacc.c  */
12447 #line 254 "grammar.y"
12448         { FreeList((yyvaluep->list), FreeSpecifier); };
12449
12450 /* Line 1009 of yacc.c  */
12451 #line 12452 "grammar.ec"
12452         break;
12453       case 301: /* "external_guess_declaration_specifiers_error" */
12454
12455 /* Line 1009 of yacc.c  */
12456 #line 254 "grammar.y"
12457         { FreeList((yyvaluep->list), FreeSpecifier); };
12458
12459 /* Line 1009 of yacc.c  */
12460 #line 12461 "grammar.ec"
12461         break;
12462       case 302: /* "_inheritance_specifiers" */
12463
12464 /* Line 1009 of yacc.c  */
12465 #line 254 "grammar.y"
12466         { FreeList((yyvaluep->list), FreeSpecifier); };
12467
12468 /* Line 1009 of yacc.c  */
12469 #line 12470 "grammar.ec"
12470         break;
12471       case 303: /* "inheritance_specifiers" */
12472
12473 /* Line 1009 of yacc.c  */
12474 #line 254 "grammar.y"
12475         { FreeList((yyvaluep->list), FreeSpecifier); };
12476
12477 /* Line 1009 of yacc.c  */
12478 #line 12479 "grammar.ec"
12479         break;
12480       case 307: /* "identifier_list_error" */
12481
12482 /* Line 1009 of yacc.c  */
12483 #line 260 "grammar.y"
12484         { FreeList((yyvaluep->list), FreeTypeName); };
12485
12486 /* Line 1009 of yacc.c  */
12487 #line 12488 "grammar.ec"
12488         break;
12489       case 308: /* "identifier_list" */
12490
12491 /* Line 1009 of yacc.c  */
12492 #line 260 "grammar.y"
12493         { FreeList((yyvaluep->list), FreeTypeName); };
12494
12495 /* Line 1009 of yacc.c  */
12496 #line 12497 "grammar.ec"
12497         break;
12498       case 309: /* "direct_declarator_nofunction_type_ok" */
12499
12500 /* Line 1009 of yacc.c  */
12501 #line 220 "grammar.y"
12502         { FreeDeclarator((yyvaluep->declarator)); };
12503
12504 /* Line 1009 of yacc.c  */
12505 #line 12506 "grammar.ec"
12506         break;
12507       case 310: /* "direct_declarator_nofunction" */
12508
12509 /* Line 1009 of yacc.c  */
12510 #line 220 "grammar.y"
12511         { FreeDeclarator((yyvaluep->declarator)); };
12512
12513 /* Line 1009 of yacc.c  */
12514 #line 12515 "grammar.ec"
12515         break;
12516       case 311: /* "direct_declarator_function_start" */
12517
12518 /* Line 1009 of yacc.c  */
12519 #line 220 "grammar.y"
12520         { FreeDeclarator((yyvaluep->declarator)); };
12521
12522 /* Line 1009 of yacc.c  */
12523 #line 12524 "grammar.ec"
12524         break;
12525       case 312: /* "direct_declarator_function" */
12526
12527 /* Line 1009 of yacc.c  */
12528 #line 220 "grammar.y"
12529         { FreeDeclarator((yyvaluep->declarator)); };
12530
12531 /* Line 1009 of yacc.c  */
12532 #line 12533 "grammar.ec"
12533         break;
12534       case 313: /* "direct_declarator_function_error" */
12535
12536 /* Line 1009 of yacc.c  */
12537 #line 220 "grammar.y"
12538         { FreeDeclarator((yyvaluep->declarator)); };
12539
12540 /* Line 1009 of yacc.c  */
12541 #line 12542 "grammar.ec"
12542         break;
12543       case 314: /* "direct_declarator" */
12544
12545 /* Line 1009 of yacc.c  */
12546 #line 220 "grammar.y"
12547         { FreeDeclarator((yyvaluep->declarator)); };
12548
12549 /* Line 1009 of yacc.c  */
12550 #line 12551 "grammar.ec"
12551         break;
12552       case 315: /* "direct_declarator_function_start_type_ok" */
12553
12554 /* Line 1009 of yacc.c  */
12555 #line 220 "grammar.y"
12556         { FreeDeclarator((yyvaluep->declarator)); };
12557
12558 /* Line 1009 of yacc.c  */
12559 #line 12560 "grammar.ec"
12560         break;
12561       case 316: /* "direct_declarator_function_type_ok" */
12562
12563 /* Line 1009 of yacc.c  */
12564 #line 220 "grammar.y"
12565         { FreeDeclarator((yyvaluep->declarator)); };
12566
12567 /* Line 1009 of yacc.c  */
12568 #line 12569 "grammar.ec"
12569         break;
12570       case 317: /* "direct_declarator_function_error_type_ok" */
12571
12572 /* Line 1009 of yacc.c  */
12573 #line 220 "grammar.y"
12574         { FreeDeclarator((yyvaluep->declarator)); };
12575
12576 /* Line 1009 of yacc.c  */
12577 #line 12578 "grammar.ec"
12578         break;
12579       case 318: /* "direct_declarator_type_ok" */
12580
12581 /* Line 1009 of yacc.c  */
12582 #line 220 "grammar.y"
12583         { FreeDeclarator((yyvaluep->declarator)); };
12584
12585 /* Line 1009 of yacc.c  */
12586 #line 12587 "grammar.ec"
12587         break;
12588       case 319: /* "ext_decl" */
12589
12590 /* Line 1009 of yacc.c  */
12591 #line 274 "grammar.y"
12592         { FreeExtDecl((yyvaluep->extDecl)); };
12593
12594 /* Line 1009 of yacc.c  */
12595 #line 12596 "grammar.ec"
12596         break;
12597       case 321: /* "attribute_word" */
12598
12599 /* Line 1009 of yacc.c  */
12600 #line 249 "grammar.y"
12601         { delete (yyvaluep->string); };
12602
12603 /* Line 1009 of yacc.c  */
12604 #line 12605 "grammar.ec"
12605         break;
12606       case 322: /* "attribute" */
12607
12608 /* Line 1009 of yacc.c  */
12609 #line 275 "grammar.y"
12610         { FreeAttribute((yyvaluep->attribute)); };
12611
12612 /* Line 1009 of yacc.c  */
12613 #line 12614 "grammar.ec"
12614         break;
12615       case 323: /* "attribs_list" */
12616
12617 /* Line 1009 of yacc.c  */
12618 #line 276 "grammar.y"
12619         { FreeList((yyvaluep->list), FreeAttribute); };
12620
12621 /* Line 1009 of yacc.c  */
12622 #line 12623 "grammar.ec"
12623         break;
12624       case 324: /* "attrib" */
12625
12626 /* Line 1009 of yacc.c  */
12627 #line 273 "grammar.y"
12628         { FreeAttrib((yyvaluep->attrib)); };
12629
12630 /* Line 1009 of yacc.c  */
12631 #line 12632 "grammar.ec"
12632         break;
12633       case 325: /* "direct_abstract_declarator" */
12634
12635 /* Line 1009 of yacc.c  */
12636 #line 220 "grammar.y"
12637         { FreeDeclarator((yyvaluep->declarator)); };
12638
12639 /* Line 1009 of yacc.c  */
12640 #line 12641 "grammar.ec"
12641         break;
12642       case 326: /* "direct_abstract_declarator_noarray" */
12643
12644 /* Line 1009 of yacc.c  */
12645 #line 220 "grammar.y"
12646         { FreeDeclarator((yyvaluep->declarator)); };
12647
12648 /* Line 1009 of yacc.c  */
12649 #line 12650 "grammar.ec"
12650         break;
12651       case 327: /* "pointer" */
12652
12653 /* Line 1009 of yacc.c  */
12654 #line 202 "grammar.y"
12655         { FreePointer((yyvaluep->pointer)); };
12656
12657 /* Line 1009 of yacc.c  */
12658 #line 12659 "grammar.ec"
12659         break;
12660       case 328: /* "abstract_declarator" */
12661
12662 /* Line 1009 of yacc.c  */
12663 #line 220 "grammar.y"
12664         { FreeDeclarator((yyvaluep->declarator)); };
12665
12666 /* Line 1009 of yacc.c  */
12667 #line 12668 "grammar.ec"
12668         break;
12669       case 329: /* "abstract_declarator_noarray" */
12670
12671 /* Line 1009 of yacc.c  */
12672 #line 220 "grammar.y"
12673         { FreeDeclarator((yyvaluep->declarator)); };
12674
12675 /* Line 1009 of yacc.c  */
12676 #line 12677 "grammar.ec"
12677         break;
12678       case 330: /* "declarator" */
12679
12680 /* Line 1009 of yacc.c  */
12681 #line 220 "grammar.y"
12682         { FreeDeclarator((yyvaluep->declarator)); };
12683
12684 /* Line 1009 of yacc.c  */
12685 #line 12686 "grammar.ec"
12686         break;
12687       case 331: /* "declarator_type_ok" */
12688
12689 /* Line 1009 of yacc.c  */
12690 #line 220 "grammar.y"
12691         { FreeDeclarator((yyvaluep->declarator)); };
12692
12693 /* Line 1009 of yacc.c  */
12694 #line 12695 "grammar.ec"
12695         break;
12696       case 332: /* "declarator_function" */
12697
12698 /* Line 1009 of yacc.c  */
12699 #line 220 "grammar.y"
12700         { FreeDeclarator((yyvaluep->declarator)); };
12701
12702 /* Line 1009 of yacc.c  */
12703 #line 12704 "grammar.ec"
12704         break;
12705       case 333: /* "declarator_function_error" */
12706
12707 /* Line 1009 of yacc.c  */
12708 #line 220 "grammar.y"
12709         { FreeDeclarator((yyvaluep->declarator)); };
12710
12711 /* Line 1009 of yacc.c  */
12712 #line 12713 "grammar.ec"
12713         break;
12714       case 334: /* "declarator_function_type_ok" */
12715
12716 /* Line 1009 of yacc.c  */
12717 #line 220 "grammar.y"
12718         { FreeDeclarator((yyvaluep->declarator)); };
12719
12720 /* Line 1009 of yacc.c  */
12721 #line 12722 "grammar.ec"
12722         break;
12723       case 335: /* "declarator_function_error_type_ok" */
12724
12725 /* Line 1009 of yacc.c  */
12726 #line 220 "grammar.y"
12727         { FreeDeclarator((yyvaluep->declarator)); };
12728
12729 /* Line 1009 of yacc.c  */
12730 #line 12731 "grammar.ec"
12731         break;
12732       case 336: /* "declarator_nofunction_type_ok" */
12733
12734 /* Line 1009 of yacc.c  */
12735 #line 220 "grammar.y"
12736         { FreeDeclarator((yyvaluep->declarator)); };
12737
12738 /* Line 1009 of yacc.c  */
12739 #line 12740 "grammar.ec"
12740         break;
12741       case 337: /* "initializer" */
12742
12743 /* Line 1009 of yacc.c  */
12744 #line 226 "grammar.y"
12745         { FreeInitializer((yyvaluep->initializer)); };
12746
12747 /* Line 1009 of yacc.c  */
12748 #line 12749 "grammar.ec"
12749         break;
12750       case 338: /* "initializer_error" */
12751
12752 /* Line 1009 of yacc.c  */
12753 #line 226 "grammar.y"
12754         { FreeInitializer((yyvaluep->initializer)); };
12755
12756 /* Line 1009 of yacc.c  */
12757 #line 12758 "grammar.ec"
12758         break;
12759       case 339: /* "initializer_condition" */
12760
12761 /* Line 1009 of yacc.c  */
12762 #line 226 "grammar.y"
12763         { FreeInitializer((yyvaluep->initializer)); };
12764
12765 /* Line 1009 of yacc.c  */
12766 #line 12767 "grammar.ec"
12767         break;
12768       case 340: /* "initializer_condition_error" */
12769
12770 /* Line 1009 of yacc.c  */
12771 #line 226 "grammar.y"
12772         { FreeInitializer((yyvaluep->initializer)); };
12773
12774 /* Line 1009 of yacc.c  */
12775 #line 12776 "grammar.ec"
12776         break;
12777       case 341: /* "initializer_list" */
12778
12779 /* Line 1009 of yacc.c  */
12780 #line 258 "grammar.y"
12781         { FreeList((yyvaluep->list), FreeInitializer); };
12782
12783 /* Line 1009 of yacc.c  */
12784 #line 12785 "grammar.ec"
12785         break;
12786       case 342: /* "init_declarator" */
12787
12788 /* Line 1009 of yacc.c  */
12789 #line 227 "grammar.y"
12790         { FreeInitDeclarator((yyvaluep->initDeclarator)); };
12791
12792 /* Line 1009 of yacc.c  */
12793 #line 12794 "grammar.ec"
12794         break;
12795       case 343: /* "init_declarator_error" */
12796
12797 /* Line 1009 of yacc.c  */
12798 #line 227 "grammar.y"
12799         { FreeInitDeclarator((yyvaluep->initDeclarator)); };
12800
12801 /* Line 1009 of yacc.c  */
12802 #line 12803 "grammar.ec"
12803         break;
12804       case 344: /* "init_declarator_list" */
12805
12806 /* Line 1009 of yacc.c  */
12807 #line 259 "grammar.y"
12808         { FreeList((yyvaluep->list), FreeInitDeclarator); };
12809
12810 /* Line 1009 of yacc.c  */
12811 #line 12812 "grammar.ec"
12812         break;
12813       case 345: /* "init_declarator_list_error" */
12814
12815 /* Line 1009 of yacc.c  */
12816 #line 259 "grammar.y"
12817         { FreeList((yyvaluep->list), FreeInitDeclarator); };
12818
12819 /* Line 1009 of yacc.c  */
12820 #line 12821 "grammar.ec"
12821         break;
12822       case 346: /* "type_name" */
12823
12824 /* Line 1009 of yacc.c  */
12825 #line 228 "grammar.y"
12826         { FreeTypeName((yyvaluep->typeName)); };
12827
12828 /* Line 1009 of yacc.c  */
12829 #line 12830 "grammar.ec"
12830         break;
12831       case 347: /* "guess_type_name" */
12832
12833 /* Line 1009 of yacc.c  */
12834 #line 228 "grammar.y"
12835         { FreeTypeName((yyvaluep->typeName)); };
12836
12837 /* Line 1009 of yacc.c  */
12838 #line 12839 "grammar.ec"
12839         break;
12840       case 348: /* "parameter_declaration" */
12841
12842 /* Line 1009 of yacc.c  */
12843 #line 228 "grammar.y"
12844         { FreeTypeName((yyvaluep->typeName)); };
12845
12846 /* Line 1009 of yacc.c  */
12847 #line 12848 "grammar.ec"
12848         break;
12849       case 349: /* "parameter_declaration_error" */
12850
12851 /* Line 1009 of yacc.c  */
12852 #line 228 "grammar.y"
12853         { FreeTypeName((yyvaluep->typeName)); };
12854
12855 /* Line 1009 of yacc.c  */
12856 #line 12857 "grammar.ec"
12857         break;
12858       case 350: /* "parameter_list" */
12859
12860 /* Line 1009 of yacc.c  */
12861 #line 260 "grammar.y"
12862         { FreeList((yyvaluep->list), FreeTypeName); };
12863
12864 /* Line 1009 of yacc.c  */
12865 #line 12866 "grammar.ec"
12866         break;
12867       case 351: /* "parameter_list_error" */
12868
12869 /* Line 1009 of yacc.c  */
12870 #line 260 "grammar.y"
12871         { FreeList((yyvaluep->list), FreeTypeName); };
12872
12873 /* Line 1009 of yacc.c  */
12874 #line 12875 "grammar.ec"
12875         break;
12876       case 352: /* "parameter_type_list" */
12877
12878 /* Line 1009 of yacc.c  */
12879 #line 260 "grammar.y"
12880         { FreeList((yyvaluep->list), FreeTypeName); };
12881
12882 /* Line 1009 of yacc.c  */
12883 #line 12884 "grammar.ec"
12884         break;
12885       case 353: /* "parameter_type_list_error" */
12886
12887 /* Line 1009 of yacc.c  */
12888 #line 260 "grammar.y"
12889         { FreeList((yyvaluep->list), FreeTypeName); };
12890
12891 /* Line 1009 of yacc.c  */
12892 #line 12893 "grammar.ec"
12893         break;
12894       case 354: /* "statement" */
12895
12896 /* Line 1009 of yacc.c  */
12897 #line 229 "grammar.y"
12898         { FreeStatement((yyvaluep->stmt)); };
12899
12900 /* Line 1009 of yacc.c  */
12901 #line 12902 "grammar.ec"
12902         break;
12903       case 355: /* "statement_error" */
12904
12905 /* Line 1009 of yacc.c  */
12906 #line 229 "grammar.y"
12907         { FreeStatement((yyvaluep->stmt)); };
12908
12909 /* Line 1009 of yacc.c  */
12910 #line 12911 "grammar.ec"
12911         break;
12912       case 359: /* "labeled_statement" */
12913
12914 /* Line 1009 of yacc.c  */
12915 #line 229 "grammar.y"
12916         { FreeStatement((yyvaluep->stmt)); };
12917
12918 /* Line 1009 of yacc.c  */
12919 #line 12920 "grammar.ec"
12920         break;
12921       case 360: /* "labeled_statement_error" */
12922
12923 /* Line 1009 of yacc.c  */
12924 #line 229 "grammar.y"
12925         { FreeStatement((yyvaluep->stmt)); };
12926
12927 /* Line 1009 of yacc.c  */
12928 #line 12929 "grammar.ec"
12929         break;
12930       case 361: /* "declaration_mode" */
12931
12932 /* Line 1009 of yacc.c  */
12933 #line 272 "grammar.y"
12934         { };
12935
12936 /* Line 1009 of yacc.c  */
12937 #line 12938 "grammar.ec"
12938         break;
12939       case 363: /* "declaration" */
12940
12941 /* Line 1009 of yacc.c  */
12942 #line 233 "grammar.y"
12943         { FreeDeclaration((yyvaluep->declaration)); };
12944
12945 /* Line 1009 of yacc.c  */
12946 #line 12947 "grammar.ec"
12947         break;
12948       case 367: /* "declaration_list" */
12949
12950 /* Line 1009 of yacc.c  */
12951 #line 257 "grammar.y"
12952         { FreeList((yyvaluep->list), FreeDeclaration); };
12953
12954 /* Line 1009 of yacc.c  */
12955 #line 12956 "grammar.ec"
12956         break;
12957       case 368: /* "declaration_list_error" */
12958
12959 /* Line 1009 of yacc.c  */
12960 #line 257 "grammar.y"
12961         { FreeList((yyvaluep->list), FreeDeclaration); };
12962
12963 /* Line 1009 of yacc.c  */
12964 #line 12965 "grammar.ec"
12965         break;
12966       case 369: /* "statement_list" */
12967
12968 /* Line 1009 of yacc.c  */
12969 #line 261 "grammar.y"
12970         { FreeList((yyvaluep->list), FreeStatement); };
12971
12972 /* Line 1009 of yacc.c  */
12973 #line 12974 "grammar.ec"
12974         break;
12975       case 370: /* "statement_list_error" */
12976
12977 /* Line 1009 of yacc.c  */
12978 #line 261 "grammar.y"
12979         { FreeList((yyvaluep->list), FreeStatement); };
12980
12981 /* Line 1009 of yacc.c  */
12982 #line 12983 "grammar.ec"
12983         break;
12984       case 371: /* "compound_inside" */
12985
12986 /* Line 1009 of yacc.c  */
12987 #line 229 "grammar.y"
12988         { FreeStatement((yyvaluep->stmt)); };
12989
12990 /* Line 1009 of yacc.c  */
12991 #line 12992 "grammar.ec"
12992         break;
12993       case 372: /* "compound_inside_error" */
12994
12995 /* Line 1009 of yacc.c  */
12996 #line 229 "grammar.y"
12997         { FreeStatement((yyvaluep->stmt)); };
12998
12999 /* Line 1009 of yacc.c  */
13000 #line 13001 "grammar.ec"
13001         break;
13002       case 373: /* "compound_start" */
13003
13004 /* Line 1009 of yacc.c  */
13005 #line 266 "grammar.y"
13006         { PopContext((yyvaluep->context)); FreeContext((yyvaluep->context)); delete (yyvaluep->context); };
13007
13008 /* Line 1009 of yacc.c  */
13009 #line 13010 "grammar.ec"
13010         break;
13011       case 374: /* "compound_statement" */
13012
13013 /* Line 1009 of yacc.c  */
13014 #line 229 "grammar.y"
13015         { FreeStatement((yyvaluep->stmt)); };
13016
13017 /* Line 1009 of yacc.c  */
13018 #line 13019 "grammar.ec"
13019         break;
13020       case 375: /* "compound_statement_error" */
13021
13022 /* Line 1009 of yacc.c  */
13023 #line 229 "grammar.y"
13024         { FreeStatement((yyvaluep->stmt)); };
13025
13026 /* Line 1009 of yacc.c  */
13027 #line 13028 "grammar.ec"
13028         break;
13029       case 376: /* "expression_statement" */
13030
13031 /* Line 1009 of yacc.c  */
13032 #line 229 "grammar.y"
13033         { FreeStatement((yyvaluep->stmt)); };
13034
13035 /* Line 1009 of yacc.c  */
13036 #line 13037 "grammar.ec"
13037         break;
13038       case 377: /* "selection_statement" */
13039
13040 /* Line 1009 of yacc.c  */
13041 #line 229 "grammar.y"
13042         { FreeStatement((yyvaluep->stmt)); };
13043
13044 /* Line 1009 of yacc.c  */
13045 #line 13046 "grammar.ec"
13046         break;
13047       case 378: /* "selection_statement_error" */
13048
13049 /* Line 1009 of yacc.c  */
13050 #line 229 "grammar.y"
13051         { FreeStatement((yyvaluep->stmt)); };
13052
13053 /* Line 1009 of yacc.c  */
13054 #line 13055 "grammar.ec"
13055         break;
13056       case 379: /* "iteration_statement" */
13057
13058 /* Line 1009 of yacc.c  */
13059 #line 229 "grammar.y"
13060         { FreeStatement((yyvaluep->stmt)); };
13061
13062 /* Line 1009 of yacc.c  */
13063 #line 13064 "grammar.ec"
13064         break;
13065       case 380: /* "iteration_statement_error" */
13066
13067 /* Line 1009 of yacc.c  */
13068 #line 229 "grammar.y"
13069         { FreeStatement((yyvaluep->stmt)); };
13070
13071 /* Line 1009 of yacc.c  */
13072 #line 13073 "grammar.ec"
13073         break;
13074       case 381: /* "jump_statement" */
13075
13076 /* Line 1009 of yacc.c  */
13077 #line 229 "grammar.y"
13078         { FreeStatement((yyvaluep->stmt)); };
13079
13080 /* Line 1009 of yacc.c  */
13081 #line 13082 "grammar.ec"
13082         break;
13083       case 382: /* "jump_statement_error" */
13084
13085 /* Line 1009 of yacc.c  */
13086 #line 229 "grammar.y"
13087         { FreeStatement((yyvaluep->stmt)); };
13088
13089 /* Line 1009 of yacc.c  */
13090 #line 13091 "grammar.ec"
13091         break;
13092       case 383: /* "function_definition" */
13093
13094 /* Line 1009 of yacc.c  */
13095 #line 234 "grammar.y"
13096         { FreeFunction((yyvaluep->function)); };
13097
13098 /* Line 1009 of yacc.c  */
13099 #line 13100 "grammar.ec"
13100         break;
13101       case 384: /* "function_definition_error" */
13102
13103 /* Line 1009 of yacc.c  */
13104 #line 234 "grammar.y"
13105         { FreeFunction((yyvaluep->function)); };
13106
13107 /* Line 1009 of yacc.c  */
13108 #line 13109 "grammar.ec"
13109         break;
13110       case 385: /* "string_literal" */
13111
13112 /* Line 1009 of yacc.c  */
13113 #line 249 "grammar.y"
13114         { delete (yyvaluep->string); };
13115
13116 /* Line 1009 of yacc.c  */
13117 #line 13118 "grammar.ec"
13118         break;
13119       case 386: /* "external_declaration" */
13120
13121 /* Line 1009 of yacc.c  */
13122 #line 235 "grammar.y"
13123         { FreeExternal((yyvaluep->external)); };
13124
13125 /* Line 1009 of yacc.c  */
13126 #line 13127 "grammar.ec"
13127         break;
13128       case 387: /* "external_declaration_error" */
13129
13130 /* Line 1009 of yacc.c  */
13131 #line 235 "grammar.y"
13132         { FreeExternal((yyvaluep->external)); };
13133
13134 /* Line 1009 of yacc.c  */
13135 #line 13136 "grammar.ec"
13136         break;
13137       case 388: /* "translation_unit_error" */
13138
13139 /* Line 1009 of yacc.c  */
13140 #line 262 "grammar.y"
13141         { if((yyvaluep->list) != ast) FreeList((yyvaluep->list), FreeExternal); };
13142
13143 /* Line 1009 of yacc.c  */
13144 #line 13145 "grammar.ec"
13145         break;
13146       case 389: /* "translation_unit" */
13147
13148 /* Line 1009 of yacc.c  */
13149 #line 262 "grammar.y"
13150         { if((yyvaluep->list) != ast) FreeList((yyvaluep->list), FreeExternal); };
13151
13152 /* Line 1009 of yacc.c  */
13153 #line 13154 "grammar.ec"
13154         break;
13155
13156       default:
13157         break;
13158     }
13159 }
13160
13161 /* Prevent warnings from -Wmissing-prototypes.  */
13162 #ifdef YYPARSE_PARAM
13163 #if defined __STDC__ || defined __cplusplus
13164 int yyparse (void *YYPARSE_PARAM);
13165 #else
13166 int yyparse ();
13167 #endif
13168 #else /* ! YYPARSE_PARAM */
13169 #if defined __STDC__ || defined __cplusplus
13170 int yyparse (void);
13171 #else
13172 int yyparse ();
13173 #endif
13174 #endif /* ! YYPARSE_PARAM */
13175
13176
13177 /* The lookahead symbol.  */
13178 int yychar;
13179
13180 /* The semantic value of the lookahead symbol.  */
13181 YYSTYPE yylval;
13182
13183 /* Location data for the lookahead symbol.  */
13184 YYLTYPE yylloc;
13185
13186 /* Number of syntax errors so far.  */
13187 int yynerrs;
13188
13189
13190
13191 /*-------------------------.
13192 | yyparse or yypush_parse.  |
13193 `-------------------------*/
13194
13195 #ifdef YYPARSE_PARAM
13196 #if (defined __STDC__ || defined __C99__FUNC__ \
13197      || defined __cplusplus || defined _MSC_VER)
13198 int
13199 yyparse (void *YYPARSE_PARAM)
13200 #else
13201 int
13202 yyparse (YYPARSE_PARAM)
13203     void *YYPARSE_PARAM;
13204 #endif
13205 #else /* ! YYPARSE_PARAM */
13206 #if (defined __STDC__ || defined __C99__FUNC__ \
13207      || defined __cplusplus || defined _MSC_VER)
13208 int
13209 yyparse (void)
13210 #else
13211 int
13212 yyparse ()
13213
13214 #endif
13215 #endif
13216 {
13217
13218
13219     int yystate;
13220     /* Number of tokens to shift before error messages enabled.  */
13221     int yyerrstatus;
13222
13223     /* The stacks and their tools:
13224        `yyss': related to states.
13225        `yyvs': related to semantic values.
13226        `yyls': related to locations.
13227
13228        Refer to the stacks thru separate pointers, to allow yyoverflow
13229        to reallocate them elsewhere.  */
13230
13231     /* The state stack.  */
13232     yytype_int16 yyssa[YYINITDEPTH];
13233     yytype_int16 *yyss;
13234     yytype_int16 *yyssp;
13235
13236     /* The semantic value stack.  */
13237     YYSTYPE yyvsa[YYINITDEPTH];
13238     YYSTYPE *yyvs;
13239     YYSTYPE *yyvsp;
13240
13241     /* The location stack.  */
13242     YYLTYPE yylsa[YYINITDEPTH];
13243     YYLTYPE *yyls;
13244     YYLTYPE *yylsp;
13245
13246     /* The locations where the error started and ended.  */
13247     YYLTYPE yyerror_range[2];
13248
13249     YYSIZE_T yystacksize;
13250
13251   int yyn;
13252   int yyresult;
13253   /* Lookahead token as an internal (translated) token number.  */
13254   int yytoken;
13255   /* The variables used to return semantic value and location from the
13256      action routines.  */
13257   YYSTYPE yyval;
13258   YYLTYPE yyloc;
13259
13260 #if YYERROR_VERBOSE
13261   /* Buffer for error messages, and its allocated size.  */
13262   char yymsgbuf[128];
13263   char *yymsg = yymsgbuf;
13264   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
13265 #endif
13266
13267 #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
13268
13269   /* The number of symbols on the RHS of the reduced rule.
13270      Keep to zero when no symbol should be popped.  */
13271   int yylen = 0;
13272
13273   yytoken = 0;
13274   yyss = yyssa;
13275   yyvs = yyvsa;
13276   yyls = yylsa;
13277   yystacksize = YYINITDEPTH;
13278
13279   YYDPRINTF ((stderr, "Starting parse\n"));
13280
13281   yystate = 0;
13282   yyerrstatus = 0;
13283   yynerrs = 0;
13284   yychar = YYEMPTY; /* Cause a token to be read.  */
13285
13286   /* Initialize stack pointers.
13287      Waste one element of value and location stack
13288      so that they stay on the same level as the state stack.
13289      The wasted elements are never initialized.  */
13290   yyssp = yyss;
13291   yyvsp = yyvs;
13292   yylsp = yyls;
13293
13294 #if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
13295   /* Initialize the default location before parsing starts.  */
13296   yylloc.first_line   = yylloc.last_line   = 1;
13297   yylloc.first_column = yylloc.last_column = 1;
13298 #endif
13299
13300   goto yysetstate;
13301
13302 /*------------------------------------------------------------.
13303 | yynewstate -- Push a new state, which is found in yystate.  |
13304 `------------------------------------------------------------*/
13305  yynewstate:
13306   /* In all cases, when you get here, the value and location stacks
13307      have just been pushed.  So pushing a state here evens the stacks.  */
13308   yyssp++;
13309
13310  yysetstate:
13311   *yyssp = yystate;
13312
13313   if (yyss + yystacksize - 1 <= yyssp)
13314     {
13315       /* Get the current used size of the three stacks, in elements.  */
13316       YYSIZE_T yysize = yyssp - yyss + 1;
13317
13318 #ifdef yyoverflow
13319       {
13320         /* Give user a chance to reallocate the stack.  Use copies of
13321            these so that the &'s don't force the real ones into
13322            memory.  */
13323         YYSTYPE *yyvs1 = yyvs;
13324         yytype_int16 *yyss1 = yyss;
13325         YYLTYPE *yyls1 = yyls;
13326
13327         /* Each stack pointer address is followed by the size of the
13328            data in use in that stack, in bytes.  This used to be a
13329            conditional around just the two extra args, but that might
13330            be undefined if yyoverflow is a macro.  */
13331         yyoverflow (YY_("memory exhausted"),
13332                     &yyss1, yysize * sizeof (*yyssp),
13333                     &yyvs1, yysize * sizeof (*yyvsp),
13334                     &yyls1, yysize * sizeof (*yylsp),
13335                     &yystacksize);
13336
13337         yyls = yyls1;
13338         yyss = yyss1;
13339         yyvs = yyvs1;
13340       }
13341 #else /* no yyoverflow */
13342 # ifndef YYSTACK_RELOCATE
13343       goto yyexhaustedlab;
13344 # else
13345       /* Extend the stack our own way.  */
13346       if (YYMAXDEPTH <= yystacksize)
13347         goto yyexhaustedlab;
13348       yystacksize *= 2;
13349       if (YYMAXDEPTH < yystacksize)
13350         yystacksize = YYMAXDEPTH;
13351
13352       {
13353         yytype_int16 *yyss1 = yyss;
13354         union yyalloc *yyptr =
13355           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
13356         if (! yyptr)
13357           goto yyexhaustedlab;
13358         YYSTACK_RELOCATE (yyss_alloc, yyss);
13359         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
13360         YYSTACK_RELOCATE (yyls_alloc, yyls);
13361 #  undef YYSTACK_RELOCATE
13362         if (yyss1 != yyssa)
13363           YYSTACK_FREE (yyss1);
13364       }
13365 # endif
13366 #endif /* no yyoverflow */
13367
13368       yyssp = yyss + yysize - 1;
13369       yyvsp = yyvs + yysize - 1;
13370       yylsp = yyls + yysize - 1;
13371
13372       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
13373                   (unsigned long int) yystacksize));
13374
13375       if (yyss + yystacksize - 1 <= yyssp)
13376         YYABORT;
13377     }
13378
13379   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
13380
13381   if (yystate == YYFINAL)
13382     YYACCEPT;
13383
13384   goto yybackup;
13385
13386 /*-----------.
13387 | yybackup.  |
13388 `-----------*/
13389 yybackup:
13390
13391   /* Do appropriate processing given the current state.  Read a
13392      lookahead token if we need one and don't already have one.  */
13393
13394   /* First try to decide what to do without reference to lookahead token.  */
13395   yyn = yypact[yystate];
13396   if (yyn == YYPACT_NINF)
13397     goto yydefault;
13398
13399   /* Not known => get a lookahead token if don't already have one.  */
13400
13401   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
13402   if (yychar == YYEMPTY)
13403     {
13404       YYDPRINTF ((stderr, "Reading a token: "));
13405       yychar = YYLEX;
13406     }
13407
13408   if (yychar <= YYEOF)
13409     {
13410       yychar = yytoken = YYEOF;
13411       YYDPRINTF ((stderr, "Now at end of input.\n"));
13412     }
13413   else
13414     {
13415       yytoken = YYTRANSLATE (yychar);
13416       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
13417     }
13418
13419   /* If the proper action on seeing token YYTOKEN is to reduce or to
13420      detect an error, take that action.  */
13421   yyn += yytoken;
13422   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
13423     goto yydefault;
13424   yyn = yytable[yyn];
13425   if (yyn <= 0)
13426     {
13427       if (yyn == 0 || yyn == YYTABLE_NINF)
13428         goto yyerrlab;
13429       yyn = -yyn;
13430       goto yyreduce;
13431     }
13432
13433   /* Count tokens shifted since error; after three, turn off error
13434      status.  */
13435   if (yyerrstatus)
13436     yyerrstatus--;
13437
13438   /* Shift the lookahead token.  */
13439   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
13440
13441   /* Discard the shifted token.  */
13442   yychar = YYEMPTY;
13443
13444   yystate = yyn;
13445   *++yyvsp = yylval;
13446   *++yylsp = yylloc;
13447   goto yynewstate;
13448
13449
13450 /*-----------------------------------------------------------.
13451 | yydefault -- do the default action for the current state.  |
13452 `-----------------------------------------------------------*/
13453 yydefault:
13454   yyn = yydefact[yystate];
13455   if (yyn == 0)
13456     goto yyerrlab;
13457   goto yyreduce;
13458
13459
13460 /*-----------------------------.
13461 | yyreduce -- Do a reduction.  |
13462 `-----------------------------*/
13463 yyreduce:
13464   /* yyn is the number of a rule to reduce with.  */
13465   yylen = yyr2[yyn];
13466
13467   /* If YYLEN is nonzero, implement the default value of the action:
13468      `$$ = $1'.
13469
13470      Otherwise, the following line sets YYVAL to garbage.
13471      This behavior is undocumented and Bison
13472      users should not rely upon it.  Assigning to YYVAL
13473      unconditionally makes the parser a bit smaller, and it avoids a
13474      GCC warning that YYVAL may be used uninitialized.  */
13475   yyval = yyvsp[1-yylen];
13476
13477   /* Default location.  */
13478   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
13479   YY_REDUCE_PRINT (yyn);
13480   switch (yyn)
13481     {
13482         case 2:
13483
13484 /* Line 1464 of yacc.c  */
13485 #line 284 "grammar.y"
13486     {
13487       (yyval.specifier) = null;
13488       _DeclClass((yyvsp[(1) - (2)].id)._class, (yyvsp[(1) - (2)].id).string);
13489
13490       FreeIdentifier((yyvsp[(1) - (2)].id));
13491
13492       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
13493       resetScannerPos(&(yylsp[(1) - (2)]).start);
13494       yyclearin;
13495
13496       YYPOPSTACK(1);
13497       yystate = *yyssp;
13498       YY_STACK_PRINT (yyss, yyssp);
13499       YYPOPSTACK(1);
13500       yystate = *yyssp;
13501       YY_STACK_PRINT (yyss, yyssp);
13502       goto yysetstate;
13503    ;}
13504     break;
13505
13506   case 3:
13507
13508 /* Line 1464 of yacc.c  */
13509 #line 303 "grammar.y"
13510     {
13511       (yyval.specifier) = null;
13512    #ifdef PRECOMPILER
13513       _DeclClass((yyvsp[(1) - (2)].id)._class, (yyvsp[(1) - (2)].id).string);
13514
13515       FreeIdentifier((yyvsp[(1) - (2)].id));
13516
13517       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
13518       resetScannerPos(&(yylsp[(1) - (2)]).start);
13519       yyclearin;
13520
13521       YYPOPSTACK(1);
13522       yystate = *yyssp;
13523       YY_STACK_PRINT (yyss, yyssp);
13524       YYPOPSTACK(1);
13525       yystate = *yyssp;
13526       YY_STACK_PRINT (yyss, yyssp);
13527       goto yysetstate;
13528    #endif
13529    ;}
13530     break;
13531
13532   case 4:
13533
13534 /* Line 1464 of yacc.c  */
13535 #line 341 "grammar.y"
13536     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); ;}
13537     break;
13538
13539   case 5:
13540
13541 /* Line 1464 of yacc.c  */
13542 #line 343 "grammar.y"
13543     {
13544    #ifdef PRECOMPILER
13545       if(!(yyvsp[(1) - (2)].id).string[0])
13546       {
13547          (yyval.specifier) = MkSpecifierName((yyvsp[(1) - (2)].id).string);
13548          FreeIdentifier((yyvsp[(1) - (2)].id));
13549          FreeIdentifier((yyvsp[(2) - (2)].id));
13550       }
13551       else
13552       {
13553          _DeclClass((yyvsp[(1) - (2)].id)._class, (yyvsp[(1) - (2)].id).string);
13554
13555          FreeIdentifier((yyvsp[(1) - (2)].id));
13556          FreeIdentifier((yyvsp[(2) - (2)].id));
13557
13558          fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
13559          resetScannerPos(&(yylsp[(1) - (2)]).start);
13560          yyclearin;
13561
13562          YYPOPSTACK(1);
13563          yystate = *yyssp;
13564          YY_STACK_PRINT (yyss, yyssp);
13565          YYPOPSTACK(1);
13566          yystate = *yyssp;
13567          YY_STACK_PRINT (yyss, yyssp);
13568          goto yysetstate;
13569    #else
13570          Location tmpLoc = yylloc; (yyval.specifier) = (yyvsp[(2) - (2)].id); yylloc = (yylsp[(1) - (2)]);
13571          Compiler_Error($"Not a type: %s\n", (yyvsp[(1) - (2)].id).string);
13572          yylloc = tmpLoc; (yyvsp[(2) - (2)].id).badID = (yyvsp[(1) - (2)].id);
13573    #endif
13574       }
13575    ;}
13576     break;
13577
13578   case 6:
13579
13580 /* Line 1464 of yacc.c  */
13581 #line 422 "grammar.y"
13582     { (yyval.specifier) = MkSpecifierName(yytext); ;}
13583     break;
13584
13585   case 7:
13586
13587 /* Line 1464 of yacc.c  */
13588 #line 426 "grammar.y"
13589     { (yyval.string) = CopyString(yytext); ;}
13590     break;
13591
13592   case 9:
13593
13594 /* Line 1464 of yacc.c  */
13595 #line 430 "grammar.y"
13596     { (yyval.specifier) = (yyvsp[(1) - (4)].specifier); SetClassTemplateArgs((yyval.specifier), (yyvsp[(3) - (4)].list)); (yyval.specifier).loc = (yyloc); ;}
13597     break;
13598
13599   case 10:
13600
13601 /* Line 1464 of yacc.c  */
13602 #line 432 "grammar.y"
13603     {
13604       (yyval.specifier) = (yyvsp[(1) - (4)].specifier);
13605       SetClassTemplateArgs((yyval.specifier), (yyvsp[(3) - (4)].list));
13606       (yyval.specifier).loc = (yyloc);
13607
13608       (yylsp[(4) - (4)]).end.pos--;
13609       fileInput.Seek((yylsp[(4) - (4)]).end.pos, start);
13610       resetScannerPos(&(yylsp[(4) - (4)]).end);
13611       yyclearin;
13612     ;}
13613     break;
13614
13615   case 11:
13616
13617 /* Line 1464 of yacc.c  */
13618 #line 471 "grammar.y"
13619     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
13620     break;
13621
13622   case 12:
13623
13624 /* Line 1464 of yacc.c  */
13625 #line 473 "grammar.y"
13626     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(1) - (1)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
13627     break;
13628
13629   case 13:
13630
13631 /* Line 1464 of yacc.c  */
13632 #line 478 "grammar.y"
13633     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (3)].list), null, null, null); (yyval.classFunction).isConstructor = true; (yyval.classFunction).loc = (yyloc); ;}
13634     break;
13635
13636   case 14:
13637
13638 /* Line 1464 of yacc.c  */
13639 #line 483 "grammar.y"
13640     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (4)].list), null, null, null); (yyval.classFunction).isDestructor = true; (yyval.classFunction).loc = (yyloc); ;}
13641     break;
13642
13643   case 15:
13644
13645 /* Line 1464 of yacc.c  */
13646 #line 488 "grammar.y"
13647     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (3)].list), null, (yyvsp[(3) - (3)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); ;}
13648     break;
13649
13650   case 16:
13651
13652 /* Line 1464 of yacc.c  */
13653 #line 490 "grammar.y"
13654     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); ;}
13655     break;
13656
13657   case 17:
13658
13659 /* Line 1464 of yacc.c  */
13660 #line 495 "grammar.y"
13661     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
13662     break;
13663
13664   case 18:
13665
13666 /* Line 1464 of yacc.c  */
13667 #line 497 "grammar.y"
13668     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(1) - (1)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
13669     break;
13670
13671   case 19:
13672
13673 /* Line 1464 of yacc.c  */
13674 #line 502 "grammar.y"
13675     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (3)].list), null, (yyvsp[(3) - (3)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); ;}
13676     break;
13677
13678   case 20:
13679
13680 /* Line 1464 of yacc.c  */
13681 #line 504 "grammar.y"
13682     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); ;}
13683     break;
13684
13685   case 21:
13686
13687 /* Line 1464 of yacc.c  */
13688 #line 509 "grammar.y"
13689     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13690     break;
13691
13692   case 22:
13693
13694 /* Line 1464 of yacc.c  */
13695 #line 511 "grammar.y"
13696     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13697     break;
13698
13699   case 23:
13700
13701 /* Line 1464 of yacc.c  */
13702 #line 513 "grammar.y"
13703     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); ;}
13704     break;
13705
13706   case 24:
13707
13708 /* Line 1464 of yacc.c  */
13709 #line 515 "grammar.y"
13710     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13711     break;
13712
13713   case 25:
13714
13715 /* Line 1464 of yacc.c  */
13716 #line 517 "grammar.y"
13717     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13718     break;
13719
13720   case 26:
13721
13722 /* Line 1464 of yacc.c  */
13723 #line 521 "grammar.y"
13724     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); ;}
13725     break;
13726
13727   case 27:
13728
13729 /* Line 1464 of yacc.c  */
13730 #line 525 "grammar.y"
13731     {
13732          if((yyvsp[(1) - (3)].classFunction).declarator)
13733          {
13734             (yyvsp[(1) - (3)].classFunction).declarator = MkStructDeclarator((yyvsp[(1) - (3)].classFunction).declarator, null);
13735             (yyvsp[(1) - (3)].classFunction).declarator.structDecl.attrib = (yyvsp[(2) - (3)].attrib);
13736          }
13737          ProcessClassFunctionBody((yyvsp[(1) - (3)].classFunction), null);
13738          (yyval.classFunction).loc = (yyloc);
13739       ;}
13740     break;
13741
13742   case 28:
13743
13744 /* Line 1464 of yacc.c  */
13745 #line 538 "grammar.y"
13746     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
13747     break;
13748
13749   case 29:
13750
13751 /* Line 1464 of yacc.c  */
13752 #line 540 "grammar.y"
13753     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13754     break;
13755
13756   case 30:
13757
13758 /* Line 1464 of yacc.c  */
13759 #line 542 "grammar.y"
13760     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
13761     break;
13762
13763   case 31:
13764
13765 /* Line 1464 of yacc.c  */
13766 #line 544 "grammar.y"
13767     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13768     break;
13769
13770   case 32:
13771
13772 /* Line 1464 of yacc.c  */
13773 #line 546 "grammar.y"
13774     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13775     break;
13776
13777   case 33:
13778
13779 /* Line 1464 of yacc.c  */
13780 #line 552 "grammar.y"
13781     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
13782     break;
13783
13784   case 34:
13785
13786 /* Line 1464 of yacc.c  */
13787 #line 554 "grammar.y"
13788     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, MkDeclaratorFunction((yyvsp[(2) - (2)].declarator), null), null); (yyval.classFunction).loc = (yyloc); ;}
13789     break;
13790
13791   case 35:
13792
13793 /* Line 1464 of yacc.c  */
13794 #line 559 "grammar.y"
13795     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
13796     break;
13797
13798   case 36:
13799
13800 /* Line 1464 of yacc.c  */
13801 #line 564 "grammar.y"
13802     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13803     break;
13804
13805   case 37:
13806
13807 /* Line 1464 of yacc.c  */
13808 #line 569 "grammar.y"
13809     { 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++;;}
13810     break;
13811
13812   case 38:
13813
13814 /* Line 1464 of yacc.c  */
13815 #line 571 "grammar.y"
13816     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13817     break;
13818
13819   case 39:
13820
13821 /* Line 1464 of yacc.c  */
13822 #line 573 "grammar.y"
13823     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13824     break;
13825
13826   case 40:
13827
13828 /* Line 1464 of yacc.c  */
13829 #line 577 "grammar.y"
13830     { (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;;}
13831     break;
13832
13833   case 41:
13834
13835 /* Line 1464 of yacc.c  */
13836 #line 578 "grammar.y"
13837     { (yyval.memberInit) = MkMemberInit(null, (yyvsp[(1) - (1)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc);;}
13838     break;
13839
13840   case 42:
13841
13842 /* Line 1464 of yacc.c  */
13843 #line 582 "grammar.y"
13844     { (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;;}
13845     break;
13846
13847   case 43:
13848
13849 /* Line 1464 of yacc.c  */
13850 #line 584 "grammar.y"
13851     {
13852          (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), MkInitializerAssignment(MkExpDummy()));
13853          (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yyval.memberInit).initializer.loc.end = (yylsp[(2) - (3)]).end;
13854
13855          fileInput.Seek((yylsp[(2) - (3)]).end.pos, start);
13856          yyclearin;
13857          resetScannerPos(&(yylsp[(2) - (3)]).end);
13858          (yyloc).start = (yylsp[(1) - (3)]).start;
13859          (yyloc).end = (yylsp[(2) - (3)]).end;
13860       ;}
13861     break;
13862
13863   case 44:
13864
13865 /* Line 1464 of yacc.c  */
13866 #line 594 "grammar.y"
13867     { (yyval.memberInit) = MkMemberInit(null, (yyvsp[(1) - (1)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc);;}
13868     break;
13869
13870   case 45:
13871
13872 /* Line 1464 of yacc.c  */
13873 #line 598 "grammar.y"
13874     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ;}
13875     break;
13876
13877   case 46:
13878
13879 /* Line 1464 of yacc.c  */
13880 #line 600 "grammar.y"
13881     { ((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); ;}
13882     break;
13883
13884   case 47:
13885
13886 /* Line 1464 of yacc.c  */
13887 #line 602 "grammar.y"
13888     { ((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); ;}
13889     break;
13890
13891   case 48:
13892
13893 /* Line 1464 of yacc.c  */
13894 #line 606 "grammar.y"
13895     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ;}
13896     break;
13897
13898   case 49:
13899
13900 /* Line 1464 of yacc.c  */
13901 #line 608 "grammar.y"
13902     { ((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); ;}
13903     break;
13904
13905   case 50:
13906
13907 /* Line 1464 of yacc.c  */
13908 #line 610 "grammar.y"
13909     { ((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); ;}
13910     break;
13911
13912   case 51:
13913
13914 /* Line 1464 of yacc.c  */
13915 #line 613 "grammar.y"
13916     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(2) - (3)]).end;
13917          {
13918             Initializer dummy = MkInitializerAssignment(MkExpDummy());
13919             MemberInit memberInit = MkMemberInit(null, dummy);
13920             memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(2) - (3)]).end;
13921             memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(2) - (3)]).end;
13922             ListAdd((yyvsp[(1) - (3)].list), memberInit);
13923           }
13924           (yyval.list) = (yyvsp[(1) - (3)].list);
13925        ;}
13926     break;
13927
13928   case 52:
13929
13930 /* Line 1464 of yacc.c  */
13931 #line 625 "grammar.y"
13932     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(2) - (3)]).end;
13933          {
13934             Initializer dummy = MkInitializerAssignment(MkExpDummy());
13935             MemberInit memberInit = MkMemberInit(null, dummy);
13936             memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(2) - (3)]).end;
13937             memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(2) - (3)]).end;
13938             ListAdd((yyvsp[(1) - (3)].list), memberInit);
13939           }
13940           (yyval.list) = (yyvsp[(1) - (3)].list);
13941        ;}
13942     break;
13943
13944   case 53:
13945
13946 /* Line 1464 of yacc.c  */
13947 #line 636 "grammar.y"
13948     {
13949          Initializer dummy = MkInitializerAssignment(MkExpDummy());
13950          MemberInit memberInit = MkMemberInit(null, dummy);
13951          memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(1) - (1)]).start;
13952          memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(1) - (1)]).start;
13953
13954          (yyval.list) = MkList();
13955          ListAdd((yyval.list), memberInit);
13956
13957          dummy = MkInitializerAssignment(MkExpDummy());
13958          memberInit = MkMemberInit(null, dummy);
13959          memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(1) - (1)]).end;
13960          memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(1) - (1)]).end;
13961          ListAdd((yyval.list), memberInit);
13962       ;}
13963     break;
13964
13965   case 54:
13966
13967 /* Line 1464 of yacc.c  */
13968 #line 655 "grammar.y"
13969     { if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13970     break;
13971
13972   case 55:
13973
13974 /* Line 1464 of yacc.c  */
13975 #line 657 "grammar.y"
13976     { if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13977     break;
13978
13979   case 56:
13980
13981 /* Line 1464 of yacc.c  */
13982 #line 661 "grammar.y"
13983     { MembersInit members = MkMembersInitList((yyvsp[(1) - (1)].list)); (yyval.list) = MkList(); ListAdd((yyval.list), members); members.loc = (yylsp[(1) - (1)]); ;}
13984     break;
13985
13986   case 57:
13987
13988 /* Line 1464 of yacc.c  */
13989 #line 662 "grammar.y"
13990     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(1) - (1)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
13991     break;
13992
13993   case 58:
13994
13995 /* Line 1464 of yacc.c  */
13996 #line 663 "grammar.y"
13997     { MembersInit members = MkMembersInitList((yyvsp[(2) - (2)].list)); ListAdd((yyval.list), members);  members.loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13998     break;
13999
14000   case 59:
14001
14002 /* Line 1464 of yacc.c  */
14003 #line 664 "grammar.y"
14004     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14005     break;
14006
14007   case 60:
14008
14009 /* Line 1464 of yacc.c  */
14010 #line 665 "grammar.y"
14011     { MembersInit members = MkMembersInitList((yyvsp[(2) - (2)].list)); ListAdd((yyval.list), members); members.loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14012     break;
14013
14014   case 61:
14015
14016 /* Line 1464 of yacc.c  */
14017 #line 666 "grammar.y"
14018     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14019     break;
14020
14021   case 63:
14022
14023 /* Line 1464 of yacc.c  */
14024 #line 669 "grammar.y"
14025     {
14026       MembersInit members = (MembersInit)(yyval.list)->last;
14027       if(members.type == dataMembersInit)
14028          members.loc.end = (yyloc).end;
14029       else
14030       {
14031          MembersInit members = MkMembersInitList(MkList());
14032          ListAdd((yyval.list), members);
14033          members.loc = (yylsp[(2) - (2)]);
14034       }
14035       (yyval.list) = (yyvsp[(1) - (2)].list);
14036    ;}
14037     break;
14038
14039   case 64:
14040
14041 /* Line 1464 of yacc.c  */
14042 #line 681 "grammar.y"
14043     { MembersInit members = MkMembersInitList(MkList()); (yyval.list) = MkList(); ListAdd((yyval.list), members); members.loc = (yylsp[(1) - (1)]);  ;}
14044     break;
14045
14046   case 66:
14047
14048 /* Line 1464 of yacc.c  */
14049 #line 686 "grammar.y"
14050     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (1)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
14051     break;
14052
14053   case 67:
14054
14055 /* Line 1464 of yacc.c  */
14056 #line 687 "grammar.y"
14057     { ListAdd((yyvsp[(1) - (2)].list), MkMembersInitList((yyvsp[(2) - (2)].list)));   ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
14058     break;
14059
14060   case 68:
14061
14062 /* Line 1464 of yacc.c  */
14063 #line 688 "grammar.y"
14064     { ListAdd((yyvsp[(1) - (2)].list), MkMembersInitList((yyvsp[(2) - (2)].list)));   ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
14065     break;
14066
14067   case 69:
14068
14069 /* Line 1464 of yacc.c  */
14070 #line 692 "grammar.y"
14071     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(1) - (1)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
14072     break;
14073
14074   case 70:
14075
14076 /* Line 1464 of yacc.c  */
14077 #line 693 "grammar.y"
14078     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14079     break;
14080
14081   case 71:
14082
14083 /* Line 1464 of yacc.c  */
14084 #line 694 "grammar.y"
14085     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14086     break;
14087
14088   case 72:
14089
14090 /* Line 1464 of yacc.c  */
14091 #line 695 "grammar.y"
14092     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14093     break;
14094
14095   case 73:
14096
14097 /* Line 1464 of yacc.c  */
14098 #line 696 "grammar.y"
14099     { ListAdd((yyval.list), MkMembersInitList((yyvsp[(2) - (2)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14100     break;
14101
14102   case 74:
14103
14104 /* Line 1464 of yacc.c  */
14105 #line 697 "grammar.y"
14106     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (1)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
14107     break;
14108
14109   case 75:
14110
14111 /* Line 1464 of yacc.c  */
14112 #line 698 "grammar.y"
14113     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (2)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
14114     break;
14115
14116   case 76:
14117
14118 /* Line 1464 of yacc.c  */
14119 #line 703 "grammar.y"
14120     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; (yyval.instance) = (yyvsp[(1) - (2)].instance); ;}
14121     break;
14122
14123   case 77:
14124
14125 /* Line 1464 of yacc.c  */
14126 #line 705 "grammar.y"
14127     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; (yyval.instance) = (yyvsp[(1) - (3)].instance); ;}
14128     break;
14129
14130   case 78:
14131
14132 /* Line 1464 of yacc.c  */
14133 #line 710 "grammar.y"
14134     { (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++; ;}
14135     break;
14136
14137   case 79:
14138
14139 /* Line 1464 of yacc.c  */
14140 #line 712 "grammar.y"
14141     { (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++; ;}
14142     break;
14143
14144   case 80:
14145
14146 /* Line 1464 of yacc.c  */
14147 #line 714 "grammar.y"
14148     { (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++; ;}
14149     break;
14150
14151   case 81:
14152
14153 /* Line 1464 of yacc.c  */
14154 #line 716 "grammar.y"
14155     { (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++; ;}
14156     break;
14157
14158   case 82:
14159
14160 /* Line 1464 of yacc.c  */
14161 #line 718 "grammar.y"
14162     { (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++; ;}
14163     break;
14164
14165   case 83:
14166
14167 /* Line 1464 of yacc.c  */
14168 #line 748 "grammar.y"
14169     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
14170     break;
14171
14172   case 84:
14173
14174 /* Line 1464 of yacc.c  */
14175 #line 750 "grammar.y"
14176     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
14177     break;
14178
14179   case 85:
14180
14181 /* Line 1464 of yacc.c  */
14182 #line 755 "grammar.y"
14183     { (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++; ;}
14184     break;
14185
14186   case 86:
14187
14188 /* Line 1464 of yacc.c  */
14189 #line 757 "grammar.y"
14190     { (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++; ;}
14191     break;
14192
14193   case 87:
14194
14195 /* Line 1464 of yacc.c  */
14196 #line 759 "grammar.y"
14197     { (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++; ;}
14198     break;
14199
14200   case 88:
14201
14202 /* Line 1464 of yacc.c  */
14203 #line 761 "grammar.y"
14204     { (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++; ;}
14205     break;
14206
14207   case 89:
14208
14209 /* Line 1464 of yacc.c  */
14210 #line 763 "grammar.y"
14211     { (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++; ;}
14212     break;
14213
14214   case 90:
14215
14216 /* Line 1464 of yacc.c  */
14217 #line 792 "grammar.y"
14218     { (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;;}
14219     break;
14220
14221   case 91:
14222
14223 /* Line 1464 of yacc.c  */
14224 #line 794 "grammar.y"
14225     { (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;;}
14226     break;
14227
14228   case 92:
14229
14230 /* Line 1464 of yacc.c  */
14231 #line 796 "grammar.y"
14232     { (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;;}
14233     break;
14234
14235   case 93:
14236
14237 /* Line 1464 of yacc.c  */
14238 #line 801 "grammar.y"
14239     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; (yyval.instance) = (yyvsp[(1) - (2)].instance); ;}
14240     break;
14241
14242   case 94:
14243
14244 /* Line 1464 of yacc.c  */
14245 #line 803 "grammar.y"
14246     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; (yyval.instance) = (yyvsp[(1) - (3)].instance); ;}
14247     break;
14248
14249   case 95:
14250
14251 /* Line 1464 of yacc.c  */
14252 #line 808 "grammar.y"
14253     { (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++; ;}
14254     break;
14255
14256   case 96:
14257
14258 /* Line 1464 of yacc.c  */
14259 #line 810 "grammar.y"
14260     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
14261       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)); ;}
14262     break;
14263
14264   case 97:
14265
14266 /* Line 1464 of yacc.c  */
14267 #line 814 "grammar.y"
14268     { (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++; ;}
14269     break;
14270
14271   case 98:
14272
14273 /* Line 1464 of yacc.c  */
14274 #line 816 "grammar.y"
14275     { (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++; ;}
14276     break;
14277
14278   case 99:
14279
14280 /* Line 1464 of yacc.c  */
14281 #line 818 "grammar.y"
14282     { (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++; ;}
14283     break;
14284
14285   case 100:
14286
14287 /* Line 1464 of yacc.c  */
14288 #line 820 "grammar.y"
14289     { (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++;  ;}
14290     break;
14291
14292   case 101:
14293
14294 /* Line 1464 of yacc.c  */
14295 #line 825 "grammar.y"
14296     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
14297       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)); ;}
14298     break;
14299
14300   case 102:
14301
14302 /* Line 1464 of yacc.c  */
14303 #line 828 "grammar.y"
14304     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (2)]);
14305       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)); ;}
14306     break;
14307
14308   case 103:
14309
14310 /* Line 1464 of yacc.c  */
14311 #line 831 "grammar.y"
14312     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (4)]);
14313       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)); ;}
14314     break;
14315
14316   case 104:
14317
14318 /* Line 1464 of yacc.c  */
14319 #line 834 "grammar.y"
14320     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
14321       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)); ;}
14322     break;
14323
14324   case 105:
14325
14326 /* Line 1464 of yacc.c  */
14327 #line 899 "grammar.y"
14328     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
14329     break;
14330
14331   case 106:
14332
14333 /* Line 1464 of yacc.c  */
14334 #line 901 "grammar.y"
14335     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
14336     break;
14337
14338   case 107:
14339
14340 /* Line 1464 of yacc.c  */
14341 #line 906 "grammar.y"
14342     { (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++; ;}
14343     break;
14344
14345   case 108:
14346
14347 /* Line 1464 of yacc.c  */
14348 #line 908 "grammar.y"
14349     { (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++; ;}
14350     break;
14351
14352   case 109:
14353
14354 /* Line 1464 of yacc.c  */
14355 #line 910 "grammar.y"
14356     { (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++;  ;}
14357     break;
14358
14359   case 110:
14360
14361 /* Line 1464 of yacc.c  */
14362 #line 912 "grammar.y"
14363     { (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++; ;}
14364     break;
14365
14366   case 111:
14367
14368 /* Line 1464 of yacc.c  */
14369 #line 914 "grammar.y"
14370     { (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++; ;}
14371     break;
14372
14373   case 112:
14374
14375 /* Line 1464 of yacc.c  */
14376 #line 944 "grammar.y"
14377     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); ;}
14378     break;
14379
14380   case 113:
14381
14382 /* Line 1464 of yacc.c  */
14383 #line 948 "grammar.y"
14384     { (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; ;}
14385     break;
14386
14387   case 114:
14388
14389 /* Line 1464 of yacc.c  */
14390 #line 949 "grammar.y"
14391     { (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; ;}
14392     break;
14393
14394   case 115:
14395
14396 /* Line 1464 of yacc.c  */
14397 #line 950 "grammar.y"
14398     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (2)].exp), null); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); ;}
14399     break;
14400
14401   case 116:
14402
14403 /* Line 1464 of yacc.c  */
14404 #line 954 "grammar.y"
14405     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ((MemberInit)(yyval.list)->last).loc = (yyloc); ;}
14406     break;
14407
14408   case 117:
14409
14410 /* Line 1464 of yacc.c  */
14411 #line 955 "grammar.y"
14412     { ((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); ;}
14413     break;
14414
14415   case 118:
14416
14417 /* Line 1464 of yacc.c  */
14418 #line 956 "grammar.y"
14419     { ((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); ;}
14420     break;
14421
14422   case 119:
14423
14424 /* Line 1464 of yacc.c  */
14425 #line 960 "grammar.y"
14426     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ((MemberInit)(yyval.list)->last).loc = (yyloc); ;}
14427     break;
14428
14429   case 120:
14430
14431 /* Line 1464 of yacc.c  */
14432 #line 961 "grammar.y"
14433     { ((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); ;}
14434     break;
14435
14436   case 121:
14437
14438 /* Line 1464 of yacc.c  */
14439 #line 962 "grammar.y"
14440     { ((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); ;}
14441     break;
14442
14443   case 123:
14444
14445 /* Line 1464 of yacc.c  */
14446 #line 968 "grammar.y"
14447     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), null, (yyvsp[(3) - (4)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14448     break;
14449
14450   case 124:
14451
14452 /* Line 1464 of yacc.c  */
14453 #line 971 "grammar.y"
14454     { (yyval.prop) = MkProperty((yyvsp[(2) - (5)].list), (yyvsp[(3) - (5)].declarator), (yyvsp[(4) - (5)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14455     break;
14456
14457   case 125:
14458
14459 /* Line 1464 of yacc.c  */
14460 #line 974 "grammar.y"
14461     { (yyval.prop) = MkProperty((yyvsp[(2) - (3)].list), null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14462     break;
14463
14464   case 126:
14465
14466 /* Line 1464 of yacc.c  */
14467 #line 977 "grammar.y"
14468     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].declarator), null, null, null); (yyval.prop).loc = (yyloc); ;}
14469     break;
14470
14471   case 127:
14472
14473 /* Line 1464 of yacc.c  */
14474 #line 980 "grammar.y"
14475     { (yyval.prop) = MkProperty(null, null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14476     break;
14477
14478   case 129:
14479
14480 /* Line 1464 of yacc.c  */
14481 #line 986 "grammar.y"
14482     { (yyvsp[(1) - (3)].prop).setStmt = (yyvsp[(3) - (3)].stmt); ;}
14483     break;
14484
14485   case 130:
14486
14487 /* Line 1464 of yacc.c  */
14488 #line 988 "grammar.y"
14489     { (yyvsp[(1) - (3)].prop).getStmt = (yyvsp[(3) - (3)].stmt); ;}
14490     break;
14491
14492   case 131:
14493
14494 /* Line 1464 of yacc.c  */
14495 #line 990 "grammar.y"
14496     { (yyvsp[(1) - (3)].prop).issetStmt = (yyvsp[(3) - (3)].stmt); ;}
14497     break;
14498
14499   case 132:
14500
14501 /* Line 1464 of yacc.c  */
14502 #line 992 "grammar.y"
14503     { (yyvsp[(1) - (2)].prop).isWatchable = true; ;}
14504     break;
14505
14506   case 133:
14507
14508 /* Line 1464 of yacc.c  */
14509 #line 994 "grammar.y"
14510     { (yyvsp[(1) - (3)].prop).category = (yyvsp[(3) - (3)].exp); ;}
14511     break;
14512
14513   case 134:
14514
14515 /* Line 1464 of yacc.c  */
14516 #line 998 "grammar.y"
14517     { (yyvsp[(1) - (2)].prop).loc.end = (yylsp[(2) - (2)]).end; (yyval.prop) = (yyvsp[(1) - (2)].prop); ;}
14518     break;
14519
14520   case 135:
14521
14522 /* Line 1464 of yacc.c  */
14523 #line 1003 "grammar.y"
14524     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), null, (yyvsp[(3) - (4)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14525     break;
14526
14527   case 136:
14528
14529 /* Line 1464 of yacc.c  */
14530 #line 1006 "grammar.y"
14531     { (yyval.prop) = MkProperty((yyvsp[(2) - (5)].list), (yyvsp[(3) - (5)].declarator), (yyvsp[(4) - (5)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14532     break;
14533
14534   case 137:
14535
14536 /* Line 1464 of yacc.c  */
14537 #line 1009 "grammar.y"
14538     { (yyval.prop) = MkProperty((yyvsp[(2) - (3)].list), null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14539     break;
14540
14541   case 138:
14542
14543 /* Line 1464 of yacc.c  */
14544 #line 1012 "grammar.y"
14545     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].declarator), null, null, null); (yyval.prop).loc = (yyloc); ;}
14546     break;
14547
14548   case 139:
14549
14550 /* Line 1464 of yacc.c  */
14551 #line 1015 "grammar.y"
14552     { (yyval.prop) = MkProperty(null, null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14553     break;
14554
14555   case 141:
14556
14557 /* Line 1464 of yacc.c  */
14558 #line 1021 "grammar.y"
14559     { (yyvsp[(1) - (3)].prop).setStmt = (yyvsp[(3) - (3)].stmt); ;}
14560     break;
14561
14562   case 142:
14563
14564 /* Line 1464 of yacc.c  */
14565 #line 1023 "grammar.y"
14566     { (yyvsp[(1) - (3)].prop).getStmt = (yyvsp[(3) - (3)].stmt); ;}
14567     break;
14568
14569   case 143:
14570
14571 /* Line 1464 of yacc.c  */
14572 #line 1027 "grammar.y"
14573     { (yyvsp[(1) - (2)].prop).loc.end = (yylsp[(2) - (2)]).end; ;}
14574     break;
14575
14576   case 144:
14577
14578 /* Line 1464 of yacc.c  */
14579 #line 1032 "grammar.y"
14580     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].id)); ;}
14581     break;
14582
14583   case 145:
14584
14585 /* Line 1464 of yacc.c  */
14586 #line 1034 "grammar.y"
14587     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].id)); ;}
14588     break;
14589
14590   case 146:
14591
14592 /* Line 1464 of yacc.c  */
14593 #line 1039 "grammar.y"
14594     { (yyval.propertyWatch) = MkPropertyWatch((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
14595     break;
14596
14597   case 147:
14598
14599 /* Line 1464 of yacc.c  */
14600 #line 1041 "grammar.y"
14601     { (yyval.propertyWatch) = MkDeleteWatch((yyvsp[(2) - (2)].stmt)); ;}
14602     break;
14603
14604   case 148:
14605
14606 /* Line 1464 of yacc.c  */
14607 #line 1046 "grammar.y"
14608     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].propertyWatch)); ;}
14609     break;
14610
14611   case 149:
14612
14613 /* Line 1464 of yacc.c  */
14614 #line 1048 "grammar.y"
14615     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].propertyWatch)); ;}
14616     break;
14617
14618   case 150:
14619
14620 /* Line 1464 of yacc.c  */
14621 #line 1053 "grammar.y"
14622     { (yyval.propertyWatch) = MkPropertyWatch((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); ;}
14623     break;
14624
14625   case 151:
14626
14627 /* Line 1464 of yacc.c  */
14628 #line 1058 "grammar.y"
14629     { (yyval.stmt) = MkWatchStmt(null, (yyvsp[(3) - (7)].exp), (yyvsp[(6) - (7)].list)); ;}
14630     break;
14631
14632   case 152:
14633
14634 /* Line 1464 of yacc.c  */
14635 #line 1060 "grammar.y"
14636     { (yyval.stmt) = MkWatchStmt((yyvsp[(1) - (9)].exp), (yyvsp[(5) - (9)].exp), (yyvsp[(8) - (9)].list)); ;}
14637     break;
14638
14639   case 153:
14640
14641 /* Line 1464 of yacc.c  */
14642 #line 1065 "grammar.y"
14643     { (yyval.stmt) = MkStopWatchingStmt(null, (yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].list)); ;}
14644     break;
14645
14646   case 154:
14647
14648 /* Line 1464 of yacc.c  */
14649 #line 1067 "grammar.y"
14650     { (yyval.stmt) = MkStopWatchingStmt((yyvsp[(1) - (8)].exp), (yyvsp[(5) - (8)].exp), (yyvsp[(7) - (8)].list)); ;}
14651     break;
14652
14653   case 155:
14654
14655 /* Line 1464 of yacc.c  */
14656 #line 1069 "grammar.y"
14657     { (yyval.stmt) = MkStopWatchingStmt(null, (yyvsp[(3) - (4)].exp), null); ;}
14658     break;
14659
14660   case 156:
14661
14662 /* Line 1464 of yacc.c  */
14663 #line 1071 "grammar.y"
14664     { (yyval.stmt) = MkStopWatchingStmt((yyvsp[(1) - (6)].exp), (yyvsp[(5) - (6)].exp), null); ;}
14665     break;
14666
14667   case 157:
14668
14669 /* Line 1464 of yacc.c  */
14670 #line 1076 "grammar.y"
14671     { (yyval.stmt) = MkFireWatchersStmt(null, null); ;}
14672     break;
14673
14674   case 158:
14675
14676 /* Line 1464 of yacc.c  */
14677 #line 1078 "grammar.y"
14678     { (yyval.stmt) = MkFireWatchersStmt(null, (yyvsp[(2) - (2)].list)); ;}
14679     break;
14680
14681   case 159:
14682
14683 /* Line 1464 of yacc.c  */
14684 #line 1080 "grammar.y"
14685     { (yyval.stmt) = MkFireWatchersStmt((yyvsp[(1) - (3)].exp), null); ;}
14686     break;
14687
14688   case 160:
14689
14690 /* Line 1464 of yacc.c  */
14691 #line 1082 "grammar.y"
14692     { (yyval.stmt) = MkFireWatchersStmt((yyvsp[(1) - (4)].exp), (yyvsp[(4) - (4)].list)); ;}
14693     break;
14694
14695   case 161:
14696
14697 /* Line 1464 of yacc.c  */
14698 #line 1086 "grammar.y"
14699     { (yyval.classDef) = (yyvsp[(1) - (2)].classDef); (yyval.classDef).loc.end = (yylsp[(2) - (2)]).end; ;}
14700     break;
14701
14702   case 162:
14703
14704 /* Line 1464 of yacc.c  */
14705 #line 1087 "grammar.y"
14706     { (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); ;}
14707     break;
14708
14709   case 163:
14710
14711 /* Line 1464 of yacc.c  */
14712 #line 1088 "grammar.y"
14713     { (yyval.classDef) = MkClassDefFunction((yyvsp[(1) - (1)].classFunction)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14714     break;
14715
14716   case 164:
14717
14718 /* Line 1464 of yacc.c  */
14719 #line 1089 "grammar.y"
14720     { (yyval.classDef) = MkClassDefProperty((yyvsp[(1) - (1)].prop)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14721     break;
14722
14723   case 165:
14724
14725 /* Line 1464 of yacc.c  */
14726 #line 1090 "grammar.y"
14727     { (yyval.classDef) = MkClassDefFunction((yyvsp[(2) - (2)].classFunction)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14728     break;
14729
14730   case 166:
14731
14732 /* Line 1464 of yacc.c  */
14733 #line 1091 "grammar.y"
14734     { (yyval.classDef) = MkClassDefProperty((yyvsp[(2) - (2)].prop)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14735     break;
14736
14737   case 167:
14738
14739 /* Line 1464 of yacc.c  */
14740 #line 1092 "grammar.y"
14741     { (yyval.classDef) = MkClassDefClassProperty((yyvsp[(1) - (1)].prop)); (yyval.classDef).loc = (yyloc); ;}
14742     break;
14743
14744   case 168:
14745
14746 /* Line 1464 of yacc.c  */
14747 #line 1093 "grammar.y"
14748     { (yyval.classDef) = null; deleteWatchable = true; ;}
14749     break;
14750
14751   case 169:
14752
14753 /* Line 1464 of yacc.c  */
14754 #line 1094 "grammar.y"
14755     { (yyval.classDef) = MkClassDefNoExpansion(); ;}
14756     break;
14757
14758   case 170:
14759
14760 /* Line 1464 of yacc.c  */
14761 #line 1095 "grammar.y"
14762     { (yyval.classDef) = MkClassDefFixed(); ;}
14763     break;
14764
14765   case 171:
14766
14767 /* Line 1464 of yacc.c  */
14768 #line 1096 "grammar.y"
14769     { (yyval.classDef) = MkClassDefClassPropertyValue((yyvsp[(3) - (7)].id), (yyvsp[(6) - (7)].initializer)); (yyval.classDef).loc = (yyloc); ;}
14770     break;
14771
14772   case 172:
14773
14774 /* Line 1464 of yacc.c  */
14775 #line 1098 "grammar.y"
14776     { (yyval.classDef) = null; ;}
14777     break;
14778
14779   case 173:
14780
14781 /* Line 1464 of yacc.c  */
14782 #line 1099 "grammar.y"
14783     { 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; ;}
14784     break;
14785
14786   case 174:
14787
14788 /* Line 1464 of yacc.c  */
14789 #line 1101 "grammar.y"
14790     { (yyval.classDef) = MkClassDefAccessOverride((yyvsp[(1) - (4)].declMode), (yyvsp[(3) - (4)].id)); (yyval.classDef).loc = (yyloc); ;}
14791     break;
14792
14793   case 175:
14794
14795 /* Line 1464 of yacc.c  */
14796 #line 1105 "grammar.y"
14797     { (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]; ;}
14798     break;
14799
14800   case 176:
14801
14802 /* Line 1464 of yacc.c  */
14803 #line 1108 "grammar.y"
14804     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(1) - (1)].list), null, null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14805     break;
14806
14807   case 177:
14808
14809 /* Line 1464 of yacc.c  */
14810 #line 1109 "grammar.y"
14811     { (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]; ;}
14812     break;
14813
14814   case 178:
14815
14816 /* Line 1464 of yacc.c  */
14817 #line 1110 "grammar.y"
14818     { (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); ;}
14819     break;
14820
14821   case 179:
14822
14823 /* Line 1464 of yacc.c  */
14824 #line 1111 "grammar.y"
14825     { (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); ;}
14826     break;
14827
14828   case 180:
14829
14830 /* Line 1464 of yacc.c  */
14831 #line 1112 "grammar.y"
14832     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14833     break;
14834
14835   case 181:
14836
14837 /* Line 1464 of yacc.c  */
14838 #line 1113 "grammar.y"
14839     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14840     break;
14841
14842   case 182:
14843
14844 /* Line 1464 of yacc.c  */
14845 #line 1114 "grammar.y"
14846     { (yyval.classDef) = MkClassDefClassData(MkStructDeclaration((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].list), null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); ;}
14847     break;
14848
14849   case 183:
14850
14851 /* Line 1464 of yacc.c  */
14852 #line 1115 "grammar.y"
14853     { (yyval.classDef) = MkClassDefPropertyWatch((yyvsp[(1) - (1)].propertyWatch)); (yyval.classDef).loc = (yyloc); ;}
14854     break;
14855
14856   case 184:
14857
14858 /* Line 1464 of yacc.c  */
14859 #line 1116 "grammar.y"
14860     { (yyval.classDef) = MkClassDefDesigner((yyvsp[(2) - (2)].id).string); FreeIdentifier((yyvsp[(2) - (2)].id)); ;}
14861     break;
14862
14863   case 185:
14864
14865 /* Line 1464 of yacc.c  */
14866 #line 1117 "grammar.y"
14867     { (yyval.classDef) = MkClassDefDesigner((yyvsp[(2) - (2)].specifier).name); FreeSpecifier((yyvsp[(2) - (2)].specifier)); ;}
14868     break;
14869
14870   case 186:
14871
14872 /* Line 1464 of yacc.c  */
14873 #line 1118 "grammar.y"
14874     { (yyval.classDef) = MkClassDefDesignerDefaultProperty((yyvsp[(2) - (2)].id)); ;}
14875     break;
14876
14877   case 187:
14878
14879 /* Line 1464 of yacc.c  */
14880 #line 1119 "grammar.y"
14881     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (1)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14882     break;
14883
14884   case 188:
14885
14886 /* Line 1464 of yacc.c  */
14887 #line 1120 "grammar.y"
14888     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (1)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14889     break;
14890
14891   case 189:
14892
14893 /* Line 1464 of yacc.c  */
14894 #line 1121 "grammar.y"
14895     { (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); ;}
14896     break;
14897
14898   case 190:
14899
14900 /* Line 1464 of yacc.c  */
14901 #line 1123 "grammar.y"
14902     { (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]; ;}
14903     break;
14904
14905   case 191:
14906
14907 /* Line 1464 of yacc.c  */
14908 #line 1124 "grammar.y"
14909     { (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]; ;}
14910     break;
14911
14912   case 192:
14913
14914 /* Line 1464 of yacc.c  */
14915 #line 1128 "grammar.y"
14916     { (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); ;}
14917     break;
14918
14919   case 193:
14920
14921 /* Line 1464 of yacc.c  */
14922 #line 1129 "grammar.y"
14923     { (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); ;}
14924     break;
14925
14926   case 194:
14927
14928 /* Line 1464 of yacc.c  */
14929 #line 1130 "grammar.y"
14930     { (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); ;}
14931     break;
14932
14933   case 195:
14934
14935 /* Line 1464 of yacc.c  */
14936 #line 1134 "grammar.y"
14937     { (yyval.classDef) = MkClassDefDefaultProperty((yyvsp[(1) - (1)].list)); (yyval.classDef).loc = (yyloc);  (yyval.classDef).loc.end.charPos++; (yyval.classDef).loc.end.pos++; ;}
14938     break;
14939
14940   case 196:
14941
14942 /* Line 1464 of yacc.c  */
14943 #line 1138 "grammar.y"
14944     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].classDef)); ;}
14945     break;
14946
14947   case 197:
14948
14949 /* Line 1464 of yacc.c  */
14950 #line 1139 "grammar.y"
14951     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].classDef)); ;}
14952     break;
14953
14954   case 198:
14955
14956 /* Line 1464 of yacc.c  */
14957 #line 1140 "grammar.y"
14958     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].classDef)); ;}
14959     break;
14960
14961   case 199:
14962
14963 /* Line 1464 of yacc.c  */
14964 #line 1144 "grammar.y"
14965     { yyerror(); (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].classDef)); ;}
14966     break;
14967
14968   case 202:
14969
14970 /* Line 1464 of yacc.c  */
14971 #line 1147 "grammar.y"
14972     { yyerror(); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyval.list), (yyvsp[(2) - (2)].classDef)); ;}
14973     break;
14974
14975   case 203:
14976
14977 /* Line 1464 of yacc.c  */
14978 #line 1148 "grammar.y"
14979     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyval.list), (yyvsp[(2) - (2)].classDef)); ;}
14980     break;
14981
14982   case 204:
14983
14984 /* Line 1464 of yacc.c  */
14985 #line 1152 "grammar.y"
14986     { (yyval.templateDatatype) = MkTemplateDatatype((yyvsp[(1) - (1)].list), null); ;}
14987     break;
14988
14989   case 205:
14990
14991 /* Line 1464 of yacc.c  */
14992 #line 1153 "grammar.y"
14993     { (yyval.templateDatatype) = MkTemplateDatatype((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
14994     break;
14995
14996   case 206:
14997
14998 /* Line 1464 of yacc.c  */
14999 #line 1165 "grammar.y"
15000     { (yyval.templateArgument) = MkTemplateTypeArgument(MkTemplateDatatype((yyvsp[(1) - (1)].list), null)); ;}
15001     break;
15002
15003   case 207:
15004
15005 /* Line 1464 of yacc.c  */
15006 #line 1166 "grammar.y"
15007     { (yyval.templateArgument) = MkTemplateTypeArgument(MkTemplateDatatype((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator))); ;}
15008     break;
15009
15010   case 208:
15011
15012 /* Line 1464 of yacc.c  */
15013 #line 1170 "grammar.y"
15014     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (2)].id), null, null); ;}
15015     break;
15016
15017   case 209:
15018
15019 /* Line 1464 of yacc.c  */
15020 #line 1171 "grammar.y"
15021     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (4)].id), null, (yyvsp[(4) - (4)].templateArgument)); ;}
15022     break;
15023
15024   case 210:
15025
15026 /* Line 1464 of yacc.c  */
15027 #line 1172 "grammar.y"
15028     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (4)].id), (yyvsp[(4) - (4)].templateDatatype), null); ;}
15029     break;
15030
15031   case 211:
15032
15033 /* Line 1464 of yacc.c  */
15034 #line 1173 "grammar.y"
15035     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (6)].id), (yyvsp[(4) - (6)].templateDatatype), (yyvsp[(6) - (6)].templateArgument)); ;}
15036     break;
15037
15038   case 212:
15039
15040 /* Line 1464 of yacc.c  */
15041 #line 1174 "grammar.y"
15042     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (2)].string)), null, null); delete (yyvsp[(2) - (2)].string); ;}
15043     break;
15044
15045   case 213:
15046
15047 /* Line 1464 of yacc.c  */
15048 #line 1175 "grammar.y"
15049     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (4)].string)), null, (yyvsp[(4) - (4)].templateArgument)); ;}
15050     break;
15051
15052   case 214:
15053
15054 /* Line 1464 of yacc.c  */
15055 #line 1176 "grammar.y"
15056     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (4)].string)), (yyvsp[(4) - (4)].templateDatatype), null); ;}
15057     break;
15058
15059   case 215:
15060
15061 /* Line 1464 of yacc.c  */
15062 #line 1177 "grammar.y"
15063     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (6)].string)), (yyvsp[(4) - (6)].templateDatatype), (yyvsp[(6) - (6)].templateArgument)); ;}
15064     break;
15065
15066   case 216:
15067
15068 /* Line 1464 of yacc.c  */
15069 #line 1181 "grammar.y"
15070     { (yyval.templateArgument) = MkTemplateIdentifierArgument((yyvsp[(1) - (1)].id)); ;}
15071     break;
15072
15073   case 217:
15074
15075 /* Line 1464 of yacc.c  */
15076 #line 1185 "grammar.y"
15077     { (yyval.templateParameter) = MkIdentifierTemplateParameter((yyvsp[(1) - (1)].id), dataMember, null); ;}
15078     break;
15079
15080   case 218:
15081
15082 /* Line 1464 of yacc.c  */
15083 #line 1186 "grammar.y"
15084     { (yyval.templateParameter) = MkIdentifierTemplateParameter((yyvsp[(1) - (3)].id), dataMember, (yyvsp[(3) - (3)].templateArgument)); ;}
15085     break;
15086
15087   case 219:
15088
15089 /* Line 1464 of yacc.c  */
15090 #line 1190 "grammar.y"
15091     { (yyval.templateArgument) = MkTemplateExpressionArgument((yyvsp[(1) - (1)].exp)); ;}
15092     break;
15093
15094   case 220:
15095
15096 /* Line 1464 of yacc.c  */
15097 #line 1198 "grammar.y"
15098     { (yyval.templateParameter) = MkExpressionTemplateParameter((yyvsp[(2) - (4)].id), MkTemplateDatatype((yyvsp[(1) - (4)].list), null), (yyvsp[(4) - (4)].templateArgument)); ;}
15099     break;
15100
15101   case 221:
15102
15103 /* Line 1464 of yacc.c  */
15104 #line 1199 "grammar.y"
15105     { (yyval.templateParameter) = MkExpressionTemplateParameter((yyvsp[(3) - (5)].id), MkTemplateDatatype((yyvsp[(1) - (5)].list), (yyvsp[(2) - (5)].declarator)), (yyvsp[(5) - (5)].templateArgument)); ;}
15106     break;
15107
15108   case 225:
15109
15110 /* Line 1464 of yacc.c  */
15111 #line 1209 "grammar.y"
15112     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].templateParameter)); ;}
15113     break;
15114
15115   case 226:
15116
15117 /* Line 1464 of yacc.c  */
15118 #line 1210 "grammar.y"
15119     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].templateParameter)); ;}
15120     break;
15121
15122   case 230:
15123
15124 /* Line 1464 of yacc.c  */
15125 #line 1217 "grammar.y"
15126     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
15127     break;
15128
15129   case 231:
15130
15131 /* Line 1464 of yacc.c  */
15132 #line 1218 "grammar.y"
15133     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
15134     break;
15135
15136   case 232:
15137
15138 /* Line 1464 of yacc.c  */
15139 #line 1219 "grammar.y"
15140     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
15141     break;
15142
15143   case 233:
15144
15145 /* Line 1464 of yacc.c  */
15146 #line 1259 "grammar.y"
15147     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].templateArgument)); ;}
15148     break;
15149
15150   case 234:
15151
15152 /* Line 1464 of yacc.c  */
15153 #line 1260 "grammar.y"
15154     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].templateArgument)); ;}
15155     break;
15156
15157   case 235:
15158
15159 /* Line 1464 of yacc.c  */
15160 #line 1265 "grammar.y"
15161     {
15162       if(curContext != globalContext)
15163          PopContext(curContext);
15164       (yyval.context) = PushContext();
15165    ;}
15166     break;
15167
15168   case 236:
15169
15170 /* Line 1464 of yacc.c  */
15171 #line 1272 "grammar.y"
15172     { (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; ;}
15173     break;
15174
15175   case 237:
15176
15177 /* Line 1464 of yacc.c  */
15178 #line 1274 "grammar.y"
15179     {
15180       (void)(yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClass((yyvsp[(2) - (2)].specifier).nsSpec, (yyvsp[(2) - (2)].specifier).name);
15181       (yyval.symbol).nameLoc = (yylsp[(2) - (2)]);
15182       FreeSpecifier((yyvsp[(2) - (2)].specifier));
15183       ++defaultMemberAccess;
15184       memberAccessStack[defaultMemberAccess] = privateAccess;
15185    ;}
15186     break;
15187
15188   case 238:
15189
15190 /* Line 1464 of yacc.c  */
15191 #line 1281 "grammar.y"
15192     { (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; ;}
15193     break;
15194
15195   case 239:
15196
15197 /* Line 1464 of yacc.c  */
15198 #line 1282 "grammar.y"
15199     { (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; ;}
15200     break;
15201
15202   case 240:
15203
15204 /* Line 1464 of yacc.c  */
15205 #line 1284 "grammar.y"
15206     { (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; ;}
15207     break;
15208
15209   case 241:
15210
15211 /* Line 1464 of yacc.c  */
15212 #line 1286 "grammar.y"
15213     {
15214       (void)(yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClass((yyvsp[(2) - (5)].specifier).nsSpec, (yyvsp[(2) - (5)].specifier).name);
15215       (yyval.symbol).templateParams = (yyvsp[(4) - (5)].list);
15216       (yyval.symbol).nameLoc = (yylsp[(2) - (5)]);
15217       FreeSpecifier((yyvsp[(2) - (5)].specifier));
15218       ++defaultMemberAccess;
15219       memberAccessStack[defaultMemberAccess] = privateAccess;
15220    ;}
15221     break;
15222
15223   case 242:
15224
15225 /* Line 1464 of yacc.c  */
15226 #line 1294 "grammar.y"
15227     { (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; ;}
15228     break;
15229
15230   case 243:
15231
15232 /* Line 1464 of yacc.c  */
15233 #line 1295 "grammar.y"
15234     { (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; ;}
15235     break;
15236
15237   case 244:
15238
15239 /* Line 1464 of yacc.c  */
15240 #line 1300 "grammar.y"
15241     {
15242          (yyval._class).loc = (yyloc);
15243          (yyval._class) = (yyvsp[(1) - (2)]._class);
15244       ;}
15245     break;
15246
15247   case 245:
15248
15249 /* Line 1464 of yacc.c  */
15250 #line 1307 "grammar.y"
15251     {
15252          (yyval._class) = (yyvsp[(1) - (2)]._class); (yyval._class).definitions = MkList(); (yyval._class).blockStart = (yylsp[(2) - (2)]);  (yyval._class).loc = (yyloc);
15253          POP_DEFAULT_ACCESS
15254          PopContext(curContext);
15255       ;}
15256     break;
15257
15258   case 246:
15259
15260 /* Line 1464 of yacc.c  */
15261 #line 1314 "grammar.y"
15262     {
15263          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, MkList()); (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc);
15264          POP_DEFAULT_ACCESS
15265          PopContext(curContext);
15266       ;}
15267     break;
15268
15269   case 247:
15270
15271 /* Line 1464 of yacc.c  */
15272 #line 1320 "grammar.y"
15273     {
15274          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = MkList(); (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc);
15275          POP_DEFAULT_ACCESS
15276          PopContext(curContext);
15277       ;}
15278     break;
15279
15280   case 248:
15281
15282 /* Line 1464 of yacc.c  */
15283 #line 1327 "grammar.y"
15284     {
15285          (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));
15286          POP_DEFAULT_ACCESS
15287          PopContext(curContext);
15288       ;}
15289     break;
15290
15291   case 249:
15292
15293 /* Line 1464 of yacc.c  */
15294 #line 1333 "grammar.y"
15295     {
15296          (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));
15297          POP_DEFAULT_ACCESS
15298          PopContext(curContext);
15299       ;}
15300     break;
15301
15302   case 250:
15303
15304 /* Line 1464 of yacc.c  */
15305 #line 1342 "grammar.y"
15306     {
15307          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].list), null);
15308       ;}
15309     break;
15310
15311   case 251:
15312
15313 /* Line 1464 of yacc.c  */
15314 #line 1349 "grammar.y"
15315     {
15316          (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++;
15317          POP_DEFAULT_ACCESS
15318          PopContext(curContext);
15319       ;}
15320     break;
15321
15322   case 252:
15323
15324 /* Line 1464 of yacc.c  */
15325 #line 1355 "grammar.y"
15326     {
15327          (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++;
15328          POP_DEFAULT_ACCESS
15329          PopContext(curContext);
15330       ;}
15331     break;
15332
15333   case 253:
15334
15335 /* Line 1464 of yacc.c  */
15336 #line 1361 "grammar.y"
15337     {
15338          (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++;
15339          POP_DEFAULT_ACCESS
15340          PopContext(curContext);
15341       ;}
15342     break;
15343
15344   case 254:
15345
15346 /* Line 1464 of yacc.c  */
15347 #line 1367 "grammar.y"
15348     {
15349          (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++;
15350          POP_DEFAULT_ACCESS
15351          PopContext(curContext);
15352       ;}
15353     break;
15354
15355   case 255:
15356
15357 /* Line 1464 of yacc.c  */
15358 #line 1373 "grammar.y"
15359     {
15360          (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++;
15361          POP_DEFAULT_ACCESS
15362          PopContext(curContext);
15363       ;}
15364     break;
15365
15366   case 256:
15367
15368 /* Line 1464 of yacc.c  */
15369 #line 1379 "grammar.y"
15370     {
15371          (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++;
15372          POP_DEFAULT_ACCESS
15373          PopContext(curContext);
15374       ;}
15375     break;
15376
15377   case 257:
15378
15379 /* Line 1464 of yacc.c  */
15380 #line 1390 "grammar.y"
15381     { (yyval.id) = MkIdentifier(yytext); (yyval.id).loc = (yylsp[(1) - (1)]); ;}
15382     break;
15383
15384   case 259:
15385
15386 /* Line 1464 of yacc.c  */
15387 #line 1396 "grammar.y"
15388     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (3)].list)); (yyval.exp).loc = (yyloc); ;}
15389     break;
15390
15391   case 260:
15392
15393 /* Line 1464 of yacc.c  */
15394 #line 1400 "grammar.y"
15395     { (yyval.exp) = MkExpString((yyvsp[(1) - (1)].string)); delete (yyvsp[(1) - (1)].string); (yyval.exp).loc = (yyloc); ;}
15396     break;
15397
15398   case 261:
15399
15400 /* Line 1464 of yacc.c  */
15401 #line 1401 "grammar.y"
15402     { (yyval.exp) = MkExpIntlString((yyvsp[(2) - (2)].string), null); delete (yyvsp[(2) - (2)].string); (yyval.exp).loc = (yyloc); ;}
15403     break;
15404
15405   case 262:
15406
15407 /* Line 1464 of yacc.c  */
15408 #line 1402 "grammar.y"
15409     { (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); ;}
15410     break;
15411
15412   case 263:
15413
15414 /* Line 1464 of yacc.c  */
15415 #line 1406 "grammar.y"
15416     { (yyval.exp) = MkExpConstant(yytext); (yyval.exp).loc = (yyloc); ;}
15417     break;
15418
15419   case 264:
15420
15421 /* Line 1464 of yacc.c  */
15422 #line 1410 "grammar.y"
15423     { (yyval.exp) = MkExpIdentifier((yyvsp[(1) - (1)].id)); (yyval.exp).loc = (yyloc); ;}
15424     break;
15425
15426   case 265:
15427
15428 /* Line 1464 of yacc.c  */
15429 #line 1411 "grammar.y"
15430     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (1)].instance)); (yyval.exp).loc = (yyloc); ;}
15431     break;
15432
15433   case 266:
15434
15435 /* Line 1464 of yacc.c  */
15436 #line 1412 "grammar.y"
15437     { (yyval.exp) = MkExpExtensionCompound((yyvsp[(3) - (4)].stmt)); (yyval.exp).loc = (yyloc); ;}
15438     break;
15439
15440   case 267:
15441
15442 /* Line 1464 of yacc.c  */
15443 #line 1413 "grammar.y"
15444     { (yyval.exp) = MkExpExtensionExpression((yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15445     break;
15446
15447   case 268:
15448
15449 /* Line 1464 of yacc.c  */
15450 #line 1414 "grammar.y"
15451     { (yyval.exp) = MkExpExtensionInitializer((yyvsp[(3) - (5)].typeName), (yyvsp[(5) - (5)].initializer)); (yyval.exp).loc = (yyloc); ;}
15452     break;
15453
15454   case 269:
15455
15456 /* Line 1464 of yacc.c  */
15457 #line 1415 "grammar.y"
15458     { (yyval.exp) = MkExpExtensionInitializer((yyvsp[(3) - (8)].typeName), MkInitializerAssignment(MkExpExtensionInitializer((yyvsp[(6) - (8)].typeName), (yyvsp[(8) - (8)].initializer)))); (yyval.exp).loc = (yyloc); ;}
15459     break;
15460
15461   case 270:
15462
15463 /* Line 1464 of yacc.c  */
15464 #line 1417 "grammar.y"
15465     {
15466       char * constant = (yyvsp[(1) - (2)].exp).constant;
15467       int len = strlen(constant);
15468       if(constant[len-1] == '.')
15469       {
15470          constant[len-1] = 0;
15471          (yyval.exp) = MkExpMember((yyvsp[(1) - (2)].exp), (yyvsp[(2) - (2)].id));
15472          (yyval.exp).loc = (yyloc);
15473       }
15474       else
15475          yyerror();
15476    ;}
15477     break;
15478
15479   case 271:
15480
15481 /* Line 1464 of yacc.c  */
15482 #line 1429 "grammar.y"
15483     { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
15484     break;
15485
15486   case 273:
15487
15488 /* Line 1464 of yacc.c  */
15489 #line 1431 "grammar.y"
15490     { (yyval.exp) = MkExpWideString(yytext); (yyval.exp).loc = (yyloc); ;}
15491     break;
15492
15493   case 274:
15494
15495 /* Line 1464 of yacc.c  */
15496 #line 1432 "grammar.y"
15497     { 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(); ;}
15498     break;
15499
15500   case 275:
15501
15502 /* Line 1464 of yacc.c  */
15503 #line 1433 "grammar.y"
15504     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15505     break;
15506
15507   case 276:
15508
15509 /* Line 1464 of yacc.c  */
15510 #line 1434 "grammar.y"
15511     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15512     break;
15513
15514   case 277:
15515
15516 /* Line 1464 of yacc.c  */
15517 #line 1435 "grammar.y"
15518     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15519     break;
15520
15521   case 278:
15522
15523 /* Line 1464 of yacc.c  */
15524 #line 1436 "grammar.y"
15525     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15526     break;
15527
15528   case 279:
15529
15530 /* Line 1464 of yacc.c  */
15531 #line 1437 "grammar.y"
15532     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15533     break;
15534
15535   case 280:
15536
15537 /* Line 1464 of yacc.c  */
15538 #line 1438 "grammar.y"
15539     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15540     break;
15541
15542   case 281:
15543
15544 /* Line 1464 of yacc.c  */
15545 #line 1439 "grammar.y"
15546     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15547     break;
15548
15549   case 282:
15550
15551 /* Line 1464 of yacc.c  */
15552 #line 1440 "grammar.y"
15553     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15554     break;
15555
15556   case 283:
15557
15558 /* Line 1464 of yacc.c  */
15559 #line 1441 "grammar.y"
15560     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15561     break;
15562
15563   case 284:
15564
15565 /* Line 1464 of yacc.c  */
15566 #line 1442 "grammar.y"
15567     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15568     break;
15569
15570   case 285:
15571
15572 /* Line 1464 of yacc.c  */
15573 #line 1443 "grammar.y"
15574     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15575     break;
15576
15577   case 286:
15578
15579 /* Line 1464 of yacc.c  */
15580 #line 1444 "grammar.y"
15581     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15582     break;
15583
15584   case 287:
15585
15586 /* Line 1464 of yacc.c  */
15587 #line 1445 "grammar.y"
15588     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15589     break;
15590
15591   case 288:
15592
15593 /* Line 1464 of yacc.c  */
15594 #line 1446 "grammar.y"
15595     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15596     break;
15597
15598   case 289:
15599
15600 /* Line 1464 of yacc.c  */
15601 #line 1447 "grammar.y"
15602     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15603     break;
15604
15605   case 290:
15606
15607 /* Line 1464 of yacc.c  */
15608 #line 1448 "grammar.y"
15609     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15610     break;
15611
15612   case 291:
15613
15614 /* Line 1464 of yacc.c  */
15615 #line 1449 "grammar.y"
15616     { (yyval.exp) = MkExpClass((yyvsp[(3) - (4)].list), null); (yyval.exp).loc = (yyloc); ;}
15617     break;
15618
15619   case 292:
15620
15621 /* Line 1464 of yacc.c  */
15622 #line 1450 "grammar.y"
15623     { (yyval.exp) = MkExpClass((yyvsp[(3) - (5)].list), (yyvsp[(4) - (5)].declarator)); (yyval.exp).loc = (yyloc); ;}
15624     break;
15625
15626   case 293:
15627
15628 /* Line 1464 of yacc.c  */
15629 #line 1451 "grammar.y"
15630     { (yyval.exp) = MkExpClass(MkListOne(MkSpecifierName((yyvsp[(3) - (4)].id).string)), null); FreeIdentifier((yyvsp[(3) - (4)].id)); (yyval.exp).loc = (yyloc); ;}
15631     break;
15632
15633   case 294:
15634
15635 /* Line 1464 of yacc.c  */
15636 #line 1452 "grammar.y"
15637     { (yyval.exp) = MkExpVaArg((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].typeName)); (yyval.exp).loc = (yyloc); ;}
15638     break;
15639
15640   case 295:
15641
15642 /* Line 1464 of yacc.c  */
15643 #line 1454 "grammar.y"
15644     { (yyval.exp) = MkExpClassData((yyvsp[(3) - (4)].id)); (yyval.exp).loc = (yyloc); ;}
15645     break;
15646
15647   case 300:
15648
15649 /* Line 1464 of yacc.c  */
15650 #line 1460 "grammar.y"
15651     { (yyval.exp) = MkExpArray((yyvsp[(2) - (3)].list)); (yyval.exp).loc = (yyloc); ;}
15652     break;
15653
15654   case 301:
15655
15656 /* Line 1464 of yacc.c  */
15657 #line 1461 "grammar.y"
15658     { (yyval.exp) = MkExpArray(null); (yyval.exp).loc = (yyloc); ;}
15659     break;
15660
15661   case 302:
15662
15663 /* Line 1464 of yacc.c  */
15664 #line 1465 "grammar.y"
15665     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (1)].instance)); (yyval.exp).loc = (yyloc); ;}
15666     break;
15667
15668   case 303:
15669
15670 /* Line 1464 of yacc.c  */
15671 #line 1469 "grammar.y"
15672     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
15673     break;
15674
15675   case 304:
15676
15677 /* Line 1464 of yacc.c  */
15678 #line 1473 "grammar.y"
15679     { yyerror(); (yyval.exp) = MkExpBrackets((yyvsp[(2) - (2)].list)); (yyval.exp).loc = (yyloc); ;}
15680     break;
15681
15682   case 305:
15683
15684 /* Line 1464 of yacc.c  */
15685 #line 1474 "grammar.y"
15686     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (2)].list)); (yyval.exp).loc = (yyloc); ;}
15687     break;
15688
15689   case 307:
15690
15691 /* Line 1464 of yacc.c  */
15692 #line 1480 "grammar.y"
15693     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15694     break;
15695
15696   case 308:
15697
15698 /* Line 1464 of yacc.c  */
15699 #line 1481 "grammar.y"
15700     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15701     break;
15702
15703   case 309:
15704
15705 /* Line 1464 of yacc.c  */
15706 #line 1482 "grammar.y"
15707     { (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); ;}
15708     break;
15709
15710   case 310:
15711
15712 /* Line 1464 of yacc.c  */
15713 #line 1483 "grammar.y"
15714     { (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); ;}
15715     break;
15716
15717   case 311:
15718
15719 /* Line 1464 of yacc.c  */
15720 #line 1484 "grammar.y"
15721     { (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; ;}
15722     break;
15723
15724   case 312:
15725
15726 /* Line 1464 of yacc.c  */
15727 #line 1485 "grammar.y"
15728     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15729     break;
15730
15731   case 313:
15732
15733 /* Line 1464 of yacc.c  */
15734 #line 1486 "grammar.y"
15735     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15736     break;
15737
15738   case 314:
15739
15740 /* Line 1464 of yacc.c  */
15741 #line 1487 "grammar.y"
15742     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
15743     break;
15744
15745   case 315:
15746
15747 /* Line 1464 of yacc.c  */
15748 #line 1488 "grammar.y"
15749     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
15750     break;
15751
15752   case 316:
15753
15754 /* Line 1464 of yacc.c  */
15755 #line 1490 "grammar.y"
15756     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15757     break;
15758
15759   case 317:
15760
15761 /* Line 1464 of yacc.c  */
15762 #line 1491 "grammar.y"
15763     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15764     break;
15765
15766   case 318:
15767
15768 /* Line 1464 of yacc.c  */
15769 #line 1492 "grammar.y"
15770     { (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); ;}
15771     break;
15772
15773   case 319:
15774
15775 /* Line 1464 of yacc.c  */
15776 #line 1493 "grammar.y"
15777     { (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); ;}
15778     break;
15779
15780   case 320:
15781
15782 /* Line 1464 of yacc.c  */
15783 #line 1494 "grammar.y"
15784     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15785     break;
15786
15787   case 321:
15788
15789 /* Line 1464 of yacc.c  */
15790 #line 1495 "grammar.y"
15791     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15792     break;
15793
15794   case 322:
15795
15796 /* Line 1464 of yacc.c  */
15797 #line 1496 "grammar.y"
15798     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
15799     break;
15800
15801   case 323:
15802
15803 /* Line 1464 of yacc.c  */
15804 #line 1497 "grammar.y"
15805     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
15806     break;
15807
15808   case 324:
15809
15810 /* Line 1464 of yacc.c  */
15811 #line 1524 "grammar.y"
15812     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15813     break;
15814
15815   case 325:
15816
15817 /* Line 1464 of yacc.c  */
15818 #line 1525 "grammar.y"
15819     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15820     break;
15821
15822   case 326:
15823
15824 /* Line 1464 of yacc.c  */
15825 #line 1526 "grammar.y"
15826     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15827     break;
15828
15829   case 327:
15830
15831 /* Line 1464 of yacc.c  */
15832 #line 1527 "grammar.y"
15833     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15834     break;
15835
15836   case 328:
15837
15838 /* Line 1464 of yacc.c  */
15839 #line 1531 "grammar.y"
15840     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15841     break;
15842
15843   case 329:
15844
15845 /* Line 1464 of yacc.c  */
15846 #line 1532 "grammar.y"
15847     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15848     break;
15849
15850   case 330:
15851
15852 /* Line 1464 of yacc.c  */
15853 #line 1533 "grammar.y"
15854     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15855     break;
15856
15857   case 331:
15858
15859 /* Line 1464 of yacc.c  */
15860 #line 1534 "grammar.y"
15861     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15862     break;
15863
15864   case 332:
15865
15866 /* Line 1464 of yacc.c  */
15867 #line 1535 "grammar.y"
15868     { 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); ;}
15869     break;
15870
15871   case 333:
15872
15873 /* Line 1464 of yacc.c  */
15874 #line 1539 "grammar.y"
15875     { (yyval.exp) = MkExpOp(null, INC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15876     break;
15877
15878   case 334:
15879
15880 /* Line 1464 of yacc.c  */
15881 #line 1540 "grammar.y"
15882     { (yyval.exp) = MkExpOp(null, DEC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15883     break;
15884
15885   case 335:
15886
15887 /* Line 1464 of yacc.c  */
15888 #line 1541 "grammar.y"
15889     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15890     break;
15891
15892   case 336:
15893
15894 /* Line 1464 of yacc.c  */
15895 #line 1542 "grammar.y"
15896     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15897     break;
15898
15899   case 337:
15900
15901 /* Line 1464 of yacc.c  */
15902 #line 1544 "grammar.y"
15903     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15904     break;
15905
15906   case 338:
15907
15908 /* Line 1464 of yacc.c  */
15909 #line 1545 "grammar.y"
15910     { (yyval.exp) = MkExpTypeSize((yyvsp[(3) - (4)].typeName)); (yyval.exp).loc = (yyloc); ;}
15911     break;
15912
15913   case 339:
15914
15915 /* Line 1464 of yacc.c  */
15916 #line 1546 "grammar.y"
15917     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (5)].specifier)); (yyval.exp).loc = (yyloc); ;}
15918     break;
15919
15920   case 340:
15921
15922 /* Line 1464 of yacc.c  */
15923 #line 1547 "grammar.y"
15924     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (5)].specifier)); (yyval.exp).loc = (yyloc); ;}
15925     break;
15926
15927   case 341:
15928
15929 /* Line 1464 of yacc.c  */
15930 #line 1550 "grammar.y"
15931     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15932     break;
15933
15934   case 342:
15935
15936 /* Line 1464 of yacc.c  */
15937 #line 1551 "grammar.y"
15938     { (yyval.exp) = MkExpTypeAlign((yyvsp[(3) - (4)].typeName)); (yyval.exp).loc = (yyloc); ;}
15939     break;
15940
15941   case 345:
15942
15943 /* Line 1464 of yacc.c  */
15944 #line 1565 "grammar.y"
15945     { (yyval.i) = '&'; ;}
15946     break;
15947
15948   case 346:
15949
15950 /* Line 1464 of yacc.c  */
15951 #line 1566 "grammar.y"
15952     { (yyval.i) = '*'; ;}
15953     break;
15954
15955   case 347:
15956
15957 /* Line 1464 of yacc.c  */
15958 #line 1567 "grammar.y"
15959     { (yyval.i) = '+'; ;}
15960     break;
15961
15962   case 348:
15963
15964 /* Line 1464 of yacc.c  */
15965 #line 1568 "grammar.y"
15966     { (yyval.i) = '-'; ;}
15967     break;
15968
15969   case 349:
15970
15971 /* Line 1464 of yacc.c  */
15972 #line 1569 "grammar.y"
15973     { (yyval.i) = '~'; ;}
15974     break;
15975
15976   case 350:
15977
15978 /* Line 1464 of yacc.c  */
15979 #line 1570 "grammar.y"
15980     { (yyval.i) = '!'; ;}
15981     break;
15982
15983   case 351:
15984
15985 /* Line 1464 of yacc.c  */
15986 #line 1571 "grammar.y"
15987     { (yyval.i) = DELETE; ;}
15988     break;
15989
15990   case 352:
15991
15992 /* Line 1464 of yacc.c  */
15993 #line 1572 "grammar.y"
15994     { (yyval.i) = _INCREF; ;}
15995     break;
15996
15997   case 354:
15998
15999 /* Line 1464 of yacc.c  */
16000 #line 1577 "grammar.y"
16001     { (yyval.exp) = MkExpCast((yyvsp[(2) - (4)].typeName), (yyvsp[(4) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
16002     break;
16003
16004   case 356:
16005
16006 /* Line 1464 of yacc.c  */
16007 #line 1582 "grammar.y"
16008     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16009     break;
16010
16011   case 357:
16012
16013 /* Line 1464 of yacc.c  */
16014 #line 1583 "grammar.y"
16015     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16016     break;
16017
16018   case 358:
16019
16020 /* Line 1464 of yacc.c  */
16021 #line 1584 "grammar.y"
16022     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16023     break;
16024
16025   case 359:
16026
16027 /* Line 1464 of yacc.c  */
16028 #line 1585 "grammar.y"
16029     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16030     break;
16031
16032   case 360:
16033
16034 /* Line 1464 of yacc.c  */
16035 #line 1586 "grammar.y"
16036     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16037     break;
16038
16039   case 361:
16040
16041 /* Line 1464 of yacc.c  */
16042 #line 1587 "grammar.y"
16043     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16044     break;
16045
16046   case 363:
16047
16048 /* Line 1464 of yacc.c  */
16049 #line 1592 "grammar.y"
16050     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16051     break;
16052
16053   case 364:
16054
16055 /* Line 1464 of yacc.c  */
16056 #line 1593 "grammar.y"
16057     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16058     break;
16059
16060   case 365:
16061
16062 /* Line 1464 of yacc.c  */
16063 #line 1594 "grammar.y"
16064     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16065     break;
16066
16067   case 366:
16068
16069 /* Line 1464 of yacc.c  */
16070 #line 1595 "grammar.y"
16071     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16072     break;
16073
16074   case 368:
16075
16076 /* Line 1464 of yacc.c  */
16077 #line 1600 "grammar.y"
16078     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16079     break;
16080
16081   case 369:
16082
16083 /* Line 1464 of yacc.c  */
16084 #line 1601 "grammar.y"
16085     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16086     break;
16087
16088   case 370:
16089
16090 /* Line 1464 of yacc.c  */
16091 #line 1602 "grammar.y"
16092     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16093     break;
16094
16095   case 371:
16096
16097 /* Line 1464 of yacc.c  */
16098 #line 1603 "grammar.y"
16099     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16100     break;
16101
16102   case 372:
16103
16104 /* Line 1464 of yacc.c  */
16105 #line 1608 "grammar.y"
16106     {
16107       (yyval.exp) = (yyvsp[(1) - (2)].exp);
16108       skipErrors = true;
16109    ;}
16110     break;
16111
16112   case 374:
16113
16114 /* Line 1464 of yacc.c  */
16115 #line 1616 "grammar.y"
16116     { skipErrors = false; (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), '<', (yyvsp[(2) - (2)].exp)/*$3*/); (yyval.exp).loc = (yyloc); ;}
16117     break;
16118
16119   case 375:
16120
16121 /* Line 1464 of yacc.c  */
16122 #line 1617 "grammar.y"
16123     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16124     break;
16125
16126   case 376:
16127
16128 /* Line 1464 of yacc.c  */
16129 #line 1618 "grammar.y"
16130     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16131     break;
16132
16133   case 377:
16134
16135 /* Line 1464 of yacc.c  */
16136 #line 1619 "grammar.y"
16137     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16138     break;
16139
16140   case 378:
16141
16142 /* Line 1464 of yacc.c  */
16143 #line 1620 "grammar.y"
16144     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '<', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16145     break;
16146
16147   case 379:
16148
16149 /* Line 1464 of yacc.c  */
16150 #line 1621 "grammar.y"
16151     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16152     break;
16153
16154   case 380:
16155
16156 /* Line 1464 of yacc.c  */
16157 #line 1622 "grammar.y"
16158     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16159     break;
16160
16161   case 381:
16162
16163 /* Line 1464 of yacc.c  */
16164 #line 1623 "grammar.y"
16165     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16166     break;
16167
16168   case 383:
16169
16170 /* Line 1464 of yacc.c  */
16171 #line 1628 "grammar.y"
16172     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16173     break;
16174
16175   case 384:
16176
16177 /* Line 1464 of yacc.c  */
16178 #line 1629 "grammar.y"
16179     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16180     break;
16181
16182   case 385:
16183
16184 /* Line 1464 of yacc.c  */
16185 #line 1630 "grammar.y"
16186     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16187     break;
16188
16189   case 386:
16190
16191 /* Line 1464 of yacc.c  */
16192 #line 1631 "grammar.y"
16193     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16194     break;
16195
16196   case 387:
16197
16198 /* Line 1464 of yacc.c  */
16199 #line 1633 "grammar.y"
16200     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16201     break;
16202
16203   case 388:
16204
16205 /* Line 1464 of yacc.c  */
16206 #line 1634 "grammar.y"
16207     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16208     break;
16209
16210   case 389:
16211
16212 /* Line 1464 of yacc.c  */
16213 #line 1635 "grammar.y"
16214     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16215     break;
16216
16217   case 390:
16218
16219 /* Line 1464 of yacc.c  */
16220 #line 1636 "grammar.y"
16221     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16222     break;
16223
16224   case 392:
16225
16226 /* Line 1464 of yacc.c  */
16227 #line 1641 "grammar.y"
16228     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16229     break;
16230
16231   case 393:
16232
16233 /* Line 1464 of yacc.c  */
16234 #line 1642 "grammar.y"
16235     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16236     break;
16237
16238   case 394:
16239
16240 /* Line 1464 of yacc.c  */
16241 #line 1644 "grammar.y"
16242     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16243     break;
16244
16245   case 395:
16246
16247 /* Line 1464 of yacc.c  */
16248 #line 1645 "grammar.y"
16249     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16250     break;
16251
16252   case 397:
16253
16254 /* Line 1464 of yacc.c  */
16255 #line 1650 "grammar.y"
16256     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16257     break;
16258
16259   case 398:
16260
16261 /* Line 1464 of yacc.c  */
16262 #line 1651 "grammar.y"
16263     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16264     break;
16265
16266   case 399:
16267
16268 /* Line 1464 of yacc.c  */
16269 #line 1653 "grammar.y"
16270     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16271     break;
16272
16273   case 400:
16274
16275 /* Line 1464 of yacc.c  */
16276 #line 1654 "grammar.y"
16277     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16278     break;
16279
16280   case 402:
16281
16282 /* Line 1464 of yacc.c  */
16283 #line 1659 "grammar.y"
16284     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16285     break;
16286
16287   case 403:
16288
16289 /* Line 1464 of yacc.c  */
16290 #line 1660 "grammar.y"
16291     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16292     break;
16293
16294   case 404:
16295
16296 /* Line 1464 of yacc.c  */
16297 #line 1662 "grammar.y"
16298     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16299     break;
16300
16301   case 405:
16302
16303 /* Line 1464 of yacc.c  */
16304 #line 1663 "grammar.y"
16305     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16306     break;
16307
16308   case 407:
16309
16310 /* Line 1464 of yacc.c  */
16311 #line 1668 "grammar.y"
16312     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16313     break;
16314
16315   case 408:
16316
16317 /* Line 1464 of yacc.c  */
16318 #line 1669 "grammar.y"
16319     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16320     break;
16321
16322   case 410:
16323
16324 /* Line 1464 of yacc.c  */
16325 #line 1674 "grammar.y"
16326     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16327     break;
16328
16329   case 411:
16330
16331 /* Line 1464 of yacc.c  */
16332 #line 1675 "grammar.y"
16333     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16334     break;
16335
16336   case 413:
16337
16338 /* Line 1464 of yacc.c  */
16339 #line 1680 "grammar.y"
16340     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16341     break;
16342
16343   case 414:
16344
16345 /* Line 1464 of yacc.c  */
16346 #line 1681 "grammar.y"
16347     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16348     break;
16349
16350   case 415:
16351
16352 /* Line 1464 of yacc.c  */
16353 #line 1682 "grammar.y"
16354     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16355     break;
16356
16357   case 416:
16358
16359 /* Line 1464 of yacc.c  */
16360 #line 1683 "grammar.y"
16361     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16362     break;
16363
16364   case 417:
16365
16366 /* Line 1464 of yacc.c  */
16367 #line 1685 "grammar.y"
16368     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16369     break;
16370
16371   case 418:
16372
16373 /* Line 1464 of yacc.c  */
16374 #line 1686 "grammar.y"
16375     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16376     break;
16377
16378   case 419:
16379
16380 /* Line 1464 of yacc.c  */
16381 #line 1687 "grammar.y"
16382     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16383     break;
16384
16385   case 420:
16386
16387 /* Line 1464 of yacc.c  */
16388 #line 1688 "grammar.y"
16389     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16390     break;
16391
16392   case 421:
16393
16394 /* Line 1464 of yacc.c  */
16395 #line 1690 "grammar.y"
16396     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16397     break;
16398
16399   case 422:
16400
16401 /* Line 1464 of yacc.c  */
16402 #line 1691 "grammar.y"
16403     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16404     break;
16405
16406   case 423:
16407
16408 /* Line 1464 of yacc.c  */
16409 #line 1692 "grammar.y"
16410     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16411     break;
16412
16413   case 424:
16414
16415 /* Line 1464 of yacc.c  */
16416 #line 1693 "grammar.y"
16417     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16418     break;
16419
16420   case 425:
16421
16422 /* Line 1464 of yacc.c  */
16423 #line 1695 "grammar.y"
16424     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16425     break;
16426
16427   case 426:
16428
16429 /* Line 1464 of yacc.c  */
16430 #line 1696 "grammar.y"
16431     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16432     break;
16433
16434   case 427:
16435
16436 /* Line 1464 of yacc.c  */
16437 #line 1697 "grammar.y"
16438     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16439     break;
16440
16441   case 428:
16442
16443 /* Line 1464 of yacc.c  */
16444 #line 1698 "grammar.y"
16445     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16446     break;
16447
16448   case 430:
16449
16450 /* Line 1464 of yacc.c  */
16451 #line 1703 "grammar.y"
16452     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16453     break;
16454
16455   case 431:
16456
16457 /* Line 1464 of yacc.c  */
16458 #line 1704 "grammar.y"
16459     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16460     break;
16461
16462   case 432:
16463
16464 /* Line 1464 of yacc.c  */
16465 #line 1705 "grammar.y"
16466     { 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); ;}
16467     break;
16468
16469   case 433:
16470
16471 /* Line 1464 of yacc.c  */
16472 #line 1706 "grammar.y"
16473     { 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); ;}
16474     break;
16475
16476   case 434:
16477
16478 /* Line 1464 of yacc.c  */
16479 #line 1708 "grammar.y"
16480     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16481     break;
16482
16483   case 435:
16484
16485 /* Line 1464 of yacc.c  */
16486 #line 1709 "grammar.y"
16487     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16488     break;
16489
16490   case 436:
16491
16492 /* Line 1464 of yacc.c  */
16493 #line 1710 "grammar.y"
16494     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16495     break;
16496
16497   case 437:
16498
16499 /* Line 1464 of yacc.c  */
16500 #line 1711 "grammar.y"
16501     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16502     break;
16503
16504   case 438:
16505
16506 /* Line 1464 of yacc.c  */
16507 #line 1715 "grammar.y"
16508     { (yyval.i) = '='; ;}
16509     break;
16510
16511   case 439:
16512
16513 /* Line 1464 of yacc.c  */
16514 #line 1716 "grammar.y"
16515     { (yyval.i) = MUL_ASSIGN; ;}
16516     break;
16517
16518   case 440:
16519
16520 /* Line 1464 of yacc.c  */
16521 #line 1717 "grammar.y"
16522     { (yyval.i) = DIV_ASSIGN; ;}
16523     break;
16524
16525   case 441:
16526
16527 /* Line 1464 of yacc.c  */
16528 #line 1718 "grammar.y"
16529     { (yyval.i) = MOD_ASSIGN; ;}
16530     break;
16531
16532   case 442:
16533
16534 /* Line 1464 of yacc.c  */
16535 #line 1719 "grammar.y"
16536     { (yyval.i) = ADD_ASSIGN; ;}
16537     break;
16538
16539   case 443:
16540
16541 /* Line 1464 of yacc.c  */
16542 #line 1720 "grammar.y"
16543     { (yyval.i) = SUB_ASSIGN; ;}
16544     break;
16545
16546   case 444:
16547
16548 /* Line 1464 of yacc.c  */
16549 #line 1721 "grammar.y"
16550     { (yyval.i) = LEFT_ASSIGN; ;}
16551     break;
16552
16553   case 445:
16554
16555 /* Line 1464 of yacc.c  */
16556 #line 1722 "grammar.y"
16557     { (yyval.i) = RIGHT_ASSIGN; ;}
16558     break;
16559
16560   case 446:
16561
16562 /* Line 1464 of yacc.c  */
16563 #line 1723 "grammar.y"
16564     { (yyval.i) = AND_ASSIGN; ;}
16565     break;
16566
16567   case 447:
16568
16569 /* Line 1464 of yacc.c  */
16570 #line 1724 "grammar.y"
16571     { (yyval.i) = XOR_ASSIGN; ;}
16572     break;
16573
16574   case 448:
16575
16576 /* Line 1464 of yacc.c  */
16577 #line 1725 "grammar.y"
16578     { (yyval.i) = OR_ASSIGN; ;}
16579     break;
16580
16581   case 449:
16582
16583 /* Line 1464 of yacc.c  */
16584 #line 1729 "grammar.y"
16585     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16586     break;
16587
16588   case 450:
16589
16590 /* Line 1464 of yacc.c  */
16591 #line 1730 "grammar.y"
16592     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16593     break;
16594
16595   case 451:
16596
16597 /* Line 1464 of yacc.c  */
16598 #line 1731 "grammar.y"
16599     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16600     break;
16601
16602   case 453:
16603
16604 /* Line 1464 of yacc.c  */
16605 #line 1736 "grammar.y"
16606     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16607     break;
16608
16609   case 454:
16610
16611 /* Line 1464 of yacc.c  */
16612 #line 1737 "grammar.y"
16613     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16614     break;
16615
16616   case 455:
16617
16618 /* Line 1464 of yacc.c  */
16619 #line 1738 "grammar.y"
16620     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16621     break;
16622
16623   case 457:
16624
16625 /* Line 1464 of yacc.c  */
16626 #line 1743 "grammar.y"
16627     { (yyval.exp) = MkExpDummy(); (yyval.exp).loc = (yyloc); /*printf("Sorry, didn't mean that syntax error\n");*/ ;}
16628     break;
16629
16630   case 459:
16631
16632 /* Line 1464 of yacc.c  */
16633 #line 1745 "grammar.y"
16634     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
16635     break;
16636
16637   case 460:
16638
16639 /* Line 1464 of yacc.c  */
16640 #line 1747 "grammar.y"
16641     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16642     break;
16643
16644   case 461:
16645
16646 /* Line 1464 of yacc.c  */
16647 #line 1748 "grammar.y"
16648     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16649     break;
16650
16651   case 462:
16652
16653 /* Line 1464 of yacc.c  */
16654 #line 1750 "grammar.y"
16655     { 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++;;}
16656     break;
16657
16658   case 463:
16659
16660 /* Line 1464 of yacc.c  */
16661 #line 1751 "grammar.y"
16662     { (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++;;}
16663     break;
16664
16665   case 464:
16666
16667 /* Line 1464 of yacc.c  */
16668 #line 1756 "grammar.y"
16669     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16670     break;
16671
16672   case 465:
16673
16674 /* Line 1464 of yacc.c  */
16675 #line 1758 "grammar.y"
16676     { (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++;;}
16677     break;
16678
16679   case 466:
16680
16681 /* Line 1464 of yacc.c  */
16682 #line 1763 "grammar.y"
16683     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16684     break;
16685
16686   case 467:
16687
16688 /* Line 1464 of yacc.c  */
16689 #line 1791 "grammar.y"
16690     { (yyval.exp) = MkExpOp(null, INC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16691     break;
16692
16693   case 468:
16694
16695 /* Line 1464 of yacc.c  */
16696 #line 1792 "grammar.y"
16697     { (yyval.exp) = MkExpOp(null, DEC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16698     break;
16699
16700   case 469:
16701
16702 /* Line 1464 of yacc.c  */
16703 #line 1793 "grammar.y"
16704     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16705     break;
16706
16707   case 470:
16708
16709 /* Line 1464 of yacc.c  */
16710 #line 1794 "grammar.y"
16711     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16712     break;
16713
16714   case 471:
16715
16716 /* Line 1464 of yacc.c  */
16717 #line 1796 "grammar.y"
16718     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16719     break;
16720
16721   case 472:
16722
16723 /* Line 1464 of yacc.c  */
16724 #line 1797 "grammar.y"
16725     { (yyval.exp) = MkExpTypeSize((yyvsp[(3) - (5)].typeName)); (yyval.exp).loc = (yyloc); ;}
16726     break;
16727
16728   case 473:
16729
16730 /* Line 1464 of yacc.c  */
16731 #line 1798 "grammar.y"
16732     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (6)].specifier)); (yyval.exp).loc = (yyloc); ;}
16733     break;
16734
16735   case 474:
16736
16737 /* Line 1464 of yacc.c  */
16738 #line 1799 "grammar.y"
16739     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (6)].specifier)); (yyval.exp).loc = (yyloc); ;}
16740     break;
16741
16742   case 475:
16743
16744 /* Line 1464 of yacc.c  */
16745 #line 1801 "grammar.y"
16746     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16747     break;
16748
16749   case 476:
16750
16751 /* Line 1464 of yacc.c  */
16752 #line 1802 "grammar.y"
16753     { (yyval.exp) = MkExpTypeAlign((yyvsp[(3) - (5)].typeName)); (yyval.exp).loc = (yyloc); ;}
16754     break;
16755
16756   case 480:
16757
16758 /* Line 1464 of yacc.c  */
16759 #line 1817 "grammar.y"
16760     { (yyval.exp) = MkExpCast((yyvsp[(2) - (4)].typeName), (yyvsp[(4) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
16761     break;
16762
16763   case 482:
16764
16765 /* Line 1464 of yacc.c  */
16766 #line 1822 "grammar.y"
16767     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16768     break;
16769
16770   case 483:
16771
16772 /* Line 1464 of yacc.c  */
16773 #line 1823 "grammar.y"
16774     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16775     break;
16776
16777   case 484:
16778
16779 /* Line 1464 of yacc.c  */
16780 #line 1824 "grammar.y"
16781     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16782     break;
16783
16784   case 485:
16785
16786 /* Line 1464 of yacc.c  */
16787 #line 1825 "grammar.y"
16788     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16789     break;
16790
16791   case 486:
16792
16793 /* Line 1464 of yacc.c  */
16794 #line 1826 "grammar.y"
16795     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16796     break;
16797
16798   case 487:
16799
16800 /* Line 1464 of yacc.c  */
16801 #line 1827 "grammar.y"
16802     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16803     break;
16804
16805   case 489:
16806
16807 /* Line 1464 of yacc.c  */
16808 #line 1832 "grammar.y"
16809     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16810     break;
16811
16812   case 490:
16813
16814 /* Line 1464 of yacc.c  */
16815 #line 1836 "grammar.y"
16816     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16817     break;
16818
16819   case 491:
16820
16821 /* Line 1464 of yacc.c  */
16822 #line 1840 "grammar.y"
16823     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16824     break;
16825
16826   case 492:
16827
16828 /* Line 1464 of yacc.c  */
16829 #line 1844 "grammar.y"
16830     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16831     break;
16832
16833   case 494:
16834
16835 /* Line 1464 of yacc.c  */
16836 #line 1852 "grammar.y"
16837     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16838     break;
16839
16840   case 495:
16841
16842 /* Line 1464 of yacc.c  */
16843 #line 1853 "grammar.y"
16844     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16845     break;
16846
16847   case 496:
16848
16849 /* Line 1464 of yacc.c  */
16850 #line 1854 "grammar.y"
16851     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16852     break;
16853
16854   case 497:
16855
16856 /* Line 1464 of yacc.c  */
16857 #line 1855 "grammar.y"
16858     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16859     break;
16860
16861   case 499:
16862
16863 /* Line 1464 of yacc.c  */
16864 #line 1861 "grammar.y"
16865     {
16866       if((yyvsp[(1) - (2)].exp).type == identifierExp)
16867       {
16868          _DeclClass((yyvsp[(1) - (2)].exp).identifier._class, (yyvsp[(1) - (2)].exp).identifier.string);
16869
16870          // printf("Declaring Class %s\n", $1.identifier.string);
16871          skipErrors = false;
16872
16873          FreeExpression((yyvsp[(1) - (2)].exp));
16874          FreeExpression((yyvsp[(2) - (2)].exp));
16875
16876          fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
16877          resetScannerPos(&(yylsp[(1) - (2)]).start);
16878          yyclearin;
16879
16880          YYPOPSTACK(1);
16881          yystate = *yyssp;
16882          YY_STACK_PRINT (yyss, yyssp);
16883
16884          YYPOPSTACK(1);
16885          yystate = *yyssp;
16886          YY_STACK_PRINT (yyss, yyssp);
16887 /*
16888          YYPOPSTACK(1);
16889          yystate = *yyssp;
16890          YY_STACK_PRINT (yyss, yyssp);
16891
16892          YYPOPSTACK(1);
16893          yystate = *yyssp;
16894          YY_STACK_PRINT (yyss, yyssp);
16895 */
16896          yyerrok;
16897
16898          goto yysetstate;
16899       }
16900       else
16901       {
16902          (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), '<', (yyvsp[(2) - (2)].exp));
16903          (yyval.exp).loc = (yyloc);
16904       }
16905       skipErrors = false;
16906    ;}
16907     break;
16908
16909   case 500:
16910
16911 /* Line 1464 of yacc.c  */
16912 #line 1903 "grammar.y"
16913     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16914     break;
16915
16916   case 501:
16917
16918 /* Line 1464 of yacc.c  */
16919 #line 1904 "grammar.y"
16920     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16921     break;
16922
16923   case 502:
16924
16925 /* Line 1464 of yacc.c  */
16926 #line 1905 "grammar.y"
16927     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16928     break;
16929
16930   case 503:
16931
16932 /* Line 1464 of yacc.c  */
16933 #line 1906 "grammar.y"
16934     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '<', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16935     break;
16936
16937   case 504:
16938
16939 /* Line 1464 of yacc.c  */
16940 #line 1907 "grammar.y"
16941     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16942     break;
16943
16944   case 505:
16945
16946 /* Line 1464 of yacc.c  */
16947 #line 1908 "grammar.y"
16948     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16949     break;
16950
16951   case 506:
16952
16953 /* Line 1464 of yacc.c  */
16954 #line 1909 "grammar.y"
16955     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16956     break;
16957
16958   case 508:
16959
16960 /* Line 1464 of yacc.c  */
16961 #line 1914 "grammar.y"
16962     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16963     break;
16964
16965   case 509:
16966
16967 /* Line 1464 of yacc.c  */
16968 #line 1915 "grammar.y"
16969     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16970     break;
16971
16972   case 510:
16973
16974 /* Line 1464 of yacc.c  */
16975 #line 1916 "grammar.y"
16976     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16977     break;
16978
16979   case 511:
16980
16981 /* Line 1464 of yacc.c  */
16982 #line 1917 "grammar.y"
16983     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16984     break;
16985
16986   case 512:
16987
16988 /* Line 1464 of yacc.c  */
16989 #line 1924 "grammar.y"
16990     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16991     break;
16992
16993   case 513:
16994
16995 /* Line 1464 of yacc.c  */
16996 #line 1925 "grammar.y"
16997     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16998     break;
16999
17000   case 514:
17001
17002 /* Line 1464 of yacc.c  */
17003 #line 1926 "grammar.y"
17004     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17005     break;
17006
17007   case 515:
17008
17009 /* Line 1464 of yacc.c  */
17010 #line 1927 "grammar.y"
17011     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17012     break;
17013
17014   case 517:
17015
17016 /* Line 1464 of yacc.c  */
17017 #line 1932 "grammar.y"
17018     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17019     break;
17020
17021   case 518:
17022
17023 /* Line 1464 of yacc.c  */
17024 #line 1933 "grammar.y"
17025     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17026     break;
17027
17028   case 519:
17029
17030 /* Line 1464 of yacc.c  */
17031 #line 1935 "grammar.y"
17032     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17033     break;
17034
17035   case 520:
17036
17037 /* Line 1464 of yacc.c  */
17038 #line 1936 "grammar.y"
17039     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17040     break;
17041
17042   case 522:
17043
17044 /* Line 1464 of yacc.c  */
17045 #line 1941 "grammar.y"
17046     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17047     break;
17048
17049   case 523:
17050
17051 /* Line 1464 of yacc.c  */
17052 #line 1942 "grammar.y"
17053     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17054     break;
17055
17056   case 524:
17057
17058 /* Line 1464 of yacc.c  */
17059 #line 1944 "grammar.y"
17060     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17061     break;
17062
17063   case 525:
17064
17065 /* Line 1464 of yacc.c  */
17066 #line 1945 "grammar.y"
17067     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17068     break;
17069
17070   case 527:
17071
17072 /* Line 1464 of yacc.c  */
17073 #line 1950 "grammar.y"
17074     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17075     break;
17076
17077   case 528:
17078
17079 /* Line 1464 of yacc.c  */
17080 #line 1951 "grammar.y"
17081     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17082     break;
17083
17084   case 529:
17085
17086 /* Line 1464 of yacc.c  */
17087 #line 1953 "grammar.y"
17088     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17089     break;
17090
17091   case 530:
17092
17093 /* Line 1464 of yacc.c  */
17094 #line 1954 "grammar.y"
17095     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17096     break;
17097
17098   case 532:
17099
17100 /* Line 1464 of yacc.c  */
17101 #line 1959 "grammar.y"
17102     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17103     break;
17104
17105   case 533:
17106
17107 /* Line 1464 of yacc.c  */
17108 #line 1960 "grammar.y"
17109     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17110     break;
17111
17112   case 535:
17113
17114 /* Line 1464 of yacc.c  */
17115 #line 1965 "grammar.y"
17116     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17117     break;
17118
17119   case 536:
17120
17121 /* Line 1464 of yacc.c  */
17122 #line 1966 "grammar.y"
17123     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17124     break;
17125
17126   case 538:
17127
17128 /* Line 1464 of yacc.c  */
17129 #line 1971 "grammar.y"
17130     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17131     break;
17132
17133   case 539:
17134
17135 /* Line 1464 of yacc.c  */
17136 #line 1972 "grammar.y"
17137     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17138     break;
17139
17140   case 540:
17141
17142 /* Line 1464 of yacc.c  */
17143 #line 1973 "grammar.y"
17144     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17145     break;
17146
17147   case 541:
17148
17149 /* Line 1464 of yacc.c  */
17150 #line 1974 "grammar.y"
17151     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17152     break;
17153
17154   case 542:
17155
17156 /* Line 1464 of yacc.c  */
17157 #line 1975 "grammar.y"
17158     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17159     break;
17160
17161   case 543:
17162
17163 /* Line 1464 of yacc.c  */
17164 #line 1976 "grammar.y"
17165     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17166     break;
17167
17168   case 544:
17169
17170 /* Line 1464 of yacc.c  */
17171 #line 1977 "grammar.y"
17172     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17173     break;
17174
17175   case 545:
17176
17177 /* Line 1464 of yacc.c  */
17178 #line 1978 "grammar.y"
17179     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17180     break;
17181
17182   case 546:
17183
17184 /* Line 1464 of yacc.c  */
17185 #line 1980 "grammar.y"
17186     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17187     break;
17188
17189   case 547:
17190
17191 /* Line 1464 of yacc.c  */
17192 #line 1981 "grammar.y"
17193     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17194     break;
17195
17196   case 548:
17197
17198 /* Line 1464 of yacc.c  */
17199 #line 1982 "grammar.y"
17200     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17201     break;
17202
17203   case 549:
17204
17205 /* Line 1464 of yacc.c  */
17206 #line 1983 "grammar.y"
17207     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17208     break;
17209
17210   case 550:
17211
17212 /* Line 1464 of yacc.c  */
17213 #line 1984 "grammar.y"
17214     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17215     break;
17216
17217   case 551:
17218
17219 /* Line 1464 of yacc.c  */
17220 #line 1985 "grammar.y"
17221     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17222     break;
17223
17224   case 552:
17225
17226 /* Line 1464 of yacc.c  */
17227 #line 1986 "grammar.y"
17228     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17229     break;
17230
17231   case 553:
17232
17233 /* Line 1464 of yacc.c  */
17234 #line 1987 "grammar.y"
17235     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17236     break;
17237
17238   case 554:
17239
17240 /* Line 1464 of yacc.c  */
17241 #line 1989 "grammar.y"
17242     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17243     break;
17244
17245   case 555:
17246
17247 /* Line 1464 of yacc.c  */
17248 #line 1990 "grammar.y"
17249     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17250     break;
17251
17252   case 556:
17253
17254 /* Line 1464 of yacc.c  */
17255 #line 1991 "grammar.y"
17256     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17257     break;
17258
17259   case 557:
17260
17261 /* Line 1464 of yacc.c  */
17262 #line 1992 "grammar.y"
17263     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17264     break;
17265
17266   case 558:
17267
17268 /* Line 1464 of yacc.c  */
17269 #line 1994 "grammar.y"
17270     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17271     break;
17272
17273   case 559:
17274
17275 /* Line 1464 of yacc.c  */
17276 #line 1995 "grammar.y"
17277     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17278     break;
17279
17280   case 560:
17281
17282 /* Line 1464 of yacc.c  */
17283 #line 1996 "grammar.y"
17284     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17285     break;
17286
17287   case 561:
17288
17289 /* Line 1464 of yacc.c  */
17290 #line 1997 "grammar.y"
17291     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17292     break;
17293
17294   case 562:
17295
17296 /* Line 1464 of yacc.c  */
17297 #line 2000 "grammar.y"
17298     {
17299          yyerror();
17300          (yyval.exp) = MkExpCondition((yyvsp[(1) - (3)].exp), MkListOne(MkExpDummy()), MkExpDummy());
17301          (yyval.exp).loc = (yyloc);
17302          ((Expression)(yyval.exp).cond.exp->last).loc = (yylsp[(2) - (3)]);
17303          (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (3)]);
17304       ;}
17305     break;
17306
17307   case 563:
17308
17309 /* Line 1464 of yacc.c  */
17310 #line 2008 "grammar.y"
17311     {
17312          (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)]);
17313       ;}
17314     break;
17315
17316   case 564:
17317
17318 /* Line 1464 of yacc.c  */
17319 #line 2012 "grammar.y"
17320     {
17321          yyerror();
17322          (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)]);
17323       ;}
17324     break;
17325
17326   case 565:
17327
17328 /* Line 1464 of yacc.c  */
17329 #line 2017 "grammar.y"
17330     {
17331          (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)]);
17332       ;}
17333     break;
17334
17335   case 567:
17336
17337 /* Line 1464 of yacc.c  */
17338 #line 2024 "grammar.y"
17339     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17340     break;
17341
17342   case 568:
17343
17344 /* Line 1464 of yacc.c  */
17345 #line 2028 "grammar.y"
17346     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17347     break;
17348
17349   case 569:
17350
17351 /* Line 1464 of yacc.c  */
17352 #line 2033 "grammar.y"
17353     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17354     break;
17355
17356   case 570:
17357
17358 /* Line 1464 of yacc.c  */
17359 #line 2034 "grammar.y"
17360     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17361     break;
17362
17363   case 571:
17364
17365 /* Line 1464 of yacc.c  */
17366 #line 2038 "grammar.y"
17367     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
17368     break;
17369
17370   case 572:
17371
17372 /* Line 1464 of yacc.c  */
17373 #line 2039 "grammar.y"
17374     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].exp)); ;}
17375     break;
17376
17377   case 573:
17378
17379 /* Line 1464 of yacc.c  */
17380 #line 2040 "grammar.y"
17381     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17382     break;
17383
17384   case 574:
17385
17386 /* Line 1464 of yacc.c  */
17387 #line 2041 "grammar.y"
17388     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17389     break;
17390
17391   case 575:
17392
17393 /* Line 1464 of yacc.c  */
17394 #line 2047 "grammar.y"
17395     { yyerror(); (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17396     break;
17397
17398   case 576:
17399
17400 /* Line 1464 of yacc.c  */
17401 #line 2048 "grammar.y"
17402     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17403     break;
17404
17405   case 577:
17406
17407 /* Line 1464 of yacc.c  */
17408 #line 2049 "grammar.y"
17409     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17410     break;
17411
17412   case 578:
17413
17414 /* Line 1464 of yacc.c  */
17415 #line 2053 "grammar.y"
17416     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
17417     break;
17418
17419   case 579:
17420
17421 /* Line 1464 of yacc.c  */
17422 #line 2054 "grammar.y"
17423     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].exp)); ;}
17424     break;
17425
17426   case 580:
17427
17428 /* Line 1464 of yacc.c  */
17429 #line 2055 "grammar.y"
17430     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17431     break;
17432
17433   case 581:
17434
17435 /* Line 1464 of yacc.c  */
17436 #line 2056 "grammar.y"
17437     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17438     break;
17439
17440   case 584:
17441
17442 /* Line 1464 of yacc.c  */
17443 #line 2066 "grammar.y"
17444     { (yyval.specifier) = MkSpecifier(TYPEDEF); ;}
17445     break;
17446
17447   case 585:
17448
17449 /* Line 1464 of yacc.c  */
17450 #line 2067 "grammar.y"
17451     { (yyval.specifier) = MkSpecifier(EXTERN); ;}
17452     break;
17453
17454   case 586:
17455
17456 /* Line 1464 of yacc.c  */
17457 #line 2068 "grammar.y"
17458     { (yyval.specifier) = MkSpecifier(STATIC); ;}
17459     break;
17460
17461   case 587:
17462
17463 /* Line 1464 of yacc.c  */
17464 #line 2069 "grammar.y"
17465     { (yyval.specifier) = MkSpecifier(THREAD); ;}
17466     break;
17467
17468   case 588:
17469
17470 /* Line 1464 of yacc.c  */
17471 #line 2070 "grammar.y"
17472     { (yyval.specifier) = MkSpecifier(AUTO); ;}
17473     break;
17474
17475   case 589:
17476
17477 /* Line 1464 of yacc.c  */
17478 #line 2071 "grammar.y"
17479     { (yyval.specifier) = MkSpecifier(REGISTER); ;}
17480     break;
17481
17482   case 590:
17483
17484 /* Line 1464 of yacc.c  */
17485 #line 2072 "grammar.y"
17486     { (yyval.specifier) = MkSpecifier(RESTRICT); ;}
17487     break;
17488
17489   case 591:
17490
17491 /* Line 1464 of yacc.c  */
17492 #line 2076 "grammar.y"
17493     { (yyval.specifier) = MkSpecifier(TYPEDEF); structDeclMode = declMode = defaultAccess; ;}
17494     break;
17495
17496   case 592:
17497
17498 /* Line 1464 of yacc.c  */
17499 #line 2077 "grammar.y"
17500     { (yyval.specifier) = MkSpecifier(EXTERN); ;}
17501     break;
17502
17503   case 593:
17504
17505 /* Line 1464 of yacc.c  */
17506 #line 2078 "grammar.y"
17507     { (yyval.specifier) = MkSpecifier(STATIC); structDeclMode = declMode = staticAccess; ;}
17508     break;
17509
17510   case 594:
17511
17512 /* Line 1464 of yacc.c  */
17513 #line 2079 "grammar.y"
17514     { (yyval.specifier) = MkSpecifier(THREAD); ;}
17515     break;
17516
17517   case 595:
17518
17519 /* Line 1464 of yacc.c  */
17520 #line 2080 "grammar.y"
17521     { (yyval.specifier) = MkSpecifier(AUTO); ;}
17522     break;
17523
17524   case 596:
17525
17526 /* Line 1464 of yacc.c  */
17527 #line 2081 "grammar.y"
17528     { (yyval.specifier) = MkSpecifier(REGISTER); ;}
17529     break;
17530
17531   case 597:
17532
17533 /* Line 1464 of yacc.c  */
17534 #line 2082 "grammar.y"
17535     { (yyval.specifier) = MkSpecifier(RESTRICT); ;}
17536     break;
17537
17538   case 598:
17539
17540 /* Line 1464 of yacc.c  */
17541 #line 2086 "grammar.y"
17542     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (1)].id), null); ;}
17543     break;
17544
17545   case 599:
17546
17547 /* Line 1464 of yacc.c  */
17548 #line 2087 "grammar.y"
17549     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].exp)); ;}
17550     break;
17551
17552   case 600:
17553
17554 /* Line 1464 of yacc.c  */
17555 #line 2088 "grammar.y"
17556     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].exp)); ;}
17557     break;
17558
17559   case 601:
17560
17561 /* Line 1464 of yacc.c  */
17562 #line 2092 "grammar.y"
17563     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].enumerator)); ;}
17564     break;
17565
17566   case 602:
17567
17568 /* Line 1464 of yacc.c  */
17569 #line 2093 "grammar.y"
17570     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].enumerator)); ;}
17571     break;
17572
17573   case 604:
17574
17575 /* Line 1464 of yacc.c  */
17576 #line 2098 "grammar.y"
17577     { memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
17578     break;
17579
17580   case 605:
17581
17582 /* Line 1464 of yacc.c  */
17583 #line 2102 "grammar.y"
17584     { (yyval.specifier) = MkEnum((yyvsp[(2) - (2)].id), null); POP_DEFAULT_ACCESS ;}
17585     break;
17586
17587   case 606:
17588
17589 /* Line 1464 of yacc.c  */
17590 #line 2103 "grammar.y"
17591     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (2)].specifier).name), null); POP_DEFAULT_ACCESS ;}
17592     break;
17593
17594   case 607:
17595
17596 /* Line 1464 of yacc.c  */
17597 #line 2107 "grammar.y"
17598     { (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS (yyval.specifier) = (yyvsp[(1) - (2)].specifier); ;}
17599     break;
17600
17601   case 608:
17602
17603 /* Line 1464 of yacc.c  */
17604 #line 2108 "grammar.y"
17605     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17606     break;
17607
17608   case 609:
17609
17610 /* Line 1464 of yacc.c  */
17611 #line 2109 "grammar.y"
17612     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), null); FreeSpecifier((yyvsp[(2) - (4)].specifier)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17613     break;
17614
17615   case 610:
17616
17617 /* Line 1464 of yacc.c  */
17618 #line 2113 "grammar.y"
17619     { (yyval.specifier) = MkEnum(null, (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17620     break;
17621
17622   case 611:
17623
17624 /* Line 1464 of yacc.c  */
17625 #line 2114 "grammar.y"
17626     { (yyval.specifier) = MkEnum(null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17627     break;
17628
17629   case 612:
17630
17631 /* Line 1464 of yacc.c  */
17632 #line 2116 "grammar.y"
17633     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), (yyvsp[(4) - (4)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17634     break;
17635
17636   case 613:
17637
17638 /* Line 1464 of yacc.c  */
17639 #line 2117 "grammar.y"
17640     { (yyval.specifier) = MkEnum((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].list));  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17641     break;
17642
17643   case 614:
17644
17645 /* Line 1464 of yacc.c  */
17646 #line 2118 "grammar.y"
17647     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), null);  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17648     break;
17649
17650   case 615:
17651
17652 /* Line 1464 of yacc.c  */
17653 #line 2119 "grammar.y"
17654     { (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 ;}
17655     break;
17656
17657   case 616:
17658
17659 /* Line 1464 of yacc.c  */
17660 #line 2120 "grammar.y"
17661     { (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 ;}
17662     break;
17663
17664   case 617:
17665
17666 /* Line 1464 of yacc.c  */
17667 #line 2122 "grammar.y"
17668     { (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 ;}
17669     break;
17670
17671   case 618:
17672
17673 /* Line 1464 of yacc.c  */
17674 #line 2123 "grammar.y"
17675     { (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 ;}
17676     break;
17677
17678   case 619:
17679
17680 /* Line 1464 of yacc.c  */
17681 #line 2124 "grammar.y"
17682     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), null); (yyval.specifier).loc = (yyloc); FreeSpecifier((yyvsp[(2) - (4)].specifier)); POP_DEFAULT_ACCESS ;}
17683     break;
17684
17685   case 620:
17686
17687 /* Line 1464 of yacc.c  */
17688 #line 2125 "grammar.y"
17689     { (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 ;}
17690     break;
17691
17692   case 621:
17693
17694 /* Line 1464 of yacc.c  */
17695 #line 2126 "grammar.y"
17696     { (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 ;}
17697     break;
17698
17699   case 622:
17700
17701 /* Line 1464 of yacc.c  */
17702 #line 2128 "grammar.y"
17703     { (yyval.specifier) = MkEnum((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17704     break;
17705
17706   case 623:
17707
17708 /* Line 1464 of yacc.c  */
17709 #line 2129 "grammar.y"
17710     { (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 ;}
17711     break;
17712
17713   case 624:
17714
17715 /* Line 1464 of yacc.c  */
17716 #line 2133 "grammar.y"
17717     { (yyval.id) = (yyvsp[(2) - (2)].id); if(declMode) DeclClassAddNameSpace((yyvsp[(2) - (2)].id)._class, (yyvsp[(2) - (2)].id).string); ;}
17718     break;
17719
17720   case 625:
17721
17722 /* Line 1464 of yacc.c  */
17723 #line 2134 "grammar.y"
17724     { (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)); ;}
17725     break;
17726
17727   case 626:
17728
17729 /* Line 1464 of yacc.c  */
17730 #line 2138 "grammar.y"
17731     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
17732     break;
17733
17734   case 627:
17735
17736 /* Line 1464 of yacc.c  */
17737 #line 2139 "grammar.y"
17738     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17739     break;
17740
17741   case 628:
17742
17743 /* Line 1464 of yacc.c  */
17744 #line 2140 "grammar.y"
17745     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), null); POP_DEFAULT_ACCESS ;}
17746     break;
17747
17748   case 629:
17749
17750 /* Line 1464 of yacc.c  */
17751 #line 2144 "grammar.y"
17752     { (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 ;}
17753     break;
17754
17755   case 630:
17756
17757 /* Line 1464 of yacc.c  */
17758 #line 2145 "grammar.y"
17759     { (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 ;}
17760     break;
17761
17762   case 631:
17763
17764 /* Line 1464 of yacc.c  */
17765 #line 2146 "grammar.y"
17766     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17767     break;
17768
17769   case 632:
17770
17771 /* Line 1464 of yacc.c  */
17772 #line 2147 "grammar.y"
17773     { (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 ;}
17774     break;
17775
17776   case 633:
17777
17778 /* Line 1464 of yacc.c  */
17779 #line 2148 "grammar.y"
17780     { (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 ;}
17781     break;
17782
17783   case 634:
17784
17785 /* Line 1464 of yacc.c  */
17786 #line 2149 "grammar.y"
17787     { (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 ;}
17788     break;
17789
17790   case 635:
17791
17792 /* Line 1464 of yacc.c  */
17793 #line 2150 "grammar.y"
17794     { (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 ;}
17795     break;
17796
17797   case 636:
17798
17799 /* Line 1464 of yacc.c  */
17800 #line 2151 "grammar.y"
17801     { (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 ;}
17802     break;
17803
17804   case 637:
17805
17806 /* Line 1464 of yacc.c  */
17807 #line 2152 "grammar.y"
17808     { (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 ;}
17809     break;
17810
17811   case 638:
17812
17813 /* Line 1464 of yacc.c  */
17814 #line 2154 "grammar.y"
17815     { (yyval.specifier) = MkEnum(null, (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17816     break;
17817
17818   case 639:
17819
17820 /* Line 1464 of yacc.c  */
17821 #line 2155 "grammar.y"
17822     { (yyval.specifier) = MkEnum(null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17823     break;
17824
17825   case 640:
17826
17827 /* Line 1464 of yacc.c  */
17828 #line 2157 "grammar.y"
17829     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17830     break;
17831
17832   case 641:
17833
17834 /* Line 1464 of yacc.c  */
17835 #line 2158 "grammar.y"
17836     { (yyval.specifier) = MkEnum((yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17837     break;
17838
17839   case 642:
17840
17841 /* Line 1464 of yacc.c  */
17842 #line 2159 "grammar.y"
17843     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17844     break;
17845
17846   case 643:
17847
17848 /* Line 1464 of yacc.c  */
17849 #line 2160 "grammar.y"
17850     { (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 ;}
17851     break;
17852
17853   case 644:
17854
17855 /* Line 1464 of yacc.c  */
17856 #line 2161 "grammar.y"
17857     { (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 ;}
17858     break;
17859
17860   case 645:
17861
17862 /* Line 1464 of yacc.c  */
17863 #line 2163 "grammar.y"
17864     { (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 ;}
17865     break;
17866
17867   case 646:
17868
17869 /* Line 1464 of yacc.c  */
17870 #line 2164 "grammar.y"
17871     { (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 ;}
17872     break;
17873
17874   case 647:
17875
17876 /* Line 1464 of yacc.c  */
17877 #line 2165 "grammar.y"
17878     { (yyval.specifier) = MkEnum((yyvsp[(1) - (6)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (6)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17879     break;
17880
17881   case 648:
17882
17883 /* Line 1464 of yacc.c  */
17884 #line 2166 "grammar.y"
17885     { (yyval.specifier) = MkEnum((yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].list));  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17886     break;
17887
17888   case 653:
17889
17890 /* Line 1464 of yacc.c  */
17891 #line 2180 "grammar.y"
17892     { (yyval.specifier) = MkSpecifierExtended((yyvsp[(1) - (1)].extDecl)); ;}
17893     break;
17894
17895   case 654:
17896
17897 /* Line 1464 of yacc.c  */
17898 #line 2184 "grammar.y"
17899     { (yyval.specifier) = MkSpecifier(CONST); ;}
17900     break;
17901
17902   case 655:
17903
17904 /* Line 1464 of yacc.c  */
17905 #line 2185 "grammar.y"
17906     { (yyval.specifier) = MkSpecifier(VOLATILE); ;}
17907     break;
17908
17909   case 656:
17910
17911 /* Line 1464 of yacc.c  */
17912 #line 2186 "grammar.y"
17913     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); ;}
17914     break;
17915
17916   case 657:
17917
17918 /* Line 1464 of yacc.c  */
17919 #line 2191 "grammar.y"
17920     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17921     break;
17922
17923   case 658:
17924
17925 /* Line 1464 of yacc.c  */
17926 #line 2192 "grammar.y"
17927     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier));  ;}
17928     break;
17929
17930   case 659:
17931
17932 /* Line 1464 of yacc.c  */
17933 #line 2196 "grammar.y"
17934     { (yyval.specifier) = MkSpecifier(VOID); ;}
17935     break;
17936
17937   case 660:
17938
17939 /* Line 1464 of yacc.c  */
17940 #line 2197 "grammar.y"
17941     { (yyval.specifier) = MkSpecifier(CHAR); ;}
17942     break;
17943
17944   case 661:
17945
17946 /* Line 1464 of yacc.c  */
17947 #line 2198 "grammar.y"
17948     { (yyval.specifier) = MkSpecifier(SHORT); ;}
17949     break;
17950
17951   case 662:
17952
17953 /* Line 1464 of yacc.c  */
17954 #line 2199 "grammar.y"
17955     { (yyval.specifier) = MkSpecifier(INT); ;}
17956     break;
17957
17958   case 663:
17959
17960 /* Line 1464 of yacc.c  */
17961 #line 2200 "grammar.y"
17962     { (yyval.specifier) = MkSpecifier(UINT); ;}
17963     break;
17964
17965   case 664:
17966
17967 /* Line 1464 of yacc.c  */
17968 #line 2201 "grammar.y"
17969     { (yyval.specifier) = MkSpecifier(INT64); ;}
17970     break;
17971
17972   case 665:
17973
17974 /* Line 1464 of yacc.c  */
17975 #line 2202 "grammar.y"
17976     { (yyval.specifier) = MkSpecifier(VALIST); ;}
17977     break;
17978
17979   case 666:
17980
17981 /* Line 1464 of yacc.c  */
17982 #line 2203 "grammar.y"
17983     { (yyval.specifier) = MkSpecifier(LONG); ;}
17984     break;
17985
17986   case 667:
17987
17988 /* Line 1464 of yacc.c  */
17989 #line 2204 "grammar.y"
17990     { (yyval.specifier) = MkSpecifier(FLOAT); ;}
17991     break;
17992
17993   case 668:
17994
17995 /* Line 1464 of yacc.c  */
17996 #line 2205 "grammar.y"
17997     { (yyval.specifier) = MkSpecifier(DOUBLE); ;}
17998     break;
17999
18000   case 669:
18001
18002 /* Line 1464 of yacc.c  */
18003 #line 2206 "grammar.y"
18004     { (yyval.specifier) = MkSpecifier(SIGNED); ;}
18005     break;
18006
18007   case 670:
18008
18009 /* Line 1464 of yacc.c  */
18010 #line 2207 "grammar.y"
18011     { (yyval.specifier) = MkSpecifier(UNSIGNED); ;}
18012     break;
18013
18014   case 671:
18015
18016 /* Line 1464 of yacc.c  */
18017 #line 2208 "grammar.y"
18018     { (yyval.specifier) = MkSpecifier(EXTENSION); ;}
18019     break;
18020
18021   case 675:
18022
18023 /* Line 1464 of yacc.c  */
18024 #line 2212 "grammar.y"
18025     { (yyval.specifier) = MkSpecifierTypeOf((yyvsp[(3) - (4)].exp)); ;}
18026     break;
18027
18028   case 676:
18029
18030 /* Line 1464 of yacc.c  */
18031 #line 2213 "grammar.y"
18032     { (yyval.specifier) = MkSpecifierSubClass((yyvsp[(3) - (4)].specifier)); ;}
18033     break;
18034
18035   case 677:
18036
18037 /* Line 1464 of yacc.c  */
18038 #line 2214 "grammar.y"
18039     { _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)); ;}
18040     break;
18041
18042   case 678:
18043
18044 /* Line 1464 of yacc.c  */
18045 #line 2215 "grammar.y"
18046     { (yyval.specifier) = MkSpecifier(THISCLASS); ;}
18047     break;
18048
18049   case 679:
18050
18051 /* Line 1464 of yacc.c  */
18052 #line 2216 "grammar.y"
18053     { (yyval.specifier) = MkSpecifier(TYPED_OBJECT); ;}
18054     break;
18055
18056   case 680:
18057
18058 /* Line 1464 of yacc.c  */
18059 #line 2217 "grammar.y"
18060     { (yyval.specifier) = MkSpecifier(ANY_OBJECT); ;}
18061     break;
18062
18063   case 681:
18064
18065 /* Line 1464 of yacc.c  */
18066 #line 2218 "grammar.y"
18067     { (yyval.specifier) = MkSpecifier(_BOOL); ;}
18068     break;
18069
18070   case 682:
18071
18072 /* Line 1464 of yacc.c  */
18073 #line 2219 "grammar.y"
18074     { (yyval.specifier) = MkSpecifier(BOOL); ;}
18075     break;
18076
18077   case 683:
18078
18079 /* Line 1464 of yacc.c  */
18080 #line 2220 "grammar.y"
18081     { (yyval.specifier) = MkSpecifier(_COMPLEX); ;}
18082     break;
18083
18084   case 684:
18085
18086 /* Line 1464 of yacc.c  */
18087 #line 2221 "grammar.y"
18088     { (yyval.specifier) = MkSpecifier(_IMAGINARY); ;}
18089     break;
18090
18091   case 685:
18092
18093 /* Line 1464 of yacc.c  */
18094 #line 2225 "grammar.y"
18095     { (yyval.specifier) = MkSpecifier(VOID); ;}
18096     break;
18097
18098   case 686:
18099
18100 /* Line 1464 of yacc.c  */
18101 #line 2226 "grammar.y"
18102     { (yyval.specifier) = MkSpecifier(CHAR); ;}
18103     break;
18104
18105   case 687:
18106
18107 /* Line 1464 of yacc.c  */
18108 #line 2227 "grammar.y"
18109     { (yyval.specifier) = MkSpecifier(SHORT); ;}
18110     break;
18111
18112   case 688:
18113
18114 /* Line 1464 of yacc.c  */
18115 #line 2228 "grammar.y"
18116     { (yyval.specifier) = MkSpecifier(INT); ;}
18117     break;
18118
18119   case 689:
18120
18121 /* Line 1464 of yacc.c  */
18122 #line 2229 "grammar.y"
18123     { (yyval.specifier) = MkSpecifier(UINT); ;}
18124     break;
18125
18126   case 690:
18127
18128 /* Line 1464 of yacc.c  */
18129 #line 2230 "grammar.y"
18130     { (yyval.specifier) = MkSpecifier(INT64); ;}
18131     break;
18132
18133   case 691:
18134
18135 /* Line 1464 of yacc.c  */
18136 #line 2231 "grammar.y"
18137     { (yyval.specifier) = MkSpecifier(VALIST); ;}
18138     break;
18139
18140   case 692:
18141
18142 /* Line 1464 of yacc.c  */
18143 #line 2232 "grammar.y"
18144     { (yyval.specifier) = MkSpecifier(LONG); ;}
18145     break;
18146
18147   case 693:
18148
18149 /* Line 1464 of yacc.c  */
18150 #line 2233 "grammar.y"
18151     { (yyval.specifier) = MkSpecifier(FLOAT); ;}
18152     break;
18153
18154   case 694:
18155
18156 /* Line 1464 of yacc.c  */
18157 #line 2234 "grammar.y"
18158     { (yyval.specifier) = MkSpecifier(DOUBLE); ;}
18159     break;
18160
18161   case 695:
18162
18163 /* Line 1464 of yacc.c  */
18164 #line 2235 "grammar.y"
18165     { (yyval.specifier) = MkSpecifier(SIGNED); ;}
18166     break;
18167
18168   case 696:
18169
18170 /* Line 1464 of yacc.c  */
18171 #line 2236 "grammar.y"
18172     { (yyval.specifier) = MkSpecifier(UNSIGNED); ;}
18173     break;
18174
18175   case 697:
18176
18177 /* Line 1464 of yacc.c  */
18178 #line 2237 "grammar.y"
18179     { (yyval.specifier) = MkSpecifier(EXTENSION); ;}
18180     break;
18181
18182   case 701:
18183
18184 /* Line 1464 of yacc.c  */
18185 #line 2241 "grammar.y"
18186     { (yyval.specifier) = MkSpecifier(_BOOL); ;}
18187     break;
18188
18189   case 702:
18190
18191 /* Line 1464 of yacc.c  */
18192 #line 2242 "grammar.y"
18193     { (yyval.specifier) = MkSpecifier(BOOL); ;}
18194     break;
18195
18196   case 703:
18197
18198 /* Line 1464 of yacc.c  */
18199 #line 2243 "grammar.y"
18200     { (yyval.specifier) = MkSpecifier(_COMPLEX); ;}
18201     break;
18202
18203   case 704:
18204
18205 /* Line 1464 of yacc.c  */
18206 #line 2244 "grammar.y"
18207     { (yyval.specifier) = MkSpecifier(_IMAGINARY); ;}
18208     break;
18209
18210   case 705:
18211
18212 /* Line 1464 of yacc.c  */
18213 #line 2245 "grammar.y"
18214     { (yyval.specifier) = MkSpecifierTypeOf((yyvsp[(3) - (4)].exp)); ;}
18215     break;
18216
18217   case 706:
18218
18219 /* Line 1464 of yacc.c  */
18220 #line 2246 "grammar.y"
18221     { (yyval.specifier) = MkSpecifierSubClass((yyvsp[(3) - (4)].specifier)); ;}
18222     break;
18223
18224   case 707:
18225
18226 /* Line 1464 of yacc.c  */
18227 #line 2247 "grammar.y"
18228     { _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)); ;}
18229     break;
18230
18231   case 708:
18232
18233 /* Line 1464 of yacc.c  */
18234 #line 2248 "grammar.y"
18235     { (yyval.specifier) = MkSpecifier(THISCLASS); ;}
18236     break;
18237
18238   case 709:
18239
18240 /* Line 1464 of yacc.c  */
18241 #line 2255 "grammar.y"
18242     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.declarator).loc = (yyloc); ;}
18243     break;
18244
18245   case 710:
18246
18247 /* Line 1464 of yacc.c  */
18248 #line 2257 "grammar.y"
18249     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (2)].declarator), null); (yyval.declarator).structDecl.attrib = (yyvsp[(2) - (2)].attrib); (yyval.declarator).loc = (yyloc); ;}
18250     break;
18251
18252   case 711:
18253
18254 /* Line 1464 of yacc.c  */
18255 #line 2259 "grammar.y"
18256     { (yyval.declarator) = MkStructDeclarator(null, (yyvsp[(2) - (2)].exp));  (yyval.declarator).loc = (yyloc); ;}
18257     break;
18258
18259   case 712:
18260
18261 /* Line 1464 of yacc.c  */
18262 #line 2261 "grammar.y"
18263     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].exp));  (yyval.declarator).loc = (yyloc); ;}
18264     break;
18265
18266   case 713:
18267
18268 /* Line 1464 of yacc.c  */
18269 #line 2263 "grammar.y"
18270     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18271     break;
18272
18273   case 714:
18274
18275 /* Line 1464 of yacc.c  */
18276 #line 2265 "grammar.y"
18277     { (yyval.declarator) = MkStructDeclarator(null, (yyvsp[(2) - (2)].exp));  (yyval.declarator).loc = (yyloc); ;}
18278     break;
18279
18280   case 715:
18281
18282 /* Line 1464 of yacc.c  */
18283 #line 2267 "grammar.y"
18284     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].exp));  (yyval.declarator).loc = (yyloc); ;}
18285     break;
18286
18287   case 716:
18288
18289 /* Line 1464 of yacc.c  */
18290 #line 2269 "grammar.y"
18291     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18292     break;
18293
18294   case 717:
18295
18296 /* Line 1464 of yacc.c  */
18297 #line 2271 "grammar.y"
18298     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18299     break;
18300
18301   case 718:
18302
18303 /* Line 1464 of yacc.c  */
18304 #line 2273 "grammar.y"
18305     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18306     break;
18307
18308   case 719:
18309
18310 /* Line 1464 of yacc.c  */
18311 #line 2277 "grammar.y"
18312     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declarator)); ;}
18313     break;
18314
18315   case 720:
18316
18317 /* Line 1464 of yacc.c  */
18318 #line 2278 "grammar.y"
18319     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].declarator)); ;}
18320     break;
18321
18322   case 721:
18323
18324 /* Line 1464 of yacc.c  */
18325 #line 2283 "grammar.y"
18326     {
18327          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (2)].specifierType), (yyvsp[(2) - (2)].id), null);
18328          (yyval.specifier).addNameSpace = true;
18329          (yyval.specifier).ctx = PushContext();
18330       ;}
18331     break;
18332
18333   case 722:
18334
18335 /* Line 1464 of yacc.c  */
18336 #line 2289 "grammar.y"
18337     {
18338          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (2)].specifierType), MkIdentifier((yyvsp[(2) - (2)].specifier).name), null);
18339          (yyval.specifier).ctx = PushContext();
18340          FreeSpecifier((yyvsp[(2) - (2)].specifier));
18341       ;}
18342     break;
18343
18344   case 723:
18345
18346 /* Line 1464 of yacc.c  */
18347 #line 2295 "grammar.y"
18348     {
18349          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), (yyvsp[(3) - (3)].id), null);
18350          (yyval.specifier).extDeclStruct = (yyvsp[(2) - (3)].extDecl);
18351          (yyval.specifier).addNameSpace = true;
18352          (yyval.specifier).ctx = PushContext();
18353       ;}
18354     break;
18355
18356   case 724:
18357
18358 /* Line 1464 of yacc.c  */
18359 #line 2302 "grammar.y"
18360     {
18361          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), MkIdentifier((yyvsp[(3) - (3)].specifier).name), null);
18362          (yyval.specifier).extDeclStruct = (yyvsp[(2) - (3)].extDecl);
18363          (yyval.specifier).ctx = PushContext();
18364          FreeSpecifier((yyvsp[(3) - (3)].specifier));
18365       ;}
18366     break;
18367
18368   case 725:
18369
18370 /* Line 1464 of yacc.c  */
18371 #line 2311 "grammar.y"
18372     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
18373     break;
18374
18375   case 726:
18376
18377 /* Line 1464 of yacc.c  */
18378 #line 2312 "grammar.y"
18379     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18380     break;
18381
18382   case 727:
18383
18384 /* Line 1464 of yacc.c  */
18385 #line 2313 "grammar.y"
18386     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18387     break;
18388
18389   case 728:
18390
18391 /* Line 1464 of yacc.c  */
18392 #line 2314 "grammar.y"
18393     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, null); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18394     break;
18395
18396   case 729:
18397
18398 /* Line 1464 of yacc.c  */
18399 #line 2318 "grammar.y"
18400     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); AddStructDefinitions((yyvsp[(1) - (3)].specifier), (yyvsp[(3) - (3)].list));  POP_DEFAULT_ACCESS PopContext(curContext); ;}
18401     break;
18402
18403   case 730:
18404
18405 /* Line 1464 of yacc.c  */
18406 #line 2319 "grammar.y"
18407     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); AddStructDefinitions((yyvsp[(1) - (3)].specifier), (yyvsp[(3) - (3)].list));  POP_DEFAULT_ACCESS PopContext(curContext); ;}
18408     break;
18409
18410   case 731:
18411
18412 /* Line 1464 of yacc.c  */
18413 #line 2320 "grammar.y"
18414     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18415     break;
18416
18417   case 732:
18418
18419 /* Line 1464 of yacc.c  */
18420 #line 2322 "grammar.y"
18421     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18422     break;
18423
18424   case 733:
18425
18426 /* Line 1464 of yacc.c  */
18427 #line 2323 "grammar.y"
18428     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18429     break;
18430
18431   case 734:
18432
18433 /* Line 1464 of yacc.c  */
18434 #line 2324 "grammar.y"
18435     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18436     break;
18437
18438   case 735:
18439
18440 /* Line 1464 of yacc.c  */
18441 #line 2326 "grammar.y"
18442     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, (yyvsp[(4) - (4)].list)); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18443     break;
18444
18445   case 736:
18446
18447 /* Line 1464 of yacc.c  */
18448 #line 2327 "grammar.y"
18449     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, (yyvsp[(4) - (4)].list)); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18450     break;
18451
18452   case 737:
18453
18454 /* Line 1464 of yacc.c  */
18455 #line 2328 "grammar.y"
18456     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, null); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18457     break;
18458
18459   case 738:
18460
18461 /* Line 1464 of yacc.c  */
18462 #line 2332 "grammar.y"
18463     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18464     break;
18465
18466   case 739:
18467
18468 /* Line 1464 of yacc.c  */
18469 #line 2337 "grammar.y"
18470     {
18471         (yyval.specifier) = (yyvsp[(1) - (1)].specifier);
18472         if(declMode)
18473         {
18474            ((yyvsp[(1) - (1)].specifier).addNameSpace ? DeclClassAddNameSpace : DeclClass)((yyvsp[(1) - (1)].specifier).id._class, (yyvsp[(1) - (1)].specifier).id.string);
18475         }
18476      ;}
18477     break;
18478
18479   case 740:
18480
18481 /* Line 1464 of yacc.c  */
18482 #line 2345 "grammar.y"
18483     {
18484       Symbol symbol = ((yyvsp[(1) - (4)].specifier).addNameSpace ? DeclClassAddNameSpace : DeclClass)((yyvsp[(1) - (4)].specifier).id._class, (yyvsp[(1) - (4)].specifier).id.string);
18485       (yyval.specifier) = (yyvsp[(1) - (4)].specifier);
18486       symbol.templateParams = (yyvsp[(3) - (4)].list);
18487    ;}
18488     break;
18489
18490   case 741:
18491
18492 /* Line 1464 of yacc.c  */
18493 #line 2354 "grammar.y"
18494     {
18495       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18496       (yyval.specifier).baseSpecs = (yyvsp[(3) - (3)].list);
18497       SetupBaseSpecs(null, (yyvsp[(3) - (3)].list));
18498    ;}
18499     break;
18500
18501   case 742:
18502
18503 /* Line 1464 of yacc.c  */
18504 #line 2362 "grammar.y"
18505     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
18506     break;
18507
18508   case 743:
18509
18510 /* Line 1464 of yacc.c  */
18511 #line 2364 "grammar.y"
18512     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18513     break;
18514
18515   case 744:
18516
18517 /* Line 1464 of yacc.c  */
18518 #line 2365 "grammar.y"
18519     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18520     break;
18521
18522   case 745:
18523
18524 /* Line 1464 of yacc.c  */
18525 #line 2366 "grammar.y"
18526     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18527     break;
18528
18529   case 746:
18530
18531 /* Line 1464 of yacc.c  */
18532 #line 2371 "grammar.y"
18533     {
18534       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18535       (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18536       POP_DEFAULT_ACCESS
18537       PopContext(curContext);
18538    ;}
18539     break;
18540
18541   case 747:
18542
18543 /* Line 1464 of yacc.c  */
18544 #line 2378 "grammar.y"
18545     {
18546       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18547       (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18548       POP_DEFAULT_ACCESS
18549       PopContext(curContext);
18550    ;}
18551     break;
18552
18553   case 748:
18554
18555 /* Line 1464 of yacc.c  */
18556 #line 2385 "grammar.y"
18557     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext);;}
18558     break;
18559
18560   case 749:
18561
18562 /* Line 1464 of yacc.c  */
18563 #line 2388 "grammar.y"
18564     {
18565         PopContext(curContext);
18566         if(!declMode)
18567         {
18568            (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifier).type, (yyvsp[(1) - (3)].specifier).id, (yyvsp[(3) - (3)].list));
18569            (yyvsp[(1) - (3)].specifier).id = null;
18570            FreeSpecifier((yyvsp[(1) - (3)].specifier));
18571         }
18572         else
18573            (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18574         POP_DEFAULT_ACCESS
18575      ;}
18576     break;
18577
18578   case 750:
18579
18580 /* Line 1464 of yacc.c  */
18581 #line 2401 "grammar.y"
18582     {
18583         PopContext(curContext);
18584
18585         if(!declMode)
18586         {
18587            (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifier).type, (yyvsp[(1) - (3)].specifier).id, (yyvsp[(3) - (3)].list));
18588            (yyvsp[(1) - (3)].specifier).id = null;
18589            FreeSpecifier((yyvsp[(1) - (3)].specifier));
18590         }
18591         else
18592            (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18593         POP_DEFAULT_ACCESS
18594      ;}
18595     break;
18596
18597   case 751:
18598
18599 /* Line 1464 of yacc.c  */
18600 #line 2415 "grammar.y"
18601     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18602     break;
18603
18604   case 752:
18605
18606 /* Line 1464 of yacc.c  */
18607 #line 2418 "grammar.y"
18608     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS  ;}
18609     break;
18610
18611   case 753:
18612
18613 /* Line 1464 of yacc.c  */
18614 #line 2420 "grammar.y"
18615     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18616     break;
18617
18618   case 754:
18619
18620 /* Line 1464 of yacc.c  */
18621 #line 2422 "grammar.y"
18622     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18623     break;
18624
18625   case 755:
18626
18627 /* Line 1464 of yacc.c  */
18628 #line 2426 "grammar.y"
18629     { (yyval.specifierType) = structSpecifier; memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
18630     break;
18631
18632   case 756:
18633
18634 /* Line 1464 of yacc.c  */
18635 #line 2427 "grammar.y"
18636     { (yyval.specifierType) = unionSpecifier; memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
18637     break;
18638
18639   case 757:
18640
18641 /* Line 1464 of yacc.c  */
18642 #line 2431 "grammar.y"
18643     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18644     break;
18645
18646   case 758:
18647
18648 /* Line 1464 of yacc.c  */
18649 #line 2432 "grammar.y"
18650     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18651     break;
18652
18653   case 759:
18654
18655 /* Line 1464 of yacc.c  */
18656 #line 2433 "grammar.y"
18657     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18658     break;
18659
18660   case 760:
18661
18662 /* Line 1464 of yacc.c  */
18663 #line 2434 "grammar.y"
18664     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18665     break;
18666
18667   case 761:
18668
18669 /* Line 1464 of yacc.c  */
18670 #line 2435 "grammar.y"
18671     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18672     break;
18673
18674   case 762:
18675
18676 /* Line 1464 of yacc.c  */
18677 #line 2436 "grammar.y"
18678     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18679     break;
18680
18681   case 763:
18682
18683 /* Line 1464 of yacc.c  */
18684 #line 2437 "grammar.y"
18685     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18686     break;
18687
18688   case 764:
18689
18690 /* Line 1464 of yacc.c  */
18691 #line 2438 "grammar.y"
18692     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18693     break;
18694
18695   case 765:
18696
18697 /* Line 1464 of yacc.c  */
18698 #line 2442 "grammar.y"
18699     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18700     break;
18701
18702   case 766:
18703
18704 /* Line 1464 of yacc.c  */
18705 #line 2443 "grammar.y"
18706     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18707     break;
18708
18709   case 767:
18710
18711 /* Line 1464 of yacc.c  */
18712 #line 2444 "grammar.y"
18713     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18714     break;
18715
18716   case 768:
18717
18718 /* Line 1464 of yacc.c  */
18719 #line 2445 "grammar.y"
18720     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18721     break;
18722
18723   case 769:
18724
18725 /* Line 1464 of yacc.c  */
18726 #line 2446 "grammar.y"
18727     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18728     break;
18729
18730   case 770:
18731
18732 /* Line 1464 of yacc.c  */
18733 #line 2447 "grammar.y"
18734     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18735     break;
18736
18737   case 771:
18738
18739 /* Line 1464 of yacc.c  */
18740 #line 2448 "grammar.y"
18741     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18742     break;
18743
18744   case 772:
18745
18746 /* Line 1464 of yacc.c  */
18747 #line 2449 "grammar.y"
18748     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18749     break;
18750
18751   case 773:
18752
18753 /* Line 1464 of yacc.c  */
18754 #line 2450 "grammar.y"
18755     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18756     break;
18757
18758   case 774:
18759
18760 /* Line 1464 of yacc.c  */
18761 #line 2451 "grammar.y"
18762     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18763     break;
18764
18765   case 775:
18766
18767 /* Line 1464 of yacc.c  */
18768 #line 2455 "grammar.y"
18769     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18770     break;
18771
18772   case 776:
18773
18774 /* Line 1464 of yacc.c  */
18775 #line 2456 "grammar.y"
18776     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18777     break;
18778
18779   case 777:
18780
18781 /* Line 1464 of yacc.c  */
18782 #line 2457 "grammar.y"
18783     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18784     break;
18785
18786   case 778:
18787
18788 /* Line 1464 of yacc.c  */
18789 #line 2458 "grammar.y"
18790     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18791     break;
18792
18793   case 779:
18794
18795 /* Line 1464 of yacc.c  */
18796 #line 2459 "grammar.y"
18797     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18798     break;
18799
18800   case 780:
18801
18802 /* Line 1464 of yacc.c  */
18803 #line 2460 "grammar.y"
18804     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18805     break;
18806
18807   case 781:
18808
18809 /* Line 1464 of yacc.c  */
18810 #line 2461 "grammar.y"
18811     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18812     break;
18813
18814   case 782:
18815
18816 /* Line 1464 of yacc.c  */
18817 #line 2462 "grammar.y"
18818     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18819     break;
18820
18821   case 783:
18822
18823 /* Line 1464 of yacc.c  */
18824 #line 2463 "grammar.y"
18825     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18826     break;
18827
18828   case 784:
18829
18830 /* Line 1464 of yacc.c  */
18831 #line 2464 "grammar.y"
18832     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18833     break;
18834
18835   case 785:
18836
18837 /* Line 1464 of yacc.c  */
18838 #line 2468 "grammar.y"
18839     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18840     break;
18841
18842   case 786:
18843
18844 /* Line 1464 of yacc.c  */
18845 #line 2469 "grammar.y"
18846     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18847     break;
18848
18849   case 787:
18850
18851 /* Line 1464 of yacc.c  */
18852 #line 2470 "grammar.y"
18853     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18854     break;
18855
18856   case 788:
18857
18858 /* Line 1464 of yacc.c  */
18859 #line 2471 "grammar.y"
18860     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18861     break;
18862
18863   case 789:
18864
18865 /* Line 1464 of yacc.c  */
18866 #line 2472 "grammar.y"
18867     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18868     break;
18869
18870   case 790:
18871
18872 /* Line 1464 of yacc.c  */
18873 #line 2473 "grammar.y"
18874     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18875     break;
18876
18877   case 791:
18878
18879 /* Line 1464 of yacc.c  */
18880 #line 2474 "grammar.y"
18881     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18882     break;
18883
18884   case 792:
18885
18886 /* Line 1464 of yacc.c  */
18887 #line 2475 "grammar.y"
18888     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18889     break;
18890
18891   case 793:
18892
18893 /* Line 1464 of yacc.c  */
18894 #line 2476 "grammar.y"
18895     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18896     break;
18897
18898   case 794:
18899
18900 /* Line 1464 of yacc.c  */
18901 #line 2477 "grammar.y"
18902     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18903     break;
18904
18905   case 795:
18906
18907 /* Line 1464 of yacc.c  */
18908 #line 2478 "grammar.y"
18909     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18910     break;
18911
18912   case 796:
18913
18914 /* Line 1464 of yacc.c  */
18915 #line 2479 "grammar.y"
18916     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18917     break;
18918
18919   case 797:
18920
18921 /* Line 1464 of yacc.c  */
18922 #line 2483 "grammar.y"
18923     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18924     break;
18925
18926   case 798:
18927
18928 /* Line 1464 of yacc.c  */
18929 #line 2484 "grammar.y"
18930     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18931     break;
18932
18933   case 799:
18934
18935 /* Line 1464 of yacc.c  */
18936 #line 2485 "grammar.y"
18937     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18938     break;
18939
18940   case 800:
18941
18942 /* Line 1464 of yacc.c  */
18943 #line 2486 "grammar.y"
18944     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18945     break;
18946
18947   case 801:
18948
18949 /* Line 1464 of yacc.c  */
18950 #line 2487 "grammar.y"
18951     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18952     break;
18953
18954   case 802:
18955
18956 /* Line 1464 of yacc.c  */
18957 #line 2488 "grammar.y"
18958     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18959     break;
18960
18961   case 803:
18962
18963 /* Line 1464 of yacc.c  */
18964 #line 2489 "grammar.y"
18965     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18966     break;
18967
18968   case 804:
18969
18970 /* Line 1464 of yacc.c  */
18971 #line 2490 "grammar.y"
18972     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18973     break;
18974
18975   case 805:
18976
18977 /* Line 1464 of yacc.c  */
18978 #line 2491 "grammar.y"
18979     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18980     break;
18981
18982   case 806:
18983
18984 /* Line 1464 of yacc.c  */
18985 #line 2492 "grammar.y"
18986     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18987     break;
18988
18989   case 807:
18990
18991 /* Line 1464 of yacc.c  */
18992 #line 2496 "grammar.y"
18993     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18994     break;
18995
18996   case 808:
18997
18998 /* Line 1464 of yacc.c  */
18999 #line 2497 "grammar.y"
19000     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19001     break;
19002
19003   case 809:
19004
19005 /* Line 1464 of yacc.c  */
19006 #line 2501 "grammar.y"
19007     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifier(PRIVATE)); ;}
19008     break;
19009
19010   case 810:
19011
19012 /* Line 1464 of yacc.c  */
19013 #line 2502 "grammar.y"
19014     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifier(PUBLIC)); ;}
19015     break;
19016
19017   case 811:
19018
19019 /* Line 1464 of yacc.c  */
19020 #line 2503 "grammar.y"
19021     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19022     break;
19023
19024   case 812:
19025
19026 /* Line 1464 of yacc.c  */
19027 #line 2504 "grammar.y"
19028     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19029     break;
19030
19031   case 813:
19032
19033 /* Line 1464 of yacc.c  */
19034 #line 2505 "grammar.y"
19035     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19036     break;
19037
19038   case 814:
19039
19040 /* Line 1464 of yacc.c  */
19041 #line 2506 "grammar.y"
19042     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19043     break;
19044
19045   case 815:
19046
19047 /* Line 1464 of yacc.c  */
19048 #line 2507 "grammar.y"
19049     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19050     break;
19051
19052   case 816:
19053
19054 /* Line 1464 of yacc.c  */
19055 #line 2508 "grammar.y"
19056     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19057     break;
19058
19059   case 817:
19060
19061 /* Line 1464 of yacc.c  */
19062 #line 2510 "grammar.y"
19063     { _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)); ;}
19064     break;
19065
19066   case 818:
19067
19068 /* Line 1464 of yacc.c  */
19069 #line 2511 "grammar.y"
19070     { (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)); ;}
19071     break;
19072
19073   case 819:
19074
19075 /* Line 1464 of yacc.c  */
19076 #line 2514 "grammar.y"
19077     {
19078          _DeclClass((yyvsp[(1) - (4)].id)._class, (yyvsp[(1) - (4)].id).string);
19079
19080          (yyval.list) = MkList();
19081          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19082          FreeIdentifier((yyvsp[(1) - (4)].id));
19083       ;}
19084     break;
19085
19086   case 820:
19087
19088 /* Line 1464 of yacc.c  */
19089 #line 2522 "grammar.y"
19090     {
19091          (yyval.list) = (yyvsp[(1) - (5)].list);
19092          _DeclClass((yyvsp[(2) - (5)].id)._class, (yyvsp[(2) - (5)].id).string);
19093          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19094          FreeIdentifier((yyvsp[(2) - (5)].id));
19095       ;}
19096     break;
19097
19098   case 822:
19099
19100 /* Line 1464 of yacc.c  */
19101 #line 2532 "grammar.y"
19102     { (yyval.list) = MkListOne(MkStructOrUnion((yyvsp[(1) - (1)].specifierType), null, null)); POP_DEFAULT_ACCESS ;}
19103     break;
19104
19105   case 823:
19106
19107 /* Line 1464 of yacc.c  */
19108 #line 2536 "grammar.y"
19109     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19110     break;
19111
19112   case 824:
19113
19114 /* Line 1464 of yacc.c  */
19115 #line 2537 "grammar.y"
19116     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19117     break;
19118
19119   case 825:
19120
19121 /* Line 1464 of yacc.c  */
19122 #line 2538 "grammar.y"
19123     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19124     break;
19125
19126   case 826:
19127
19128 /* Line 1464 of yacc.c  */
19129 #line 2539 "grammar.y"
19130     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19131     break;
19132
19133   case 827:
19134
19135 /* Line 1464 of yacc.c  */
19136 #line 2540 "grammar.y"
19137     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19138     break;
19139
19140   case 828:
19141
19142 /* Line 1464 of yacc.c  */
19143 #line 2541 "grammar.y"
19144     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19145     break;
19146
19147   case 829:
19148
19149 /* Line 1464 of yacc.c  */
19150 #line 2542 "grammar.y"
19151     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
19152     break;
19153
19154   case 830:
19155
19156 /* Line 1464 of yacc.c  */
19157 #line 2543 "grammar.y"
19158     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
19159     break;
19160
19161   case 831:
19162
19163 /* Line 1464 of yacc.c  */
19164 #line 2545 "grammar.y"
19165     {
19166          _DeclClass((yyvsp[(1) - (4)].id)._class, (yyvsp[(1) - (4)].id).string);
19167
19168          (yyval.list) = MkList();
19169          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19170          FreeIdentifier((yyvsp[(1) - (4)].id));
19171       ;}
19172     break;
19173
19174   case 832:
19175
19176 /* Line 1464 of yacc.c  */
19177 #line 2553 "grammar.y"
19178     {
19179          _DeclClass((yyvsp[(2) - (5)].id)._class, (yyvsp[(2) - (5)].id).string);
19180          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19181          FreeIdentifier((yyvsp[(2) - (5)].id));
19182       ;}
19183     break;
19184
19185   case 833:
19186
19187 /* Line 1464 of yacc.c  */
19188 #line 2561 "grammar.y"
19189     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19190     break;
19191
19192   case 834:
19193
19194 /* Line 1464 of yacc.c  */
19195 #line 2562 "grammar.y"
19196     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19197     break;
19198
19199   case 835:
19200
19201 /* Line 1464 of yacc.c  */
19202 #line 2563 "grammar.y"
19203     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19204     break;
19205
19206   case 836:
19207
19208 /* Line 1464 of yacc.c  */
19209 #line 2564 "grammar.y"
19210     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19211     break;
19212
19213   case 837:
19214
19215 /* Line 1464 of yacc.c  */
19216 #line 2565 "grammar.y"
19217     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19218     break;
19219
19220   case 838:
19221
19222 /* Line 1464 of yacc.c  */
19223 #line 2566 "grammar.y"
19224     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19225     break;
19226
19227   case 839:
19228
19229 /* Line 1464 of yacc.c  */
19230 #line 2567 "grammar.y"
19231     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19232     break;
19233
19234   case 840:
19235
19236 /* Line 1464 of yacc.c  */
19237 #line 2568 "grammar.y"
19238     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19239     break;
19240
19241   case 841:
19242
19243 /* Line 1464 of yacc.c  */
19244 #line 2569 "grammar.y"
19245     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19246     break;
19247
19248   case 842:
19249
19250 /* Line 1464 of yacc.c  */
19251 #line 2570 "grammar.y"
19252     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19253     break;
19254
19255   case 843:
19256
19257 /* Line 1464 of yacc.c  */
19258 #line 2571 "grammar.y"
19259     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
19260     break;
19261
19262   case 844:
19263
19264 /* Line 1464 of yacc.c  */
19265 #line 2572 "grammar.y"
19266     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
19267     break;
19268
19269   case 845:
19270
19271 /* Line 1464 of yacc.c  */
19272 #line 2574 "grammar.y"
19273     {
19274          _DeclClass((yyvsp[(1) - (4)].id)._class, (yyvsp[(1) - (4)].id).string);
19275
19276          (yyval.list) = MkList();
19277          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19278          FreeIdentifier((yyvsp[(1) - (4)].id));
19279       ;}
19280     break;
19281
19282   case 846:
19283
19284 /* Line 1464 of yacc.c  */
19285 #line 2582 "grammar.y"
19286     {
19287          _DeclClass((yyvsp[(2) - (5)].id)._class, (yyvsp[(2) - (5)].id).string);
19288          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19289          FreeIdentifier((yyvsp[(2) - (5)].id));
19290       ;}
19291     break;
19292
19293   case 847:
19294
19295 /* Line 1464 of yacc.c  */
19296 #line 2590 "grammar.y"
19297     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19298     break;
19299
19300   case 848:
19301
19302 /* Line 1464 of yacc.c  */
19303 #line 2591 "grammar.y"
19304     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19305     break;
19306
19307   case 849:
19308
19309 /* Line 1464 of yacc.c  */
19310 #line 2592 "grammar.y"
19311     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19312     break;
19313
19314   case 850:
19315
19316 /* Line 1464 of yacc.c  */
19317 #line 2593 "grammar.y"
19318     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19319     break;
19320
19321   case 851:
19322
19323 /* Line 1464 of yacc.c  */
19324 #line 2594 "grammar.y"
19325     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19326     break;
19327
19328   case 852:
19329
19330 /* Line 1464 of yacc.c  */
19331 #line 2595 "grammar.y"
19332     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19333     break;
19334
19335   case 853:
19336
19337 /* Line 1464 of yacc.c  */
19338 #line 2596 "grammar.y"
19339     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19340     break;
19341
19342   case 854:
19343
19344 /* Line 1464 of yacc.c  */
19345 #line 2597 "grammar.y"
19346     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19347     break;
19348
19349   case 855:
19350
19351 /* Line 1464 of yacc.c  */
19352 #line 2598 "grammar.y"
19353     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19354     break;
19355
19356   case 856:
19357
19358 /* Line 1464 of yacc.c  */
19359 #line 2599 "grammar.y"
19360     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19361     break;
19362
19363   case 857:
19364
19365 /* Line 1464 of yacc.c  */
19366 #line 2600 "grammar.y"
19367     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
19368     break;
19369
19370   case 858:
19371
19372 /* Line 1464 of yacc.c  */
19373 #line 2601 "grammar.y"
19374     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
19375     break;
19376
19377   case 859:
19378
19379 /* Line 1464 of yacc.c  */
19380 #line 2603 "grammar.y"
19381     {
19382          _DeclClass((yyvsp[(1) - (4)].id)._class, (yyvsp[(1) - (4)].id).string);
19383
19384          (yyval.list) = MkList();
19385          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19386          FreeIdentifier((yyvsp[(1) - (4)].id));
19387       ;}
19388     break;
19389
19390   case 860:
19391
19392 /* Line 1464 of yacc.c  */
19393 #line 2611 "grammar.y"
19394     {
19395          _DeclClass((yyvsp[(2) - (5)].id)._class, (yyvsp[(2) - (5)].id).string);
19396          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19397          FreeIdentifier((yyvsp[(2) - (5)].id));
19398       ;}
19399     break;
19400
19401   case 861:
19402
19403 /* Line 1464 of yacc.c  */
19404 #line 2619 "grammar.y"
19405     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
19406     break;
19407
19408   case 862:
19409
19410 /* Line 1464 of yacc.c  */
19411 #line 2620 "grammar.y"
19412     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
19413     break;
19414
19415   case 863:
19416
19417 /* Line 1464 of yacc.c  */
19418 #line 2624 "grammar.y"
19419     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(1) - (1)].id)))); ;}
19420     break;
19421
19422   case 864:
19423
19424 /* Line 1464 of yacc.c  */
19425 #line 2625 "grammar.y"
19426     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19427     break;
19428
19429   case 865:
19430
19431 /* Line 1464 of yacc.c  */
19432 #line 2626 "grammar.y"
19433     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19434     break;
19435
19436   case 866:
19437
19438 /* Line 1464 of yacc.c  */
19439 #line 2627 "grammar.y"
19440     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19441     break;
19442
19443   case 867:
19444
19445 /* Line 1464 of yacc.c  */
19446 #line 2628 "grammar.y"
19447     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19448     break;
19449
19450   case 869:
19451
19452 /* Line 1464 of yacc.c  */
19453 #line 2634 "grammar.y"
19454     {
19455       char * colon = RSearchString((yyvsp[(1) - (1)].specifier).name, "::", strlen((yyvsp[(1) - (1)].specifier).name), true, false);
19456       String s = colon ? colon + 2 : (yyvsp[(1) - (1)].specifier).name;
19457       (yyval.declarator) = MkDeclaratorIdentifier(MkIdentifier(s));
19458       FreeSpecifier((yyvsp[(1) - (1)].specifier));
19459    ;}
19460     break;
19461
19462   case 870:
19463
19464 /* Line 1464 of yacc.c  */
19465 #line 2640 "grammar.y"
19466     { (yyval.declarator) = MkDeclaratorIdentifier(MkIdentifier("uint")); ;}
19467     break;
19468
19469   case 871:
19470
19471 /* Line 1464 of yacc.c  */
19472 #line 2643 "grammar.y"
19473     {
19474          Declarator decl;
19475          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19476          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19477          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19478          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19479          (yyval.declarator) = MkDeclaratorArray(decl, (yyvsp[(3) - (4)].exp));
19480       ;}
19481     break;
19482
19483   case 872:
19484
19485 /* Line 1464 of yacc.c  */
19486 #line 2652 "grammar.y"
19487     {
19488          Declarator decl;
19489          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19490          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19491          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19492          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19493          (yyval.declarator) = MkDeclaratorArray(decl, (yyvsp[(3) - (4)].exp));
19494       ;}
19495     break;
19496
19497   case 873:
19498
19499 /* Line 1464 of yacc.c  */
19500 #line 2661 "grammar.y"
19501     {
19502          Declarator decl;
19503          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19504          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19505          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19506          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19507          (yyval.declarator) = MkDeclaratorEnumArray(decl, (yyvsp[(3) - (4)].specifier));
19508       ;}
19509     break;
19510
19511   case 874:
19512
19513 /* Line 1464 of yacc.c  */
19514 #line 2670 "grammar.y"
19515     {
19516          Declarator decl;
19517          char * colon = RSearchString((yyvsp[(1) - (3)].specifier).name, "::", strlen((yyvsp[(1) - (3)].specifier).name), true, false);
19518          String s = colon ? colon + 2 : (yyvsp[(1) - (3)].specifier).name;
19519          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19520          FreeSpecifier((yyvsp[(1) - (3)].specifier));
19521          (yyval.declarator) = MkDeclaratorEnumArray(decl, null);
19522       ;}
19523     break;
19524
19525   case 875:
19526
19527 /* Line 1464 of yacc.c  */
19528 #line 2678 "grammar.y"
19529     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19530     break;
19531
19532   case 876:
19533
19534 /* Line 1464 of yacc.c  */
19535 #line 2679 "grammar.y"
19536     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19537     break;
19538
19539   case 877:
19540
19541 /* Line 1464 of yacc.c  */
19542 #line 2680 "grammar.y"
19543     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
19544     break;
19545
19546   case 878:
19547
19548 /* Line 1464 of yacc.c  */
19549 #line 2681 "grammar.y"
19550     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19551     break;
19552
19553   case 879:
19554
19555 /* Line 1464 of yacc.c  */
19556 #line 2685 "grammar.y"
19557     { (yyval.declarator) = MkDeclaratorIdentifier((yyvsp[(1) - (1)].id)); ;}
19558     break;
19559
19560   case 880:
19561
19562 /* Line 1464 of yacc.c  */
19563 #line 2686 "grammar.y"
19564     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19565     break;
19566
19567   case 881:
19568
19569 /* Line 1464 of yacc.c  */
19570 #line 2687 "grammar.y"
19571     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19572     break;
19573
19574   case 882:
19575
19576 /* Line 1464 of yacc.c  */
19577 #line 2688 "grammar.y"
19578     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19579     break;
19580
19581   case 883:
19582
19583 /* Line 1464 of yacc.c  */
19584 #line 2689 "grammar.y"
19585     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19586     break;
19587
19588   case 884:
19589
19590 /* Line 1464 of yacc.c  */
19591 #line 2690 "grammar.y"
19592     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19593     break;
19594
19595   case 885:
19596
19597 /* Line 1464 of yacc.c  */
19598 #line 2691 "grammar.y"
19599     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19600     break;
19601
19602   case 886:
19603
19604 /* Line 1464 of yacc.c  */
19605 #line 2692 "grammar.y"
19606     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
19607     break;
19608
19609   case 887:
19610
19611 /* Line 1464 of yacc.c  */
19612 #line 2693 "grammar.y"
19613     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19614     break;
19615
19616   case 889:
19617
19618 /* Line 1464 of yacc.c  */
19619 #line 2701 "grammar.y"
19620     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19621     break;
19622
19623   case 890:
19624
19625 /* Line 1464 of yacc.c  */
19626 #line 2702 "grammar.y"
19627     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19628     break;
19629
19630   case 891:
19631
19632 /* Line 1464 of yacc.c  */
19633 #line 2703 "grammar.y"
19634     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19635     break;
19636
19637   case 892:
19638
19639 /* Line 1464 of yacc.c  */
19640 #line 2704 "grammar.y"
19641     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19642     break;
19643
19644   case 893:
19645
19646 /* Line 1464 of yacc.c  */
19647 #line 2705 "grammar.y"
19648     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); ;}
19649     break;
19650
19651   case 894:
19652
19653 /* Line 1464 of yacc.c  */
19654 #line 2711 "grammar.y"
19655     {
19656          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), (yyvsp[(2) - (2)].list));
19657          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19658          yyclearin;
19659          resetScannerPos(&(yylsp[(1) - (2)]).end);
19660          (yyloc).start = (yylsp[(1) - (2)]).start;
19661          (yyloc).end = (yylsp[(1) - (2)]).end;
19662       ;}
19663     break;
19664
19665   case 895:
19666
19667 /* Line 1464 of yacc.c  */
19668 #line 2720 "grammar.y"
19669     {
19670          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null);
19671          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19672          yyclearin;
19673          resetScannerPos(&(yylsp[(1) - (2)]).end);
19674          (yyloc).start = (yylsp[(1) - (2)]).start;
19675          (yyloc).end = (yylsp[(1) - (2)]).end;
19676       ;}
19677     break;
19678
19679   case 896:
19680
19681 /* Line 1464 of yacc.c  */
19682 #line 2729 "grammar.y"
19683     {
19684          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list));
19685          fileInput.Seek((yylsp[(1) - (3)]).end.pos, start);
19686          yyclearin;
19687          resetScannerPos(&(yylsp[(1) - (3)]).end);
19688          (yyloc).start = (yylsp[(1) - (3)]).start;
19689          (yyloc).end = (yylsp[(1) - (3)]).end;
19690       ;}
19691     break;
19692
19693   case 897:
19694
19695 /* Line 1464 of yacc.c  */
19696 #line 2738 "grammar.y"
19697     {
19698          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), null);
19699          fileInput.Seek((yylsp[(1) - (4)]).end.pos, start);
19700          yyclearin;
19701          resetScannerPos(&(yylsp[(1) - (4)]).end);
19702          (yyloc).start = (yylsp[(1) - (4)]).start;
19703          (yyloc).end = (yylsp[(1) - (4)]).end;
19704          FreeList((yyvsp[(2) - (4)].list), FreeSpecifier);
19705          FreeIdentifier((yyvsp[(3) - (4)].id));
19706       ;}
19707     break;
19708
19709   case 901:
19710
19711 /* Line 1464 of yacc.c  */
19712 #line 2761 "grammar.y"
19713     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19714     break;
19715
19716   case 902:
19717
19718 /* Line 1464 of yacc.c  */
19719 #line 2762 "grammar.y"
19720     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19721     break;
19722
19723   case 903:
19724
19725 /* Line 1464 of yacc.c  */
19726 #line 2763 "grammar.y"
19727     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19728     break;
19729
19730   case 904:
19731
19732 /* Line 1464 of yacc.c  */
19733 #line 2764 "grammar.y"
19734     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19735     break;
19736
19737   case 905:
19738
19739 /* Line 1464 of yacc.c  */
19740 #line 2765 "grammar.y"
19741     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); ;}
19742     break;
19743
19744   case 906:
19745
19746 /* Line 1464 of yacc.c  */
19747 #line 2771 "grammar.y"
19748     {
19749          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), (yyvsp[(2) - (2)].list));
19750          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19751          yyclearin;
19752          resetScannerPos(&(yylsp[(1) - (2)]).end);
19753          (yyloc).start = (yylsp[(1) - (2)]).start;
19754          (yyloc).end = (yylsp[(1) - (2)]).end;
19755       ;}
19756     break;
19757
19758   case 907:
19759
19760 /* Line 1464 of yacc.c  */
19761 #line 2780 "grammar.y"
19762     {
19763          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null);
19764          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19765          yyclearin;
19766          resetScannerPos(&(yylsp[(1) - (2)]).end);
19767          (yyloc).start = (yylsp[(1) - (2)]).start;
19768          (yyloc).end = (yylsp[(1) - (2)]).end;
19769       ;}
19770     break;
19771
19772   case 908:
19773
19774 /* Line 1464 of yacc.c  */
19775 #line 2789 "grammar.y"
19776     {
19777          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list));
19778          fileInput.Seek((yylsp[(1) - (3)]).end.pos, start);
19779          yyclearin;
19780          resetScannerPos(&(yylsp[(1) - (3)]).end);
19781          (yyloc).start = (yylsp[(1) - (3)]).start;
19782          (yyloc).end = (yylsp[(1) - (3)]).end;
19783       ;}
19784     break;
19785
19786   case 909:
19787
19788 /* Line 1464 of yacc.c  */
19789 #line 2798 "grammar.y"
19790     {
19791          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), null);
19792          fileInput.Seek((yylsp[(1) - (4)]).end.pos, start);
19793          yyclearin;
19794          resetScannerPos(&(yylsp[(1) - (4)]).end);
19795          (yyloc).start = (yylsp[(1) - (4)]).start;
19796          (yyloc).end = (yylsp[(1) - (4)]).end;
19797          FreeList((yyvsp[(2) - (4)].list), FreeSpecifier);
19798          FreeIdentifier((yyvsp[(3) - (4)].id));
19799       ;}
19800     break;
19801
19802   case 912:
19803
19804 /* Line 1464 of yacc.c  */
19805 #line 2861 "grammar.y"
19806     { (yyval.extDecl) = MkExtDeclString(CopyString(yytext)); ;}
19807     break;
19808
19809   case 913:
19810
19811 /* Line 1464 of yacc.c  */
19812 #line 2862 "grammar.y"
19813     { (yyval.extDecl) = MkExtDeclString(CopyString(yytext)); ;}
19814     break;
19815
19816   case 914:
19817
19818 /* Line 1464 of yacc.c  */
19819 #line 2863 "grammar.y"
19820     { (yyval.extDecl) = MkExtDeclAttrib((yyvsp[(1) - (1)].attrib)); ;}
19821     break;
19822
19823   case 915:
19824
19825 /* Line 1464 of yacc.c  */
19826 #line 2865 "grammar.y"
19827     {
19828          char temp[1024];
19829          strcpy(temp, "__asm__(");
19830          strcat(temp, (yyvsp[(3) - (4)].string));
19831          strcat(temp, ")");
19832          (yyval.extDecl) = MkExtDeclString(CopyString(temp));
19833          delete (yyvsp[(3) - (4)].string);
19834       ;}
19835     break;
19836
19837   case 916:
19838
19839 /* Line 1464 of yacc.c  */
19840 #line 2876 "grammar.y"
19841     { (yyval.i) = ATTRIB; ;}
19842     break;
19843
19844   case 917:
19845
19846 /* Line 1464 of yacc.c  */
19847 #line 2877 "grammar.y"
19848     { (yyval.i) = ATTRIB_DEP; ;}
19849     break;
19850
19851   case 918:
19852
19853 /* Line 1464 of yacc.c  */
19854 #line 2878 "grammar.y"
19855     { (yyval.i) = __ATTRIB; ;}
19856     break;
19857
19858   case 919:
19859
19860 /* Line 1464 of yacc.c  */
19861 #line 2883 "grammar.y"
19862     { (yyval.string)  = CopyString(yytext); ;}
19863     break;
19864
19865   case 920:
19866
19867 /* Line 1464 of yacc.c  */
19868 #line 2884 "grammar.y"
19869     { (yyval.string)  = CopyString(yytext); ;}
19870     break;
19871
19872   case 921:
19873
19874 /* Line 1464 of yacc.c  */
19875 #line 2885 "grammar.y"
19876     { (yyval.string)  = CopyString(yytext); ;}
19877     break;
19878
19879   case 922:
19880
19881 /* Line 1464 of yacc.c  */
19882 #line 2886 "grammar.y"
19883     { (yyval.string)  = CopyString(yytext); ;}
19884     break;
19885
19886   case 923:
19887
19888 /* Line 1464 of yacc.c  */
19889 #line 2887 "grammar.y"
19890     { (yyval.string)  = CopyString(yytext); ;}
19891     break;
19892
19893   case 924:
19894
19895 /* Line 1464 of yacc.c  */
19896 #line 2891 "grammar.y"
19897     { (yyval.attribute) = MkAttribute((yyvsp[(1) - (1)].string), null); (yyval.attribute).loc = (yyloc); ;}
19898     break;
19899
19900   case 925:
19901
19902 /* Line 1464 of yacc.c  */
19903 #line 2892 "grammar.y"
19904     { (yyval.attribute) = MkAttribute((yyvsp[(1) - (4)].string), MkExpBrackets((yyvsp[(3) - (4)].list))); (yyval.attribute).loc = (yyloc); ;}
19905     break;
19906
19907   case 926:
19908
19909 /* Line 1464 of yacc.c  */
19910 #line 2896 "grammar.y"
19911     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].attribute)); ;}
19912     break;
19913
19914   case 927:
19915
19916 /* Line 1464 of yacc.c  */
19917 #line 2897 "grammar.y"
19918     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].attribute)); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
19919     break;
19920
19921   case 928:
19922
19923 /* Line 1464 of yacc.c  */
19924 #line 2898 "grammar.y"
19925     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].attribute)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
19926     break;
19927
19928   case 929:
19929
19930 /* Line 1464 of yacc.c  */
19931 #line 2902 "grammar.y"
19932     { (yyval.attrib) = MkAttrib((yyvsp[(1) - (6)].i), (yyvsp[(4) - (6)].list)); (yyval.attrib).loc = (yyloc); ;}
19933     break;
19934
19935   case 930:
19936
19937 /* Line 1464 of yacc.c  */
19938 #line 2903 "grammar.y"
19939     { (yyval.attrib) = MkAttrib((yyvsp[(1) - (5)].i), null); (yyval.attrib).loc = (yyloc); ;}
19940     break;
19941
19942   case 931:
19943
19944 /* Line 1464 of yacc.c  */
19945 #line 2907 "grammar.y"
19946     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19947     break;
19948
19949   case 932:
19950
19951 /* Line 1464 of yacc.c  */
19952 #line 2908 "grammar.y"
19953     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19954     break;
19955
19956   case 933:
19957
19958 /* Line 1464 of yacc.c  */
19959 #line 2909 "grammar.y"
19960     { (yyval.declarator) = MkDeclaratorArray(null, null); ;}
19961     break;
19962
19963   case 934:
19964
19965 /* Line 1464 of yacc.c  */
19966 #line 2910 "grammar.y"
19967     { (yyval.declarator) = MkDeclaratorArray(null, (yyvsp[(2) - (3)].exp)); ;}
19968     break;
19969
19970   case 935:
19971
19972 /* Line 1464 of yacc.c  */
19973 #line 2911 "grammar.y"
19974     { (yyval.declarator) = MkDeclaratorArray(null, (yyvsp[(2) - (3)].exp)); ;}
19975     break;
19976
19977   case 936:
19978
19979 /* Line 1464 of yacc.c  */
19980 #line 2912 "grammar.y"
19981     { (yyval.declarator) = MkDeclaratorEnumArray(null, (yyvsp[(2) - (3)].specifier)); ;}
19982     break;
19983
19984   case 937:
19985
19986 /* Line 1464 of yacc.c  */
19987 #line 2913 "grammar.y"
19988     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19989     break;
19990
19991   case 938:
19992
19993 /* Line 1464 of yacc.c  */
19994 #line 2914 "grammar.y"
19995     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19996     break;
19997
19998   case 939:
19999
20000 /* Line 1464 of yacc.c  */
20001 #line 2915 "grammar.y"
20002     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
20003     break;
20004
20005   case 940:
20006
20007 /* Line 1464 of yacc.c  */
20008 #line 2916 "grammar.y"
20009     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
20010     break;
20011
20012   case 941:
20013
20014 /* Line 1464 of yacc.c  */
20015 #line 2917 "grammar.y"
20016     { (yyval.declarator) = MkDeclaratorFunction(null, null); ;}
20017     break;
20018
20019   case 942:
20020
20021 /* Line 1464 of yacc.c  */
20022 #line 2918 "grammar.y"
20023     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
20024     break;
20025
20026   case 943:
20027
20028 /* Line 1464 of yacc.c  */
20029 #line 2919 "grammar.y"
20030     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
20031     break;
20032
20033   case 944:
20034
20035 /* Line 1464 of yacc.c  */
20036 #line 2920 "grammar.y"
20037     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), null); ;}
20038     break;
20039
20040   case 945:
20041
20042 /* Line 1464 of yacc.c  */
20043 #line 2921 "grammar.y"
20044     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
20045     break;
20046
20047   case 946:
20048
20049 /* Line 1464 of yacc.c  */
20050 #line 2922 "grammar.y"
20051     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
20052     break;
20053
20054   case 947:
20055
20056 /* Line 1464 of yacc.c  */
20057 #line 2926 "grammar.y"
20058     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
20059     break;
20060
20061   case 948:
20062
20063 /* Line 1464 of yacc.c  */
20064 #line 2927 "grammar.y"
20065     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
20066     break;
20067
20068   case 949:
20069
20070 /* Line 1464 of yacc.c  */
20071 #line 2928 "grammar.y"
20072     { (yyval.declarator) = MkDeclaratorFunction(null, null); ;}
20073     break;
20074
20075   case 950:
20076
20077 /* Line 1464 of yacc.c  */
20078 #line 2929 "grammar.y"
20079     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
20080     break;
20081
20082   case 951:
20083
20084 /* Line 1464 of yacc.c  */
20085 #line 2930 "grammar.y"
20086     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
20087     break;
20088
20089   case 952:
20090
20091 /* Line 1464 of yacc.c  */
20092 #line 2931 "grammar.y"
20093     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), null); ;}
20094     break;
20095
20096   case 953:
20097
20098 /* Line 1464 of yacc.c  */
20099 #line 2932 "grammar.y"
20100     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
20101     break;
20102
20103   case 954:
20104
20105 /* Line 1464 of yacc.c  */
20106 #line 2933 "grammar.y"
20107     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
20108     break;
20109
20110   case 955:
20111
20112 /* Line 1464 of yacc.c  */
20113 #line 2937 "grammar.y"
20114     { (yyval.pointer) = MkPointer(null, null); ;}
20115     break;
20116
20117   case 956:
20118
20119 /* Line 1464 of yacc.c  */
20120 #line 2938 "grammar.y"
20121     { (yyval.pointer) = MkPointer((yyvsp[(2) - (2)].list), null); ;}
20122     break;
20123
20124   case 957:
20125
20126 /* Line 1464 of yacc.c  */
20127 #line 2939 "grammar.y"
20128     { (yyval.pointer) = MkPointer(null, (yyvsp[(2) - (2)].pointer)); ;}
20129     break;
20130
20131   case 958:
20132
20133 /* Line 1464 of yacc.c  */
20134 #line 2940 "grammar.y"
20135     { (yyval.pointer) = MkPointer((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].pointer)); ;}
20136     break;
20137
20138   case 959:
20139
20140 /* Line 1464 of yacc.c  */
20141 #line 2944 "grammar.y"
20142     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (1)].pointer), null); ;}
20143     break;
20144
20145   case 961:
20146
20147 /* Line 1464 of yacc.c  */
20148 #line 2946 "grammar.y"
20149     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20150     break;
20151
20152   case 962:
20153
20154 /* Line 1464 of yacc.c  */
20155 #line 2947 "grammar.y"
20156     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (2)].pointer), null)); ;}
20157     break;
20158
20159   case 963:
20160
20161 /* Line 1464 of yacc.c  */
20162 #line 2948 "grammar.y"
20163     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20164     break;
20165
20166   case 964:
20167
20168 /* Line 1464 of yacc.c  */
20169 #line 2952 "grammar.y"
20170     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (1)].pointer), null); ;}
20171     break;
20172
20173   case 966:
20174
20175 /* Line 1464 of yacc.c  */
20176 #line 2954 "grammar.y"
20177     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20178     break;
20179
20180   case 967:
20181
20182 /* Line 1464 of yacc.c  */
20183 #line 2955 "grammar.y"
20184     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (2)].pointer), null)); ;}
20185     break;
20186
20187   case 968:
20188
20189 /* Line 1464 of yacc.c  */
20190 #line 2956 "grammar.y"
20191     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20192     break;
20193
20194   case 970:
20195
20196 /* Line 1464 of yacc.c  */
20197 #line 2962 "grammar.y"
20198     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20199     break;
20200
20201   case 971:
20202
20203 /* Line 1464 of yacc.c  */
20204 #line 2964 "grammar.y"
20205     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20206     break;
20207
20208   case 972:
20209
20210 /* Line 1464 of yacc.c  */
20211 #line 2966 "grammar.y"
20212     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
20213     break;
20214
20215   case 973:
20216
20217 /* Line 1464 of yacc.c  */
20218 #line 2968 "grammar.y"
20219     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
20220     break;
20221
20222   case 975:
20223
20224 /* Line 1464 of yacc.c  */
20225 #line 2974 "grammar.y"
20226     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20227     break;
20228
20229   case 976:
20230
20231 /* Line 1464 of yacc.c  */
20232 #line 2976 "grammar.y"
20233     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20234     break;
20235
20236   case 977:
20237
20238 /* Line 1464 of yacc.c  */
20239 #line 2978 "grammar.y"
20240     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
20241     break;
20242
20243   case 979:
20244
20245 /* Line 1464 of yacc.c  */
20246 #line 2983 "grammar.y"
20247     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20248     break;
20249
20250   case 980:
20251
20252 /* Line 1464 of yacc.c  */
20253 #line 2984 "grammar.y"
20254     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20255     break;
20256
20257   case 981:
20258
20259 /* Line 1464 of yacc.c  */
20260 #line 2985 "grammar.y"
20261     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20262     break;
20263
20264   case 983:
20265
20266 /* Line 1464 of yacc.c  */
20267 #line 2990 "grammar.y"
20268     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20269     break;
20270
20271   case 984:
20272
20273 /* Line 1464 of yacc.c  */
20274 #line 2991 "grammar.y"
20275     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20276     break;
20277
20278   case 985:
20279
20280 /* Line 1464 of yacc.c  */
20281 #line 2992 "grammar.y"
20282     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20283     break;
20284
20285   case 987:
20286
20287 /* Line 1464 of yacc.c  */
20288 #line 2997 "grammar.y"
20289     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20290     break;
20291
20292   case 988:
20293
20294 /* Line 1464 of yacc.c  */
20295 #line 2998 "grammar.y"
20296     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20297     break;
20298
20299   case 989:
20300
20301 /* Line 1464 of yacc.c  */
20302 #line 2999 "grammar.y"
20303     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20304     break;
20305
20306   case 991:
20307
20308 /* Line 1464 of yacc.c  */
20309 #line 3004 "grammar.y"
20310     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20311     break;
20312
20313   case 992:
20314
20315 /* Line 1464 of yacc.c  */
20316 #line 3005 "grammar.y"
20317     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20318     break;
20319
20320   case 993:
20321
20322 /* Line 1464 of yacc.c  */
20323 #line 3006 "grammar.y"
20324     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20325     break;
20326
20327   case 995:
20328
20329 /* Line 1464 of yacc.c  */
20330 #line 3011 "grammar.y"
20331     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20332     break;
20333
20334   case 996:
20335
20336 /* Line 1464 of yacc.c  */
20337 #line 3012 "grammar.y"
20338     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20339     break;
20340
20341   case 997:
20342
20343 /* Line 1464 of yacc.c  */
20344 #line 3013 "grammar.y"
20345     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20346     break;
20347
20348   case 998:
20349
20350 /* Line 1464 of yacc.c  */
20351 #line 3017 "grammar.y"
20352     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20353     break;
20354
20355   case 999:
20356
20357 /* Line 1464 of yacc.c  */
20358 #line 3018 "grammar.y"
20359     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (3)].list)); (yyval.initializer).loc = (yyloc); ;}
20360     break;
20361
20362   case 1000:
20363
20364 /* Line 1464 of yacc.c  */
20365 #line 3020 "grammar.y"
20366     {
20367          Compiler_Warning($"extra comma\n");
20368          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (4)].list));
20369          (yyval.initializer).loc = (yyloc);
20370
20371          {
20372             Expression exp = MkExpDummy();
20373             Initializer init = MkInitializerAssignment(exp);
20374             init.loc = (yylsp[(3) - (4)]);
20375             exp.loc = (yylsp[(3) - (4)]);
20376             ListAdd((yyvsp[(2) - (4)].list), init);
20377          }
20378       ;}
20379     break;
20380
20381   case 1001:
20382
20383 /* Line 1464 of yacc.c  */
20384 #line 3036 "grammar.y"
20385     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20386     break;
20387
20388   case 1002:
20389
20390 /* Line 1464 of yacc.c  */
20391 #line 3037 "grammar.y"
20392     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (4)].list)); (yyval.initializer).loc = (yyloc); ;}
20393     break;
20394
20395   case 1003:
20396
20397 /* Line 1464 of yacc.c  */
20398 #line 3038 "grammar.y"
20399     { yyerror(); (yyval.initializer) = MkInitializerList((yyvsp[(2) - (2)].list)); (yyval.initializer).loc = (yyloc); ;}
20400     break;
20401
20402   case 1004:
20403
20404 /* Line 1464 of yacc.c  */
20405 #line 3040 "grammar.y"
20406     {
20407          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (5)].list));
20408          (yyval.initializer).loc = (yyloc);
20409
20410          {
20411             Expression exp = MkExpDummy();
20412             Initializer init = MkInitializerAssignment(exp);
20413             init.loc = (yylsp[(3) - (5)]);
20414             exp.loc = (yylsp[(3) - (5)]);
20415             ListAdd((yyvsp[(2) - (5)].list), init);
20416          }
20417       ;}
20418     break;
20419
20420   case 1005:
20421
20422 /* Line 1464 of yacc.c  */
20423 #line 3053 "grammar.y"
20424     {
20425          yyerror();
20426          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (3)].list));
20427          (yyval.initializer).loc = (yyloc);
20428
20429          {
20430             Expression exp = MkExpDummy();
20431             Initializer init = MkInitializerAssignment(exp);
20432             init.loc = (yylsp[(3) - (3)]);
20433             exp.loc = (yylsp[(3) - (3)]);
20434             ListAdd((yyvsp[(2) - (3)].list), init);
20435          }
20436       ;}
20437     break;
20438
20439   case 1006:
20440
20441 /* Line 1464 of yacc.c  */
20442 #line 3069 "grammar.y"
20443     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20444     break;
20445
20446   case 1007:
20447
20448 /* Line 1464 of yacc.c  */
20449 #line 3071 "grammar.y"
20450     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20451     break;
20452
20453   case 1008:
20454
20455 /* Line 1464 of yacc.c  */
20456 #line 3075 "grammar.y"
20457     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20458     break;
20459
20460   case 1009:
20461
20462 /* Line 1464 of yacc.c  */
20463 #line 3076 "grammar.y"
20464     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20465     break;
20466
20467   case 1010:
20468
20469 /* Line 1464 of yacc.c  */
20470 #line 3080 "grammar.y"
20471     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initializer)); ;}
20472     break;
20473
20474   case 1011:
20475
20476 /* Line 1464 of yacc.c  */
20477 #line 3081 "grammar.y"
20478     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initializer)); ;}
20479     break;
20480
20481   case 1012:
20482
20483 /* Line 1464 of yacc.c  */
20484 #line 3082 "grammar.y"
20485     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initializer)); ;}
20486     break;
20487
20488   case 1013:
20489
20490 /* Line 1464 of yacc.c  */
20491 #line 3083 "grammar.y"
20492     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initializer)); ;}
20493     break;
20494
20495   case 1014:
20496
20497 /* Line 1464 of yacc.c  */
20498 #line 3086 "grammar.y"
20499     { yyerror(); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].initializer)); ;}
20500     break;
20501
20502   case 1015:
20503
20504 /* Line 1464 of yacc.c  */
20505 #line 3087 "grammar.y"
20506     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].initializer)); ;}
20507     break;
20508
20509   case 1016:
20510
20511 /* Line 1464 of yacc.c  */
20512 #line 3091 "grammar.y"
20513     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20514     break;
20515
20516   case 1017:
20517
20518 /* Line 1464 of yacc.c  */
20519 #line 3092 "grammar.y"
20520     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20521     break;
20522
20523   case 1018:
20524
20525 /* Line 1464 of yacc.c  */
20526 #line 3093 "grammar.y"
20527     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].initializer)); (yyval.initDeclarator).loc = (yyloc); (yyval.initDeclarator).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
20528     break;
20529
20530   case 1019:
20531
20532 /* Line 1464 of yacc.c  */
20533 #line 3097 "grammar.y"
20534     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (2)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20535     break;
20536
20537   case 1020:
20538
20539 /* Line 1464 of yacc.c  */
20540 #line 3101 "grammar.y"
20541     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].initializer)); (yyval.initDeclarator).loc = (yyloc); (yyval.initDeclarator).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
20542     break;
20543
20544   case 1021:
20545
20546 /* Line 1464 of yacc.c  */
20547 #line 3105 "grammar.y"
20548     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initDeclarator)); ;}
20549     break;
20550
20551   case 1022:
20552
20553 /* Line 1464 of yacc.c  */
20554 #line 3106 "grammar.y"
20555     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20556     break;
20557
20558   case 1023:
20559
20560 /* Line 1464 of yacc.c  */
20561 #line 3107 "grammar.y"
20562     { (yyval.list) = MkList(); ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("uint")), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20563     break;
20564
20565   case 1024:
20566
20567 /* Line 1464 of yacc.c  */
20568 #line 3108 "grammar.y"
20569     { (yyval.list) = MkList(); ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("int64")), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20570     break;
20571
20572   case 1025:
20573
20574 /* Line 1464 of yacc.c  */
20575 #line 3110 "grammar.y"
20576     {
20577       char * colon = RSearchString((yyvsp[(1) - (3)].specifier).name, "::", strlen((yyvsp[(1) - (3)].specifier).name), true, false);
20578       String s = colon ? colon + 2 : (yyvsp[(1) - (3)].specifier).name;
20579       (yyval.list) = MkList();
20580       ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), null));
20581       ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator));
20582       FreeSpecifier((yyvsp[(1) - (3)].specifier));
20583    ;}
20584     break;
20585
20586   case 1026:
20587
20588 /* Line 1464 of yacc.c  */
20589 #line 3118 "grammar.y"
20590     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20591     break;
20592
20593   case 1027:
20594
20595 /* Line 1464 of yacc.c  */
20596 #line 3127 "grammar.y"
20597     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initDeclarator)); ;}
20598     break;
20599
20600   case 1028:
20601
20602 /* Line 1464 of yacc.c  */
20603 #line 3128 "grammar.y"
20604     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].initDeclarator)); ;}
20605     break;
20606
20607   case 1029:
20608
20609 /* Line 1464 of yacc.c  */
20610 #line 3129 "grammar.y"
20611     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20612     break;
20613
20614   case 1030:
20615
20616 /* Line 1464 of yacc.c  */
20617 #line 3130 "grammar.y"
20618     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20619     break;
20620
20621   case 1031:
20622
20623 /* Line 1464 of yacc.c  */
20624 #line 3134 "grammar.y"
20625     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (1)].list), null); ;}
20626     break;
20627
20628   case 1032:
20629
20630 /* Line 1464 of yacc.c  */
20631 #line 3135 "grammar.y"
20632     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20633     break;
20634
20635   case 1033:
20636
20637 /* Line 1464 of yacc.c  */
20638 #line 3139 "grammar.y"
20639     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (1)].list), null); ;}
20640     break;
20641
20642   case 1034:
20643
20644 /* Line 1464 of yacc.c  */
20645 #line 3140 "grammar.y"
20646     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20647     break;
20648
20649   case 1035:
20650
20651 /* Line 1464 of yacc.c  */
20652 #line 3145 "grammar.y"
20653     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20654     break;
20655
20656   case 1036:
20657
20658 /* Line 1464 of yacc.c  */
20659 #line 3146 "grammar.y"
20660     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20661     break;
20662
20663   case 1037:
20664
20665 /* Line 1464 of yacc.c  */
20666 #line 3147 "grammar.y"
20667     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), MkDeclaratorPointer(MkPointer(null,null), null)); ;}
20668     break;
20669
20670   case 1038:
20671
20672 /* Line 1464 of yacc.c  */
20673 #line 3148 "grammar.y"
20674     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), MkDeclaratorPointer(MkPointer(null,null), (yyvsp[(3) - (3)].declarator))); ;}
20675     break;
20676
20677   case 1039:
20678
20679 /* Line 1464 of yacc.c  */
20680 #line 3149 "grammar.y"
20681     { (yyval.typeName) = MkTypeNameGuessDecl((yyvsp[(1) - (1)].list), null); ;}
20682     break;
20683
20684   case 1040:
20685
20686 /* Line 1464 of yacc.c  */
20687 #line 3151 "grammar.y"
20688     { (yyval.typeName) = MkTypeName(MkListOne(MkSpecifier(CLASS)), null); ;}
20689     break;
20690
20691   case 1041:
20692
20693 /* Line 1464 of yacc.c  */
20694 #line 3169 "grammar.y"
20695     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator)); ;}
20696     break;
20697
20698   case 1042:
20699
20700 /* Line 1464 of yacc.c  */
20701 #line 3170 "grammar.y"
20702     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator)); ;}
20703     break;
20704
20705   case 1043:
20706
20707 /* Line 1464 of yacc.c  */
20708 #line 3174 "grammar.y"
20709     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].typeName)); ;}
20710     break;
20711
20712   case 1044:
20713
20714 /* Line 1464 of yacc.c  */
20715 #line 3175 "grammar.y"
20716     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20717     break;
20718
20719   case 1045:
20720
20721 /* Line 1464 of yacc.c  */
20722 #line 3176 "grammar.y"
20723     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20724     break;
20725
20726   case 1046:
20727
20728 /* Line 1464 of yacc.c  */
20729 #line 3177 "grammar.y"
20730     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20731     break;
20732
20733   case 1047:
20734
20735 /* Line 1464 of yacc.c  */
20736 #line 3178 "grammar.y"
20737     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20738     break;
20739
20740   case 1048:
20741
20742 /* Line 1464 of yacc.c  */
20743 #line 3179 "grammar.y"
20744     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(MkList(), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].typeName)); ;}
20745     break;
20746
20747   case 1049:
20748
20749 /* Line 1464 of yacc.c  */
20750 #line 3181 "grammar.y"
20751     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20752     break;
20753
20754   case 1050:
20755
20756 /* Line 1464 of yacc.c  */
20757 #line 3182 "grammar.y"
20758     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20759     break;
20760
20761   case 1051:
20762
20763 /* Line 1464 of yacc.c  */
20764 #line 3183 "grammar.y"
20765     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20766     break;
20767
20768   case 1052:
20769
20770 /* Line 1464 of yacc.c  */
20771 #line 3184 "grammar.y"
20772     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20773     break;
20774
20775   case 1053:
20776
20777 /* Line 1464 of yacc.c  */
20778 #line 3188 "grammar.y"
20779     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].typeName)); ;}
20780     break;
20781
20782   case 1054:
20783
20784 /* Line 1464 of yacc.c  */
20785 #line 3189 "grammar.y"
20786     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20787     break;
20788
20789   case 1055:
20790
20791 /* Line 1464 of yacc.c  */
20792 #line 3190 "grammar.y"
20793     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20794     break;
20795
20796   case 1056:
20797
20798 /* Line 1464 of yacc.c  */
20799 #line 3191 "grammar.y"
20800     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20801     break;
20802
20803   case 1057:
20804
20805 /* Line 1464 of yacc.c  */
20806 #line 3192 "grammar.y"
20807     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(MkList(), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].typeName)); ;}
20808     break;
20809
20810   case 1058:
20811
20812 /* Line 1464 of yacc.c  */
20813 #line 3194 "grammar.y"
20814     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20815     break;
20816
20817   case 1059:
20818
20819 /* Line 1464 of yacc.c  */
20820 #line 3195 "grammar.y"
20821     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20822     break;
20823
20824   case 1060:
20825
20826 /* Line 1464 of yacc.c  */
20827 #line 3196 "grammar.y"
20828     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20829     break;
20830
20831   case 1062:
20832
20833 /* Line 1464 of yacc.c  */
20834 #line 3201 "grammar.y"
20835     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20836     break;
20837
20838   case 1063:
20839
20840 /* Line 1464 of yacc.c  */
20841 #line 3202 "grammar.y"
20842     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20843     break;
20844
20845   case 1064:
20846
20847 /* Line 1464 of yacc.c  */
20848 #line 3203 "grammar.y"
20849     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20850     break;
20851
20852   case 1065:
20853
20854 /* Line 1464 of yacc.c  */
20855 #line 3204 "grammar.y"
20856     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20857     break;
20858
20859   case 1066:
20860
20861 /* Line 1464 of yacc.c  */
20862 #line 3205 "grammar.y"
20863     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(null, null)); ;}
20864     break;
20865
20866   case 1068:
20867
20868 /* Line 1464 of yacc.c  */
20869 #line 3210 "grammar.y"
20870     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
20871     break;
20872
20873   case 1071:
20874
20875 /* Line 1464 of yacc.c  */
20876 #line 3217 "grammar.y"
20877     { (yyval.stmt) = MkExpressionStmt(null); FreeAttrib((yyvsp[(1) - (1)].attrib)); ;}
20878     break;
20879
20880   case 1073:
20881
20882 /* Line 1464 of yacc.c  */
20883 #line 3219 "grammar.y"
20884     { (yyval.stmt) = MkExpressionStmt(null); ;}
20885     break;
20886
20887   case 1074:
20888
20889 /* Line 1464 of yacc.c  */
20890 #line 3220 "grammar.y"
20891     { (yyval.stmt) = MkExpressionStmt(null); ;}
20892     break;
20893
20894   case 1075:
20895
20896 /* Line 1464 of yacc.c  */
20897 #line 3221 "grammar.y"
20898     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
20899     break;
20900
20901   case 1083:
20902
20903 /* Line 1464 of yacc.c  */
20904 #line 3232 "grammar.y"
20905     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20906     break;
20907
20908   case 1084:
20909
20910 /* Line 1464 of yacc.c  */
20911 #line 3233 "grammar.y"
20912     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20913     break;
20914
20915   case 1085:
20916
20917 /* Line 1464 of yacc.c  */
20918 #line 3234 "grammar.y"
20919     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20920     break;
20921
20922   case 1086:
20923
20924 /* Line 1464 of yacc.c  */
20925 #line 3235 "grammar.y"
20926     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20927     break;
20928
20929   case 1087:
20930
20931 /* Line 1464 of yacc.c  */
20932 #line 3236 "grammar.y"
20933     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20934     break;
20935
20936   case 1088:
20937
20938 /* Line 1464 of yacc.c  */
20939 #line 3237 "grammar.y"
20940     { (yyval.stmt) = (yyvsp[(1) - (2)].stmt); Compiler_Error($"syntax error\n"); ;}
20941     break;
20942
20943   case 1089:
20944
20945 /* Line 1464 of yacc.c  */
20946 #line 3238 "grammar.y"
20947     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (1)].list)); Compiler_Error($"syntax error\n"); (yyval.stmt).loc = (yylsp[(1) - (1)]); ;}
20948     break;
20949
20950   case 1090:
20951
20952 /* Line 1464 of yacc.c  */
20953 #line 3242 "grammar.y"
20954     { (yyval.asmField) = MkAsmField((yyvsp[(1) - (1)].string), null, null); (yyval.asmField).loc = (yylsp[(1) - (1)]); ;}
20955     break;
20956
20957   case 1091:
20958
20959 /* Line 1464 of yacc.c  */
20960 #line 3243 "grammar.y"
20961     { (yyval.asmField) = MkAsmField((yyvsp[(1) - (4)].string), (yyvsp[(3) - (4)].exp), null); (yyval.asmField).loc = (yyloc); ;}
20962     break;
20963
20964   case 1092:
20965
20966 /* Line 1464 of yacc.c  */
20967 #line 3244 "grammar.y"
20968     { (yyval.asmField) = MkAsmField((yyvsp[(4) - (7)].string), (yyvsp[(6) - (7)].exp), (yyvsp[(2) - (7)].id)); (yyval.asmField).loc = (yyloc); ;}
20969     break;
20970
20971   case 1093:
20972
20973 /* Line 1464 of yacc.c  */
20974 #line 3248 "grammar.y"
20975     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].asmField)); ;}
20976     break;
20977
20978   case 1094:
20979
20980 /* Line 1464 of yacc.c  */
20981 #line 3249 "grammar.y"
20982     { ListAdd((yyval.list), (yyvsp[(3) - (3)].asmField)); ;}
20983     break;
20984
20985   case 1095:
20986
20987 /* Line 1464 of yacc.c  */
20988 #line 3250 "grammar.y"
20989     { (yyval.list) = null; ;}
20990     break;
20991
20992   case 1096:
20993
20994 /* Line 1464 of yacc.c  */
20995 #line 3254 "grammar.y"
20996     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (6)].specifier), (yyvsp[(4) - (6)].string), null, null, null); (yyval.stmt).loc = (yyloc); ;}
20997     break;
20998
20999   case 1097:
21000
21001 /* Line 1464 of yacc.c  */
21002 #line 3255 "grammar.y"
21003     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (8)].specifier), (yyvsp[(4) - (8)].string), (yyvsp[(6) - (8)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
21004     break;
21005
21006   case 1098:
21007
21008 /* Line 1464 of yacc.c  */
21009 #line 3256 "grammar.y"
21010     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), (yyvsp[(6) - (10)].list), (yyvsp[(8) - (10)].list), null); (yyval.stmt).loc = (yyloc); ;}
21011     break;
21012
21013   case 1099:
21014
21015 /* Line 1464 of yacc.c  */
21016 #line 3257 "grammar.y"
21017     { (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); ;}
21018     break;
21019
21020   case 1100:
21021
21022 /* Line 1464 of yacc.c  */
21023 #line 3259 "grammar.y"
21024     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (8)].specifier), (yyvsp[(4) - (8)].string), null, (yyvsp[(6) - (8)].list), null); (yyval.stmt).loc = (yyloc); ;}
21025     break;
21026
21027   case 1101:
21028
21029 /* Line 1464 of yacc.c  */
21030 #line 3260 "grammar.y"
21031     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), null, (yyvsp[(6) - (10)].list), (yyvsp[(8) - (10)].list)); (yyval.stmt).loc = (yyloc); ;}
21032     break;
21033
21034   case 1102:
21035
21036 /* Line 1464 of yacc.c  */
21037 #line 3261 "grammar.y"
21038     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), (yyvsp[(6) - (10)].list), null, (yyvsp[(8) - (10)].list)); (yyval.stmt).loc = (yyloc); ;}
21039     break;
21040
21041   case 1103:
21042
21043 /* Line 1464 of yacc.c  */
21044 #line 3263 "grammar.y"
21045     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (5)].string), null, null, null); (yyval.stmt).loc = (yyloc); ;}
21046     break;
21047
21048   case 1104:
21049
21050 /* Line 1464 of yacc.c  */
21051 #line 3264 "grammar.y"
21052     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (7)].string), (yyvsp[(5) - (7)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
21053     break;
21054
21055   case 1105:
21056
21057 /* Line 1464 of yacc.c  */
21058 #line 3265 "grammar.y"
21059     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list), null); (yyval.stmt).loc = (yyloc); ;}
21060     break;
21061
21062   case 1106:
21063
21064 /* Line 1464 of yacc.c  */
21065 #line 3266 "grammar.y"
21066     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (11)].string), (yyvsp[(5) - (11)].list), (yyvsp[(7) - (11)].list), (yyvsp[(9) - (11)].list)); (yyval.stmt).loc = (yyloc); ;}
21067     break;
21068
21069   case 1107:
21070
21071 /* Line 1464 of yacc.c  */
21072 #line 3268 "grammar.y"
21073     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (7)].string), null, (yyvsp[(5) - (7)].list), null); (yyval.stmt).loc = (yyloc); ;}
21074     break;
21075
21076   case 1108:
21077
21078 /* Line 1464 of yacc.c  */
21079 #line 3269 "grammar.y"
21080     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), null, (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list)); (yyval.stmt).loc = (yyloc); ;}
21081     break;
21082
21083   case 1109:
21084
21085 /* Line 1464 of yacc.c  */
21086 #line 3270 "grammar.y"
21087     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), (yyvsp[(5) - (9)].list), null, (yyvsp[(7) - (9)].list)); (yyval.stmt).loc = (yyloc); ;}
21088     break;
21089
21090   case 1110:
21091
21092 /* Line 1464 of yacc.c  */
21093 #line 3274 "grammar.y"
21094     { (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21095     break;
21096
21097   case 1111:
21098
21099 /* Line 1464 of yacc.c  */
21100 #line 3275 "grammar.y"
21101     { /*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; ;}
21102     break;
21103
21104   case 1112:
21105
21106 /* Line 1464 of yacc.c  */
21107 #line 3276 "grammar.y"
21108     { /*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; ;}
21109     break;
21110
21111   case 1113:
21112
21113 /* Line 1464 of yacc.c  */
21114 #line 3277 "grammar.y"
21115     { /*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; ;}
21116     break;
21117
21118   case 1114:
21119
21120 /* Line 1464 of yacc.c  */
21121 #line 3278 "grammar.y"
21122     { /*if($3.type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING);*/ (yyval.stmt) = MkCaseStmt(null, (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21123     break;
21124
21125   case 1115:
21126
21127 /* Line 1464 of yacc.c  */
21128 #line 3280 "grammar.y"
21129     { 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); ;}
21130     break;
21131
21132   case 1116:
21133
21134 /* Line 1464 of yacc.c  */
21135 #line 3281 "grammar.y"
21136     { 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; ;}
21137     break;
21138
21139   case 1117:
21140
21141 /* Line 1464 of yacc.c  */
21142 #line 3282 "grammar.y"
21143     { 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; ;}
21144     break;
21145
21146   case 1118:
21147
21148 /* Line 1464 of yacc.c  */
21149 #line 3283 "grammar.y"
21150     { 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; ;}
21151     break;
21152
21153   case 1119:
21154
21155 /* Line 1464 of yacc.c  */
21156 #line 3284 "grammar.y"
21157     { 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); ;}
21158     break;
21159
21160   case 1120:
21161
21162 /* Line 1464 of yacc.c  */
21163 #line 3288 "grammar.y"
21164     { (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21165     break;
21166
21167   case 1121:
21168
21169 /* Line 1464 of yacc.c  */
21170 #line 3289 "grammar.y"
21171     { /*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; ;}
21172     break;
21173
21174   case 1122:
21175
21176 /* Line 1464 of yacc.c  */
21177 #line 3290 "grammar.y"
21178     { /*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; ;}
21179     break;
21180
21181   case 1123:
21182
21183 /* Line 1464 of yacc.c  */
21184 #line 3291 "grammar.y"
21185     { /*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; ;}
21186     break;
21187
21188   case 1124:
21189
21190 /* Line 1464 of yacc.c  */
21191 #line 3292 "grammar.y"
21192     { (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; ;}
21193     break;
21194
21195   case 1125:
21196
21197 /* Line 1464 of yacc.c  */
21198 #line 3293 "grammar.y"
21199     { /*if($3.type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING);*/ (yyval.stmt) = MkCaseStmt(null, (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21200     break;
21201
21202   case 1126:
21203
21204 /* Line 1464 of yacc.c  */
21205 #line 3294 "grammar.y"
21206     { (yyval.stmt) = MkCaseStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21207     break;
21208
21209   case 1127:
21210
21211 /* Line 1464 of yacc.c  */
21212 #line 3296 "grammar.y"
21213     { 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); ;}
21214     break;
21215
21216   case 1128:
21217
21218 /* Line 1464 of yacc.c  */
21219 #line 3297 "grammar.y"
21220     { 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; ;}
21221     break;
21222
21223   case 1129:
21224
21225 /* Line 1464 of yacc.c  */
21226 #line 3298 "grammar.y"
21227     { 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; ;}
21228     break;
21229
21230   case 1130:
21231
21232 /* Line 1464 of yacc.c  */
21233 #line 3299 "grammar.y"
21234     { 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; ;}
21235     break;
21236
21237   case 1131:
21238
21239 /* Line 1464 of yacc.c  */
21240 #line 3300 "grammar.y"
21241     { 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); ;}
21242     break;
21243
21244   case 1132:
21245
21246 /* Line 1464 of yacc.c  */
21247 #line 3304 "grammar.y"
21248     { (yyval.declMode) = structDeclMode = declMode = publicAccess; ;}
21249     break;
21250
21251   case 1133:
21252
21253 /* Line 1464 of yacc.c  */
21254 #line 3305 "grammar.y"
21255     { (yyval.declMode) = structDeclMode = declMode = privateAccess; ;}
21256     break;
21257
21258   case 1134:
21259
21260 /* Line 1464 of yacc.c  */
21261 #line 3306 "grammar.y"
21262     { (yyval.declMode) = structDeclMode = declMode = defaultAccess; ;}
21263     break;
21264
21265   case 1135:
21266
21267 /* Line 1464 of yacc.c  */
21268 #line 3310 "grammar.y"
21269     { (yyval.declMode) = publicAccess; ;}
21270     break;
21271
21272   case 1136:
21273
21274 /* Line 1464 of yacc.c  */
21275 #line 3311 "grammar.y"
21276     { (yyval.declMode) = privateAccess; ;}
21277     break;
21278
21279   case 1137:
21280
21281 /* Line 1464 of yacc.c  */
21282 #line 3315 "grammar.y"
21283     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21284     break;
21285
21286   case 1138:
21287
21288 /* Line 1464 of yacc.c  */
21289 #line 3316 "grammar.y"
21290     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21291     break;
21292
21293   case 1139:
21294
21295 /* Line 1464 of yacc.c  */
21296 #line 3317 "grammar.y"
21297     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21298     break;
21299
21300   case 1140:
21301
21302 /* Line 1464 of yacc.c  */
21303 #line 3318 "grammar.y"
21304     { (yyval.declaration) = (yyvsp[(1) - (2)].declaration); structDeclMode = defaultDeclMode; ;}
21305     break;
21306
21307   case 1141:
21308
21309 /* Line 1464 of yacc.c  */
21310 #line 3322 "grammar.y"
21311     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); ;}
21312     break;
21313
21314   case 1142:
21315
21316 /* Line 1464 of yacc.c  */
21317 #line 3323 "grammar.y"
21318     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
21319     break;
21320
21321   case 1143:
21322
21323 /* Line 1464 of yacc.c  */
21324 #line 3324 "grammar.y"
21325     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
21326     break;
21327
21328   case 1144:
21329
21330 /* Line 1464 of yacc.c  */
21331 #line 3326 "grammar.y"
21332     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); ;}
21333     break;
21334
21335   case 1145:
21336
21337 /* Line 1464 of yacc.c  */
21338 #line 3327 "grammar.y"
21339     { (yyval.declaration) = MkDeclarationDefine((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].exp)); (yyval.declaration).loc = (yyloc); ;}
21340     break;
21341
21342   case 1146:
21343
21344 /* Line 1464 of yacc.c  */
21345 #line 3328 "grammar.y"
21346     { structDeclMode = declMode = staticAccess; (yyval.declaration) = MkDeclarationDefine((yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].exp)); (yyval.declaration).loc = (yyloc); ;}
21347     break;
21348
21349   case 1147:
21350
21351 /* Line 1464 of yacc.c  */
21352 #line 3332 "grammar.y"
21353     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); yyerrok; ;}
21354     break;
21355
21356   case 1148:
21357
21358 /* Line 1464 of yacc.c  */
21359 #line 3336 "grammar.y"
21360     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21361     break;
21362
21363   case 1149:
21364
21365 /* Line 1464 of yacc.c  */
21366 #line 3337 "grammar.y"
21367     { structDeclMode = defaultDeclMode;  ;}
21368     break;
21369
21370   case 1150:
21371
21372 /* Line 1464 of yacc.c  */
21373 #line 3339 "grammar.y"
21374     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21375     break;
21376
21377   case 1151:
21378
21379 /* Line 1464 of yacc.c  */
21380 #line 3340 "grammar.y"
21381     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21382     break;
21383
21384   case 1152:
21385
21386 /* Line 1464 of yacc.c  */
21387 #line 3341 "grammar.y"
21388     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21389     break;
21390
21391   case 1153:
21392
21393 /* Line 1464 of yacc.c  */
21394 #line 3345 "grammar.y"
21395     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declaration)); /*declMode = defaultDeclMode;*/ ;}
21396     break;
21397
21398   case 1154:
21399
21400 /* Line 1464 of yacc.c  */
21401 #line 3346 "grammar.y"
21402     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); /*declMode = defaultDeclMode; */;}
21403     break;
21404
21405   case 1155:
21406
21407 /* Line 1464 of yacc.c  */
21408 #line 3347 "grammar.y"
21409     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); /*declMode = defaultDeclMode; */;}
21410     break;
21411
21412   case 1156:
21413
21414 /* Line 1464 of yacc.c  */
21415 #line 3348 "grammar.y"
21416     { (yyval.list) = (yyvsp[(1) - (3)].list); ;}
21417     break;
21418
21419   case 1157:
21420
21421 /* Line 1464 of yacc.c  */
21422 #line 3352 "grammar.y"
21423     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declaration)); ;}
21424     break;
21425
21426   case 1158:
21427
21428 /* Line 1464 of yacc.c  */
21429 #line 3353 "grammar.y"
21430     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); ;}
21431     break;
21432
21433   case 1159:
21434
21435 /* Line 1464 of yacc.c  */
21436 #line 3357 "grammar.y"
21437     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].stmt)); ;}
21438     break;
21439
21440   case 1160:
21441
21442 /* Line 1464 of yacc.c  */
21443 #line 3358 "grammar.y"
21444     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21445     break;
21446
21447   case 1161:
21448
21449 /* Line 1464 of yacc.c  */
21450 #line 3359 "grammar.y"
21451     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21452     break;
21453
21454   case 1162:
21455
21456 /* Line 1464 of yacc.c  */
21457 #line 3363 "grammar.y"
21458     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].stmt)); ;}
21459     break;
21460
21461   case 1163:
21462
21463 /* Line 1464 of yacc.c  */
21464 #line 3364 "grammar.y"
21465     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21466     break;
21467
21468   case 1164:
21469
21470 /* Line 1464 of yacc.c  */
21471 #line 3365 "grammar.y"
21472     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21473     break;
21474
21475   case 1165:
21476
21477 /* Line 1464 of yacc.c  */
21478 #line 3366 "grammar.y"
21479     { 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;*/ ;}
21480     break;
21481
21482   case 1166:
21483
21484 /* Line 1464 of yacc.c  */
21485 #line 3367 "grammar.y"
21486     { 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;*/ ;}
21487     break;
21488
21489   case 1167:
21490
21491 /* Line 1464 of yacc.c  */
21492 #line 3368 "grammar.y"
21493     { 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;*/ ;}
21494     break;
21495
21496   case 1168:
21497
21498 /* Line 1464 of yacc.c  */
21499 #line 3369 "grammar.y"
21500     { 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;*/ ;}
21501     break;
21502
21503   case 1169:
21504
21505 /* Line 1464 of yacc.c  */
21506 #line 3373 "grammar.y"
21507     { (yyval.stmt) = MkCompoundStmt(null, (yyvsp[(1) - (1)].list)); ;}
21508     break;
21509
21510   case 1170:
21511
21512 /* Line 1464 of yacc.c  */
21513 #line 3374 "grammar.y"
21514     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (1)].list), null); ;}
21515     break;
21516
21517   case 1171:
21518
21519 /* Line 1464 of yacc.c  */
21520 #line 3375 "grammar.y"
21521     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21522     break;
21523
21524   case 1172:
21525
21526 /* Line 1464 of yacc.c  */
21527 #line 3376 "grammar.y"
21528     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21529     break;
21530
21531   case 1173:
21532
21533 /* Line 1464 of yacc.c  */
21534 #line 3380 "grammar.y"
21535     { (yyval.stmt) = MkCompoundStmt(null, (yyvsp[(1) - (1)].list)); ;}
21536     break;
21537
21538   case 1174:
21539
21540 /* Line 1464 of yacc.c  */
21541 #line 3381 "grammar.y"
21542     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (1)].list), null); ;}
21543     break;
21544
21545   case 1175:
21546
21547 /* Line 1464 of yacc.c  */
21548 #line 3382 "grammar.y"
21549     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21550     break;
21551
21552   case 1176:
21553
21554 /* Line 1464 of yacc.c  */
21555 #line 3383 "grammar.y"
21556     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21557     break;
21558
21559   case 1177:
21560
21561 /* Line 1464 of yacc.c  */
21562 #line 3387 "grammar.y"
21563     { (yyval.context) = PushContext(); ;}
21564     break;
21565
21566   case 1178:
21567
21568 /* Line 1464 of yacc.c  */
21569 #line 3391 "grammar.y"
21570     { (yyval.stmt) = (yyvsp[(1) - (2)].stmt); (yyval.stmt).loc = (yyloc); ;}
21571     break;
21572
21573   case 1179:
21574
21575 /* Line 1464 of yacc.c  */
21576 #line 3396 "grammar.y"
21577     { (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++; ;}
21578     break;
21579
21580   case 1180:
21581
21582 /* Line 1464 of yacc.c  */
21583 #line 3398 "grammar.y"
21584     { (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++; ;}
21585     break;
21586
21587   case 1181:
21588
21589 /* Line 1464 of yacc.c  */
21590 #line 3401 "grammar.y"
21591     { (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++; ;}
21592     break;
21593
21594   case 1182:
21595
21596 /* Line 1464 of yacc.c  */
21597 #line 3406 "grammar.y"
21598     { (yyval.stmt) = MkExpressionStmt(null); (yyval.stmt).loc = (yyloc); ;}
21599     break;
21600
21601   case 1183:
21602
21603 /* Line 1464 of yacc.c  */
21604 #line 3407 "grammar.y"
21605     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21606     break;
21607
21608   case 1184:
21609
21610 /* Line 1464 of yacc.c  */
21611 #line 3408 "grammar.y"
21612     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21613     break;
21614
21615   case 1185:
21616
21617 /* Line 1464 of yacc.c  */
21618 #line 3412 "grammar.y"
21619     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21620     break;
21621
21622   case 1186:
21623
21624 /* Line 1464 of yacc.c  */
21625 #line 3413 "grammar.y"
21626     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21627     break;
21628
21629   case 1187:
21630
21631 /* Line 1464 of yacc.c  */
21632 #line 3414 "grammar.y"
21633     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].stmt), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21634     break;
21635
21636   case 1188:
21637
21638 /* Line 1464 of yacc.c  */
21639 #line 3415 "grammar.y"
21640     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].stmt), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21641     break;
21642
21643   case 1189:
21644
21645 /* Line 1464 of yacc.c  */
21646 #line 3416 "grammar.y"
21647     { (yyval.stmt) = MkSwitchStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21648     break;
21649
21650   case 1190:
21651
21652 /* Line 1464 of yacc.c  */
21653 #line 3417 "grammar.y"
21654     { (yyval.stmt) = MkSwitchStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21655     break;
21656
21657   case 1191:
21658
21659 /* Line 1464 of yacc.c  */
21660 #line 3421 "grammar.y"
21661     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (3)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
21662     break;
21663
21664   case 1193:
21665
21666 /* Line 1464 of yacc.c  */
21667 #line 3426 "grammar.y"
21668     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21669     break;
21670
21671   case 1194:
21672
21673 /* Line 1464 of yacc.c  */
21674 #line 3427 "grammar.y"
21675     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21676     break;
21677
21678   case 1195:
21679
21680 /* Line 1464 of yacc.c  */
21681 #line 3428 "grammar.y"
21682     { yyerror(); (yyval.stmt) = MkWhileStmt(null, (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21683     break;
21684
21685   case 1196:
21686
21687 /* Line 1464 of yacc.c  */
21688 #line 3430 "grammar.y"
21689     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (7)].stmt), (yyvsp[(5) - (7)].list)); (yyval.stmt).loc = (yyloc); ;}
21690     break;
21691
21692   case 1197:
21693
21694 /* Line 1464 of yacc.c  */
21695 #line 3431 "grammar.y"
21696     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (6)].stmt), (yyvsp[(5) - (6)].list)); (yyval.stmt).loc = (yyloc); ;}
21697     break;
21698
21699   case 1198:
21700
21701 /* Line 1464 of yacc.c  */
21702 #line 3433 "grammar.y"
21703     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), null, (yyvsp[(6) - (6)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21704     break;
21705
21706   case 1199:
21707
21708 /* Line 1464 of yacc.c  */
21709 #line 3434 "grammar.y"
21710     { yyerror(); (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), null, null, (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21711     break;
21712
21713   case 1200:
21714
21715 /* Line 1464 of yacc.c  */
21716 #line 3435 "grammar.y"
21717     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (7)].stmt), (yyvsp[(4) - (7)].stmt), (yyvsp[(5) - (7)].list), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21718     break;
21719
21720   case 1201:
21721
21722 /* Line 1464 of yacc.c  */
21723 #line 3436 "grammar.y"
21724     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), (yyvsp[(5) - (6)].list), (yyvsp[(6) - (6)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21725     break;
21726
21727   case 1202:
21728
21729 /* Line 1464 of yacc.c  */
21730 #line 3437 "grammar.y"
21731     { yyerror(); (yyval.stmt) = MkForStmt(null, null, null, (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21732     break;
21733
21734   case 1203:
21735
21736 /* Line 1464 of yacc.c  */
21737 #line 3439 "grammar.y"
21738     { (yyval.stmt) = MkForEachStmt((yyvsp[(3) - (7)].id), (yyvsp[(5) - (7)].list), null, (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21739     break;
21740
21741   case 1204:
21742
21743 /* Line 1464 of yacc.c  */
21744 #line 3440 "grammar.y"
21745     { (yyval.stmt) = MkForEachStmt((yyvsp[(3) - (9)].id), (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list), (yyvsp[(9) - (9)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21746     break;
21747
21748   case 1205:
21749
21750 /* Line 1464 of yacc.c  */
21751 #line 3444 "grammar.y"
21752     { (yyval.stmt) = MkForStmt(null, null, null, null); (yyval.stmt).loc = (yyloc); ;}
21753     break;
21754
21755   case 1206:
21756
21757 /* Line 1464 of yacc.c  */
21758 #line 3445 "grammar.y"
21759     { (yyval.stmt) = MkForStmt(MkExpressionStmt((yyvsp[(3) - (4)].list)), null, null, null); (yyval.stmt).forStmt.init.loc = (yylsp[(3) - (4)]); (yyval.stmt).loc = (yyloc); ;}
21760     break;
21761
21762   case 1207:
21763
21764 /* Line 1464 of yacc.c  */
21765 #line 3446 "grammar.y"
21766     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (4)].stmt), null, null, null); (yyval.stmt).loc = (yyloc); ;}
21767     break;
21768
21769   case 1208:
21770
21771 /* Line 1464 of yacc.c  */
21772 #line 3447 "grammar.y"
21773     { (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)]); ;}
21774     break;
21775
21776   case 1209:
21777
21778 /* Line 1464 of yacc.c  */
21779 #line 3451 "grammar.y"
21780     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), (yyvsp[(4) - (5)].stmt), (yyvsp[(5) - (5)].list), null); (yyval.stmt).loc = (yyloc); ;}
21781     break;
21782
21783   case 1210:
21784
21785 /* Line 1464 of yacc.c  */
21786 #line 3452 "grammar.y"
21787     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), null, (yyvsp[(6) - (6)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21788     break;
21789
21790   case 1211:
21791
21792 /* Line 1464 of yacc.c  */
21793 #line 3453 "grammar.y"
21794     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (7)].stmt), (yyvsp[(4) - (7)].stmt), (yyvsp[(5) - (7)].list), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21795     break;
21796
21797   case 1212:
21798
21799 /* Line 1464 of yacc.c  */
21800 #line 3454 "grammar.y"
21801     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), (yyvsp[(5) - (6)].list), (yyvsp[(6) - (6)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21802     break;
21803
21804   case 1213:
21805
21806 /* Line 1464 of yacc.c  */
21807 #line 3456 "grammar.y"
21808     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (6)].stmt), (yyvsp[(5) - (6)].list)); (yyval.stmt).loc = (yyloc); ;}
21809     break;
21810
21811   case 1214:
21812
21813 /* Line 1464 of yacc.c  */
21814 #line 3457 "grammar.y"
21815     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (5)].stmt), (yyvsp[(5) - (5)].list)); (yyval.stmt).loc = (yyloc); ;}
21816     break;
21817
21818   case 1215:
21819
21820 /* Line 1464 of yacc.c  */
21821 #line 3458 "grammar.y"
21822     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (5)].stmt), (yyvsp[(5) - (5)].list)); (yyval.stmt).loc = (yyloc); ;}
21823     break;
21824
21825   case 1216:
21826
21827 /* Line 1464 of yacc.c  */
21828 #line 3459 "grammar.y"
21829     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (4)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21830     break;
21831
21832   case 1217:
21833
21834 /* Line 1464 of yacc.c  */
21835 #line 3460 "grammar.y"
21836     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (3)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21837     break;
21838
21839   case 1218:
21840
21841 /* Line 1464 of yacc.c  */
21842 #line 3461 "grammar.y"
21843     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (2)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21844     break;
21845
21846   case 1219:
21847
21848 /* Line 1464 of yacc.c  */
21849 #line 3462 "grammar.y"
21850     { yyerror(); (yyval.stmt) = MkDoWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21851     break;
21852
21853   case 1220:
21854
21855 /* Line 1464 of yacc.c  */
21856 #line 3465 "grammar.y"
21857     { (yyval.stmt) = MkWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21858     break;
21859
21860   case 1221:
21861
21862 /* Line 1464 of yacc.c  */
21863 #line 3469 "grammar.y"
21864     { (yyval.stmt) = MkWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21865     break;
21866
21867   case 1222:
21868
21869 /* Line 1464 of yacc.c  */
21870 #line 3470 "grammar.y"
21871     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (3)].list), null); (yyval.stmt).loc = (yyloc); ;}
21872     break;
21873
21874   case 1223:
21875
21876 /* Line 1464 of yacc.c  */
21877 #line 3474 "grammar.y"
21878     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21879     break;
21880
21881   case 1224:
21882
21883 /* Line 1464 of yacc.c  */
21884 #line 3475 "grammar.y"
21885     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21886     break;
21887
21888   case 1225:
21889
21890 /* Line 1464 of yacc.c  */
21891 #line 3479 "grammar.y"
21892     { (yyval.stmt) = MkGotoStmt((yyvsp[(2) - (3)].id)); (yyval.stmt).loc = (yyloc); ;}
21893     break;
21894
21895   case 1226:
21896
21897 /* Line 1464 of yacc.c  */
21898 #line 3480 "grammar.y"
21899     { (yyval.stmt) = MkContinueStmt(); (yyval.stmt).loc = (yyloc); ;}
21900     break;
21901
21902   case 1227:
21903
21904 /* Line 1464 of yacc.c  */
21905 #line 3481 "grammar.y"
21906     { (yyval.stmt) = MkBreakStmt(); (yyval.stmt).loc = (yyloc); ;}
21907     break;
21908
21909   case 1228:
21910
21911 /* Line 1464 of yacc.c  */
21912 #line 3482 "grammar.y"
21913     { Expression exp = MkExpDummy(); (yyval.stmt) = MkReturnStmt(MkListOne(exp)); (yyval.stmt).loc = (yyloc); exp.loc = (yylsp[(2) - (2)]); ;}
21914     break;
21915
21916   case 1229:
21917
21918 /* Line 1464 of yacc.c  */
21919 #line 3483 "grammar.y"
21920     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (3)].list)); (yyval.stmt).loc = (yyloc); ;}
21921     break;
21922
21923   case 1230:
21924
21925 /* Line 1464 of yacc.c  */
21926 #line 3484 "grammar.y"
21927     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (3)].list)); (yyval.stmt).loc = (yyloc); ;}
21928     break;
21929
21930   case 1231:
21931
21932 /* Line 1464 of yacc.c  */
21933 #line 3485 "grammar.y"
21934     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (3)].exp))); (yyval.stmt).loc = (yyloc); ;}
21935     break;
21936
21937   case 1232:
21938
21939 /* Line 1464 of yacc.c  */
21940 #line 3486 "grammar.y"
21941     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (3)].exp))); (yyval.stmt).loc = (yyloc); ;}
21942     break;
21943
21944   case 1233:
21945
21946 /* Line 1464 of yacc.c  */
21947 #line 3490 "grammar.y"
21948     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21949     break;
21950
21951   case 1234:
21952
21953 /* Line 1464 of yacc.c  */
21954 #line 3491 "grammar.y"
21955     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (2)].exp))); (yyval.stmt).loc = (yyloc); ;}
21956     break;
21957
21958   case 1235:
21959
21960 /* Line 1464 of yacc.c  */
21961 #line 3492 "grammar.y"
21962     { Expression exp = MkExpDummy(); (yyval.stmt) = MkReturnStmt(MkListOne(exp)); (yyval.stmt).loc = (yyloc); exp.loc.start = exp.loc.end = (yylsp[(1) - (1)]).end; ;}
21963     break;
21964
21965   case 1236:
21966
21967 /* Line 1464 of yacc.c  */
21968 #line 3493 "grammar.y"
21969     { (yyval.stmt) = MkGotoStmt(null); (yyval.stmt).loc = (yyloc); ;}
21970     break;
21971
21972   case 1237:
21973
21974 /* Line 1464 of yacc.c  */
21975 #line 3499 "grammar.y"
21976     { (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); ;}
21977     break;
21978
21979   case 1238:
21980
21981 /* Line 1464 of yacc.c  */
21982 #line 3501 "grammar.y"
21983     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
21984     break;
21985
21986   case 1239:
21987
21988 /* Line 1464 of yacc.c  */
21989 #line 3502 "grammar.y"
21990     { (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); ;}
21991     break;
21992
21993   case 1240:
21994
21995 /* Line 1464 of yacc.c  */
21996 #line 3504 "grammar.y"
21997     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
21998     break;
21999
22000   case 1241:
22001
22002 /* Line 1464 of yacc.c  */
22003 #line 3506 "grammar.y"
22004     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
22005     break;
22006
22007   case 1242:
22008
22009 /* Line 1464 of yacc.c  */
22010 #line 3507 "grammar.y"
22011     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (2)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(2) - (2)].stmt)); (yyval.function).loc = (yyloc);;}
22012     break;
22013
22014   case 1243:
22015
22016 /* Line 1464 of yacc.c  */
22017 #line 3510 "grammar.y"
22018     { (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; ;}
22019     break;
22020
22021   case 1244:
22022
22023 /* Line 1464 of yacc.c  */
22024 #line 3511 "grammar.y"
22025     { (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; ;}
22026     break;
22027
22028   case 1245:
22029
22030 /* Line 1464 of yacc.c  */
22031 #line 3512 "grammar.y"
22032     { (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; ;}
22033     break;
22034
22035   case 1246:
22036
22037 /* Line 1464 of yacc.c  */
22038 #line 3513 "grammar.y"
22039     { (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; ;}
22040     break;
22041
22042   case 1247:
22043
22044 /* Line 1464 of yacc.c  */
22045 #line 3514 "grammar.y"
22046     { (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; ;}
22047     break;
22048
22049   case 1248:
22050
22051 /* Line 1464 of yacc.c  */
22052 #line 3515 "grammar.y"
22053     { (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; ;}
22054     break;
22055
22056   case 1249:
22057
22058 /* Line 1464 of yacc.c  */
22059 #line 3519 "grammar.y"
22060     { (yyval.string) = CopyString(yytext); ;}
22061     break;
22062
22063   case 1250:
22064
22065 /* Line 1464 of yacc.c  */
22066 #line 3521 "grammar.y"
22067     {
22068       int len1 = strlen((yyvsp[(1) - (2)].string));
22069       int len2 = strlen(yytext);
22070       (yyval.string) = new byte[len1-1 + len2-1 + 1];
22071       memcpy((yyval.string), (yyvsp[(1) - (2)].string), len1-1);
22072       memcpy((yyval.string) + len1-1, yytext+1, len2);
22073       delete (yyvsp[(1) - (2)].string);
22074    ;}
22075     break;
22076
22077   case 1251:
22078
22079 /* Line 1464 of yacc.c  */
22080 #line 3532 "grammar.y"
22081     { (yyval.external) = MkExternalFunction((yyvsp[(1) - (1)].function)); (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].function).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
22082     break;
22083
22084   case 1252:
22085
22086 /* Line 1464 of yacc.c  */
22087 #line 3534 "grammar.y"
22088     { (yyval.external) = MkExternalClass((yyvsp[(1) - (1)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22089     break;
22090
22091   case 1253:
22092
22093 /* Line 1464 of yacc.c  */
22094 #line 3537 "grammar.y"
22095     { (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); ;}
22096     break;
22097
22098   case 1254:
22099
22100 /* Line 1464 of yacc.c  */
22101 #line 3540 "grammar.y"
22102     { (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
22103     break;
22104
22105   case 1255:
22106
22107 /* Line 1464 of yacc.c  */
22108 #line 3541 "grammar.y"
22109     { (yyval.external) = MkExternalImport((yyvsp[(2) - (2)].string), normalImport, (declMode != defaultAccess) ? declMode : privateAccess);  (yyval.external).loc = (yyloc); ;}
22110     break;
22111
22112   case 1256:
22113
22114 /* Line 1464 of yacc.c  */
22115 #line 3542 "grammar.y"
22116     { (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), staticImport, (declMode != defaultAccess) ? declMode : privateAccess);  (yyval.external).loc = (yyloc); ;}
22117     break;
22118
22119   case 1257:
22120
22121 /* Line 1464 of yacc.c  */
22122 #line 3544 "grammar.y"
22123     {
22124       bool isRemote = !strcmp((yyvsp[(2) - (3)].id).string, "remote");
22125       (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), isRemote ? remoteImport : normalImport, (declMode != defaultAccess) ? declMode : privateAccess);
22126       (yyval.external).loc = (yyloc);
22127       FreeIdentifier((yyvsp[(2) - (3)].id));
22128       if(!isRemote)
22129          yyerror();
22130    ;}
22131     break;
22132
22133   case 1258:
22134
22135 /* Line 1464 of yacc.c  */
22136 #line 3553 "grammar.y"
22137     { (yyval.external) = null; ;}
22138     break;
22139
22140   case 1259:
22141
22142 /* Line 1464 of yacc.c  */
22143 #line 3555 "grammar.y"
22144     { (yyval.external) = MkExternalFunction((yyvsp[(2) - (2)].function)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].function).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22145     break;
22146
22147   case 1260:
22148
22149 /* Line 1464 of yacc.c  */
22150 #line 3557 "grammar.y"
22151     { (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; ;}
22152     break;
22153
22154   case 1261:
22155
22156 /* Line 1464 of yacc.c  */
22157 #line 3558 "grammar.y"
22158     { (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22159     break;
22160
22161   case 1262:
22162
22163 /* Line 1464 of yacc.c  */
22164 #line 3559 "grammar.y"
22165     { (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; ;}
22166     break;
22167
22168   case 1263:
22169
22170 /* Line 1464 of yacc.c  */
22171 #line 3560 "grammar.y"
22172     { (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; ;}
22173     break;
22174
22175   case 1264:
22176
22177 /* Line 1464 of yacc.c  */
22178 #line 3562 "grammar.y"
22179     {
22180       bool isRemote = !strcmp((yyvsp[(3) - (4)].id).string, "remote");
22181       (yyval.external) = MkExternalImport((yyvsp[(4) - (4)].string), isRemote ? remoteImport : normalImport, ((yyvsp[(1) - (4)].declMode) != defaultAccess) ? (yyvsp[(1) - (4)].declMode) : privateAccess);
22182       (yyval.external).loc = (yyloc);
22183       FreeIdentifier((yyvsp[(3) - (4)].id));
22184       structDeclMode = declMode = defaultDeclMode;
22185       if(!isRemote)
22186          yyerror();
22187    ;}
22188     break;
22189
22190   case 1265:
22191
22192 /* Line 1464 of yacc.c  */
22193 #line 3571 "grammar.y"
22194     { defaultDeclMode = (yyvsp[(1) - (2)].declMode); (yyval.external) = null; ;}
22195     break;
22196
22197   case 1266:
22198
22199 /* Line 1464 of yacc.c  */
22200 #line 3572 "grammar.y"
22201     { defaultDeclMode = staticAccess; (yyval.external) = null; ;}
22202     break;
22203
22204   case 1267:
22205
22206 /* Line 1464 of yacc.c  */
22207 #line 3573 "grammar.y"
22208     { (yyval.external) = MkExternalNameSpace((yyvsp[(2) - (2)].id)); (yyval.external).loc = (yyloc); ;}
22209     break;
22210
22211   case 1268:
22212
22213 /* Line 1464 of yacc.c  */
22214 #line 3574 "grammar.y"
22215     { (yyval.external) = MkExternalNameSpace(MkIdentifier((yyvsp[(2) - (2)].specifier).name)); FreeSpecifier((yyvsp[(2) - (2)].specifier)); (yyval.external).loc = (yyloc); ;}
22216     break;
22217
22218   case 1269:
22219
22220 /* Line 1464 of yacc.c  */
22221 #line 3575 "grammar.y"
22222     { (yyval.external) = MkExternalDBTable((yyvsp[(1) - (1)].dbtableDef)); (yyval.external).loc = (yyloc);  (yyvsp[(1) - (1)].dbtableDef).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22223     break;
22224
22225   case 1270:
22226
22227 /* Line 1464 of yacc.c  */
22228 #line 3576 "grammar.y"
22229     { (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; ;}
22230     break;
22231
22232   case 1271:
22233
22234 /* Line 1464 of yacc.c  */
22235 #line 3580 "grammar.y"
22236     { 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; ;}
22237     break;
22238
22239   case 1272:
22240
22241 /* Line 1464 of yacc.c  */
22242 #line 3582 "grammar.y"
22243     {
22244       yyerror();
22245       FreeList((yyvsp[(1) - (2)].list), FreeSpecifier);
22246       (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));
22247       (yyval.external).loc = (yyvsp[(2) - (2)]._class).loc;
22248       (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess;
22249       structDeclMode = declMode = defaultDeclMode;
22250    ;}
22251     break;
22252
22253   case 1273:
22254
22255 /* Line 1464 of yacc.c  */
22256 #line 3590 "grammar.y"
22257     { 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; ;}
22258     break;
22259
22260   case 1274:
22261
22262 /* Line 1464 of yacc.c  */
22263 #line 3592 "grammar.y"
22264     { 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; ;}
22265     break;
22266
22267   case 1275:
22268
22269 /* Line 1464 of yacc.c  */
22270 #line 3593 "grammar.y"
22271     { 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; ;}
22272     break;
22273
22274   case 1276:
22275
22276 /* Line 1464 of yacc.c  */
22277 #line 3596 "grammar.y"
22278     { yyerror(); (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
22279     break;
22280
22281   case 1277:
22282
22283 /* Line 1464 of yacc.c  */
22284 #line 3597 "grammar.y"
22285     { yyerror(); (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22286     break;
22287
22288   case 1278:
22289
22290 /* Line 1464 of yacc.c  */
22291 #line 3601 "grammar.y"
22292     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].external)); ast = (yyval.list); ;}
22293     break;
22294
22295   case 1279:
22296
22297 /* Line 1464 of yacc.c  */
22298 #line 3602 "grammar.y"
22299     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
22300     break;
22301
22302   case 1280:
22303
22304 /* Line 1464 of yacc.c  */
22305 #line 3603 "grammar.y"
22306     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
22307     break;
22308
22309   case 1283:
22310
22311 /* Line 1464 of yacc.c  */
22312 #line 3609 "grammar.y"
22313     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].external)); ast = (yyval.list); ;}
22314     break;
22315
22316   case 1284:
22317
22318 /* Line 1464 of yacc.c  */
22319 #line 3610 "grammar.y"
22320     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
22321     break;
22322
22323   case 1285:
22324
22325 /* Line 1464 of yacc.c  */
22326 #line 3612 "grammar.y"
22327     { 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; ;}
22328     break;
22329
22330   case 1286:
22331
22332 /* Line 1464 of yacc.c  */
22333 #line 3614 "grammar.y"
22334     { 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; ;}
22335     break;
22336
22337   case 1289:
22338
22339 /* Line 1464 of yacc.c  */
22340 #line 3620 "grammar.y"
22341     { ast = MkList(); ;}
22342     break;
22343
22344   case 1290:
22345
22346 /* Line 1464 of yacc.c  */
22347 #line 3624 "grammar.y"
22348     { 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)); ;}
22349     break;
22350
22351   case 1291:
22352
22353 /* Line 1464 of yacc.c  */
22354 #line 3625 "grammar.y"
22355     { 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)); ;}
22356     break;
22357
22358   case 1292:
22359
22360 /* Line 1464 of yacc.c  */
22361 #line 3626 "grammar.y"
22362     { (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (5)].string), null, (yyvsp[(4) - (5)].list)); ;}
22363     break;
22364
22365   case 1293:
22366
22367 /* Line 1464 of yacc.c  */
22368 #line 3630 "grammar.y"
22369     { (yyval.dbtableEntry) = MkDBFieldEntry(MkTypeName((yyvsp[(1) - (4)].list), null), (yyvsp[(2) - (4)].id), (yyvsp[(3) - (4)].string)); ;}
22370     break;
22371
22372   case 1294:
22373
22374 /* Line 1464 of yacc.c  */
22375 #line 3634 "grammar.y"
22376     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(1) - (1)].id), ascending); ;}
22377     break;
22378
22379   case 1295:
22380
22381 /* Line 1464 of yacc.c  */
22382 #line 3635 "grammar.y"
22383     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(2) - (2)].id), descending); ;}
22384     break;
22385
22386   case 1296:
22387
22388 /* Line 1464 of yacc.c  */
22389 #line 3636 "grammar.y"
22390     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(2) - (2)].id), ascending); ;}
22391     break;
22392
22393   case 1297:
22394
22395 /* Line 1464 of yacc.c  */
22396 #line 3640 "grammar.y"
22397     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbindexItem)); ;}
22398     break;
22399
22400   case 1298:
22401
22402 /* Line 1464 of yacc.c  */
22403 #line 3641 "grammar.y"
22404     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].dbindexItem)); ;}
22405     break;
22406
22407   case 1299:
22408
22409 /* Line 1464 of yacc.c  */
22410 #line 3645 "grammar.y"
22411     { (yyval.dbtableEntry) = MkDBIndexEntry((yyvsp[(2) - (3)].list), null); ;}
22412     break;
22413
22414   case 1300:
22415
22416 /* Line 1464 of yacc.c  */
22417 #line 3646 "grammar.y"
22418     { (yyval.dbtableEntry) = MkDBIndexEntry((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].id)); ;}
22419     break;
22420
22421   case 1301:
22422
22423 /* Line 1464 of yacc.c  */
22424 #line 3650 "grammar.y"
22425     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbtableEntry)); ;}
22426     break;
22427
22428   case 1302:
22429
22430 /* Line 1464 of yacc.c  */
22431 #line 3651 "grammar.y"
22432     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbtableEntry)); ;}
22433     break;
22434
22435   case 1303:
22436
22437 /* Line 1464 of yacc.c  */
22438 #line 3652 "grammar.y"
22439     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].dbtableEntry)); ;}
22440     break;
22441
22442   case 1304:
22443
22444 /* Line 1464 of yacc.c  */
22445 #line 3653 "grammar.y"
22446     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].dbtableEntry)); ;}
22447     break;
22448
22449   case 1305:
22450
22451 /* Line 1464 of yacc.c  */
22452 #line 3657 "grammar.y"
22453     { (yyval.exp) = MkExpDBOpen((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].exp)); ;}
22454     break;
22455
22456   case 1306:
22457
22458 /* Line 1464 of yacc.c  */
22459 #line 3661 "grammar.y"
22460     { (yyval.exp) = MkExpDBField((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].id)); ;}
22461     break;
22462
22463   case 1307:
22464
22465 /* Line 1464 of yacc.c  */
22466 #line 3665 "grammar.y"
22467     { (yyval.exp) = MkExpDBIndex((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].id)); ;}
22468     break;
22469
22470   case 1308:
22471
22472 /* Line 1464 of yacc.c  */
22473 #line 3669 "grammar.y"
22474     { (yyval.exp) = MkExpDBTable((yyvsp[(3) - (4)].string)); ;}
22475     break;
22476
22477
22478
22479 /* Line 1464 of yacc.c  */
22480 #line 22481 "grammar.ec"
22481       default: break;
22482     }
22483   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
22484
22485   YYPOPSTACK (yylen);
22486   yylen = 0;
22487   YY_STACK_PRINT (yyss, yyssp);
22488
22489   *++yyvsp = yyval;
22490   *++yylsp = yyloc;
22491
22492   /* Now `shift' the result of the reduction.  Determine what state
22493      that goes to, based on the state we popped back to and the rule
22494      number reduced by.  */
22495
22496   yyn = yyr1[yyn];
22497
22498   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
22499   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
22500     yystate = yytable[yystate];
22501   else
22502     yystate = yydefgoto[yyn - YYNTOKENS];
22503
22504   goto yynewstate;
22505
22506
22507 /*------------------------------------.
22508 | yyerrlab -- here on detecting error |
22509 `------------------------------------*/
22510 yyerrlab:
22511   /* If not already recovering from an error, report this error.  */
22512   if (!yyerrstatus)
22513     {
22514       ++yynerrs;
22515 #if ! YYERROR_VERBOSE
22516       yyerror (YY_("syntax error"));
22517 #else
22518       {
22519         YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
22520         if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
22521           {
22522             YYSIZE_T yyalloc = 2 * yysize;
22523             if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
22524               yyalloc = YYSTACK_ALLOC_MAXIMUM;
22525             if (yymsg != yymsgbuf)
22526               YYSTACK_FREE (yymsg);
22527             yymsg = (char *) YYSTACK_ALLOC (yyalloc);
22528             if (yymsg)
22529               yymsg_alloc = yyalloc;
22530             else
22531               {
22532                 yymsg = yymsgbuf;
22533                 yymsg_alloc = sizeof yymsgbuf;
22534               }
22535           }
22536
22537         if (0 < yysize && yysize <= yymsg_alloc)
22538           {
22539             (void) yysyntax_error (yymsg, yystate, yychar);
22540             yyerror (yymsg);
22541           }
22542         else
22543           {
22544             yyerror (YY_("syntax error"));
22545             if (yysize != 0)
22546               goto yyexhaustedlab;
22547           }
22548       }
22549 #endif
22550     }
22551
22552   yyerror_range[0] = yylloc;
22553
22554   if (yyerrstatus == 3)
22555     {
22556       /* If just tried and failed to reuse lookahead token after an
22557          error, discard it.  */
22558
22559       if (yychar <= YYEOF)
22560         {
22561           /* Return failure if at end of input.  */
22562           if (yychar == YYEOF)
22563             YYABORT;
22564         }
22565       else
22566         {
22567           yydestruct ("Error: discarding",
22568                       yytoken, &yylval, &yylloc);
22569           yychar = YYEMPTY;
22570         }
22571     }
22572
22573   /* Else will try to reuse lookahead token after shifting the error
22574      token.  */
22575   goto yyerrlab1;
22576
22577
22578 /*---------------------------------------------------.
22579 | yyerrorlab -- error raised explicitly by YYERROR.  |
22580 `---------------------------------------------------*/
22581 yyerrorlab:
22582
22583   /* Pacify compilers like GCC when the user code never invokes
22584      YYERROR and the label yyerrorlab therefore never appears in user
22585      code.  */
22586   if (/*CONSTCOND*/ 0)
22587      goto yyerrorlab;
22588
22589   yyerror_range[0] = yylsp[1-yylen];
22590   /* Do not reclaim the symbols of the rule which action triggered
22591      this YYERROR.  */
22592   YYPOPSTACK (yylen);
22593   yylen = 0;
22594   YY_STACK_PRINT (yyss, yyssp);
22595   yystate = *yyssp;
22596   goto yyerrlab1;
22597
22598
22599 /*-------------------------------------------------------------.
22600 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
22601 `-------------------------------------------------------------*/
22602 yyerrlab1:
22603   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
22604
22605   for (;;)
22606     {
22607       yyn = yypact[yystate];
22608       if (yyn != YYPACT_NINF)
22609         {
22610           yyn += YYTERROR;
22611           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
22612             {
22613               yyn = yytable[yyn];
22614               if (0 < yyn)
22615                 break;
22616             }
22617         }
22618
22619       /* Pop the current state because it cannot handle the error token.  */
22620       if (yyssp == yyss)
22621         YYABORT;
22622
22623       yyerror_range[0] = *yylsp;
22624       yydestruct ("Error: popping",
22625                   yystos[yystate], yyvsp, yylsp);
22626       YYPOPSTACK (1);
22627       yystate = *yyssp;
22628       YY_STACK_PRINT (yyss, yyssp);
22629     }
22630
22631   *++yyvsp = yylval;
22632
22633   yyerror_range[1] = yylloc;
22634   /* Using YYLLOC is tempting, but would change the location of
22635      the lookahead.  YYLOC is available though.  */
22636   YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
22637   *++yylsp = yyloc;
22638
22639   /* Shift the error token.  */
22640   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
22641
22642   yystate = yyn;
22643   goto yynewstate;
22644
22645
22646 /*-------------------------------------.
22647 | yyacceptlab -- YYACCEPT comes here.  |
22648 `-------------------------------------*/
22649 yyacceptlab:
22650   yyresult = 0;
22651   goto yyreturn;
22652
22653 /*-----------------------------------.
22654 | yyabortlab -- YYABORT comes here.  |
22655 `-----------------------------------*/
22656 yyabortlab:
22657   yyresult = 1;
22658   goto yyreturn;
22659
22660 #if !defined(yyoverflow) || YYERROR_VERBOSE
22661 /*-------------------------------------------------.
22662 | yyexhaustedlab -- memory exhaustion comes here.  |
22663 `-------------------------------------------------*/
22664 yyexhaustedlab:
22665   yyerror (YY_("memory exhausted"));
22666   yyresult = 2;
22667   /* Fall through.  */
22668 #endif
22669
22670 yyreturn:
22671   if (yychar != YYEMPTY)
22672      yydestruct ("Cleanup: discarding lookahead",
22673                  yytoken, &yylval, &yylloc);
22674   /* Do not reclaim the symbols of the rule which action triggered
22675      this YYABORT or YYACCEPT.  */
22676   YYPOPSTACK (yylen);
22677   YY_STACK_PRINT (yyss, yyssp);
22678   while (yyssp != yyss)
22679     {
22680       yydestruct ("Cleanup: popping",
22681                   yystos[*yyssp], yyvsp, yylsp);
22682       YYPOPSTACK (1);
22683     }
22684 #ifndef yyoverflow
22685   if (yyss != yyssa)
22686     YYSTACK_FREE (yyss);
22687 #endif
22688 #if YYERROR_VERBOSE
22689   if (yymsg != yymsgbuf)
22690     YYSTACK_FREE (yymsg);
22691 #endif
22692   /* Make sure YYID is used.  */
22693   return YYID (yyresult);
22694 }
22695
22696
22697
22698 /* Line 1684 of yacc.c  */
22699 #line 3672 "grammar.y"
22700
22701