compiler/libec: Added grammar rule for __builtin_offset
[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      BUILTIN_OFFSETOF = 374
252    };
253 #endif
254
255
256
257 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
258 typedef union YYSTYPE
259 {
260
261 /* Line 214 of yacc.c  */
262 #line 39 "grammar.y"
263
264    SpecifierType specifierType;
265    int i;
266    AccessMode declMode;
267    Identifier id;
268    Expression exp;
269    Specifier specifier;
270    OldList * list;
271    Enumerator enumerator;
272    Declarator declarator;
273    Pointer pointer;
274    Initializer initializer;
275    InitDeclarator initDeclarator;
276    TypeName typeName;
277    Declaration declaration;
278    Statement stmt;
279    FunctionDefinition function;
280    External external;
281    Context context;
282    AsmField asmField;
283    Attrib attrib;
284    ExtDecl extDecl;
285    Attribute attribute;
286
287    Instantiation instance;
288    MembersInit membersInit;
289    MemberInit memberInit;
290    ClassFunction classFunction;
291    ClassDefinition _class;
292    ClassDef classDef;
293    PropertyDef prop;
294    char * string;
295    Symbol symbol;
296    PropertyWatch propertyWatch;
297    TemplateParameter templateParameter;
298    TemplateArgument templateArgument;
299    TemplateDatatype templateDatatype;
300
301    DBTableEntry dbtableEntry;
302    DBIndexItem dbindexItem;
303    DBTableDef dbtableDef;
304
305
306
307 /* Line 214 of yacc.c  */
308 #line 309 "grammar.ec"
309 } YYSTYPE;
310 # define YYSTYPE_IS_TRIVIAL 1
311 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
312 # define YYSTYPE_IS_DECLARED 1
313 #endif
314
315 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
316 typedef struct YYLTYPE
317 {
318   int first_line;
319   int first_column;
320   int last_line;
321   int last_column;
322 } YYLTYPE;
323 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
324 # define YYLTYPE_IS_DECLARED 1
325 # define YYLTYPE_IS_TRIVIAL 1
326 #endif
327
328
329 /* Copy the second part of user declarations.  */
330
331
332 /* Line 264 of yacc.c  */
333 #line 334 "grammar.ec"
334
335 #ifdef short
336 # undef short
337 #endif
338
339 #ifdef YYTYPE_UINT8
340 typedef YYTYPE_UINT8 yytype_uint8;
341 #else
342 typedef unsigned char yytype_uint8;
343 #endif
344
345 #ifdef YYTYPE_INT8
346 typedef YYTYPE_INT8 yytype_int8;
347 #elif (defined __STDC__ || defined __C99__FUNC__ \
348      || defined __cplusplus || defined _MSC_VER)
349 typedef signed char yytype_int8;
350 #else
351 typedef short int yytype_int8;
352 #endif
353
354 #ifdef YYTYPE_UINT16
355 typedef YYTYPE_UINT16 yytype_uint16;
356 #else
357 typedef unsigned short int yytype_uint16;
358 #endif
359
360 #ifdef YYTYPE_INT16
361 typedef YYTYPE_INT16 yytype_int16;
362 #else
363 typedef short int yytype_int16;
364 #endif
365
366 #ifndef YYSIZE_T
367 # ifdef __SIZE_TYPE__
368 #  define YYSIZE_T __SIZE_TYPE__
369 # elif defined size_t
370 #  define YYSIZE_T size_t
371 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
372      || defined __cplusplus || defined _MSC_VER)
373 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
374 #  define YYSIZE_T size_t
375 # else
376 #  define YYSIZE_T unsigned int
377 # endif
378 #endif
379
380 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
381
382 #ifndef YY_
383 # if defined YYENABLE_NLS && YYENABLE_NLS
384 #  if ENABLE_NLS
385 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
386 #   define YY_(msgid) dgettext ("bison-runtime", msgid)
387 #  endif
388 # endif
389 # ifndef YY_
390 #  define YY_(msgid) msgid
391 # endif
392 #endif
393
394 /* Suppress unused-variable warnings by "using" E.  */
395 #if ! defined lint || defined __GNUC__
396 # define YYUSE(e) ((void) (e))
397 #else
398 # define YYUSE(e) /* empty */
399 #endif
400
401 /* Identity function, used to suppress warnings about constant conditions.  */
402 #ifndef lint
403 # define YYID(n) (n)
404 #else
405 #if (defined __STDC__ || defined __C99__FUNC__ \
406      || defined __cplusplus || defined _MSC_VER)
407 static int
408 YYID (int yyi)
409 #else
410 static int
411 YYID (yyi)
412     int yyi;
413 #endif
414 {
415   return yyi;
416 }
417 #endif
418
419 #if ! defined yyoverflow || YYERROR_VERBOSE
420
421 /* The parser invokes alloca or malloc; define the necessary symbols.  */
422
423 # ifdef YYSTACK_USE_ALLOCA
424 #  if YYSTACK_USE_ALLOCA
425 #   ifdef __GNUC__
426 #    define YYSTACK_ALLOC __builtin_alloca
427 #   elif defined __BUILTIN_VA_ARG_INCR
428 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
429 #   elif defined _AIX
430 #    define YYSTACK_ALLOC __alloca
431 #   elif defined _MSC_VER
432 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
433 #    define alloca _alloca
434 #   else
435 #    define YYSTACK_ALLOC alloca
436 #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
437      || defined __cplusplus || defined _MSC_VER)
438 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
439 #     ifndef _STDLIB_H
440 #      define _STDLIB_H 1
441 #     endif
442 #    endif
443 #   endif
444 #  endif
445 # endif
446
447 # ifdef YYSTACK_ALLOC
448    /* Pacify GCC's `empty if-body' warning.  */
449 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
450 #  ifndef YYSTACK_ALLOC_MAXIMUM
451     /* The OS might guarantee only one guard page at the bottom of the stack,
452        and a page size can be as small as 4096 bytes.  So we cannot safely
453        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
454        to allow for a few compiler-allocated temporary stack slots.  */
455 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
456 #  endif
457 # else
458 #  define YYSTACK_ALLOC YYMALLOC
459 #  define YYSTACK_FREE YYFREE
460 #  ifndef YYSTACK_ALLOC_MAXIMUM
461 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
462 #  endif
463 #  if (defined __cplusplus && ! defined _STDLIB_H \
464        && ! ((defined YYMALLOC || defined malloc) \
465              && (defined YYFREE || defined free)))
466 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
467 #   ifndef _STDLIB_H
468 #    define _STDLIB_H 1
469 #   endif
470 #  endif
471 #  ifndef YYMALLOC
472 #   define YYMALLOC malloc
473 #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
474      || defined __cplusplus || defined _MSC_VER)
475 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
476 #   endif
477 #  endif
478 #  ifndef YYFREE
479 #   define YYFREE free
480 #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
481      || defined __cplusplus || defined _MSC_VER)
482 void free (void *); /* INFRINGES ON USER NAME SPACE */
483 #   endif
484 #  endif
485 # endif
486 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
487
488
489 #if (! defined yyoverflow \
490      && (! defined __cplusplus \
491          || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
492              && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
493
494 /* A type that is properly aligned for any stack member.  */
495 union yyalloc
496 {
497   yytype_int16 yyss_alloc;
498   YYSTYPE yyvs_alloc;
499   YYLTYPE yyls_alloc;
500 };
501
502 /* The size of the maximum gap between one aligned stack and the next.  */
503 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
504
505 /* The size of an array large to enough to hold all stacks, each with
506    N elements.  */
507 # define YYSTACK_BYTES(N) \
508      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
509       + 2 * YYSTACK_GAP_MAXIMUM)
510
511 /* Copy COUNT objects from FROM to TO.  The source and destination do
512    not overlap.  */
513 # ifndef YYCOPY
514 #  if defined __GNUC__ && 1 < __GNUC__
515 #   define YYCOPY(To, From, Count) \
516       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
517 #  else
518 #   define YYCOPY(To, From, Count)              \
519       do                                        \
520         {                                       \
521           YYSIZE_T yyi;                         \
522           for (yyi = 0; yyi < (Count); yyi++)   \
523             (To)[yyi] = (From)[yyi];            \
524         }                                       \
525       while (YYID (0))
526 #  endif
527 # endif
528
529 /* Relocate STACK from its old location to the new one.  The
530    local variables YYSIZE and YYSTACKSIZE give the old and new number of
531    elements in the stack, and YYPTR gives the new location of the
532    stack.  Advance YYPTR to a properly aligned location for the next
533    stack.  */
534 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
535     do                                                                  \
536       {                                                                 \
537         YYSIZE_T yynewbytes;                                            \
538         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
539         Stack = &yyptr->Stack_alloc;                                    \
540         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
541         yyptr += yynewbytes / sizeof (*yyptr);                          \
542       }                                                                 \
543     while (YYID (0))
544
545 #endif
546
547 /* YYFINAL -- State number of the termination state.  */
548 #define YYFINAL  295
549 /* YYLAST -- Last index in YYTABLE.  */
550 #define YYLAST   42445
551
552 /* YYNTOKENS -- Number of terminals.  */
553 #define YYNTOKENS  145
554 /* YYNNTS -- Number of nonterminals.  */
555 #define YYNNTS  257
556 /* YYNRULES -- Number of rules.  */
557 #define YYNRULES  1309
558 /* YYNRULES -- Number of states.  */
559 #define YYNSTATES  2174
560
561 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
562 #define YYUNDEFTOK  2
563 #define YYMAXUTOK   374
564
565 #define YYTRANSLATE(YYX)                                                \
566   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
567
568 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
569 static const yytype_uint8 yytranslate[] =
570 {
571        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
572        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
573        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
574        2,     2,     2,   139,     2,     2,   133,   141,   136,     2,
575      123,   124,   120,   137,   128,   138,   131,   140,     2,     2,
576        2,     2,     2,     2,     2,     2,     2,     2,   132,   126,
577      121,   127,   122,   144,     2,     2,     2,     2,     2,     2,
578        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
579        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
580        2,   134,     2,   135,   142,     2,     2,     2,     2,     2,
581        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
582        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
583        2,     2,     2,   130,   143,   129,   125,     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,     2,     2,     2,     2,
596        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
597        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
598       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
599       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
600       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
601       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
602       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
603       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
604       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
605       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
606       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
607      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
608      115,   116,   117,   118,   119
609 };
610
611 #if YYDEBUG
612 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
613    YYRHS.  */
614 static const yytype_uint16 yyprhs[] =
615 {
616        0,     0,     3,     6,     9,    11,    14,    16,    18,    20,
617       25,    30,    33,    35,    39,    44,    48,    51,    54,    56,
618       60,    63,    66,    69,    72,    75,    78,    81,    85,    88,
619       90,    93,    95,    98,   101,   104,   107,   110,   113,   115,
620      117,   121,   123,   127,   131,   133,   135,   139,   143,   145,
621      149,   153,   157,   161,   163,   166,   169,   171,   173,   176,
622      179,   182,   185,   188,   191,   193,   195,   197,   200,   203,
623      205,   208,   211,   214,   217,   219,   222,   225,   229,   234,
624      240,   245,   249,   254,   257,   261,   266,   272,   277,   281,
625      286,   292,   298,   303,   306,   310,   314,   318,   322,   325,
626      330,   334,   338,   341,   346,   350,   353,   357,   360,   364,
627      367,   369,   372,   376,   380,   384,   387,   389,   393,   397,
628      399,   403,   407,   410,   415,   421,   425,   430,   434,   436,
629      440,   444,   448,   451,   455,   458,   463,   469,   473,   478,
630      482,   484,   488,   492,   495,   497,   500,   503,   506,   508,
631      511,   517,   525,   535,   542,   551,   556,   563,   565,   568,
632      572,   577,   580,   583,   585,   587,   590,   593,   595,   597,
633      599,   601,   609,   611,   614,   619,   621,   623,   626,   630,
634      633,   636,   639,   643,   645,   648,   651,   654,   656,   658,
635      660,   663,   666,   669,   673,   677,   679,   681,   684,   687,
636      689,   692,   695,   698,   701,   703,   706,   708,   711,   714,
637      719,   724,   731,   734,   739,   744,   751,   753,   755,   759,
638      761,   766,   772,   774,   776,   778,   780,   784,   786,   788,
639      790,   794,   798,   802,   804,   808,   810,   813,   816,   820,
640      824,   830,   836,   843,   850,   853,   856,   860,   864,   868,
641      872,   876,   880,   884,   888,   892,   896,   900,   902,   904,
642      908,   910,   913,   918,   920,   922,   924,   929,   934,   940,
643      949,   952,   954,   956,   958,   961,   968,   975,   981,   987,
644      994,  1001,  1007,  1013,  1021,  1029,  1036,  1043,  1051,  1059,
645     1066,  1073,  1078,  1084,  1089,  1096,  1101,  1103,  1105,  1107,
646     1109,  1113,  1116,  1118,  1121,  1124,  1127,  1129,  1134,  1139,
647     1143,  1148,  1153,  1157,  1161,  1164,  1167,  1172,  1177,  1181,
648     1186,  1190,  1194,  1197,  1200,  1202,  1204,  1208,  1212,  1214,
649     1216,  1220,  1224,  1227,  1230,  1233,  1236,  1239,  1242,  1247,
650     1253,  1259,  1262,  1267,  1274,  1276,  1278,  1280,  1282,  1284,
651     1286,  1288,  1290,  1292,  1294,  1296,  1301,  1303,  1307,  1311,
652     1315,  1319,  1323,  1327,  1329,  1333,  1337,  1341,  1345,  1347,
653     1351,  1355,  1359,  1363,  1366,  1368,  1371,  1375,  1379,  1383,
654     1387,  1391,  1395,  1399,  1401,  1405,  1409,  1413,  1417,  1421,
655     1425,  1429,  1433,  1435,  1439,  1443,  1447,  1451,  1453,  1457,
656     1461,  1465,  1469,  1471,  1475,  1479,  1483,  1487,  1489,  1493,
657     1497,  1499,  1503,  1507,  1509,  1515,  1521,  1527,  1533,  1539,
658     1545,  1551,  1557,  1563,  1569,  1575,  1581,  1587,  1593,  1599,
659     1605,  1607,  1611,  1615,  1619,  1623,  1627,  1631,  1635,  1639,
660     1641,  1643,  1645,  1647,  1649,  1651,  1653,  1655,  1657,  1659,
661     1661,  1663,  1667,  1671,  1674,  1676,  1680,  1684,  1686,  1688,
662     1691,  1694,  1698,  1702,  1706,  1710,  1714,  1718,  1722,  1725,
663     1728,  1731,  1734,  1737,  1743,  1750,  1757,  1760,  1766,  1768,
664     1770,  1772,  1777,  1779,  1783,  1787,  1791,  1795,  1799,  1803,
665     1805,  1809,  1813,  1817,  1821,  1823,  1827,  1831,  1835,  1839,
666     1841,  1844,  1848,  1852,  1856,  1860,  1864,  1868,  1872,  1874,
667     1878,  1882,  1886,  1890,  1894,  1898,  1902,  1906,  1908,  1912,
668     1916,  1920,  1924,  1926,  1930,  1934,  1938,  1942,  1944,  1948,
669     1952,  1956,  1960,  1962,  1966,  1970,  1972,  1976,  1980,  1982,
670     1988,  1994,  2000,  2006,  2011,  2016,  2021,  2026,  2032,  2038,
671     2044,  2050,  2055,  2060,  2065,  2070,  2076,  2082,  2088,  2094,
672     2100,  2106,  2112,  2118,  2122,  2126,  2129,  2132,  2134,  2138,
673     2142,  2146,  2150,  2152,  2155,  2159,  2163,  2166,  2169,  2172,
674     2174,  2177,  2181,  2185,  2187,  2189,  2191,  2193,  2195,  2197,
675     2199,  2201,  2203,  2205,  2207,  2209,  2211,  2213,  2215,  2217,
676     2219,  2223,  2227,  2229,  2233,  2236,  2238,  2241,  2244,  2247,
677     2252,  2257,  2261,  2265,  2270,  2276,  2281,  2288,  2295,  2300,
678     2306,  2311,  2318,  2325,  2331,  2337,  2340,  2343,  2346,  2352,
679     2356,  2362,  2369,  2375,  2383,  2391,  2400,  2409,  2417,  2425,
680     2429,  2433,  2437,  2442,  2446,  2452,  2458,  2465,  2473,  2480,
681     2485,  2487,  2489,  2491,  2493,  2495,  2497,  2499,  2501,  2503,
682     2506,  2508,  2510,  2512,  2514,  2516,  2518,  2520,  2522,  2524,
683     2526,  2528,  2530,  2532,  2534,  2536,  2538,  2543,  2548,  2553,
684     2555,  2557,  2559,  2561,  2563,  2565,  2567,  2569,  2571,  2573,
685     2575,  2577,  2579,  2581,  2583,  2585,  2587,  2589,  2591,  2593,
686     2595,  2597,  2599,  2601,  2603,  2605,  2607,  2612,  2617,  2622,
687     2624,  2626,  2629,  2632,  2636,  2642,  2645,  2649,  2655,  2661,
688     2667,  2669,  2673,  2676,  2679,  2683,  2687,  2690,  2694,  2698,
689     2703,  2707,  2711,  2715,  2719,  2723,  2727,  2732,  2737,  2742,
690     2744,  2746,  2751,  2755,  2758,  2762,  2766,  2770,  2774,  2778,
691     2782,  2786,  2790,  2794,  2798,  2802,  2806,  2808,  2810,  2812,
692     2815,  2817,  2820,  2822,  2825,  2827,  2830,  2832,  2835,  2837,
693     2840,  2842,  2845,  2847,  2850,  2852,  2855,  2857,  2860,  2862,
694     2865,  2867,  2870,  2872,  2875,  2877,  2880,  2882,  2885,  2887,
695     2890,  2892,  2895,  2897,  2900,  2902,  2905,  2907,  2910,  2912,
696     2915,  2917,  2920,  2922,  2925,  2927,  2930,  2932,  2935,  2937,
697     2940,  2942,  2944,  2946,  2949,  2951,  2954,  2956,  2959,  2961,
698     2964,  2969,  2975,  2977,  2979,  2981,  2984,  2986,  2989,  2991,
699     2994,  2996,  2999,  3004,  3010,  3012,  3015,  3017,  3020,  3022,
700     3025,  3027,  3030,  3032,  3035,  3037,  3040,  3045,  3051,  3053,
701     3056,  3058,  3061,  3063,  3066,  3068,  3071,  3073,  3076,  3078,
702     3081,  3086,  3092,  3096,  3100,  3102,  3106,  3110,  3114,  3118,
703     3120,  3122,  3124,  3129,  3134,  3139,  3143,  3148,  3153,  3158,
704     3162,  3164,  3168,  3173,  3177,  3182,  3187,  3192,  3197,  3201,
705     3204,  3208,  3212,  3216,  3220,  3223,  3226,  3229,  3233,  3238,
706     3240,  3242,  3245,  3249,  3253,  3257,  3261,  3264,  3267,  3270,
707     3274,  3279,  3281,  3283,  3285,  3287,  3289,  3294,  3296,  3298,
708     3300,  3302,  3304,  3306,  3308,  3310,  3312,  3317,  3319,  3322,
709     3326,  3333,  3339,  3343,  3348,  3351,  3355,  3359,  3363,  3367,
710     3372,  3377,  3382,  3385,  3389,  3393,  3397,  3402,  3407,  3411,
711     3416,  3419,  3423,  3427,  3431,  3436,  3441,  3443,  3446,  3449,
712     3453,  3455,  3457,  3460,  3463,  3467,  3469,  3471,  3474,  3477,
713     3481,  3483,  3486,  3490,  3493,  3496,  3498,  3501,  3505,  3508,
714     3510,  3513,  3517,  3521,  3523,  3526,  3530,  3534,  3536,  3539,
715     3543,  3547,  3549,  3552,  3556,  3560,  3562,  3565,  3569,  3573,
716     3575,  3579,  3584,  3586,  3591,  3594,  3600,  3604,  3606,  3608,
717     3610,  3612,  3614,  3616,  3620,  3624,  3627,  3630,  3632,  3634,
718     3638,  3641,  3645,  3647,  3651,  3655,  3659,  3663,  3667,  3669,
719     3672,  3676,  3680,  3682,  3685,  3687,  3690,  3693,  3696,  3699,
720     3703,  3705,  3707,  3711,  3715,  3717,  3721,  3726,  3730,  3735,
721     3739,  3743,  3748,  3752,  3757,  3759,  3763,  3767,  3772,  3776,
722     3780,  3784,  3789,  3791,  3795,  3799,  3803,  3807,  3811,  3813,
723     3817,  3820,  3822,  3824,  3826,  3828,  3830,  3833,  3835,  3837,
724     3839,  3841,  3844,  3847,  3850,  3852,  3854,  3856,  3858,  3860,
725     3863,  3865,  3867,  3872,  3880,  3882,  3886,  3887,  3894,  3903,
726     3914,  3927,  3936,  3947,  3958,  3964,  3972,  3982,  3994,  4002,
727     4012,  4022,  4026,  4031,  4036,  4040,  4044,  4048,  4053,  4058,
728     4062,  4066,  4070,  4075,  4080,  4084,  4087,  4091,  4094,  4098,
729     4103,  4108,  4112,  4116,  4118,  4120,  4122,  4124,  4126,  4129,
730     4133,  4136,  4139,  4142,  4146,  4150,  4153,  4159,  4166,  4169,
731     4172,  4175,  4178,  4181,  4184,  4186,  4189,  4192,  4196,  4198,
732     4201,  4203,  4206,  4209,  4211,  4214,  4217,  4220,  4223,  4226,
733     4229,  4231,  4233,  4236,  4239,  4241,  4243,  4246,  4249,  4251,
734     4254,  4257,  4259,  4262,  4264,  4267,  4270,  4276,  4282,  4290,
735     4298,  4304,  4310,  4314,  4317,  4323,  4328,  4333,  4341,  4348,
736     4355,  4361,  4369,  4376,  4381,  4389,  4399,  4403,  4408,  4413,
737     4419,  4425,  4432,  4440,  4447,  4454,  4460,  4466,  4471,  4475,
738     4478,  4480,  4483,  4488,  4492,  4498,  4503,  4507,  4510,  4513,
739     4516,  4520,  4524,  4528,  4532,  4535,  4538,  4540,  4542,  4547,
740     4551,  4556,  4560,  4564,  4567,  4572,  4576,  4581,  4585,  4589,
741     4592,  4594,  4597,  4599,  4601,  4604,  4606,  4609,  4613,  4617,
742     4619,  4622,  4625,  4628,  4632,  4637,  4642,  4645,  4648,  4651,
743     4654,  4656,  4659,  4661,  4664,  4666,  4669,  4672,  4674,  4677,
744     4679,  4682,  4685,  4688,  4691,  4693,  4696,  4699,  4703,  4705,
745     4707,  4708,  4715,  4722,  4728,  4733,  4735,  4738,  4741,  4743,
746     4747,  4751,  4756,  4758,  4760,  4763,  4766,  4773,  4780,  4787
747 };
748
749 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
750 static const yytype_int16 yyrhs[] =
751 {
752      391,     0,    -1,   217,   120,    -1,   217,   121,    -1,   150,
753       -1,   217,   217,    -1,    28,    -1,    28,    -1,   148,    -1,
754      148,   121,   211,   122,    -1,   148,   121,   211,    11,    -1,
755      300,   335,    -1,   333,    -1,   300,   123,   124,    -1,   125,
756      300,   123,   124,    -1,    78,   300,   335,    -1,    78,   333,
757       -1,   300,   336,    -1,   334,    -1,    78,   300,   336,    -1,
758       78,   334,    -1,   151,   375,    -1,   154,   375,    -1,   154,
759      126,    -1,   152,   375,    -1,   153,   375,    -1,   151,   126,
760       -1,   151,   325,   126,    -1,   151,   376,    -1,   155,    -1,
761      154,   376,    -1,   156,    -1,   156,   126,    -1,   299,   335,
762       -1,   299,   337,    -1,   299,   336,    -1,   159,   375,    -1,
763      159,   376,    -1,   160,    -1,   159,    -1,   225,   127,   340,
764       -1,   340,    -1,   225,   127,   341,    -1,   225,   127,     1,
765       -1,   341,    -1,   163,    -1,   165,   128,   163,    -1,   166,
766      128,   163,    -1,   164,    -1,   165,   128,   164,    -1,   166,
767      128,   164,    -1,   165,   128,     1,    -1,   166,   128,     1,
768       -1,   128,    -1,   165,   126,    -1,   166,   126,    -1,   167,
769       -1,   161,    -1,   170,   167,    -1,   170,   161,    -1,   168,
770      167,    -1,   168,   161,    -1,   170,   126,    -1,   168,   126,
771       -1,   126,    -1,   168,    -1,   165,    -1,   168,   165,    -1,
772      170,   165,    -1,   162,    -1,   169,   162,    -1,   170,   162,
773       -1,   168,   162,    -1,   168,   166,    -1,   166,    -1,   165,
774        1,    -1,   172,   129,    -1,   172,     1,   129,    -1,   299,
775      217,   130,   170,    -1,   299,   217,   130,   169,     1,    -1,
776      299,   217,   130,   169,    -1,   299,   217,   130,    -1,   299,
777      217,   130,     1,    -1,   174,   129,    -1,   174,     1,   129,
778       -1,   300,   217,   130,   170,    -1,   300,   217,   130,   169,
779        1,    -1,   300,   217,   130,   169,    -1,   300,   217,   130,
780       -1,   300,   217,   130,     1,    -1,   301,   217,   130,   169,
781      129,    -1,   301,   217,   130,   170,   129,    -1,   301,   217,
782      130,   129,    -1,   177,   129,    -1,   177,     1,   129,    -1,
783      150,   130,   169,    -1,   217,   130,   169,    -1,   150,   130,
784      170,    -1,   150,   130,    -1,   150,   130,   169,     1,    -1,
785      150,   130,     1,    -1,   217,   130,   170,    -1,   217,   130,
786       -1,   217,   130,   169,     1,    -1,   217,   130,     1,    -1,
787      179,   129,    -1,   179,     1,   129,    -1,   130,   170,    -1,
788      130,   169,     1,    -1,   130,     1,    -1,   130,    -1,   130,
789      169,    -1,   225,   127,   340,    -1,   225,   127,   341,    -1,
790      225,   127,     1,    -1,   225,     1,    -1,   180,    -1,   182,
791      128,   180,    -1,   183,   128,   180,    -1,   181,    -1,   182,
792      128,   181,    -1,   183,   128,   181,    -1,   182,     1,    -1,
793       68,   305,   217,   130,    -1,    68,   305,   329,   217,   130,
794       -1,    68,   305,   130,    -1,    68,   305,   329,   130,    -1,
795       68,     1,   130,    -1,   184,    -1,   185,    69,   375,    -1,
796      185,    70,   375,    -1,   185,    95,   375,    -1,   185,    91,
797       -1,   185,    97,   219,    -1,   185,   129,    -1,    99,   305,
798      217,   130,    -1,    99,   305,   329,   217,   130,    -1,    99,
799      305,   130,    -1,    99,   305,   329,   130,    -1,    99,     1,
800      130,    -1,   187,    -1,   188,    69,   375,    -1,   188,    70,
801      375,    -1,   188,   129,    -1,   217,    -1,   190,   217,    -1,
802      190,   375,    -1,    73,   375,    -1,   191,    -1,   192,   191,
803       -1,    88,   123,   190,   124,   375,    -1,    88,   123,   244,
804      124,   130,   192,   129,    -1,   244,   131,    88,   123,   244,
805      124,   130,   192,   129,    -1,    89,   123,   244,   128,   190,
806      124,    -1,   244,   131,    89,   123,   244,   128,   190,   124,
807       -1,    89,   123,   244,   124,    -1,   244,   131,    89,   123,
808      244,   124,    -1,    90,    -1,    90,   190,    -1,   225,   131,
809       90,    -1,   244,   131,    90,   190,    -1,   198,   126,    -1,
810      182,   126,    -1,   157,    -1,   186,    -1,   363,   157,    -1,
811      363,   186,    -1,   189,    -1,    91,    -1,    93,    -1,    94,
812       -1,    99,   123,   217,   124,   127,   340,   126,    -1,   126,
813       -1,   363,   132,    -1,   363,   123,   217,   124,    -1,   158,
814       -1,   300,    -1,   300,   287,    -1,   363,   300,   287,    -1,
815      363,   300,    -1,   363,   176,    -1,   363,   173,    -1,    98,
816      300,   287,    -1,   193,    -1,    92,   217,    -1,    92,   150,
817       -1,    96,   217,    -1,   176,    -1,   173,    -1,   182,    -1,
818      174,     1,    -1,   177,     1,    -1,   363,   158,    -1,   363,
819      174,     1,    -1,   363,   177,     1,    -1,   183,    -1,   197,
820       -1,   199,   197,    -1,   200,   197,    -1,   198,    -1,   199,
821        1,    -1,   200,     1,    -1,   199,   198,    -1,   200,   198,
822       -1,   300,    -1,   300,   329,    -1,   300,    -1,   300,   329,
823       -1,    65,   217,    -1,    65,   217,   127,   202,    -1,    65,
824      217,   132,   201,    -1,    65,   217,   132,   201,   127,   202,
825       -1,    65,   149,    -1,    65,   149,   127,   202,    -1,    65,
826      149,   132,   201,    -1,    65,   149,   132,   201,   127,   202,
827       -1,   217,    -1,   217,    -1,   217,   127,   204,    -1,   234,
828       -1,   300,   217,   127,   206,    -1,   300,   329,   217,   127,
829      206,    -1,   203,    -1,   205,    -1,   207,    -1,   208,    -1,
830      209,   128,   208,    -1,   206,    -1,   204,    -1,   202,    -1,
831      217,   127,   206,    -1,   217,   127,   204,    -1,   217,   127,
832      202,    -1,   210,    -1,   211,   128,   210,    -1,    65,    -1,
833      212,   217,    -1,   212,   148,    -1,   217,   212,   217,    -1,
834      217,   212,   148,    -1,   212,   217,   121,   209,   122,    -1,
835      212,   148,   121,   209,   122,    -1,   217,   212,   217,   121,
836      209,   122,    -1,   217,   212,   148,   121,   209,   122,    -1,
837      216,   129,    -1,   215,   126,    -1,   213,   130,   129,    -1,
838      215,   130,   129,    -1,   212,   217,   126,    -1,   212,   147,
839      126,    -1,   213,   132,   304,    -1,   213,   130,   200,    -1,
840      215,   130,   200,    -1,   213,   130,   199,    -1,   215,   130,
841      199,    -1,   213,   130,     1,    -1,   215,   130,     1,    -1,
842        3,    -1,   221,    -1,   123,   246,   124,    -1,   386,    -1,
843      133,   386,    -1,   133,   386,   131,   386,    -1,     4,    -1,
844      217,    -1,   176,    -1,    85,   123,   375,   124,    -1,    85,
845      123,   246,   124,    -1,    85,   123,   347,   124,   338,    -1,
846       85,   123,   347,   124,   123,   347,   124,   338,    -1,   220,
847      217,    -1,   220,    -1,   219,    -1,   118,    -1,   123,   124,
848       -1,    71,   307,   330,   134,   266,   135,    -1,    71,   307,
849      330,   134,   267,   135,    -1,    71,   307,   134,   266,   135,
850       -1,    71,   307,   134,   267,   135,    -1,   102,   307,   330,
851      134,   266,   135,    -1,   102,   307,   330,   134,   267,   135,
852       -1,   102,   307,   134,   266,   135,    -1,   102,   307,   134,
853      267,   135,    -1,    72,   266,   306,   330,   134,   266,   135,
854       -1,    72,   266,   306,   330,   134,   267,   135,    -1,    72,
855      266,   306,   134,   266,   135,    -1,    72,   266,   306,   134,
856      267,   135,    -1,   103,   266,   306,   330,   134,   266,   135,
857       -1,   103,   266,   306,   330,   134,   267,   135,    -1,   103,
858      266,   306,   134,   266,   135,    -1,   103,   266,   306,   134,
859      267,   135,    -1,    65,   123,   299,   124,    -1,    65,   123,
860      299,   329,   124,    -1,    65,   123,   217,   124,    -1,   104,
861      123,   244,   128,   347,   124,    -1,    98,   123,   217,   124,
862       -1,   398,    -1,   399,    -1,   400,    -1,   401,    -1,   134,
863      226,   135,    -1,   134,   135,    -1,   178,    -1,   179,     1,
864       -1,   123,   246,    -1,   123,   264,    -1,   218,    -1,   225,
865      134,   246,   135,    -1,   225,   134,   264,   135,    -1,   225,
866      123,   124,    -1,   225,   123,   226,   124,    -1,   225,   123,
867      227,   124,    -1,   225,   131,   217,    -1,   225,     7,   217,
868       -1,   225,     8,    -1,   225,     9,    -1,   248,   134,   246,
869      135,    -1,   248,   134,   264,   135,    -1,   248,   123,   124,
870       -1,   248,   123,   226,   124,    -1,   248,   131,   217,    -1,
871      248,     7,   217,    -1,   248,     8,    -1,   248,     9,    -1,
872      244,    -1,   222,    -1,   226,   128,   244,    -1,   226,   128,
873      222,    -1,   263,    -1,   223,    -1,   226,   128,   263,    -1,
874      226,   128,   223,    -1,   226,   128,    -1,     8,   229,    -1,
875        9,   229,    -1,   230,   231,    -1,   230,   222,    -1,     6,
876      229,    -1,     6,   123,   348,   124,    -1,     6,   123,    65,
877      147,   124,    -1,     6,   123,    65,   146,   124,    -1,   109,
878      229,    -1,   109,   123,   348,   124,    -1,   119,   123,   348,
879      128,   217,   124,    -1,   228,    -1,   225,    -1,   136,    -1,
880      120,    -1,   137,    -1,   138,    -1,   125,    -1,   139,    -1,
881       73,    -1,    84,    -1,   229,    -1,   123,   347,   124,   231,
882       -1,   231,    -1,   232,   120,   231,    -1,   232,   140,   231,
883       -1,   232,   141,   231,    -1,   252,   120,   231,    -1,   252,
884      140,   231,    -1,   252,   141,   231,    -1,   232,    -1,   233,
885      137,   232,    -1,   233,   138,   232,    -1,   253,   137,   232,
886       -1,   253,   138,   232,    -1,   233,    -1,   234,    10,   233,
887       -1,   234,    11,   233,    -1,   254,    10,   233,    -1,   254,
888       11,   233,    -1,   236,   121,    -1,   234,    -1,   235,   234,
889       -1,   236,   122,   234,    -1,   236,    12,   234,    -1,   236,
890       13,   234,    -1,   255,   121,   234,    -1,   255,   122,   234,
891       -1,   255,    12,   234,    -1,   255,    13,   234,    -1,   236,
892       -1,   237,    14,   236,    -1,   237,    15,   236,    -1,   256,
893       14,   236,    -1,   256,    15,   236,    -1,   237,    14,   222,
894       -1,   237,    15,   222,    -1,   256,    14,   222,    -1,   256,
895       15,   222,    -1,   237,    -1,   238,   136,   237,    -1,   257,
896      136,   237,    -1,   238,   136,   222,    -1,   257,   136,   222,
897       -1,   238,    -1,   239,   142,   238,    -1,   258,   142,   238,
898       -1,   239,   142,   222,    -1,   258,   142,   222,    -1,   239,
899       -1,   240,   143,   239,    -1,   259,   143,   239,    -1,   240,
900      143,   222,    -1,   259,   143,   222,    -1,   240,    -1,   241,
901       16,   240,    -1,   260,    16,   240,    -1,   241,    -1,   242,
902       17,   241,    -1,   261,    17,   241,    -1,   242,    -1,   242,
903      144,   246,   132,   243,    -1,   242,   144,   264,   132,   243,
904       -1,   261,   144,   246,   132,   243,    -1,   261,   144,   264,
905      132,   243,    -1,   242,   144,   247,   132,   243,    -1,   242,
906      144,   265,   132,   243,    -1,   261,   144,   247,   132,   243,
907       -1,   261,   144,   265,   132,   243,    -1,   242,   144,   246,
908      132,   222,    -1,   242,   144,   264,   132,   222,    -1,   261,
909      144,   246,   132,   222,    -1,   261,   144,   264,   132,   222,
910       -1,   242,   144,   247,   132,   222,    -1,   242,   144,   265,
911      132,   222,    -1,   261,   144,   247,   132,   222,    -1,   261,
912      144,   265,   132,   222,    -1,   243,    -1,   229,   245,   244,
913       -1,   250,   245,   244,    -1,   243,   245,   244,    -1,   262,
914      245,   244,    -1,   229,   245,   222,    -1,   250,   245,   222,
915       -1,   243,   245,   222,    -1,   262,   245,   222,    -1,   127,
916       -1,    18,    -1,    19,    -1,    20,    -1,    21,    -1,    22,
917       -1,    23,    -1,    24,    -1,    25,    -1,    26,    -1,    27,
918       -1,   244,    -1,   246,   128,   244,    -1,   264,   128,   244,
919       -1,   264,   124,    -1,   222,    -1,   246,   128,   222,    -1,
920      264,   128,   222,    -1,   224,    -1,     1,    -1,   225,     1,
921       -1,   177,     1,    -1,   225,     7,     1,    -1,   248,     7,
922        1,    -1,   225,   123,   226,    -1,   225,   123,   227,    -1,
923      225,   131,     1,    -1,   248,   123,   227,    -1,   248,   131,
924        1,    -1,     8,   250,    -1,     9,   250,    -1,   230,   251,
925       -1,   230,   223,    -1,     6,   250,    -1,     6,   123,   348,
926      124,     1,    -1,     6,   123,    65,   147,   124,     1,    -1,
927        6,   123,    65,   146,   124,     1,    -1,   109,   250,    -1,
928      109,   123,   348,   124,     1,    -1,   249,    -1,   248,    -1,
929      250,    -1,   123,   347,   124,   251,    -1,   251,    -1,   232,
930      120,   251,    -1,   232,   140,   251,    -1,   232,   141,   251,
931       -1,   252,   120,   251,    -1,   252,   140,   251,    -1,   252,
932      141,   251,    -1,   252,    -1,   233,   137,   252,    -1,   233,
933      138,   252,    -1,   253,   137,   252,    -1,   253,   138,   252,
934       -1,   253,    -1,   234,    10,   253,    -1,   234,    11,   253,
935       -1,   254,    10,   253,    -1,   254,    11,   253,    -1,   254,
936       -1,   235,   254,    -1,   236,   122,   254,    -1,   236,    12,
937      254,    -1,   236,    13,   254,    -1,   255,   121,   254,    -1,
938      255,   122,   254,    -1,   255,    12,   254,    -1,   255,    13,
939      254,    -1,   255,    -1,   237,    14,   255,    -1,   237,    15,
940      255,    -1,   256,    14,   255,    -1,   256,    15,   255,    -1,
941      237,    14,   223,    -1,   237,    15,   223,    -1,   256,    14,
942      223,    -1,   256,    15,   223,    -1,   256,    -1,   238,   136,
943      256,    -1,   257,   136,   256,    -1,   238,   136,   223,    -1,
944      257,   136,   223,    -1,   257,    -1,   239,   142,   257,    -1,
945      258,   142,   257,    -1,   239,   142,   223,    -1,   258,   142,
946      223,    -1,   258,    -1,   240,   143,   258,    -1,   259,   143,
947      258,    -1,   240,   143,   223,    -1,   259,   143,   223,    -1,
948      259,    -1,   241,    16,   259,    -1,   260,    16,   259,    -1,
949      260,    -1,   242,    17,   260,    -1,   261,    17,   260,    -1,
950      261,    -1,   242,   144,   246,   132,   261,    -1,   242,   144,
951      264,   132,   261,    -1,   261,   144,   246,   132,   261,    -1,
952      261,   144,   264,   132,   261,    -1,   242,   144,   246,   132,
953       -1,   242,   144,   264,   132,    -1,   261,   144,   246,   132,
954       -1,   261,   144,   264,   132,    -1,   242,   144,   247,   132,
955      261,    -1,   242,   144,   265,   132,   261,    -1,   261,   144,
956      247,   132,   261,    -1,   261,   144,   265,   132,   261,    -1,
957      242,   144,   247,   132,    -1,   242,   144,   265,   132,    -1,
958      261,   144,   247,   132,    -1,   261,   144,   265,   132,    -1,
959      242,   144,   246,   132,   223,    -1,   242,   144,   264,   132,
960      223,    -1,   261,   144,   246,   132,   223,    -1,   261,   144,
961      264,   132,   223,    -1,   242,   144,   247,   132,   223,    -1,
962      242,   144,   265,   132,   223,    -1,   261,   144,   247,   132,
963      223,    -1,   261,   144,   265,   132,   223,    -1,   242,   144,
964      132,    -1,   261,   144,   132,    -1,   242,   144,    -1,   261,
965      144,    -1,   262,    -1,   229,   245,   263,    -1,   250,   245,
966      263,    -1,   229,   245,   223,    -1,   250,   245,   223,    -1,
967      263,    -1,   244,     1,    -1,   246,   128,   263,    -1,   264,
968      128,   263,    -1,   246,   246,    -1,   264,   246,    -1,   246,
969      264,    -1,   223,    -1,   222,     1,    -1,   246,   128,   223,
970       -1,   264,   128,   223,    -1,   243,    -1,   262,    -1,    29,
971       -1,    30,    -1,    31,    -1,   117,    -1,    32,    -1,    33,
972       -1,   116,    -1,    29,    -1,    30,    -1,    31,    -1,   117,
973       -1,    32,    -1,    33,    -1,   116,    -1,   217,    -1,   217,
974      127,   266,    -1,   217,   127,   267,    -1,   270,    -1,   271,
975      128,   270,    -1,   271,   128,    -1,    50,    -1,   272,   217,
976       -1,   272,   150,    -1,   275,   129,    -1,   272,   217,   130,
977      129,    -1,   272,   150,   130,   129,    -1,   272,   130,   271,
978       -1,   272,   130,     1,    -1,   272,   217,   130,   271,    -1,
979      272,   217,   130,   271,     1,    -1,   272,   217,   130,     1,
980       -1,   272,   217,   130,   271,   126,   199,    -1,   272,   217,
981      130,   271,   126,   200,    -1,   272,   150,   130,   271,    -1,
982      272,   150,   130,   271,     1,    -1,   272,   150,   130,     1,
983       -1,   272,   150,   130,   271,   126,   199,    -1,   272,   150,
984      130,   271,   126,   200,    -1,   272,   217,   130,   271,   126,
985       -1,   272,   150,   130,   271,   126,    -1,   272,   217,    -1,
986      272,   150,    -1,   278,   129,    -1,   276,   132,   304,   130,
987      129,    -1,   276,   130,   129,    -1,   276,   132,   304,   130,
988      271,    -1,   276,   132,   304,   130,   271,     1,    -1,   276,
989      132,   304,   130,     1,    -1,   276,   132,   304,   130,   271,
990      126,   199,    -1,   276,   132,   304,   130,   271,   126,   200,
991       -1,   276,   132,   304,   130,   271,     1,   126,   199,    -1,
992      276,   132,   304,   130,   271,     1,   126,   200,    -1,   276,
993      132,   304,   130,     1,   126,   199,    -1,   276,   132,   304,
994      130,     1,   126,   200,    -1,   272,   130,   271,    -1,   272,
995      130,     1,    -1,   276,   130,   271,    -1,   276,   130,   271,
996        1,    -1,   276,   130,     1,    -1,   276,   130,   271,   126,
997      199,    -1,   276,   130,   271,   126,   200,    -1,   276,   132,
998      304,   130,   271,   126,    -1,   276,   132,   304,   130,   271,
999        1,   126,    -1,   276,   132,   304,   130,     1,   126,    -1,
1000      276,   130,   271,   126,    -1,   277,    -1,   294,    -1,   278,
1001       -1,   295,    -1,   320,    -1,    44,    -1,    45,    -1,   281,
1002       -1,   282,    -1,   283,   282,    -1,    46,    -1,    34,    -1,
1003       35,    -1,    36,    -1,    37,    -1,    38,    -1,    47,    -1,
1004       39,    -1,    42,    -1,    43,    -1,    40,    -1,    41,    -1,
1005       85,    -1,   291,    -1,   273,    -1,   147,    -1,    87,   123,
1006      244,   124,    -1,   100,   123,   147,   124,    -1,   100,   123,
1007      217,   124,    -1,    66,    -1,    82,    -1,    83,    -1,   113,
1008       -1,   112,    -1,   114,    -1,   115,    -1,    46,    -1,    34,
1009       -1,    35,    -1,    36,    -1,    37,    -1,    38,    -1,    47,
1010       -1,    39,    -1,    42,    -1,    43,    -1,    40,    -1,    41,
1011       -1,    85,    -1,   291,    -1,   273,    -1,   150,    -1,   113,
1012       -1,   112,    -1,   114,    -1,   115,    -1,    87,   123,   244,
1013      124,    -1,   100,   123,   147,   124,    -1,   100,   123,   217,
1014      124,    -1,    66,    -1,   337,    -1,   337,   325,    -1,   132,
1015      266,    -1,   337,   132,   266,    -1,   337,   132,   266,   132,
1016      266,    -1,   132,   267,    -1,   337,   132,   267,    -1,   337,
1017      132,   266,   132,   267,    -1,   337,   132,   267,   132,   267,
1018       -1,   337,   132,   267,   132,   266,    -1,   286,    -1,   287,
1019      128,   286,    -1,   296,   217,    -1,   296,   148,    -1,   296,
1020      320,   217,    -1,   296,   320,   148,    -1,   290,   129,    -1,
1021      288,   130,   129,    -1,   296,   130,   129,    -1,   296,   320,
1022      130,   129,    -1,   288,   130,   199,    -1,   288,   130,   200,
1023       -1,   288,   130,     1,    -1,   296,   130,   199,    -1,   296,
1024      130,   200,    -1,   296,   130,     1,    -1,   296,   320,   130,
1025      199,    -1,   296,   320,   130,   200,    -1,   296,   320,   130,
1026        1,    -1,   288,    -1,   288,    -1,   288,   121,   209,   122,
1027       -1,   292,   132,   304,    -1,   295,   129,    -1,   293,   130,
1028      129,    -1,   292,   130,   129,    -1,   296,   130,   129,    -1,
1029      293,   130,   199,    -1,   293,   130,   200,    -1,   293,   130,
1030        1,    -1,   292,   130,   199,    -1,   292,   130,   200,    -1,
1031      292,   130,     1,    -1,   296,   130,   199,    -1,   296,   130,
1032      200,    -1,   296,   130,     1,    -1,    48,    -1,    49,    -1,
1033      282,    -1,   297,   282,    -1,   284,    -1,   297,   284,    -1,
1034      274,    -1,   297,   274,    -1,   289,    -1,   297,   289,    -1,
1035      282,    -1,   298,   282,    -1,   284,    -1,   298,   284,    -1,
1036      146,    -1,   298,   146,    -1,   274,    -1,   298,   274,    -1,
1037      289,    -1,   298,   289,    -1,   268,    -1,   299,   268,    -1,
1038      282,    -1,   299,   282,    -1,   285,    -1,   299,   285,    -1,
1039      274,    -1,   299,   274,    -1,   289,    -1,   299,   289,    -1,
1040      268,    -1,   300,   268,    -1,   282,    -1,   300,   282,    -1,
1041      284,    -1,   300,   284,    -1,   146,    -1,   300,   146,    -1,
1042      289,    -1,   300,   289,    -1,   274,    -1,   300,   274,    -1,
1043      269,    -1,   301,   269,    -1,   282,    -1,   301,   282,    -1,
1044      284,    -1,   301,   284,    -1,   146,    -1,   301,   146,    -1,
1045      279,    -1,   301,   279,    -1,   280,    -1,   301,   280,    -1,
1046       81,    -1,    80,    -1,   268,    -1,   303,   268,    -1,   282,
1047       -1,   303,   282,    -1,   285,    -1,   303,   285,    -1,   217,
1048       -1,   303,   217,    -1,   217,   121,   211,   122,    -1,   303,
1049      217,   121,   211,   122,    -1,   303,    -1,   296,    -1,   268,
1050       -1,   305,   268,    -1,   282,    -1,   305,   282,    -1,   285,
1051       -1,   305,   285,    -1,   217,    -1,   305,   217,    -1,   217,
1052      121,   211,   122,    -1,   305,   217,   121,   211,   122,    -1,
1053      268,    -1,   306,   268,    -1,   282,    -1,   306,   282,    -1,
1054      285,    -1,   306,   285,    -1,   289,    -1,   306,   289,    -1,
1055      274,    -1,   306,   274,    -1,   217,    -1,   306,   217,    -1,
1056      217,   121,   211,   122,    -1,   306,   217,   121,   211,   122,
1057       -1,   268,    -1,   307,   268,    -1,   282,    -1,   307,   282,
1058       -1,   285,    -1,   307,   285,    -1,   289,    -1,   307,   289,
1059       -1,   274,    -1,   307,   274,    -1,   217,    -1,   307,   217,
1060       -1,   217,   121,   211,   122,    -1,   307,   217,   121,   211,
1061      122,    -1,   309,   128,     1,    -1,   308,   128,     1,    -1,
1062      217,    -1,   309,   128,   217,    -1,   308,   128,   217,    -1,
1063      351,   128,   217,    -1,   352,   128,   217,    -1,   311,    -1,
1064      148,    -1,    37,    -1,   148,   134,   266,   135,    -1,   148,
1065      134,   267,   135,    -1,   148,   134,   147,   135,    -1,   148,
1066      134,   135,    -1,   310,   134,   266,   135,    -1,   310,   134,
1067      267,   135,    -1,   310,   134,   147,   135,    -1,   310,   134,
1068      135,    -1,   217,    -1,   123,   331,   124,    -1,   123,   320,
1069      331,   124,    -1,   123,   332,   124,    -1,   123,   320,   332,
1070      124,    -1,   311,   134,   266,   135,    -1,   311,   134,   267,
1071      135,    -1,   311,   134,   147,   135,    -1,   311,   134,   135,
1072       -1,   311,   123,    -1,   312,   353,   124,    -1,   312,   354,
1073      124,    -1,   312,   309,   124,    -1,   312,   308,   124,    -1,
1074      312,   124,    -1,   312,   308,    -1,   312,     1,    -1,   312,
1075      351,   123,    -1,   312,   300,   217,   123,    -1,   313,    -1,
1076      311,    -1,   310,   123,    -1,   316,   353,   124,    -1,   316,
1077      354,   124,    -1,   316,   309,   124,    -1,   316,   308,   124,
1078       -1,   316,   124,    -1,   316,   308,    -1,   316,     1,    -1,
1079      316,   351,   123,    -1,   316,   300,   217,   123,    -1,   317,
1080       -1,   310,    -1,    74,    -1,    75,    -1,   325,    -1,    86,
1081      123,   386,   124,    -1,    79,    -1,   110,    -1,   111,    -1,
1082        3,    -1,    28,    -1,    75,    -1,    74,    -1,    44,    -1,
1083      322,    -1,   322,   123,   246,   124,    -1,   323,    -1,   324,
1084      323,    -1,   324,   128,   323,    -1,   321,   123,   123,   324,
1085      124,   124,    -1,   321,   123,   123,   124,   124,    -1,   123,
1086      329,   124,    -1,   123,   320,   329,   124,    -1,   134,   135,
1087       -1,   134,   266,   135,    -1,   134,   267,   135,    -1,   134,
1088      147,   135,    -1,   326,   134,   135,    -1,   326,   134,   266,
1089      135,    -1,   326,   134,   147,   135,    -1,   326,   134,   267,
1090      135,    -1,   123,   124,    -1,   123,   353,   124,    -1,   123,
1091      354,   124,    -1,   326,   123,   124,    -1,   326,   123,   353,
1092      124,    -1,   326,   123,   354,   124,    -1,   123,   330,   124,
1093       -1,   123,   320,   330,   124,    -1,   123,   124,    -1,   123,
1094      353,   124,    -1,   123,   354,   124,    -1,   327,   123,   124,
1095       -1,   327,   123,   353,   124,    -1,   327,   123,   354,   124,
1096       -1,   120,    -1,   120,   283,    -1,   120,   328,    -1,   120,
1097      283,   328,    -1,   328,    -1,   326,    -1,   328,   326,    -1,
1098      320,   328,    -1,   320,   328,   326,    -1,   328,    -1,   327,
1099       -1,   328,   327,    -1,   320,   328,    -1,   320,   328,   327,
1100       -1,   315,    -1,   328,   315,    -1,   320,   328,   315,    -1,
1101      331,   320,    -1,   337,   320,    -1,   319,    -1,   328,   319,
1102       -1,   320,   328,   319,    -1,   332,   320,    -1,   313,    -1,
1103      328,   313,    -1,   320,   328,   313,    -1,   328,   320,   313,
1104       -1,   314,    -1,   328,   314,    -1,   320,   328,   314,    -1,
1105      328,   320,   314,    -1,   317,    -1,   328,   317,    -1,   320,
1106      328,   317,    -1,   328,   320,   317,    -1,   318,    -1,   328,
1107      318,    -1,   320,   328,   318,    -1,   328,   320,   318,    -1,
1108      310,    -1,   328,   310,    -1,   320,   328,   310,    -1,   328,
1109      320,   310,    -1,   244,    -1,   130,   342,   129,    -1,   130,
1110      342,   128,   129,    -1,   263,    -1,   130,   342,   129,     1,
1111       -1,   130,   342,    -1,   130,   342,   128,   129,     1,    -1,
1112      130,   342,   128,    -1,   243,    -1,   222,    -1,   262,    -1,
1113      223,    -1,   338,    -1,   339,    -1,   342,   128,   338,    -1,
1114      342,   128,   339,    -1,   342,   338,    -1,   342,   339,    -1,
1115      331,    -1,   332,    -1,   331,   127,   338,    -1,   331,     1,
1116       -1,   331,   127,   339,    -1,   343,    -1,   345,   128,   343,
1117       -1,    37,   128,   343,    -1,    38,   128,   343,    -1,   148,
1118      128,   343,    -1,   346,   128,   343,    -1,   344,    -1,   343,
1119        1,    -1,   345,   128,   344,    -1,   346,   128,   344,    -1,
1120      297,    -1,   297,   329,    -1,   298,    -1,   298,   329,    -1,
1121      300,   332,    -1,   300,   329,    -1,   300,   136,    -1,   300,
1122      136,   332,    -1,   300,    -1,    65,    -1,   300,   332,     1,
1123       -1,   300,   329,     1,    -1,   349,    -1,   351,   128,   349,
1124       -1,   351,     1,   128,   349,    -1,   352,   128,   349,    -1,
1125      352,     1,   128,   349,    -1,     1,   128,   349,    -1,   309,
1126      128,   349,    -1,   309,     1,   128,   349,    -1,   308,   128,
1127      349,    -1,   308,     1,   128,   349,    -1,   350,    -1,   351,
1128      128,   350,    -1,   352,   128,   350,    -1,   352,     1,   128,
1129      350,    -1,     1,   128,   350,    -1,   309,   128,   350,    -1,
1130      308,   128,   350,    -1,   308,     1,   128,   350,    -1,   351,
1131       -1,   351,   128,    51,    -1,   352,   128,    51,    -1,   309,
1132      128,    51,    -1,   308,   128,    51,    -1,     1,   128,    51,
1133       -1,   352,    -1,   351,   128,     1,    -1,   352,     1,    -1,
1134      360,    -1,   325,    -1,   375,    -1,   126,    -1,   132,    -1,
1135      246,   126,    -1,   378,    -1,   380,    -1,   382,    -1,   359,
1136       -1,   196,   126,    -1,   195,   126,    -1,   194,   126,    -1,
1137      361,    -1,   381,    -1,   376,    -1,   379,    -1,   383,    -1,
1138      382,     1,    -1,   264,    -1,   386,    -1,   386,   123,   244,
1139      124,    -1,   134,   217,   135,   386,   123,   244,   124,    -1,
1140      357,    -1,   358,   128,   357,    -1,    -1,    86,   282,   123,
1141      386,   124,   126,    -1,    86,   282,   123,   386,   132,   358,
1142      124,   126,    -1,    86,   282,   123,   386,   132,   358,   132,
1143      358,   124,   126,    -1,    86,   282,   123,   386,   132,   358,
1144      132,   358,   132,   358,   124,   126,    -1,    86,   282,   123,
1145      386,     3,   358,   124,   126,    -1,    86,   282,   123,   386,
1146        3,   358,   132,   358,   124,   126,    -1,    86,   282,   123,
1147      386,   132,   358,     3,   358,   124,   126,    -1,    86,   123,
1148      386,   124,   126,    -1,    86,   123,   386,   132,   358,   124,
1149      126,    -1,    86,   123,   386,   132,   358,   132,   358,   124,
1150      126,    -1,    86,   123,   386,   132,   358,   132,   358,   132,
1151      358,   124,   126,    -1,    86,   123,   386,     3,   358,   124,
1152      126,    -1,    86,   123,   386,     3,   358,   132,   358,   124,
1153      126,    -1,    86,   123,   386,   132,   358,     3,   358,   124,
1154      126,    -1,   217,   132,   355,    -1,    52,   266,   132,   355,
1155       -1,    52,   267,   132,   355,    -1,    52,   132,   355,    -1,
1156       53,   132,   355,    -1,   217,   132,   364,    -1,    52,   266,
1157      132,   364,    -1,    52,   267,   132,   364,    -1,    52,   132,
1158      364,    -1,    53,   132,   364,    -1,   217,   132,   356,    -1,
1159       52,   266,   132,   356,    -1,    52,   267,   132,   356,    -1,
1160       52,   132,   356,    -1,    52,   132,    -1,    53,   132,   356,
1161       -1,    53,   132,    -1,   217,   132,   367,    -1,    52,   266,
1162      132,   367,    -1,    52,   267,   132,   367,    -1,    52,   132,
1163      367,    -1,    53,   132,   367,    -1,    80,    -1,    81,    -1,
1164       53,    -1,    80,    -1,    81,    -1,   299,   126,    -1,   299,
1165      345,   126,    -1,   171,   126,    -1,   367,   126,    -1,   301,
1166      126,    -1,   301,   345,   126,    -1,   302,   345,   126,    -1,
1167      175,   126,    -1,    77,   217,   127,   243,   126,    -1,    31,
1168       77,   217,   127,   243,   126,    -1,   301,     1,    -1,   299,
1169        1,    -1,   367,     1,    -1,   172,     1,    -1,   171,     1,
1170       -1,   299,   346,    -1,   364,    -1,   368,   364,    -1,   369,
1171      364,    -1,   368,     1,   126,    -1,   367,    -1,   368,   367,
1172       -1,   355,    -1,   370,   355,    -1,   371,   355,    -1,   356,
1173       -1,   370,   356,    -1,   371,   356,    -1,   370,   364,    -1,
1174      371,   364,    -1,   370,   367,    -1,   371,   367,    -1,   370,
1175       -1,   368,    -1,   368,   370,    -1,   369,   370,    -1,   371,
1176       -1,   369,    -1,   368,   371,    -1,   369,   371,    -1,   130,
1177       -1,   376,   129,    -1,   374,   373,    -1,   374,    -1,   374,
1178      372,    -1,   126,    -1,   246,   126,    -1,   264,   126,    -1,
1179       54,   123,   246,   124,   355,    -1,    54,   123,   264,   124,
1180      355,    -1,    54,   123,   246,   124,   355,    64,   355,    -1,
1181       54,   123,   264,   124,   355,    64,   355,    -1,    55,   123,
1182      246,   124,   355,    -1,    55,   123,   264,   124,   355,    -1,
1183       54,   123,   264,    -1,   378,     1,    -1,    56,   123,   246,
1184      124,   355,    -1,    56,   123,   264,   355,    -1,    56,   123,
1185      124,   355,    -1,    57,   355,    56,   123,   246,   124,   126,
1186       -1,    57,   355,    56,   123,   264,   126,    -1,    58,   123,
1187      377,   377,   124,   355,    -1,    58,   123,   377,   124,   355,
1188       -1,    58,   123,   377,   377,   246,   124,   355,    -1,    58,
1189      123,   377,   377,   264,   355,    -1,    58,   123,   124,   355,
1190       -1,    58,   123,   217,   132,   246,   124,   355,    -1,    58,
1191      123,   217,   132,   246,   126,   246,   124,   355,    -1,    58,
1192      123,     1,    -1,    58,   123,   264,     1,    -1,    58,   123,
1193      377,     1,    -1,    58,   123,   377,   264,     1,    -1,    58,
1194      123,   377,   377,   264,    -1,    58,   123,   377,   377,   124,
1195      356,    -1,    58,   123,   377,   377,   246,   124,   356,    -1,
1196       58,   123,   377,   377,   264,   356,    -1,    57,   355,    56,
1197      123,   246,   124,    -1,    57,   355,    56,   123,   246,    -1,
1198       57,   355,    56,   123,   264,    -1,    57,   355,    56,   123,
1199       -1,    57,   355,    56,    -1,    57,   355,    -1,    57,    -1,
1200       56,     1,    -1,    56,   123,   124,     1,    -1,    56,   123,
1201      264,    -1,    56,   123,   246,   124,   356,    -1,    56,   123,
1202      264,   356,    -1,    59,   217,   126,    -1,    60,   126,    -1,
1203       61,   126,    -1,    62,   126,    -1,    62,   246,   126,    -1,
1204       62,   264,   126,    -1,    62,   222,   126,    -1,    62,   223,
1205      126,    -1,    62,   264,    -1,    62,   223,    -1,    62,    -1,
1206       59,    -1,   301,   333,   368,   375,    -1,   301,   333,   375,
1207       -1,   301,   335,   368,   375,    -1,   301,   335,   375,    -1,
1208      333,   368,   375,    -1,   333,   375,    -1,   301,   333,   368,
1209      376,    -1,   301,   333,   376,    -1,   301,   335,   368,   376,
1210       -1,   301,   335,   376,    -1,   333,   368,   376,    -1,   333,
1211      376,    -1,     5,    -1,   386,     5,    -1,   384,    -1,   214,
1212       -1,   301,   214,    -1,   365,    -1,    76,   386,    -1,    76,
1213       31,   386,    -1,    76,   217,   386,    -1,   126,    -1,   362,
1214      384,    -1,   362,   214,    -1,   362,   365,    -1,   362,    76,
1215      386,    -1,   362,    76,    31,   386,    -1,   362,    76,   217,
1216      386,    -1,   362,   132,    -1,    31,   132,    -1,   101,   217,
1217       -1,   101,   150,    -1,   392,    -1,   362,   392,    -1,   216,
1218       -1,   301,   216,    -1,   385,    -1,   362,   216,    -1,   362,
1219      385,    -1,   366,    -1,   362,   366,    -1,   388,    -1,   390,
1220      388,    -1,   389,   388,    -1,   390,     1,    -1,   389,     1,
1221       -1,   387,    -1,   390,   387,    -1,   389,   214,    -1,   389,
1222      362,   214,    -1,   390,    -1,   389,    -1,    -1,   105,   386,
1223      217,   130,   397,   129,    -1,   105,   386,   150,   130,   397,
1224      129,    -1,   105,   386,   130,   397,   129,    -1,   300,   217,
1225      386,   126,    -1,   217,    -1,   122,   217,    -1,   121,   217,
1226       -1,   394,    -1,   395,   128,   394,    -1,   107,   395,   126,
1227       -1,   107,   395,   217,   126,    -1,   393,    -1,   396,    -1,
1228      397,   393,    -1,   397,   396,    -1,   108,   123,   244,   128,
1229      244,   124,    -1,   106,   123,   386,   128,   217,   124,    -1,
1230      107,   123,   386,   128,   217,   124,    -1,   105,   123,   386,
1231      124,    -1
1232 };
1233
1234 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1235 static const yytype_uint16 yyrline[] =
1236 {
1237        0,   284,   284,   303,   342,   343,   423,   427,   430,   431,
1238      432,   471,   473,   478,   483,   488,   490,   495,   497,   502,
1239      504,   509,   511,   513,   515,   517,   521,   525,   538,   540,
1240      542,   544,   546,   552,   554,   559,   564,   569,   571,   573,
1241      578,   579,   583,   584,   595,   599,   600,   602,   607,   608,
1242      610,   613,   625,   636,   655,   657,   662,   663,   664,   665,
1243      666,   667,   668,   669,   682,   686,   687,   688,   689,   693,
1244      694,   695,   696,   697,   698,   699,   703,   705,   710,   712,
1245      714,   716,   718,   748,   750,   755,   757,   759,   761,   763,
1246      792,   794,   796,   801,   803,   808,   810,   814,   816,   818,
1247      820,   825,   828,   831,   834,   899,   901,   906,   908,   910,
1248      912,   914,   945,   949,   950,   951,   955,   956,   957,   961,
1249      962,   963,   964,   968,   971,   974,   977,   980,   985,   986,
1250      988,   990,   992,   994,   999,  1003,  1006,  1009,  1012,  1015,
1251     1020,  1021,  1023,  1028,  1032,  1034,  1039,  1041,  1046,  1048,
1252     1053,  1058,  1060,  1065,  1067,  1069,  1071,  1076,  1078,  1080,
1253     1082,  1087,  1088,  1089,  1090,  1091,  1092,  1093,  1094,  1095,
1254     1096,  1097,  1099,  1100,  1102,  1106,  1109,  1110,  1111,  1112,
1255     1113,  1114,  1115,  1116,  1117,  1118,  1119,  1120,  1121,  1122,
1256     1124,  1125,  1129,  1130,  1131,  1135,  1139,  1140,  1141,  1145,
1257     1146,  1147,  1148,  1149,  1153,  1154,  1166,  1167,  1171,  1172,
1258     1173,  1174,  1175,  1176,  1177,  1178,  1182,  1186,  1187,  1191,
1259     1199,  1200,  1204,  1205,  1206,  1210,  1211,  1215,  1216,  1217,
1260     1218,  1219,  1220,  1260,  1261,  1265,  1273,  1274,  1282,  1283,
1261     1285,  1286,  1295,  1296,  1300,  1307,  1314,  1320,  1327,  1333,
1262     1342,  1349,  1355,  1361,  1367,  1373,  1379,  1390,  1395,  1396,
1263     1401,  1402,  1403,  1407,  1411,  1412,  1413,  1414,  1415,  1416,
1264     1417,  1430,  1431,  1432,  1433,  1434,  1435,  1436,  1437,  1438,
1265     1439,  1440,  1441,  1442,  1443,  1444,  1445,  1446,  1447,  1448,
1266     1449,  1450,  1451,  1452,  1453,  1455,  1456,  1457,  1458,  1459,
1267     1461,  1462,  1466,  1470,  1474,  1475,  1479,  1481,  1482,  1483,
1268     1484,  1485,  1486,  1487,  1488,  1489,  1491,  1492,  1493,  1494,
1269     1495,  1496,  1497,  1498,  1525,  1526,  1527,  1528,  1532,  1533,
1270     1534,  1535,  1536,  1540,  1541,  1542,  1543,  1545,  1546,  1547,
1271     1548,  1551,  1552,  1554,  1558,  1559,  1568,  1569,  1570,  1571,
1272     1572,  1573,  1574,  1575,  1579,  1580,  1584,  1585,  1586,  1587,
1273     1588,  1589,  1590,  1594,  1595,  1596,  1597,  1598,  1602,  1603,
1274     1604,  1605,  1606,  1610,  1618,  1619,  1620,  1621,  1622,  1623,
1275     1624,  1625,  1626,  1630,  1631,  1632,  1633,  1634,  1636,  1637,
1276     1638,  1639,  1643,  1644,  1645,  1647,  1648,  1652,  1653,  1654,
1277     1656,  1657,  1661,  1662,  1663,  1665,  1666,  1670,  1671,  1672,
1278     1676,  1677,  1678,  1682,  1683,  1684,  1685,  1686,  1688,  1689,
1279     1690,  1691,  1693,  1694,  1695,  1696,  1698,  1699,  1700,  1701,
1280     1705,  1706,  1707,  1708,  1709,  1711,  1712,  1713,  1714,  1718,
1281     1719,  1720,  1721,  1722,  1723,  1724,  1725,  1726,  1727,  1728,
1282     1732,  1733,  1734,  1735,  1739,  1740,  1741,  1745,  1746,  1747,
1283     1748,  1750,  1751,  1753,  1754,  1759,  1761,  1766,  1794,  1795,
1284     1796,  1797,  1799,  1800,  1801,  1802,  1804,  1805,  1809,  1810,
1285     1819,  1820,  1824,  1825,  1826,  1827,  1828,  1829,  1830,  1834,
1286     1835,  1839,  1843,  1847,  1854,  1855,  1856,  1857,  1858,  1862,
1287     1863,  1906,  1907,  1908,  1909,  1910,  1911,  1912,  1916,  1917,
1288     1918,  1919,  1920,  1927,  1928,  1929,  1930,  1934,  1935,  1936,
1289     1938,  1939,  1943,  1944,  1945,  1947,  1948,  1952,  1953,  1954,
1290     1956,  1957,  1961,  1962,  1963,  1967,  1968,  1969,  1973,  1974,
1291     1975,  1976,  1977,  1978,  1979,  1980,  1981,  1983,  1984,  1985,
1292     1986,  1987,  1988,  1989,  1990,  1992,  1993,  1994,  1995,  1997,
1293     1998,  1999,  2000,  2002,  2010,  2014,  2019,  2026,  2027,  2031,
1294     2036,  2037,  2041,  2042,  2043,  2044,  2050,  2051,  2052,  2056,
1295     2057,  2058,  2059,  2063,  2065,  2069,  2070,  2071,  2072,  2073,
1296     2074,  2075,  2079,  2080,  2081,  2082,  2083,  2084,  2085,  2089,
1297     2090,  2091,  2095,  2096,  2097,  2101,  2105,  2106,  2110,  2111,
1298     2112,  2116,  2117,  2119,  2120,  2121,  2122,  2123,  2125,  2126,
1299     2127,  2128,  2129,  2131,  2132,  2136,  2137,  2141,  2142,  2143,
1300     2147,  2148,  2149,  2150,  2151,  2152,  2153,  2154,  2155,  2157,
1301     2158,  2160,  2161,  2162,  2163,  2164,  2166,  2167,  2168,  2169,
1302     2173,  2174,  2178,  2179,  2183,  2187,  2188,  2189,  2194,  2195,
1303     2199,  2200,  2201,  2202,  2203,  2204,  2205,  2206,  2207,  2208,
1304     2209,  2210,  2211,  2212,  2213,  2214,  2215,  2216,  2217,  2218,
1305     2219,  2220,  2221,  2222,  2223,  2224,  2228,  2229,  2230,  2231,
1306     2232,  2233,  2234,  2235,  2236,  2237,  2238,  2239,  2240,  2241,
1307     2242,  2243,  2244,  2245,  2246,  2247,  2248,  2249,  2250,  2251,
1308     2257,  2259,  2261,  2263,  2265,  2267,  2269,  2271,  2273,  2275,
1309     2280,  2281,  2285,  2291,  2297,  2304,  2314,  2315,  2316,  2317,
1310     2321,  2322,  2323,  2325,  2326,  2327,  2329,  2330,  2331,  2335,
1311     2339,  2347,  2356,  2365,  2366,  2368,  2369,  2373,  2380,  2387,
1312     2390,  2403,  2417,  2420,  2422,  2424,  2429,  2430,  2434,  2435,
1313     2436,  2437,  2438,  2439,  2440,  2441,  2445,  2446,  2447,  2448,
1314     2449,  2450,  2451,  2452,  2453,  2454,  2458,  2459,  2460,  2461,
1315     2462,  2463,  2464,  2465,  2466,  2467,  2471,  2472,  2473,  2474,
1316     2475,  2476,  2477,  2478,  2479,  2480,  2481,  2482,  2486,  2487,
1317     2488,  2489,  2490,  2491,  2492,  2493,  2494,  2495,  2499,  2500,
1318     2504,  2505,  2506,  2507,  2508,  2509,  2510,  2511,  2512,  2514,
1319     2516,  2524,  2534,  2535,  2539,  2540,  2541,  2542,  2543,  2544,
1320     2545,  2546,  2547,  2555,  2564,  2565,  2566,  2567,  2568,  2569,
1321     2570,  2571,  2572,  2573,  2574,  2575,  2576,  2584,  2593,  2594,
1322     2595,  2596,  2597,  2598,  2599,  2600,  2601,  2602,  2603,  2604,
1323     2605,  2613,  2622,  2623,  2627,  2628,  2629,  2630,  2631,  2635,
1324     2636,  2643,  2645,  2654,  2663,  2672,  2681,  2682,  2683,  2684,
1325     2688,  2689,  2690,  2691,  2692,  2693,  2694,  2695,  2696,  2700,
1326     2704,  2705,  2706,  2707,  2708,  2713,  2722,  2731,  2740,  2754,
1327     2755,  2760,  2764,  2765,  2766,  2767,  2768,  2773,  2782,  2791,
1328     2800,  2814,  2815,  2864,  2865,  2866,  2867,  2879,  2880,  2881,
1329     2886,  2887,  2888,  2889,  2890,  2894,  2895,  2899,  2900,  2901,
1330     2905,  2906,  2910,  2911,  2912,  2913,  2914,  2915,  2916,  2917,
1331     2918,  2919,  2920,  2921,  2922,  2923,  2924,  2925,  2929,  2930,
1332     2931,  2932,  2933,  2934,  2935,  2936,  2940,  2941,  2942,  2943,
1333     2947,  2948,  2949,  2950,  2951,  2955,  2956,  2957,  2958,  2959,
1334     2963,  2964,  2966,  2968,  2970,  2975,  2976,  2978,  2980,  2985,
1335     2986,  2987,  2988,  2992,  2993,  2994,  2995,  2999,  3000,  3001,
1336     3002,  3006,  3007,  3008,  3009,  3013,  3014,  3015,  3016,  3020,
1337     3021,  3022,  3039,  3040,  3041,  3042,  3055,  3072,  3073,  3078,
1338     3079,  3083,  3084,  3085,  3086,  3089,  3090,  3094,  3095,  3096,
1339     3100,  3104,  3108,  3109,  3110,  3111,  3112,  3121,  3130,  3131,
1340     3132,  3133,  3137,  3138,  3142,  3143,  3148,  3149,  3150,  3151,
1341     3152,  3153,  3172,  3173,  3177,  3178,  3179,  3180,  3181,  3182,
1342     3184,  3185,  3186,  3187,  3191,  3192,  3193,  3194,  3195,  3197,
1343     3198,  3199,  3203,  3204,  3205,  3206,  3207,  3208,  3212,  3213,
1344     3214,  3219,  3220,  3221,  3222,  3223,  3224,  3225,  3226,  3227,
1345     3228,  3229,  3230,  3231,  3235,  3236,  3237,  3238,  3239,  3240,
1346     3241,  3245,  3246,  3247,  3251,  3252,  3253,  3257,  3258,  3259,
1347     3260,  3262,  3263,  3264,  3266,  3267,  3268,  3269,  3271,  3272,
1348     3273,  3277,  3278,  3279,  3280,  3281,  3283,  3284,  3285,  3286,
1349     3287,  3291,  3292,  3293,  3294,  3295,  3296,  3297,  3299,  3300,
1350     3301,  3302,  3303,  3307,  3308,  3309,  3313,  3314,  3318,  3319,
1351     3320,  3321,  3325,  3326,  3327,  3329,  3330,  3331,  3335,  3339,
1352     3340,  3342,  3343,  3344,  3348,  3349,  3350,  3351,  3355,  3356,
1353     3360,  3361,  3362,  3366,  3367,  3368,  3369,  3370,  3371,  3372,
1354     3376,  3377,  3378,  3379,  3383,  3384,  3385,  3386,  3390,  3394,
1355     3398,  3400,  3403,  3409,  3410,  3411,  3415,  3416,  3417,  3418,
1356     3419,  3420,  3424,  3425,  3429,  3430,  3431,  3433,  3434,  3436,
1357     3437,  3438,  3439,  3440,  3442,  3443,  3447,  3448,  3449,  3450,
1358     3454,  3455,  3456,  3457,  3459,  3460,  3461,  3462,  3463,  3464,
1359     3465,  3468,  3472,  3473,  3477,  3478,  3482,  3483,  3484,  3485,
1360     3486,  3487,  3488,  3489,  3493,  3494,  3495,  3496,  3502,  3503,
1361     3505,  3506,  3509,  3510,  3513,  3514,  3515,  3516,  3517,  3518,
1362     3522,  3523,  3535,  3536,  3539,  3542,  3544,  3545,  3546,  3556,
1363     3558,  3559,  3561,  3562,  3563,  3564,  3574,  3575,  3576,  3577,
1364     3578,  3579,  3583,  3584,  3593,  3595,  3596,  3598,  3600,  3604,
1365     3605,  3606,  3607,  3608,  3612,  3613,  3614,  3616,  3621,  3622,
1366     3623,  3627,  3628,  3629,  3633,  3637,  3638,  3639,  3643,  3644,
1367     3648,  3649,  3653,  3654,  3655,  3656,  3660,  3664,  3668,  3672
1368 };
1369 #endif
1370
1371 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1372 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1373    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1374 static const char *const yytname[] =
1375 {
1376   "$end", "error", "$undefined", "IDENTIFIER", "CONSTANT",
1377   "STRING_LITERAL", "SIZEOF", "PTR_OP", "INC_OP", "DEC_OP", "LEFT_OP",
1378   "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP",
1379   "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "ADD_ASSIGN", "SUB_ASSIGN",
1380   "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN",
1381   "TYPE_NAME", "TYPEDEF", "EXTERN", "STATIC", "AUTO", "REGISTER", "CHAR",
1382   "SHORT", "INT", "UINT", "INT64", "LONG", "SIGNED", "UNSIGNED", "FLOAT",
1383   "DOUBLE", "CONST", "VOLATILE", "VOID", "VALIST", "STRUCT", "UNION",
1384   "ENUM", "ELLIPSIS", "CASE", "DEFAULT", "IF", "SWITCH", "WHILE", "DO",
1385   "FOR", "GOTO", "CONTINUE", "BREAK", "RETURN", "IFX", "ELSE", "CLASS",
1386   "THISCLASS", "CLASS_NAME", "PROPERTY", "SETPROP", "GETPROP", "NEWOP",
1387   "RENEW", "DELETE", "EXT_DECL", "EXT_STORAGE", "IMPORT", "DEFINE",
1388   "VIRTUAL", "ATTRIB", "PUBLIC", "PRIVATE", "TYPED_OBJECT", "ANY_OBJECT",
1389   "_INCREF", "EXTENSION", "ASM", "TYPEOF", "WATCH", "STOPWATCHING",
1390   "FIREWATCHERS", "WATCHABLE", "CLASS_DESIGNER", "CLASS_NO_EXPANSION",
1391   "CLASS_FIXED", "ISPROPSET", "CLASS_DEFAULT_PROPERTY",
1392   "PROPERTY_CATEGORY", "CLASS_DATA", "CLASS_PROPERTY", "SUBCLASS",
1393   "NAMESPACE", "NEW0OP", "RENEW0", "VAARG", "DBTABLE", "DBFIELD",
1394   "DBINDEX", "DATABASE_OPEN", "ALIGNOF", "ATTRIB_DEP", "__ATTRIB", "BOOL",
1395   "_BOOL", "_COMPLEX", "_IMAGINARY", "RESTRICT", "THREAD",
1396   "WIDE_STRING_LITERAL", "BUILTIN_OFFSETOF", "'*'", "'<'", "'>'", "'('",
1397   "')'", "'~'", "';'", "'='", "','", "'}'", "'{'", "'.'", "':'", "'$'",
1398   "'['", "']'", "'&'", "'+'", "'-'", "'!'", "'/'", "'%'", "'^'", "'|'",
1399   "'?'", "$accept", "guess_type", "type", "base_strict_type",
1400   "base_strict_type_name", "strict_type",
1401   "class_function_definition_start",
1402   "constructor_function_definition_start",
1403   "destructor_function_definition_start",
1404   "virtual_class_function_definition_start",
1405   "class_function_definition_start_error",
1406   "virtual_class_function_definition_start_error",
1407   "class_function_definition", "class_function_definition_error",
1408   "instance_class_function_definition_start",
1409   "instance_class_function_definition_start_error",
1410   "instance_class_function_definition",
1411   "instance_class_function_definition_error", "data_member_initialization",
1412   "data_member_initialization_error", "data_member_initialization_list",
1413   "data_member_initialization_list_error",
1414   "data_member_initialization_list_coloned",
1415   "members_initialization_list_coloned", "members_initialization_list",
1416   "members_initialization_list_error", "instantiation_named",
1417   "instantiation_named_error", "guess_instantiation_named",
1418   "guess_instantiation_named_error", "external_guess_instantiation_named",
1419   "instantiation_unnamed", "instantiation_unnamed_error",
1420   "instantiation_anon", "instantiation_anon_error", "default_property",
1421   "default_property_error", "default_property_list",
1422   "default_property_list_error", "property_start", "property_body",
1423   "property", "class_property_start", "class_property_body",
1424   "class_property", "watch_property_list", "property_watch",
1425   "property_watch_list", "self_watch_definition", "watch_definition",
1426   "stopwatching", "firewatchers", "struct_declaration",
1427   "struct_declaration_error", "struct_declaration_list",
1428   "struct_declaration_list_error", "template_datatype",
1429   "template_type_argument", "template_type_parameter",
1430   "template_identifier_argument", "template_identifier_parameter",
1431   "template_expression_argument", "template_expression_parameter",
1432   "template_parameter", "template_parameters_list", "template_argument",
1433   "template_arguments_list", "class_entry", "class_decl", "class",
1434   "class_head", "class_error", "identifier", "primary_expression",
1435   "i18n_string", "constant", "simple_primary_expression",
1436   "anon_instantiation_expression", "anon_instantiation_expression_error",
1437   "primary_expression_error", "postfix_expression",
1438   "argument_expression_list", "argument_expression_list_error",
1439   "common_unary_expression", "unary_expression", "unary_operator",
1440   "cast_expression", "multiplicative_expression", "additive_expression",
1441   "shift_expression", "relational_expression_smaller_than",
1442   "relational_expression", "equality_expression", "and_expression",
1443   "exclusive_or_expression", "inclusive_or_expression",
1444   "logical_and_expression", "logical_or_expression",
1445   "conditional_expression", "assignment_expression", "assignment_operator",
1446   "expression", "expression_anon_inst", "postfix_expression_error",
1447   "common_unary_expression_error", "unary_expression_error",
1448   "cast_expression_error", "multiplicative_expression_error",
1449   "additive_expression_error", "shift_expression_error",
1450   "relational_expression_error", "equality_expression_error",
1451   "and_expression_error", "exclusive_or_expression_error",
1452   "inclusive_or_expression_error", "logical_and_expression_error",
1453   "logical_or_expression_error", "conditional_expression_error",
1454   "assignment_expression_error", "expression_error",
1455   "expression_anon_inst_error", "constant_expression",
1456   "constant_expression_error", "storage_class_specifier",
1457   "external_storage_class_specifier", "enumerator", "enumerator_list",
1458   "enum_specifier", "enum_specifier_nocompound", "enum_specifier_compound",
1459   "enum_specifier_compound_error", "enum_decl", "enum_class",
1460   "enum_class_error", "class_specifier", "class_specifier_error",
1461   "ext_storage", "type_qualifier", "type_qualifier_list", "type_specifier",
1462   "strict_type_specifier", "struct_declarator", "struct_declarator_list",
1463   "struct_entry", "struct_or_union_specifier_compound",
1464   "struct_or_union_specifier_compound_error",
1465   "struct_or_union_specifier_nocompound", "struct_decl", "struct_head",
1466   "struct_class", "struct_class_error", "struct_or_union",
1467   "specifier_qualifier_list", "guess_specifier_qualifier_list",
1468   "declaration_specifiers", "guess_declaration_specifiers",
1469   "external_guess_declaration_specifiers",
1470   "external_guess_declaration_specifiers_error", "_inheritance_specifiers",
1471   "inheritance_specifiers", "property_specifiers", "renew_specifiers",
1472   "new_specifiers", "identifier_list_error", "identifier_list",
1473   "direct_declarator_nofunction_type_ok", "direct_declarator_nofunction",
1474   "direct_declarator_function_start", "direct_declarator_function",
1475   "direct_declarator_function_error", "direct_declarator",
1476   "direct_declarator_function_start_type_ok",
1477   "direct_declarator_function_type_ok",
1478   "direct_declarator_function_error_type_ok", "direct_declarator_type_ok",
1479   "ext_decl", "_attrib", "attribute_word", "attribute", "attribs_list",
1480   "attrib", "direct_abstract_declarator",
1481   "direct_abstract_declarator_noarray", "pointer", "abstract_declarator",
1482   "abstract_declarator_noarray", "declarator", "declarator_type_ok",
1483   "declarator_function", "declarator_function_error",
1484   "declarator_function_type_ok", "declarator_function_error_type_ok",
1485   "declarator_nofunction_type_ok", "initializer", "initializer_error",
1486   "initializer_condition", "initializer_condition_error",
1487   "initializer_list", "init_declarator", "init_declarator_error",
1488   "init_declarator_list", "init_declarator_list_error", "type_name",
1489   "guess_type_name", "parameter_declaration",
1490   "parameter_declaration_error", "parameter_list", "parameter_list_error",
1491   "parameter_type_list", "parameter_type_list_error", "statement",
1492   "statement_error", "asm_field", "asm_field_list", "asm_statement",
1493   "labeled_statement", "labeled_statement_error", "declaration_mode",
1494   "member_access", "declaration", "external_guess_declaration",
1495   "external_guess_declaration_error", "declaration_error",
1496   "declaration_list", "declaration_list_error", "statement_list",
1497   "statement_list_error", "compound_inside", "compound_inside_error",
1498   "compound_start", "compound_statement", "compound_statement_error",
1499   "expression_statement", "selection_statement",
1500   "selection_statement_error", "iteration_statement",
1501   "iteration_statement_error", "jump_statement", "jump_statement_error",
1502   "function_definition", "function_definition_error", "string_literal",
1503   "external_declaration", "external_declaration_error",
1504   "translation_unit_error", "translation_unit", "thefile",
1505   "dbtable_definition", "dbfield_entry", "dbindex_item",
1506   "dbindex_item_list", "dbindex_entry", "dbfield_definition_list",
1507   "database_open", "dbfield", "dbindex", "dbtable", 0
1508 };
1509 #endif
1510
1511 # ifdef YYPRINT
1512 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1513    token YYLEX-NUM.  */
1514 static const yytype_uint16 yytoknum[] =
1515 {
1516        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1517      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1518      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1519      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1520      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1521      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1522      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1523      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1524      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1525      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1526      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1527      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1528       42,    60,    62,    40,    41,   126,    59,    61,    44,   125,
1529      123,    46,    58,    36,    91,    93,    38,    43,    45,    33,
1530       47,    37,    94,   124,    63
1531 };
1532 # endif
1533
1534 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1535 static const yytype_uint16 yyr1[] =
1536 {
1537        0,   145,   146,   146,   147,   147,   148,   149,   150,   150,
1538      150,   151,   151,   152,   153,   154,   154,   155,   155,   156,
1539      156,   157,   157,   157,   157,   157,   157,   157,   158,   158,
1540      158,   158,   158,   159,   159,   160,   161,   162,   162,   162,
1541      163,   163,   164,   164,   164,   165,   165,   165,   166,   166,
1542      166,   166,   166,   166,   167,   167,   168,   168,   168,   168,
1543      168,   168,   168,   168,   168,   169,   169,   169,   169,   170,
1544      170,   170,   170,   170,   170,   170,   171,   171,   172,   172,
1545      172,   172,   172,   173,   173,   174,   174,   174,   174,   174,
1546      175,   175,   175,   176,   176,   177,   177,   177,   177,   177,
1547      177,   177,   177,   177,   177,   178,   178,   179,   179,   179,
1548      179,   179,   180,   181,   181,   181,   182,   182,   182,   183,
1549      183,   183,   183,   184,   184,   184,   184,   184,   185,   185,
1550      185,   185,   185,   185,   186,   187,   187,   187,   187,   187,
1551      188,   188,   188,   189,   190,   190,   191,   191,   192,   192,
1552      193,   194,   194,   195,   195,   195,   195,   196,   196,   196,
1553      196,   197,   197,   197,   197,   197,   197,   197,   197,   197,
1554      197,   197,   197,   197,   197,   198,   198,   198,   198,   198,
1555      198,   198,   198,   198,   198,   198,   198,   198,   198,   198,
1556      198,   198,   198,   198,   198,   198,   199,   199,   199,   200,
1557      200,   200,   200,   200,   201,   201,   202,   202,   203,   203,
1558      203,   203,   203,   203,   203,   203,   204,   205,   205,   206,
1559      207,   207,   208,   208,   208,   209,   209,   210,   210,   210,
1560      210,   210,   210,   211,   211,   212,   213,   213,   213,   213,
1561      213,   213,   213,   213,   214,   214,   214,   214,   214,   214,
1562      215,   216,   216,   216,   216,   216,   216,   217,   218,   218,
1563      219,   219,   219,   220,   221,   221,   221,   221,   221,   221,
1564      221,   221,   221,   221,   221,   221,   221,   221,   221,   221,
1565      221,   221,   221,   221,   221,   221,   221,   221,   221,   221,
1566      221,   221,   221,   221,   221,   221,   221,   221,   221,   221,
1567      221,   221,   222,   223,   224,   224,   225,   225,   225,   225,
1568      225,   225,   225,   225,   225,   225,   225,   225,   225,   225,
1569      225,   225,   225,   225,   226,   226,   226,   226,   227,   227,
1570      227,   227,   227,   228,   228,   228,   228,   228,   228,   228,
1571      228,   228,   228,   228,   229,   229,   230,   230,   230,   230,
1572      230,   230,   230,   230,   231,   231,   232,   232,   232,   232,
1573      232,   232,   232,   233,   233,   233,   233,   233,   234,   234,
1574      234,   234,   234,   235,   236,   236,   236,   236,   236,   236,
1575      236,   236,   236,   237,   237,   237,   237,   237,   237,   237,
1576      237,   237,   238,   238,   238,   238,   238,   239,   239,   239,
1577      239,   239,   240,   240,   240,   240,   240,   241,   241,   241,
1578      242,   242,   242,   243,   243,   243,   243,   243,   243,   243,
1579      243,   243,   243,   243,   243,   243,   243,   243,   243,   243,
1580      244,   244,   244,   244,   244,   244,   244,   244,   244,   245,
1581      245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
1582      246,   246,   246,   246,   247,   247,   247,   248,   248,   248,
1583      248,   248,   248,   248,   248,   248,   248,   248,   249,   249,
1584      249,   249,   249,   249,   249,   249,   249,   249,   250,   250,
1585      251,   251,   252,   252,   252,   252,   252,   252,   252,   253,
1586      253,   253,   253,   253,   254,   254,   254,   254,   254,   255,
1587      255,   255,   255,   255,   255,   255,   255,   255,   256,   256,
1588      256,   256,   256,   256,   256,   256,   256,   257,   257,   257,
1589      257,   257,   258,   258,   258,   258,   258,   259,   259,   259,
1590      259,   259,   260,   260,   260,   261,   261,   261,   262,   262,
1591      262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
1592      262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
1593      262,   262,   262,   262,   262,   262,   262,   263,   263,   263,
1594      263,   263,   264,   264,   264,   264,   264,   264,   264,   265,
1595      265,   265,   265,   266,   267,   268,   268,   268,   268,   268,
1596      268,   268,   269,   269,   269,   269,   269,   269,   269,   270,
1597      270,   270,   271,   271,   271,   272,   273,   273,   274,   274,
1598      274,   275,   275,   275,   275,   275,   275,   275,   275,   275,
1599      275,   275,   275,   275,   275,   276,   276,   277,   277,   277,
1600      278,   278,   278,   278,   278,   278,   278,   278,   278,   278,
1601      278,   278,   278,   278,   278,   278,   278,   278,   278,   278,
1602      279,   279,   280,   280,   281,   282,   282,   282,   283,   283,
1603      284,   284,   284,   284,   284,   284,   284,   284,   284,   284,
1604      284,   284,   284,   284,   284,   284,   284,   284,   284,   284,
1605      284,   284,   284,   284,   284,   284,   285,   285,   285,   285,
1606      285,   285,   285,   285,   285,   285,   285,   285,   285,   285,
1607      285,   285,   285,   285,   285,   285,   285,   285,   285,   285,
1608      286,   286,   286,   286,   286,   286,   286,   286,   286,   286,
1609      287,   287,   288,   288,   288,   288,   289,   289,   289,   289,
1610      290,   290,   290,   290,   290,   290,   290,   290,   290,   291,
1611      292,   292,   293,   294,   294,   294,   294,   295,   295,   295,
1612      295,   295,   295,   295,   295,   295,   296,   296,   297,   297,
1613      297,   297,   297,   297,   297,   297,   298,   298,   298,   298,
1614      298,   298,   298,   298,   298,   298,   299,   299,   299,   299,
1615      299,   299,   299,   299,   299,   299,   300,   300,   300,   300,
1616      300,   300,   300,   300,   300,   300,   300,   300,   301,   301,
1617      301,   301,   301,   301,   301,   301,   301,   301,   302,   302,
1618      303,   303,   303,   303,   303,   303,   303,   303,   303,   303,
1619      303,   303,   304,   304,   305,   305,   305,   305,   305,   305,
1620      305,   305,   305,   305,   306,   306,   306,   306,   306,   306,
1621      306,   306,   306,   306,   306,   306,   306,   306,   307,   307,
1622      307,   307,   307,   307,   307,   307,   307,   307,   307,   307,
1623      307,   307,   308,   308,   309,   309,   309,   309,   309,   310,
1624      310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
1625      311,   311,   311,   311,   311,   311,   311,   311,   311,   312,
1626      313,   313,   313,   313,   313,   314,   314,   314,   314,   315,
1627      315,   316,   317,   317,   317,   317,   317,   318,   318,   318,
1628      318,   319,   319,   320,   320,   320,   320,   321,   321,   321,
1629      322,   322,   322,   322,   322,   323,   323,   324,   324,   324,
1630      325,   325,   326,   326,   326,   326,   326,   326,   326,   326,
1631      326,   326,   326,   326,   326,   326,   326,   326,   327,   327,
1632      327,   327,   327,   327,   327,   327,   328,   328,   328,   328,
1633      329,   329,   329,   329,   329,   330,   330,   330,   330,   330,
1634      331,   331,   331,   331,   331,   332,   332,   332,   332,   333,
1635      333,   333,   333,   334,   334,   334,   334,   335,   335,   335,
1636      335,   336,   336,   336,   336,   337,   337,   337,   337,   338,
1637      338,   338,   339,   339,   339,   339,   339,   340,   340,   341,
1638      341,   342,   342,   342,   342,   342,   342,   343,   343,   343,
1639      344,   344,   345,   345,   345,   345,   345,   345,   346,   346,
1640      346,   346,   347,   347,   348,   348,   349,   349,   349,   349,
1641      349,   349,   350,   350,   351,   351,   351,   351,   351,   351,
1642      351,   351,   351,   351,   352,   352,   352,   352,   352,   352,
1643      352,   352,   353,   353,   353,   353,   353,   353,   354,   354,
1644      354,   355,   355,   355,   355,   355,   355,   355,   355,   355,
1645      355,   355,   355,   355,   356,   356,   356,   356,   356,   356,
1646      356,   357,   357,   357,   358,   358,   358,   359,   359,   359,
1647      359,   359,   359,   359,   359,   359,   359,   359,   359,   359,
1648      359,   360,   360,   360,   360,   360,   360,   360,   360,   360,
1649      360,   361,   361,   361,   361,   361,   361,   361,   361,   361,
1650      361,   361,   361,   362,   362,   362,   363,   363,   364,   364,
1651      364,   364,   365,   365,   365,   365,   365,   365,   366,   367,
1652      367,   367,   367,   367,   368,   368,   368,   368,   369,   369,
1653      370,   370,   370,   371,   371,   371,   371,   371,   371,   371,
1654      372,   372,   372,   372,   373,   373,   373,   373,   374,   375,
1655      376,   376,   376,   377,   377,   377,   378,   378,   378,   378,
1656      378,   378,   379,   379,   380,   380,   380,   380,   380,   380,
1657      380,   380,   380,   380,   380,   380,   381,   381,   381,   381,
1658      381,   381,   381,   381,   381,   381,   381,   381,   381,   381,
1659      381,   381,   381,   381,   381,   381,   382,   382,   382,   382,
1660      382,   382,   382,   382,   383,   383,   383,   383,   384,   384,
1661      384,   384,   384,   384,   385,   385,   385,   385,   385,   385,
1662      386,   386,   387,   387,   387,   387,   387,   387,   387,   387,
1663      387,   387,   387,   387,   387,   387,   387,   387,   387,   387,
1664      387,   387,   388,   388,   388,   388,   388,   388,   388,   389,
1665      389,   389,   389,   389,   390,   390,   390,   390,   391,   391,
1666      391,   392,   392,   392,   393,   394,   394,   394,   395,   395,
1667      396,   396,   397,   397,   397,   397,   398,   399,   400,   401
1668 };
1669
1670 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1671 static const yytype_uint8 yyr2[] =
1672 {
1673        0,     2,     2,     2,     1,     2,     1,     1,     1,     4,
1674        4,     2,     1,     3,     4,     3,     2,     2,     1,     3,
1675        2,     2,     2,     2,     2,     2,     2,     3,     2,     1,
1676        2,     1,     2,     2,     2,     2,     2,     2,     1,     1,
1677        3,     1,     3,     3,     1,     1,     3,     3,     1,     3,
1678        3,     3,     3,     1,     2,     2,     1,     1,     2,     2,
1679        2,     2,     2,     2,     1,     1,     1,     2,     2,     1,
1680        2,     2,     2,     2,     1,     2,     2,     3,     4,     5,
1681        4,     3,     4,     2,     3,     4,     5,     4,     3,     4,
1682        5,     5,     4,     2,     3,     3,     3,     3,     2,     4,
1683        3,     3,     2,     4,     3,     2,     3,     2,     3,     2,
1684        1,     2,     3,     3,     3,     2,     1,     3,     3,     1,
1685        3,     3,     2,     4,     5,     3,     4,     3,     1,     3,
1686        3,     3,     2,     3,     2,     4,     5,     3,     4,     3,
1687        1,     3,     3,     2,     1,     2,     2,     2,     1,     2,
1688        5,     7,     9,     6,     8,     4,     6,     1,     2,     3,
1689        4,     2,     2,     1,     1,     2,     2,     1,     1,     1,
1690        1,     7,     1,     2,     4,     1,     1,     2,     3,     2,
1691        2,     2,     3,     1,     2,     2,     2,     1,     1,     1,
1692        2,     2,     2,     3,     3,     1,     1,     2,     2,     1,
1693        2,     2,     2,     2,     1,     2,     1,     2,     2,     4,
1694        4,     6,     2,     4,     4,     6,     1,     1,     3,     1,
1695        4,     5,     1,     1,     1,     1,     3,     1,     1,     1,
1696        3,     3,     3,     1,     3,     1,     2,     2,     3,     3,
1697        5,     5,     6,     6,     2,     2,     3,     3,     3,     3,
1698        3,     3,     3,     3,     3,     3,     3,     1,     1,     3,
1699        1,     2,     4,     1,     1,     1,     4,     4,     5,     8,
1700        2,     1,     1,     1,     2,     6,     6,     5,     5,     6,
1701        6,     5,     5,     7,     7,     6,     6,     7,     7,     6,
1702        6,     4,     5,     4,     6,     4,     1,     1,     1,     1,
1703        3,     2,     1,     2,     2,     2,     1,     4,     4,     3,
1704        4,     4,     3,     3,     2,     2,     4,     4,     3,     4,
1705        3,     3,     2,     2,     1,     1,     3,     3,     1,     1,
1706        3,     3,     2,     2,     2,     2,     2,     2,     4,     5,
1707        5,     2,     4,     6,     1,     1,     1,     1,     1,     1,
1708        1,     1,     1,     1,     1,     4,     1,     3,     3,     3,
1709        3,     3,     3,     1,     3,     3,     3,     3,     1,     3,
1710        3,     3,     3,     2,     1,     2,     3,     3,     3,     3,
1711        3,     3,     3,     1,     3,     3,     3,     3,     3,     3,
1712        3,     3,     1,     3,     3,     3,     3,     1,     3,     3,
1713        3,     3,     1,     3,     3,     3,     3,     1,     3,     3,
1714        1,     3,     3,     1,     5,     5,     5,     5,     5,     5,
1715        5,     5,     5,     5,     5,     5,     5,     5,     5,     5,
1716        1,     3,     3,     3,     3,     3,     3,     3,     3,     1,
1717        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1718        1,     3,     3,     2,     1,     3,     3,     1,     1,     2,
1719        2,     3,     3,     3,     3,     3,     3,     3,     2,     2,
1720        2,     2,     2,     5,     6,     6,     2,     5,     1,     1,
1721        1,     4,     1,     3,     3,     3,     3,     3,     3,     1,
1722        3,     3,     3,     3,     1,     3,     3,     3,     3,     1,
1723        2,     3,     3,     3,     3,     3,     3,     3,     1,     3,
1724        3,     3,     3,     3,     3,     3,     3,     1,     3,     3,
1725        3,     3,     1,     3,     3,     3,     3,     1,     3,     3,
1726        3,     3,     1,     3,     3,     1,     3,     3,     1,     5,
1727        5,     5,     5,     4,     4,     4,     4,     5,     5,     5,
1728        5,     4,     4,     4,     4,     5,     5,     5,     5,     5,
1729        5,     5,     5,     3,     3,     2,     2,     1,     3,     3,
1730        3,     3,     1,     2,     3,     3,     2,     2,     2,     1,
1731        2,     3,     3,     1,     1,     1,     1,     1,     1,     1,
1732        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1733        3,     3,     1,     3,     2,     1,     2,     2,     2,     4,
1734        4,     3,     3,     4,     5,     4,     6,     6,     4,     5,
1735        4,     6,     6,     5,     5,     2,     2,     2,     5,     3,
1736        5,     6,     5,     7,     7,     8,     8,     7,     7,     3,
1737        3,     3,     4,     3,     5,     5,     6,     7,     6,     4,
1738        1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1739        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1740        1,     1,     1,     1,     1,     1,     4,     4,     4,     1,
1741        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1742        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1743        1,     1,     1,     1,     1,     1,     4,     4,     4,     1,
1744        1,     2,     2,     3,     5,     2,     3,     5,     5,     5,
1745        1,     3,     2,     2,     3,     3,     2,     3,     3,     4,
1746        3,     3,     3,     3,     3,     3,     4,     4,     4,     1,
1747        1,     4,     3,     2,     3,     3,     3,     3,     3,     3,
1748        3,     3,     3,     3,     3,     3,     1,     1,     1,     2,
1749        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1750        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1751        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1752        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1753        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1754        1,     1,     1,     2,     1,     2,     1,     2,     1,     2,
1755        4,     5,     1,     1,     1,     2,     1,     2,     1,     2,
1756        1,     2,     4,     5,     1,     2,     1,     2,     1,     2,
1757        1,     2,     1,     2,     1,     2,     4,     5,     1,     2,
1758        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1759        4,     5,     3,     3,     1,     3,     3,     3,     3,     1,
1760        1,     1,     4,     4,     4,     3,     4,     4,     4,     3,
1761        1,     3,     4,     3,     4,     4,     4,     4,     3,     2,
1762        3,     3,     3,     3,     2,     2,     2,     3,     4,     1,
1763        1,     2,     3,     3,     3,     3,     2,     2,     2,     3,
1764        4,     1,     1,     1,     1,     1,     4,     1,     1,     1,
1765        1,     1,     1,     1,     1,     1,     4,     1,     2,     3,
1766        6,     5,     3,     4,     2,     3,     3,     3,     3,     4,
1767        4,     4,     2,     3,     3,     3,     4,     4,     3,     4,
1768        2,     3,     3,     3,     4,     4,     1,     2,     2,     3,
1769        1,     1,     2,     2,     3,     1,     1,     2,     2,     3,
1770        1,     2,     3,     2,     2,     1,     2,     3,     2,     1,
1771        2,     3,     3,     1,     2,     3,     3,     1,     2,     3,
1772        3,     1,     2,     3,     3,     1,     2,     3,     3,     1,
1773        3,     4,     1,     4,     2,     5,     3,     1,     1,     1,
1774        1,     1,     1,     3,     3,     2,     2,     1,     1,     3,
1775        2,     3,     1,     3,     3,     3,     3,     3,     1,     2,
1776        3,     3,     1,     2,     1,     2,     2,     2,     2,     3,
1777        1,     1,     3,     3,     1,     3,     4,     3,     4,     3,
1778        3,     4,     3,     4,     1,     3,     3,     4,     3,     3,
1779        3,     4,     1,     3,     3,     3,     3,     3,     1,     3,
1780        2,     1,     1,     1,     1,     1,     2,     1,     1,     1,
1781        1,     2,     2,     2,     1,     1,     1,     1,     1,     2,
1782        1,     1,     4,     7,     1,     3,     0,     6,     8,    10,
1783       12,     8,    10,    10,     5,     7,     9,    11,     7,     9,
1784        9,     3,     4,     4,     3,     3,     3,     4,     4,     3,
1785        3,     3,     4,     4,     3,     2,     3,     2,     3,     4,
1786        4,     3,     3,     1,     1,     1,     1,     1,     2,     3,
1787        2,     2,     2,     3,     3,     2,     5,     6,     2,     2,
1788        2,     2,     2,     2,     1,     2,     2,     3,     1,     2,
1789        1,     2,     2,     1,     2,     2,     2,     2,     2,     2,
1790        1,     1,     2,     2,     1,     1,     2,     2,     1,     2,
1791        2,     1,     2,     1,     2,     2,     5,     5,     7,     7,
1792        5,     5,     3,     2,     5,     4,     4,     7,     6,     6,
1793        5,     7,     6,     4,     7,     9,     3,     4,     4,     5,
1794        5,     6,     7,     6,     6,     5,     5,     4,     3,     2,
1795        1,     2,     4,     3,     5,     4,     3,     2,     2,     2,
1796        3,     3,     3,     3,     2,     2,     1,     1,     4,     3,
1797        4,     3,     3,     2,     4,     3,     4,     3,     3,     2,
1798        1,     2,     1,     1,     2,     1,     2,     3,     3,     1,
1799        2,     2,     2,     3,     4,     4,     2,     2,     2,     2,
1800        1,     2,     1,     2,     1,     2,     2,     1,     2,     1,
1801        2,     2,     2,     2,     1,     2,     2,     3,     1,     1,
1802        0,     6,     6,     5,     4,     1,     2,     2,     1,     3,
1803        3,     4,     1,     1,     2,     2,     6,     6,     6,     4
1804 };
1805
1806 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1807    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1808    means the default is an error.  */
1809 static const yytype_uint16 yydefact[] =
1810 {
1811     1290,   257,     6,   592,   593,   594,   596,   597,   661,   662,
1812      663,   664,   665,   667,   670,   671,   668,   669,   655,   656,
1813      660,   666,   756,   757,   605,  1135,   235,   679,   913,   914,
1814        0,     0,   917,  1133,  1134,   680,   681,   672,     0,     0,
1815        0,     0,     0,   918,   919,   683,   682,   684,   685,   598,
1816      595,   956,     0,  1259,   804,   675,     8,     4,     0,     0,
1817        0,  1253,     0,  1272,   880,   798,     0,   674,     0,   650,
1818      652,   806,   808,   657,   800,   802,   739,   673,     0,     0,
1819      651,   653,     0,     0,     0,     0,     0,   979,   654,     0,
1820      915,     0,     0,     0,  1255,  1277,  1252,  1274,  1284,  1279,
1821        0,     0,     0,  1270,     0,  1267,  1250,     0,     0,  1256,
1822        0,     0,     0,     0,  1269,  1268,     0,   658,   957,   654,
1823      958,   871,   870,   880,   912,   869,   899,   970,     0,   911,
1824      975,     0,     0,     0,     0,     0,     0,  1145,     0,   237,
1825      236,     0,     0,   245,     0,   244,     2,     3,     0,     5,
1826        0,   607,   606,     0,     0,   627,     0,     0,     0,     0,
1827      743,     0,   723,   722,     0,  1148,   594,   664,   665,  1142,
1828      805,     8,  1254,  1273,   880,   799,   807,   809,   801,   803,
1829      979,   987,   654,     0,     0,  1018,     0,     0,     0,  1028,
1830        0,     0,   871,     0,   870,     0,     0,   889,     0,     0,
1831      585,   586,   587,   589,   590,  1041,   591,   588,   894,   792,
1832      864,   786,     0,   796,     0,   788,   790,   739,   794,     0,
1833        0,  1040,     0,     0,  1044,  1054,     0,     0,     0,     0,
1834        0,     0,   980,     0,   687,   688,   689,   690,   691,   693,
1835      696,   697,   694,   695,   686,   692,   709,   698,     0,     0,
1836      703,   702,   704,   705,  1178,   701,     0,     0,   776,   700,
1837      782,   778,   780,   784,   699,     0,  1154,     0,     0,     0,
1838        0,  1243,  1249,   594,     0,  1266,  1261,  1275,     0,  1262,
1839     1278,  1260,  1276,  1271,  1283,  1286,     0,     0,     0,     0,
1840        0,  1281,  1282,  1285,  1280,     1,     0,  1257,  1258,  1251,
1841        0,     0,   458,   263,     0,     0,     0,     0,     0,     0,
1842      352,   353,     0,     0,     0,     0,     0,     0,     0,     0,
1843        0,     0,   273,     0,   347,     0,   350,     0,     0,   346,
1844      348,   349,   351,     0,   265,     0,   264,   306,   272,   271,
1845      258,   457,     0,   344,   354,     0,   356,   363,   368,   374,
1846        0,   383,   392,   397,   402,   407,   410,   413,   430,     0,
1847      479,   478,   480,   482,   489,   494,   499,   508,   517,   522,
1848      527,   532,   535,   538,     0,   260,   296,   297,   298,   299,
1849        0,     0,     0,     0,     0,   659,   959,     0,   901,     0,
1850      906,     0,     0,     0,     0,     0,     0,     0,   912,   971,
1851      976,     0,   881,   973,   883,   978,   974,   672,     4,   229,
1852      228,   227,   233,     0,   264,   354,   219,   480,     0,   206,
1853      249,     0,     0,   248,   255,     0,     0,  1136,  1137,     0,
1854      168,     0,   169,   170,     0,     0,     0,     0,     0,   172,
1855      246,     0,     0,     0,     0,    29,    31,   163,   175,   188,
1856        0,   187,     0,   116,   119,     0,   195,   128,     0,   164,
1857      140,     0,   167,   183,   196,   199,     0,     0,   264,     0,
1858        0,   176,     0,   983,   654,     0,    12,    18,     0,   811,
1859      810,   818,   812,     0,   814,   816,   739,   823,   822,   250,
1860      256,   247,     0,     0,   239,   238,   640,   599,   602,   639,
1861      643,   629,     0,     0,     0,   222,   223,   224,   225,     0,
1862      217,     0,   752,   745,     0,     0,   742,   749,   744,     0,
1863        0,   755,   746,     0,     0,   725,   724,     0,     0,     0,
1864        0,     0,   980,   988,     0,  1020,     0,     0,  1239,  1245,
1865        0,  1241,  1247,  1029,  1143,     0,     0,     0,  1144,   888,
1866        0,   264,   583,   584,     0,     0,     0,     0,   607,   606,
1867      608,     0,   726,     0,     0,   664,     0,     0,  1038,   793,
1868        8,   880,   787,   797,   789,   791,   795,   912,   869,   654,
1869      961,   960,     0,     0,     0,   893,     0,     0,   892,     0,
1870        0,     0,  1070,     0,   890,   891,   981,     0,   982,     0,
1871        0,  1152,  1140,  1151,    76,  1149,   690,   691,  1138,   880,
1872      777,   783,   779,   781,   785,   654,     0,  1153,  1150,  1141,
1873        0,  1155,     0,  1242,  1248,  1156,     0,     0,     0,     0,
1874        0,     0,     0,     0,  1237,     0,     0,     0,   698,     0,
1875        0,     0,   157,  1074,  1075,   701,     0,     0,     0,   264,
1876        0,   354,     0,     0,   480,   567,   572,     0,  1072,  1160,
1877     1163,  1080,  1071,  1084,     0,     0,     0,     0,  1182,  1180,
1878     1073,  1086,     0,  1087,  1078,  1085,     0,  1088,  1179,     0,
1879        0,  1263,   880,     0,     0,     0,  1273,     0,   869,   987,
1880      654,     0,     0,     0,     0,  1249,  1287,     0,     0,   413,
1881        0,     0,   916,     0,   337,   472,     0,   333,   468,   334,
1882      469,     0,   858,   848,   856,   850,   852,   854,     0,     0,
1883        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1884      341,   476,     0,   274,     0,     0,     0,   762,   758,   760,
1885      764,  1032,     0,   261,     0,   301,   302,     0,   325,     0,
1886      324,     0,   460,    93,     0,   270,   459,     0,   314,   315,
1887        0,     0,     0,   440,   441,   442,   443,   444,   445,   446,
1888      447,   448,   449,   439,     0,     0,   336,   471,   335,   470,
1889        0,     0,     0,     0,     0,     0,     0,   375,   500,     0,
1890        0,   373,     0,     0,     0,     0,     0,     0,     0,     0,
1891        0,     0,   676,     0,   322,   323,     0,     0,     0,     0,
1892        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1893        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1894      677,   678,     0,     0,     0,  1302,  1303,     0,     0,     0,
1895      875,     0,     0,     0,   879,     0,     0,     0,   905,   904,
1896      902,   903,   912,   971,   976,   882,   884,   998,    10,     9,
1897        0,     0,     0,   654,   960,   207,     0,     0,   264,   206,
1898        0,     0,   830,   824,   826,   828,     0,     0,     0,    16,
1899       20,     0,   185,   184,   186,     0,     0,     0,     0,   347,
1900        0,   264,     0,    26,     0,    21,    28,    24,     0,    25,
1901       23,    22,    30,    32,   190,    83,   191,   122,   162,     0,
1902        0,     0,     0,   132,     0,     0,   134,     0,     0,   143,
1903      161,   200,   197,   202,   201,   198,   203,   115,     0,     0,
1904        0,   880,   720,   177,   995,     0,   991,   654,     0,    11,
1905       17,   710,   896,  1040,     0,     0,     0,   984,     0,     0,
1906      173,   165,   192,   181,     0,   180,     0,   166,   880,   179,
1907        0,   607,   606,   819,   813,   815,   817,     0,     0,     0,
1908      604,   642,     0,     0,     7,   212,   208,   741,     0,     0,
1909        0,     0,  1017,  1024,  1025,  1026,    64,    53,    92,    39,
1910       38,    57,    69,    45,    48,     0,    74,    56,     0,     0,
1911        0,  1008,  1010,     0,  1007,  1009,     0,    41,    44,   912,
1912      981,   972,   989,   977,   998,   990,     0,   999,  1002,  1019,
1913     1021,  1238,  1244,  1240,  1246,  1023,  1030,  1027,  1031,   887,
1914      885,   886,  1067,  1049,  1058,   612,   611,     0,     0,   458,
1915      727,     0,     0,   458,   728,     0,     0,     0,   942,   880,
1916        0,     0,   654,   960,     0,     0,     0,   934,     0,     0,
1917        0,     0,     0,  1039,   963,     0,     0,   962,  1043,  1042,
1918        0,   863,  1066,   866,  1052,  1060,     0,   862,  1065,   865,
1919     1050,  1059,     0,  1069,  1063,   867,  1045,  1055,     0,  1064,
1920      868,  1047,  1056,   920,   921,   924,   923,   922,     0,   925,
1921      927,     0,     0,     0,     0,    77,     0,  1139,  1157,     0,
1922        0,     0,     0,     0,     0,  1221,     0,     0,     0,     0,
1923        0,     0,     0,     0,     0,     0,   264,     0,  1072,  1219,
1924     1077,  1079,     0,     0,  1227,  1228,  1229,     0,  1235,     0,
1925        0,     0,     0,     0,     0,   158,   144,  1083,  1082,  1081,
1926        0,     0,     0,   573,     0,  1076,     0,     0,     0,     0,
1927      453,     0,     0,   458,     0,     0,     0,     0,  1161,  1164,
1928     1166,     0,  1162,  1165,  1167,     0,  1193,  1089,  1264,  1265,
1929      237,   236,     0,     0,     0,   988,     0,     0,  1245,     0,
1930     1247,  1248,     0,     0,  1146,     0,     0,   770,   264,   772,
1931      766,   768,   774,  1034,     0,     0,     0,     0,     0,     0,
1932      859,   849,   857,   851,   853,   855,   654,   966,   965,     0,
1933      844,   834,   842,   836,   838,   840,     0,     0,     0,     0,
1934        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1935        0,   259,     0,   763,   759,   761,   765,  1033,     0,     0,
1936      458,     0,     0,     0,   105,     0,   300,   458,     0,     0,
1937       94,   458,     0,     0,   461,   313,   309,   329,   463,   464,
1938      328,   465,   312,     0,     0,   435,   431,   303,   357,   483,
1939      358,   484,   359,   485,   364,   490,   365,   491,   369,   495,
1940      370,   496,   377,   502,   378,   503,   376,   501,   388,   513,
1941      384,   509,   389,   514,   385,   510,   395,   520,   393,   518,
1942      400,   525,   398,   523,   405,   530,   403,   528,   408,   533,
1943      411,   536,   563,     0,   579,     0,     0,     0,     0,   437,
1944      433,   462,   321,   318,     0,   466,   467,   320,     0,     0,
1945      436,   432,   360,   486,   361,   487,   362,   488,   366,   492,
1946      367,   493,   371,   497,   372,   498,   381,   506,   382,   507,
1947      379,   504,   380,   505,   390,   515,   386,   511,   391,   516,
1948      387,   512,   396,   521,   394,   519,   401,   526,   399,   524,
1949      406,   531,   404,   529,   409,   534,   412,   537,   564,     0,
1950        0,     0,     0,   438,   434,     0,     0,  1295,  1298,     0,
1951        0,  1293,  1304,  1305,     0,     0,   874,   872,   873,   878,
1952      876,   877,   234,   232,   231,   230,   264,   654,   963,   241,
1953        0,   207,   240,   127,     0,   125,   831,   825,   827,   829,
1954        0,   654,     0,    15,    19,     0,   182,   995,   654,     0,
1955      139,     0,   137,   831,     0,   264,   654,     0,    27,    84,
1956      117,   120,   118,   121,   129,   130,   131,   133,   141,   142,
1957      114,   112,   113,    13,   712,   715,     0,     0,   908,  1040,
1958        0,     0,     0,   996,   992,     0,     0,   711,   880,   897,
1959      985,   986,   880,   193,   194,   178,     0,     0,     0,     0,
1960      600,   601,   603,     0,     0,   632,   628,     0,     0,     0,
1961        0,     0,   226,   218,   216,     0,     0,     0,    36,    37,
1962       75,    54,     0,    55,     0,    63,    61,    72,    67,    73,
1963       60,    90,    39,    70,    62,    91,    59,    71,    68,     0,
1964       58,     0,   690,    33,    35,    34,  1011,  1012,     0,   620,
1965      610,     0,   615,   609,     0,   458,   729,     0,     0,     0,
1966      960,     0,   932,   943,   944,   937,   935,   936,     0,   964,
1967      945,     0,     0,   938,     0,     0,     0,  1053,  1061,  1040,
1968     1051,  1046,  1048,  1057,   931,     0,     0,     0,   928,   706,
1969      707,   708,   458,     0,     0,  1114,  1124,  1119,     0,     0,
1970        0,  1115,  1126,  1120,     0,     0,     0,     0,     0,     0,
1971        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1972        0,     0,     0,     0,  1218,  1206,     0,  1183,   264,     0,
1973        0,     0,  1226,  1232,  1233,  1230,  1231,     0,     0,     0,
1974        0,   145,  1111,  1121,  1116,     0,   159,   570,   568,     0,
1975        0,     0,   451,   574,   571,   569,   452,   575,     0,   989,
1976     1244,  1246,  1147,     0,     0,     0,     0,     0,     0,     0,
1977        0,     0,     0,   771,   773,   767,   769,   775,  1035,     0,
1978      293,   291,     0,     0,   950,   654,     0,     0,     0,     0,
1979        0,     0,   968,     0,   967,     0,     0,     0,   845,   835,
1980      843,   837,   839,   841,     0,   267,     0,   266,   295,     0,
1981        0,     0,     0,     0,     0,  1309,     0,     0,     0,     0,
1982        0,   355,   481,   262,   108,   106,   327,   326,    99,   103,
1983      310,     0,   311,   307,   308,   580,     0,     0,     0,     0,
1984        0,     0,   319,   316,   317,     0,     0,     0,     0,  1297,
1985     1296,  1300,     0,     0,     0,  1292,  1291,     0,   960,   218,
1986        0,     0,   123,   126,     0,     0,     0,     0,     0,   996,
1987        0,   135,   138,     0,    14,   458,     0,     0,   721,     0,
1988      880,   909,   997,   993,   994,   713,   716,   898,   174,   820,
1989        0,   243,   242,     0,   631,     0,   213,   214,   204,   209,
1990      210,   220,     0,     0,    51,    46,    49,    52,    47,    50,
1991       37,    43,    40,    42,     0,     0,  1015,  1016,   619,     0,
1992      614,     0,   963,   962,   933,   946,   947,   940,   939,   941,
1993     1037,  1036,     0,   930,   929,    79,  1112,  1122,  1117,     0,
1994     1113,  1123,  1118,     0,     0,     0,     0,     0,  1222,  1196,
1995        0,     0,  1195,  1225,     0,     0,     0,     0,     0,     0,
1996        0,     0,     0,     0,     0,  1203,     0,  1184,  1207,  1185,
1997     1208,     0,     0,     0,  1096,   916,  1096,     0,     0,   155,
1998        0,     0,     0,   160,     0,     0,     0,     0,     0,     0,
1999        0,     0,     0,     0,   473,   292,   860,     0,   965,     0,
2000      948,   951,   952,   277,   278,     0,   969,   953,     0,     0,
2001        0,     0,     0,     0,     0,     0,     0,     0,   268,   281,
2002      282,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2003      477,     0,   331,   330,   455,   581,   422,   555,   414,   539,
2004      426,   559,   418,   547,   456,   582,   423,   556,   415,   540,
2005      427,   560,   419,   548,   424,   557,   416,   541,   428,   561,
2006      420,   549,   425,   558,   417,   542,   429,   562,   421,   550,
2007     1299,  1301,  1294,   832,     0,   124,   150,   997,     0,   136,
2008       86,   910,     0,     0,   821,     0,     0,     0,     0,     0,
2009        0,   205,     0,   221,     0,     0,  1013,  1014,  1003,     0,
2010        0,     0,     0,   926,  1186,  1187,  1190,  1191,  1194,  1224,
2011        0,     0,     0,     0,     0,     0,     0,  1200,  1209,     0,
2012        0,     0,     0,  1094,     0,  1091,  1104,     0,  1096,     0,
2013     1096,     0,     0,     0,     0,   475,   474,   967,   949,   861,
2014      954,   955,   275,   276,   846,   285,   286,     0,     0,     0,
2015        0,   279,   280,   289,   290,     0,     0,   294,  1307,  1308,
2016     1306,   343,   833,     0,   714,   717,   719,   718,     0,     0,
2017      215,   211,     0,  1000,  1005,     0,     0,     0,     0,     0,
2018        0,     0,  1214,  1198,     0,     0,  1199,  1211,     0,  1202,
2019     1213,     0,     0,     0,  1096,     0,  1096,     0,  1096,     0,
2020     1097,     0,     0,     0,   148,     0,   153,     0,   156,     0,
2021      847,   283,   284,     0,   287,   288,   171,  1001,  1188,  1189,
2022        0,     0,  1197,  1204,     0,  1201,  1212,     0,  1108,  1095,
2023        0,     0,     0,  1105,     0,     0,  1096,  1096,     0,  1096,
2024      147,   146,   151,   149,     0,     0,   355,   481,   269,     0,
2025        0,     0,  1092,     0,     0,  1096,  1101,     0,     0,  1098,
2026        0,     0,   154,  1205,     0,  1109,  1110,  1106,     0,     0,
2027        0,     0,  1096,   152,     0,     0,  1102,  1103,  1099,     0,
2028     1093,  1107,     0,  1100
2029 };
2030
2031 /* YYDEFGOTO[NTERM-NUM].  */
2032 static const yytype_int16 yydefgoto[] =
2033 {
2034       -1,   209,    55,    56,   975,   333,   441,   442,   443,   444,
2035      445,   446,   447,   448,   989,   990,   991,   992,   993,   994,
2036      995,   996,   997,   998,   999,  1000,   256,   257,   449,   450,
2037       58,   334,   335,   746,   775,   453,   454,   455,   456,   457,
2038      458,   459,   460,   461,   462,  2093,  2094,  2095,   463,   646,
2039      647,   648,   464,   465,   466,   467,  1787,   409,   505,   410,
2040      506,   411,   507,   508,   867,   412,   413,    59,    60,    61,
2041       62,    63,   336,   337,   338,   339,   340,  1001,  1002,   341,
2042      342,   749,  1269,   343,   651,   345,   346,   347,   348,   349,
2043      350,   351,   352,   353,   354,   355,   356,   357,   358,   734,
2044      829,   653,  1326,   360,   361,   654,   363,   364,   365,   366,
2045      367,   368,   369,   370,   371,   372,   373,   655,   656,  1127,
2046     1328,   554,   555,   211,    65,   498,   499,   212,    67,   213,
2047      214,    68,    69,    70,    71,    72,    73,   215,   118,   216,
2048      262,   932,   933,   217,   218,   219,    77,    78,    79,    80,
2049       81,   220,   741,  1203,   265,   471,    83,    84,   488,   489,
2050      877,  1226,   718,  1050,  1051,   124,    85,   472,    87,   473,
2051      127,   128,   129,   936,   130,   119,    89,  1099,  1100,  1101,
2052       90,   580,  1217,   475,   582,  1219,   133,   185,   476,   477,
2053      187,   940,   135,  1019,  1537,  1007,  1008,  1538,   188,   189,
2054      190,   191,   742,  1204,   224,   225,   226,   227,   228,   229,
2055      659,   660,  2013,  2014,   661,   662,   663,    93,   478,   266,
2056       94,    95,   267,   268,   269,   666,   667,   668,   669,   270,
2057      670,   898,  1621,  1130,   673,   674,   675,  1131,   677,    96,
2058       97,   375,    98,    99,   100,   101,   102,   103,   835,  1398,
2059     1399,   836,   837,   376,   377,   378,   379
2060 };
2061
2062 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2063    STATE-NUM.  */
2064 #define YYPACT_NINF -1899
2065 static const int yypact[] =
2066 {
2067    39187, -1899, -1899, -1899, -1899,    28, -1899, -1899, -1899, -1899,
2068    -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899,
2069    -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899,
2070     1069,   108, -1899, -1899, -1899, -1899, -1899, -1899,   247,   289,
2071      412,   684,   114, -1899, -1899, -1899, -1899, -1899, -1899, -1899,
2072    -1899,  2473,  2733, -1899, -1899, -1899,   241, -1899,   473,   684,
2073      570, -1899,   243,   511,  1084, -1899,   314, -1899,   630, -1899,
2074      602, -1899, -1899, -1899, -1899, -1899,  1093, -1899,   669,   710,
2075    -1899,   768,  1102, 38788,  2421,   232, 39484, -1899,   660,   811,
2076    -1899,  1887, 42123, 37351, -1899, -1899, -1899, -1899, -1899, -1899,
2077    39290, 38383,   939, -1899,   108, -1899, -1899,   114,   114,   946,
2078      873,   114, 29983,   684, -1899, -1899,   608, -1899,  2473, -1899,
2079    -1899, -1899,   822, -1899,   309,  1051, -1899, -1899, 39582, -1899,
2080    -1899,  2733,  1716,  1792,  2148,  1291, 23700, -1899,   897,    66,
2081      555, 31128, 41746, -1899, 31255, -1899, -1899, -1899,   684, -1899,
2082     1240,  1213,  1331,   166, 41746, -1899, 41476, 31382, 41746, 31509,
2083    -1899, 31636, -1899, -1899,   684, -1899, -1899,   271,   947, -1899,
2084    -1899,   950, -1899,   511,   649, -1899, -1899, -1899, -1899, -1899,
2085     1262,  1409,   660,  1716,  1265,  1291, 42123, 42123,   416, -1899,
2086     1354,   952,   961,   947,   535,   660,  1363, -1899, 28283,   979,
2087    -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899,
2088      672, -1899,   395, -1899,   991, -1899, -1899,  1013, -1899,  1019,
2089     1548, 36431,   408,   515, -1899, -1899,   758,   775,  1038,  1056,
2090      144,  1064, -1899,   144, -1899, -1899, -1899, -1899, -1899, -1899,
2091    -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899,  1104,  1107,
2092    -1899, -1899, -1899, -1899, -1899, -1899,   181,    36, -1899, -1899,
2093    -1899, -1899, -1899, -1899, -1899, 38988, -1899, 17556,  6071, 42328,
2094    17696, -1899,  1063,  1174,  1137, -1899, -1899,   511, 38888, -1899,
2095    -1899, -1899, -1899, -1899, -1899, -1899,   602,   768, 40072, 42123,
2096    40360, -1899, -1899, -1899, -1899, -1899,  1164,   946,   946, -1899,
2097    29983,   504, -1899, -1899, 30068, 30153, 30153,  1142, 41926, 29983,
2098    -1899, -1899,  1198,  1232, 41926, 29983,  1237,  1244,  1271,  1280,
2099     1283, 30238, -1899,  1311, -1899, 11066, -1899,   114, 25648, -1899,
2100    -1899, -1899, -1899,  1325, -1899,    84,  1341, -1899, -1899,   108,
2101    -1899, -1899, 12949, -1899,  1485, 28368, -1899,  1014,   902,  1199,
2102    29983,   844,  1114,  1305,  1376,  1359,  1514,   135,  1485,  1412,
2103      719, -1899,  1485, -1899,  1097,  1168,  1550,  1113,  1615,  1404,
2104     1403,  1406,  1536,   286,  1485,   946, -1899, -1899, -1899, -1899,
2105     1462,   159, 41566,  1473,  1480, -1899, -1899, 28453, -1899, 28538,
2106    -1899,   786,   829,  1497,  1519,  1716,  2692,  2694,   309, -1899,
2107    -1899,   905, -1899, -1899, -1899, -1899, -1899,  1198,  1325, -1899,
2108    -1899, -1899, -1899,   682,   971, -1899,  1199, -1899,  1550, 36546,
2109    -1899, 23823, 41476, -1899,   697, 41206, 40456, -1899, -1899,  1469,
2110    -1899,   684, -1899, -1899,   108, 40648, 40264, 10801, 41836, -1899,
2111    -1899,  1413,  1506,  1506,   806, -1899,  1538, -1899, -1899, -1899,
2112       93,  1048,   137, -1899, -1899, 30485,  1539, -1899,  1223, -1899,
2113    -1899,   696, -1899, -1899, -1899,  1544, 30620, 30747,   439,   399,
2114      719, 37561, 39680, -1899,   660,  1887, -1899, -1899, 37456, -1899,
2115    -1899,  1556, -1899,   684, -1899, -1899, -1899,  2130, 41926, -1899,
2116      697, -1899, 30874, 31001,  1561,  1572, -1899,  1557, -1899,  1566,
2117    -1899, -1899,  2525,  1575,   927, -1899, -1899, -1899, -1899,   847,
2118      627, 36546,   863, -1899, 31763, 31890, -1899,   863, -1899, 32017,
2119    32144,   863, -1899, 32271, 32398, -1899, -1899,  2733,  2733,  2733,
2120    21893,   905,  1262,  1409,   905, -1899, 28623,  6071, -1899,  1063,
2121     6071, -1899,  1063, -1899, -1899,  2733,  2733,   905, -1899, -1899,
2122     1564,   328, -1899, -1899,  1567,  1573, 41296,  1512,  1585,  1586,
2123    -1899, 32525, -1899, 32652,   547, -1899, 36198, 28708,  2733, -1899,
2124     1138,   672, -1899, -1899, -1899, -1899, -1899,   309,  1583,   660,
2125      556,    70,   379,  1617,  1581, -1899, 40936,  1590, -1899, 41026,
2126     1593, 41116,  1594, 41386, -1899, -1899, -1899,  1294, -1899, 29983,
2127      684, -1899, -1899,  1595, -1899, -1899,   271,   947, -1899,  1596,
2128    -1899, -1899, -1899, -1899, -1899,   660,  1388,   952, -1899, -1899,
2129     1597, -1899, 17836, -1899,  1063, -1899,   222, 28793,  1598,  1602,
2130     1606,   190, 17976,  1608,   108,  1607,  1611, 18116,  1198,  2305,
2131     1609,  1616,   108, -1899, -1899,  1325,  1622,  1623,  1624,  1395,
2132    16151,  1485, 16296, 25733,  1485,  1485, -1899, 16436, 39088, -1899,
2133    -1899, -1899, -1899, -1899, 18256, 18396, 18536, 18676, -1899, -1899,
2134    -1899,  1063, 18816, -1899, -1899, -1899, 18956, -1899, -1899,   114,
2135      114,   946,   685,   684,  1396,  1604, -1899,   309,   232, -1899,
2136      660,  1716, 42123, 42123,  6071, -1899, -1899, 40168, 29983,   347,
2137     1628,   448, -1899, 11861, -1899, -1899, 28878, -1899, -1899, -1899,
2138    -1899, 41926,  1636, -1899, -1899, -1899, -1899, -1899, 36891, 41926,
2139    23946,   108, 37006, 41926, 29983,   114,   114,   114, 29983, 11066,
2140    -1899, -1899, 10428, -1899, 13106, 13251, 13396, -1899, -1899, -1899,
2141    -1899, 10253,  1635,    94, 22032, -1899, -1899,   175, -1899,   -26,
2142    -1899, 22171,  1631, -1899, 22310, -1899, -1899,  1563, -1899, -1899,
2143    25818,  1569, 29983, -1899, -1899, -1899, -1899, -1899, -1899, -1899,
2144    -1899, -1899, -1899, -1899, 28368,   198, -1899, -1899, -1899, -1899,
2145    29983, 29983, 29983, 29983, 29983, 29983, 29983,  1199,  1550, 29983,
2146    29983, -1899, 29983, 28368, 28368, 28368, 28368, 28368, 29983, 29983,
2147    13541, 28368, -1899,  1579, -1899, -1899, 25903,  1580, 29983, 28368,
2148    29983, 29983, 29983, 29983, 29983, 29983, 29983, 29983, 29983, 29983,
2149    29983, 28368, 28368, 28368, 28368, 28368, 29983, 29983, 13686, 28368,
2150    -1899, -1899,   257,   672, 41836, -1899, -1899, 38482, 41566, 41566,
2151    -1899,  1630,  1632,  1633, -1899,  1634,  1637,  1639, -1899, -1899,
2152    -1899, -1899,   309, -1899, -1899, -1899, -1899,  1641, -1899, -1899,
2153    23700, 23700, 36316,   660,   718, -1899,   337,   849,  1735, 36546,
2154      870,  1646,  1645, -1899, -1899, -1899,  2130, 36661, 40552, -1899,
2155    -1899,   108, -1899, -1899, -1899, 37666,  1648,   108, 36776,  1981,
2156    24069,  2321, 40744, -1899,  1656, -1899,  1063, -1899,  1063, -1899,
2157    -1899, -1899,  1063, -1899,  1642, -1899,  1010, -1899, -1899,  4135,
2158     4135,  1506,  1506, -1899,  1506,   212, -1899,  1506,  1506, -1899,
2159    -1899,   893, -1899,  1544,   893, -1899,  1544,  1150, 28963,  2288,
2160    29983,   892, -1899,  1658,   309, 39778, -1899,   660,  1716, -1899,
2161    -1899,   916,   979, 36431, 30350,   793,   144, -1899,   144,  2733,
2162    -1899, -1899, -1899, -1899,   201, -1899,   227, -1899,   439, 37561,
2163    23700, -1899, -1899,  1663, -1899, -1899, -1899, 41476, 41476, 29983,
2164      108, -1899, 32779,   193, -1899,   650,   747, -1899, 41476,   108,
2165      651,   108,  1411, -1899, -1899, -1899, -1899, -1899, -1899,  1506,
2166    -1899, -1899, -1899, -1899, -1899, 37771,  1465, -1899, 22449, 42226,
2167    22588, -1899, -1899, 12607, -1899, -1899, 40840, -1899, -1899,   309,
2168     1262, -1899,  1409, -1899,   309, -1899, 28623, -1899, -1899, -1899,
2169    -1899, -1899,  1063, -1899,  1063, -1899, -1899, -1899, -1899, -1899,
2170    -1899, -1899, -1899, -1899, -1899, -1899,  1566,   206,   299,  1668,
2171    -1899, 32906, 33033,  1669, -1899, 33160, 33287, 33414, -1899,   615,
2172      478,   517,  1873,  1966,  1676,  1679,  1680, -1899,  1672,  1675,
2173     1678,   660,   905,  1291,    70, 39876, 29048,   556, -1899, -1899,
2174    41656, -1899, -1899,   672, -1899, -1899, 41656, -1899, -1899,   672,
2175    -1899, -1899, 41656, -1899, -1899,   672, -1899, -1899, 41656, -1899,
2176      672, -1899, -1899, -1899, -1899, -1899, -1899, -1899,  1690,  1692,
2177    -1899,  1078,  1693,  1694,   170, -1899, 22727, -1899, -1899, 19096,
2178     1684,  1687, 19236, 29983, 29983, -1899, 29133, 29218,  1691,  1701,
2179     1706, 11397,  1707,   108, 25988,  2583,  1468, 26073, -1899,  1775,
2180    -1899, -1899, 26158,  1712, -1899, -1899, -1899,  1717,  1722, 26243,
2181    16576,   114,  1709, 29983, 29983,   108, -1899, -1899, -1899, -1899,
2182    21615,   358, 28368, -1899,  1360, -1899, 29983, 13831, 13976, 28368,
2183    -1899, 29983, 14121,  1597, 19376, 19516, 19656, 19796, -1899, -1899,
2184    -1899, 19936, -1899, -1899, -1899, 20076, -1899, -1899,   946,   946,
2185     1721,  1730, 35954, 36080,   905, -1899,   905,  6071, -1899,  6071,
2186    -1899, -1899,  1727, 28368, -1899, 28368,   861, -1899,   439, -1899,
2187    -1899, -1899, -1899, 10253,  1736,  1744, 42016, 23700, 39386, 29983,
2188     1733, -1899, -1899, -1899, -1899, -1899,   660,  1710,  1746,  1738,
2189     1756, -1899, -1899, -1899, -1899, -1899, 37121, 26328,  1755,  1758,
2190     1763, 29983,  1757, 37236,  1752,   618,    35,    72,  1764,  1770,
2191     1768, -1899,   108, -1899, -1899, -1899, -1899, -1899, 29983,   114,
2192      239, 37873, 22866,  1771, -1899, 28368, -1899,   254, 37975, 23005,
2193    -1899,   262, 38077, 23144, -1899, -1899, -1899, -1899,  1136,  1773,
2194    -1899, -1899, -1899, 26413,  6546, -1899, -1899,  1771, -1899, -1899,
2195    -1899, -1899, -1899, -1899,  1014,  1097,  1014,  1097,   902,  1168,
2196      902,  1168,  1199,  1550,  1199,  1550,  1199,  1550, -1899, -1899,
2197      844,  1113, -1899, -1899,   844,  1113, -1899, -1899,  1114,  1615,
2198    -1899, -1899,  1305,  1404, -1899, -1899,  1376,  1403,  1359,  1406,
2199     1514,  1536, -1899,    53, -1899, 26498,  1767,  7374,  1772, -1899,
2200    -1899, -1899, -1899, -1899,  1218, -1899, -1899, -1899, 26583, 24713,
2201    -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899,  1014,  1097,
2202     1014,  1097,   902,  1168,   902,  1168,  1199,  1550,  1199,  1550,
2203     1199,  1550,  1199,  1550, -1899, -1899,   844,  1113, -1899, -1899,
2204      844,  1113, -1899, -1899,  1114,  1615, -1899, -1899,  1305,  1404,
2205    -1899, -1899,  1376,  1403,  1359,  1406,  1514,  1536, -1899, 26668,
2206     1776, 24798,  1777, -1899, -1899,   108,   108, -1899, -1899,   208,
2207     1108, -1899, -1899, -1899, 38584, 38686, -1899, -1899, -1899, -1899,
2208    -1899, -1899, -1899, -1899, -1899, -1899,  1287,  2555,   718, -1899,
2209    23700,   108, -1899, -1899, 23700, -1899,    -6, -1899, -1899, -1899,
2210      518,   660,  1716, -1899, -1899,   294,  1658,  1641,   660,  1716,
2211    -1899,  1788, -1899,   565,   559,  1467,  2733,  1801, -1899, -1899,
2212    -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899, -1899,
2213     1316, -1899, -1899, -1899, -1899, -1899, 23283,  2369,   979, 36431,
2214    12778,   817,   905,   309, -1899,   905, 29983, -1899,   587, -1899,
2215    -1899, -1899,  1802,  1642,  1631,  1658,   888, 23700,   955,  1041,
2216    -1899, -1899, -1899, 33541, 33668,  1803, -1899,  3552, 41836, 41836,
2217    41836, 41836, -1899, -1899, -1899, 29983,  1800, 29303, -1899,  1063,
2218    -1899, -1899, 29388, -1899, 29473, -1899, -1899, -1899,  1491,  1465,
2219    -1899, -1899,  1506, -1899, -1899, -1899, -1899, -1899,  1491,  1465,
2220    -1899, 29558,  4798, -1899, -1899, -1899, -1899, -1899, 20216, -1899,
2221    -1899,   215, -1899, -1899,   248,  1804, -1899, 33795, 33922,   660,
2222     1966,  1806, -1899, -1899, -1899, -1899, -1899, -1899,   905,   556,
2223    -1899,  1808,  1810, -1899,  1805,  1807,  1809, -1899, -1899, 36431,
2224    -1899, -1899, -1899, -1899, -1899, 29983,  1811,  1275, -1899, -1899,
2225    -1899, -1899,   268, 38179, 23422, -1899, -1899, -1899, 20356, 21615,
2226    21615, -1899, -1899, -1899, 20496, 26753, 16716, 26838, 26923, 24435,
2227    27008, 16856, 21754,  1814,  1817, 21754, 29983, 29643,  1880, 27093,
2228     1722, 24883,   114, 21754,  1815, 12175, 11397, -1899,  1496, 27178,
2229    24968, 27263, -1899, -1899, -1899, -1899, -1899,   107,   114,  1813,
2230     1250, -1899, -1899, -1899, -1899, 20636, -1899, -1899, -1899,  1818,
2231     1820,   108, -1899, -1899, -1899, -1899, -1899, -1899, 41476, -1899,
2232    -1899, -1899, -1899, 27348,  1819, 25053,  1821, 27433,  1822, 25138,
2233     1826,  1836,  1839, -1899, -1899, -1899, -1899, -1899, -1899, 14266,
2234    -1899, -1899,  1840,  1073, -1899,  2824,  1841,  1843,  1846,  1837,
2235     1852, 23700,  1746, 39974,  1710, 29983, 23700, 29983,  1829, -1899,
2236    -1899, -1899, -1899, -1899,  1847, -1899, 29728, -1899, -1899,  1860,
2237     1864, 29983, 29983,  1870, 10428, -1899,   108,   108, 29983, 14411,
2238      108, -1899, -1899,   946, -1899, -1899, -1899, -1899, -1899, -1899,
2239    -1899, 14556, -1899, -1899, -1899, -1899, 28368, 14701, 14846, 28368,
2240    14991, 15136, -1899, -1899, -1899, 15281, 15426, 15571, 15716, -1899,
2241    -1899, -1899,   257,  1845,   344, -1899, -1899,   660,   718,  1994,
2242     1118, 23700, -1899, -1899,  1876,   905,   905,  1506,   905,  1641,
2243     1881, -1899, -1899,  1884, -1899,   281, 38281, 23561, -1899,   660,
2244      881, -1899,   309, -1899, -1899,  1888,  1891, -1899, -1899, -1899,
2245     1152, -1899, -1899, 34049,  1890, 34176, -1899,  1892, 36546, -1899,
2246     1897, -1899, 29983, 28623,  1907, -1899, -1899,  1907, -1899, -1899,
2247    -1899,  1907, -1899, -1899, 20776, 20916, -1899, -1899, -1899, 34303,
2248    -1899, 34430,    70,   556, -1899, -1899, -1899, -1899, -1899, -1899,
2249    -1899,  1291, 27518, -1899, -1899, -1899, -1899, -1899, -1899, 21056,
2250    -1899, -1899, -1899, 21196, 11397, 24157, 11397, 24157, 12412, -1899,
2251    24574, 16996, -1899, -1899, 21754, 21754, 27603, 11397, 27688, 24296,
2252     1904, 25223, 27773,   140, 21336, -1899, 29983, -1899, 12412, -1899,
2253    12175, 11397, 25308, 29813,    12,  1906,    12,   200,  1900, -1899,
2254      108, 29983, 29983,   108, 28368, 28368, 28368, 28368, 28368, 28368,
2255    28368, 28368, 15861, 16006, -1899, -1899, -1899,   660,  1746,  1909,
2256    -1899, -1899, -1899, -1899, -1899,  1167,  1710, -1899,  1910,  1911,
2257     1901,  1908,  1187,  1918,  1919, 23700, 29983, 11066, -1899, -1899,
2258    -1899,  1922,  1926,  1927,  1928, 29983,  1920,  1940,  1944,  1946,
2259    -1899,  1949, -1899, -1899, -1899, -1899, -1899, -1899, -1899,   448,
2260    -1899, -1899, -1899,   448, -1899, -1899, -1899, -1899, -1899,   448,
2261    -1899, -1899, -1899,   448, -1899, -1899, -1899,   448, -1899, -1899,
2262    -1899,   448, -1899, -1899, -1899,   448, -1899, -1899, -1899,   448,
2263    -1899, -1899, -1899, -1899,  1231, -1899, -1899,  1641, 28368, -1899,
2264    -1899, -1899, 29983, 29983, -1899, 34557, 34684, 34811, 34938, 35065,
2265    41836, -1899, 41836, -1899, 25393, 21476, -1899, -1899, -1899, 35192,
2266    35319, 35446, 35573, -1899,  1978,  1982, -1899, -1899, -1899, -1899,
2267    11397, 29983, 29898,  1906, 17136, 17276, 25478, -1899, 12412, 24574,
2268    27858, 17416,   108, -1899,  1124,   593, -1899,   126,    12,  1953,
2269       12,   360,   616,  1951,  1255, -1899, -1899,  1710, -1899, -1899,
2270    -1899, -1899, -1899, -1899, -1899, -1899, -1899,  1236,  1945,  1948,
2271     1957, -1899, -1899, -1899, -1899,  1950,  1959, -1899, -1899, -1899,
2272    -1899, -1899, -1899,  1960, -1899, -1899, -1899, -1899, 35700, 35827,
2273    -1899, -1899, 27943, -1899, -1899, 11397, 11397, 28028, 25563, 11397,
2274    28113, 24296,  1962, -1899, 11397, 29983, -1899, -1899, 24574, -1899,
2275    -1899,  1961,  1980,    12,    12, 29983,    12,  1983,    12,  1349,
2276    -1899,   205,  1506,   579, -1899,   621, -1899,  1974, -1899,   108,
2277    -1899, -1899, -1899, 29303, -1899, -1899, -1899, -1899, -1899, -1899,
2278     1962, 11397, -1899, -1899, 28198, -1899, -1899,   114, -1899, -1899,
2279     1256,  1984,  1257, -1899,  1431,  1986,    12,    12,  1987,    12,
2280    -1899, -1899, -1899, -1899,   360,   721, -1899, -1899, -1899, 11397,
2281      610,  1989, -1899,  1990,  1992,    12, -1899,  1298,  1301, -1899,
2282     1533,   623, -1899, -1899, 29983, -1899, -1899, -1899,  1312,  1993,
2283     1995,  1996,    12, -1899,  2001,  2000, -1899, -1899, -1899,  1338,
2284    -1899, -1899,  2011, -1899
2285 };
2286
2287 /* YYPGOTO[NTERM-NUM].  */
2288 static const yytype_int16 yypgoto[] =
2289 {
2290    -1899,   151,    58,  9484, -1899,  2031, -1899, -1899, -1899, -1899,
2291    -1899, -1899,  1649,  1662,  -966, -1899,  -972,  -339,   121,   130,
2292     -953,  -943,  -892, -1899,  -691,  -682, -1899, -1899,  1664,  1665,
2293    -1899,  2123,  3736, -1899,  -225,   736,   753, -1899, -1899, -1899,
2294    -1899,  1671, -1899, -1899, -1899,  -634, -1898,   -14, -1899, -1899,
2295    -1899, -1899,  -278,  2317,   -22,    11,   652,  -847, -1899,  -793,
2296    -1899,  -855, -1899,  1176,  -124,  1296,  -884,     1,  1872,   -13,
2297     1874,    -4,     0, -1899,  1248, -1899, -1899,  3946,  4235, -1899,
2298     5852,  -413,  1362, -1899,  3731, -1899,  -330,   503,   799,   401,
2299    -1899,  -436,  -703,  -470,  -151,  -423,   -10,   596,  7321,  4625,
2300     -178,  8783,  -803,  1754, -1899,  4298,  -326,   629,   853,  1443,
2301      275,    24,    67,   238,   189,   287,   699,  5125,  -422,  7552,
2302     -799,  -114,  1044, 10555,   -59,  1195,  -144,  2639, 11101,  8232,
2303    -1899, -1899, -1899,   -64,   -40,   -35, -1899,  6856, -1899,  1474,
2304     2550,   702,  -810,  3233,  8991, -1899, 11338, -1899, -1899, -1899,
2305      -29,  3260, -1899, -1899,  1130,  6347,   -19, -1899, -1899,  1310,
2306     1734,  1451,  1862,   -84,   -70,  7545, 10130,  4094,  6722,  -448,
2307     -127,  -421,   666,  -920,    74,  2901, -1899, -1899, -1078, -1899,
2308     4468,  -559, -1208,  7654,   362,  -625,    50,   359,   218,  1740,
2309     -281,  -566,  -458,  -995,  -533,  -924,  -917,   385,   755,  1128,
2310      -38,  1914,  -708,   261,   197,  -468,  -438, -1899,   -89,   -77,
2311     8198,   146,    97, -1371, -1899, -1899, -1899,  2082, -1899,  2219,
2312     2090,   -58,  2586,    -8,  1916,  1011,  1015, -1899, -1899, -1899,
2313      -91,   367, -1531,  -203, -1899, -1899, -1899,     6, -1899,  2091,
2314      -55,    19,  2094,  1587, -1899, -1899, -1899,  2098,  -817,   454,
2315    -1899,  -795,   851, -1899, -1899, -1899, -1899
2316 };
2317
2318 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
2319    positive, shift that token.  If negative, reduce the rule which
2320    number is the opposite.  If zero, do what YYDEFACT says.
2321    If YYTABLE_NINF, syntax error.  */
2322 #define YYTABLE_NINF -1290
2323 static const yytype_int16 yytable[] =
2324 {
2325       64,   271,   222,  1020,  1461,   399,  1415,   693,  1145,   502,
2326     1684,  1462,  1228,   941,  1413,   778,   223,   106,  1474,   779,
2327     1402,  1536,  1067,  1578,   175,  1390,  1516,   947,  1526,  1392,
2328      108,   110,   509,  1522,   945,   280,   286,   603,   282,   393,
2329      299,   115,  1403,   176,   391,  1518,   196,  1528,   177,   109,
2330      935,   394,   123,  1251,  1725,  1519,   399,  1529,   392,   140,
2331     1258,   116,  1252,  1262,   149,   148,   152,   672,  1414,  1259,
2332      172,   287,  1263,     1,   278,  1436,  1486,   299,  1852,   173,
2333      276,   288,   163,   174,   123,   752,   210,   285,  1034,   277,
2334     1863,   123,  1308,    64,   904,   538,   541,  1232,     2,   299,
2335       64,    64,  1255,   747,   296,   104,  1520,   121,  1530,  1256,
2336     1864,     1,   299,   381,  1018,  1751,   384,   138,  1075,   106,
2337     1374,  1081,   492,  1087,  1752,  1092,   297,   298,   210,  2086,
2338      301,   123,   123,   184,   184,   514,   414,   519,   906,   523,
2339      149,   468,   481,  1864,   468,   299,  2012,     1,   495,  1485,
2340      497,    54,   799,   497,   481,   493,   510,   468,   481,   468,
2341      105,   468,     1,  1706,   526,   604,   774,   500,   515,     1,
2342      520,   380,   524,     1,   149,   148,  1253,   623,   537,   540,
2343      801,   396,   601,   123,   809,  -454,  1503,   421,   922,   925,
2344      939,  1115,    -8,   566,  1495,   719,     1,  2133,   551,  1277,
2345     1707,   723,  1483,  2018,   567,   299,   400,  1539,  2127,     1,
2346      149,     1,   559,   753,   922,   925,  1808,   106,    92,   175,
2347      163,   571,   905,   618,   286,  1249,   286,   616,  1484,   175,
2348      123,  1865,   280,   123,   170,   282,   922,   925,   176,  1866,
2349     -109,   922,   925,   177,    54,   922,   925,  1435,   176,  1810,
2350     2087,    54,    54,  2133,  2083,  -100,   550,   400,  2088,   287,
2351        1,   287,   664,  -104,  2003,   609,   753,    52,   853,   -82,
2352      649,   697,  1866,   842,   680,   846,   676,   696,   682,   800,
2353     1526,   694,   -89,   831,   686,  1522,   277,  1526,    64,   683,
2354       64,  1526,  1522,   681,  1581,   501,  1522,     1,   870,  1528,
2355     1542,   186,     1,   827,  1254,  1067,  1528,   602,   712,  1529,
2356     1528,    92,  1434,  1116,   712,   184,  1529,     1,   289,    92,
2357     1529,  2002,  1496,  1673,  2019,   551,  1312,  1254,   184,  2128,
2358      905,     1,  2020,  2083,  1741,  1540,  1742,  2129,  1270,   755,
2359        1,  1809,     2,   970,  -618,   327,   743,  1268,   619,   299,
2360      895,   897,   899,   901,  1378,   197,   753,  1300,  1304,  1271,
2361     1530,     1,   136,     1,   799,   974,   198,  1530,  -109,   143,
2362      111,  1530,   569,   144,  1811,  1318,   970,  -613,  1395,  1396,
2363     1068,   149,   833,  -100,  1270,  1366,  1370,   551,   944,   551,
2364     1654,  -104,  1658,  1334,  1656,   123,  1660,   -82,     1,   527,
2365      927,   123,   223,  1384,  1011,  -871,   757,   758,   759,   584,
2366      -89,   134,   112,  1036,   149,  1583,   693,   543,  1757,   833,
2367     1011,   868,   510,     2,  1584,   872,   571,   941,  1543,   170,
2368      828,   883,   388,  2092,   884,   833,   872,   891,   833,   170,
2369     1534,    54,     1,   389,   150,   841,  1021,   845,  1636,  1023,
2370     1278,  1280,  1282,  1059,  1279,  1281,  1283,   935,   754,   272,
2371      711,   672,   672,   672,   672,   827,   468,   468,   149,   854,
2372     1962,   931,   210,  1152,  1896,   123,  1159,  1055,   958,   584,
2373     1342,  1344,  1346,   962,  1343,  1345,  1347,   163,   963,  1056,
2374      397,  1193,   468,   468,  1067,  2017,   186,  1471,  1480,  1824,
2375     1481,   941, -1037, -1037,   976,  1559,   692, -1037,   289,   299,
2376      149,   980,  1474,  1110,   468,   468,   587,   935,   587,   468,
2377      468,     1,   760,   468,   468,   557,   928,   123,   123,   123,
2378      761,   123,   585,   762,   123,   113,   586,   416,   935,  1041,
2379     1750,  1045, -1022,  1806, -1022,   123,   123,   123,  1535,   747,
2380        1,   149,  1773,   539,   542,  1774,   833,   497,     1,   146,
2381      147,   468,     1,   468,   526,  1415,  1049,   551,   123,   754,
2382      569,   149,  1042,  1413,  1046,     2,   747,   982,   982,   982,
2383      583,   123,     1,  1676,   747,   935,  1073,  1402,  1402,  1079,
2384        1,  1085,  1195,  1090,  1018,   184,   184,  1433,   299,   137,
2385     1104,  1694,  1568,  1780,   747,  1013,   586,  1802,  1703,  1403,
2386     1403,     1,  1526,   299,  1803,   299,  -864,  1522,     1,     1,
2387     1573,  1013,   569,   299,     1,  1058,     1,  1749,   702,  1229,
2388        1,  1528,  1126,   286,  1133,   624,     2,   671,   175,   588,
2389      145,  1529,  1146,   589,   879,   589,  1316,  2089,  1753,  2091,
2390     1791,  1786,     1,  1789,     1,   400,   695,   176,  1103,  1517,
2391     1523,  1527,   569,   529,   649,   649,   649,   649,   287,   387,
2392      676,   676,   676,   676,  1382,     1,   422,  1047,   939,  1065,
2393     2027,   423,   149,  1181,  1187,  1189,  1751,     1,     1,  1762,
2394     1066,   123,  1530,   858,  2092,  1761,  2092,   571,  1178,  1179,
2395      141,  1908,   142,  1198,  -458,  -458,  -458,   146,   147,   254,
2396     1777,  1205,     2,  2120,    26,  2122,  2085,  2124,  1210,  1220,
2397      551,  1230,  1210,  1220,     1,  1533,   803,   804,   805,  1198,
2398     1638,   155,   833,  2154,  1643,   146,   147,  1645,   382,  1647,
2399     2096,  1242,  1705,  -864,  1235,  1236,  1237,   146,   147,   181,
2400     2132,   787,  2163,  1033,   979,  2147,  2148,  1265,  2150,   590,
2401      153,  1272,   154,   922,   925,   917,   918,   922,   925,   146,
2402      147,   146,   147,  1055,  2158,  1766,   592,  1498,  1505,   530,
2403       51,   865,  1499,  1074,  1767,  1056,  1080,   584,  1086,  1320,
2404     1091,  2169,   146,   147,   590,  1526,   134,  1895,  1536,   157,
2405     1522,   158,  1902,  1332,   859,   146,   147,  1337,   896,  1986,
2406      860,   902,  1169,  1173,  1528,   530,  1464,  1386,   590,  1309,
2407     1454,  1455,   416,  1456,  1529,   919,  1458,  1459,  -458,  1497,
2408      587,  -458,  1397,   149,  1400,  1773,  1774,   833,   833,   833,
2409      159,   862,   806,  1488,  1489,  2152,   393,  1375,   170,   533,
2410      807,  1470,   567,   808,  1197,  1490,   789,   790,   394,  1559,
2411      414,  1416,   210,  1313,     1,   392,   976,  1964,   149,   980,
2412     -458,  -458,  -458,   981,  1500,  1530,   163,  1426,   571,  1501,
2413     1197,  1146, -1062,  1197,     1,   571,   591,  1441,  1443,     2,
2414     1445,  1379,   833,  1541,  1544,     1,   699,   160,  1508, -1068,
2415     -458,  -458,  -458,   593,  1022,   699,   672,  1024,     1,   672,
2416      848,   699,  1523,  1527,   586,   692,  1479, -1062,  1711,  1523,
2417     1527,   591,  1712,  1523,  1527,   134,   399,  1063,  1054,   123,
2418        1,   149,   900,     2,   231,   210,   254,  1983,   123,   295,
2419     1771, -1062,   121,  1478,   181,   591,   123,   672,   123,  1482,
2420     1493,   299,  1565,   849,   689,   974,   387,   589,   149,   931,
2421      414,   672,   672,   672,   672,   791,   792,   510,   510,   977,
2422      497,  1419,   468,   497,     1,   978,  1561,   978,   510,  1504,
2423      149,  1506,  -216,  1494,   711,   569,  -458,  1319,  1562,  1806,
2424     1239,  1813,  1422,  1240,  -458,    32,  1916,  -458,   978,   701,
2425      300,   146,   147,  1603,  1971,  1807,   123,  1873,   701,   941,
2426     1779,   935,   146,   147,   701,  1385,   860,  -460,  -460,  -460,
2427      569,  2037,  1466,   420,  -458,  1547,    43,    44,    52,   569,
2428      747,   671,   671,   671,   671,  1317,   569,   497,   497,   783,
2429      784,   468,   468,   569,  2053,   468,   468,   468,  1476,   149,
2430     1889,   935,   123,   123,   935,  -265,  -265,  -265,  1548,  1188,
2431     1190,  1191,   123,  1383,   123,   210,   551,  1986,  1301,  1305,
2432      833,   136,     1,   149,   106,   528,   833,  1781,   529,   149,
2433      546,  1093,   833,   978,   387,   149,  1321,     1,   833,   527,
2434      149,   146,   147,  -216,   569,  1679,  1367,  1371,   861,  -216,
2435      107,   754,   396,  1247,   149,     1,  1094,   556,  2138,   649,
2436      569,     1,   649,   106,  1387,   676,  1018,  1699,   676,  1677,
2437      560,  1126,  1095,  1133,  1564,   817,   818,   400,   793,   794,
2438        2,  1678,  1618,  2060,   780,  2061,   400,   689,  1013,  1260,
2439        1,  -460,   106,   561,  -870,  1631,  -870,  -870,   562,    26,
2440      649,  1272,  1096,  1097,   781,   782,   676,  -459,  -459,  -459,
2441     1627,   492,   594,  1782,   649,   649,   649,   649,   679,   978,
2442      676,   676,   676,   676,   197,  -265,    28,    29,  -900,  -265,
2443      595,    32,   468,   468,   123,   198,   123,   597,    38,  1813,
2444     1292,  1294,   678,  1296,   493,  1886,   833,  1012,   149,  2040,
2445     1015,   860,  1576,   833,   146,   147,  1577,   414,   210,   785,
2446      786,  -870,    43,    44,   156,   922,   925,   810,  1356,  1358,
2447     1360,  1362,  -870,  -740,  1054,  -740,  1688,   599,   146,   147,
2448      600,  1421,   161,  1688,   819,   820,  2022,   811,   812,  1430,
2449     1963,   496,   149,     1,  1523,  1527,   860,  -870,  2082,   134,
2450     1444,   104,  2083,  1559,  1662,  1586,  2084,  -870,  1592,   136,
2451     1720,   416,   416,  -899,  1721,   711,   535,  1567,  1713,   922,
2452      925,  1987,   387,  1570,  1974,  -870,  -870,  -870,  1093,  1571,
2453      860,  -459,   983,   984,   985,  1572,  1284,  1286,   134,  2029,
2454        1,   698,   911,   912,   699,   860,  1633,  1093,  -216,  1923,
2455     1025,  1027,   583,  1094,  1643,   813,   814,  1647,   134,  2034,
2456     1169,  1173,  1169,  1173,   913,   860,  1348,  1350,   914,  1095,
2457      915,   720,  1094,  -458,  -458,  -458,  -458,  -458,  -458,  -458,
2458     -458,  -458,  -458,  -458,   935,   935,  -899,  -899,  1095,    28,
2459       29,  -899,  1732,  -626,    32,  -626,  1721,  1661,  -899,  1096,
2460     1097,    38,   916,  2052,  1663,   721,  1509,  1185,  2100,   860,
2461      724,   416,  1775,   689,   860,    28,    29,   725,  1096,  1097,
2462       32,  1018,  -899,  -899,  1869,    43,    44,    38,  1870,  2098,
2463     2141,  2143,  1018,  2099,  2083,  2083,   672,   672,  -899,  -899,
2464     -899, -1017,   536, -1017,   726,  1739,  1740,   701,   672,  1743,
2465      149,    43,    44,   727,   833,   833,   728,   146,   147,  -216,
2466     -911,   397,  1285,  1287,  1551,  -216,   149,   754,  1098,  1744,
2467     1416,  1506,  2159,   853,   414,  2160,  2083,  1523,  1527,  2083,
2468     1754,   843,   123,   847,   732,  1631,  2165,  -458,  -458,   123,
2469     2083,   795,  1349,  1351,  1763,   149,   123,  -458,  1639,  1640,
2470     1641,  1807,  -458,  -458,  -458,   751,  -458,  -458,  -458,  -458,
2471     -458,  -625,  2172,  -625,   503,  2135,  2083,   123,   516,  1770,
2472        1,   754,   123,  2125,    75,   123,   671,  2083,   149,   671,
2473      544,  2126,   545,  -911,  -911,    28,    29,   414,  -911,   548,
2474       32,   545,    32,   468,   468,  -911,   396,    38,   833,   833,
2475      833,   833,   797,   763,   764,   765,   766,   767,   768,   769,
2476      770,   771,   772,  1035,  1107,     1,   545,   671,   796,  -911,
2477     -911,    43,    44,    43,    44,   754,  1182,  1150,   142,  1987,
2478      798,   671,   671,   671,   671,  -911,   802,  -911,  1507,   893,
2479      823,  -880,  -880,   254,   689,   824,  -880,   468,   468,   825,
2480      123,     1,   826,  -880,  1650,  2144,  1651,   179,   123,  2083,
2481      815,   816,  1018,  2145,  1264,  1668,     1,    75,  1672,   571,
2482     1271,  1900,     1,  1903,    75,    75,     2,  -880,  -880,   418,
2483     1331,  1336,     1,     1,  1288,  1290,   830,  1911,  1913,   649,
2484      649,  1513,   881,  1514,  1898,   676,   676,   754,   754,  1126,
2485     1613,   649,  1126,   838,  1185,  1126,  1899,   676,   416,  1618,
2486      839,  1060,   773,  1126,  1352,  1354,  1126,  1511,  1069,  1512,
2487      569,   850,    28,    29,   854,   689,   754,    32,  1856,   821,
2488      822,  1853,  1013,  1795,    38,  1798,   254,   672,  1289,  1291,
2489     1018,  1146,  1796,   851,  1799,  1450,  1452,  1867,   510,   747,
2490      747,   747,   747,   747,   747,   747,   747,  2161,    43,    44,
2491     1006,  2083,  1451,  1453,   903,  2162,  1966,   910,  1353,  1355,
2492      920,  1111,   689,  1026,  1028,  1164,  1166,   960,   563,  1165,
2493     1167,   414,   967,   210,   969,  1011,   414,   291,   294,  1404,
2494     1405,    28,    29,   968,   970,   575,    32,   922,   925,  1029,
2495      922,   925,  1030,    38,  1242,   973,  1917,  1918,  1031,  1070,
2496     1921,   922,   925,   922,   925,  1037,  1038,   198,  1076,     1,
2497      569,  1082,  1088,  1108,  1105,  1113,  1106,    43,    44,  1114,
2498     1112,  1132,  1143,  1134,  1183,  1827,  1831,  1135,     1,  1144,
2499    -1036, -1036,  1397,   747,     2, -1036,  -216,  1843,  1147,  1148,
2500     1149,   414,   179,   121,  1194,   123,   123,  1207,   123,  1248,
2501     1260,  1975,   179,  1978,    75,  1406,  1424,  1407,  1408,  1409,
2502      149,  1449,  1410,  2136,  1411,   389,  1423,  2137,  1440,  1551,
2503      922,   925,  1448,   468,  1487,   468,  1467,  1989,   833,  1991,
2504       28,    29,  2038,   788,  1976,    32,  1979,  -732,  -735,   739,
2505     1552,  2045,    38,  1553,  1554,   397,   672,  1555,   672,   468,
2506     1556,   468,   123,  1557,  1574,  1575,  1589,  1579,  1580,  1590,
2507     1990,   416,  1992,  1605,  1606,   416,    43,    44,   583,  1607,
2508     1609,  1614,  1628,  1683,  1126,  1126,  1126,  1126,  1622,    52,
2509      649,  1206,  1648,  1623,  1126,  1126,   676,  1126,  1624,  1126,
2510     1649,   422,  1015,  1652,  1681,   146,   147,  -216,  2054,  2056,
2511     1669,  1126,  1420,  -216,   418,   754,    28,    29,  1670,  1208,
2512     1146,    32,  1685,  1631,  1006,   672,     1,  1686,    38,  1696,
2513     1704,  1006,  1697,  2015,  1006,  2015,  1013,  1698,   416,  1800,
2514        1,  1701,  1708,   575,  1709,   470,  1710,  1722,   470,  1728,
2515     1715,     2,    43,    44,  1731,   414,   416,   551,  1736,  1738,
2516      121,   470,  1760,   470,  -458,   470,   402,  -458,  -458,  -458,
2517     -458,  -458,  -458,  -458,  -458,  1764,  1778,  1792,  1821,  1783,
2518     1814,  1820,  1815,  -738,  1816,  1823,  1850,  1868,  1854,   569,
2519     1817,  1871,  1818,  1872,  1819,   575,  1844,    28,    29,  1845,
2520     1905,  1875,    32,  1877,  1879,  2058,   671,   671,  1881,    38,
2521     1882,    28,    29,  1883,  1885,  1890,    32,  1891,   671,     1,
2522     1892,  1961,  1893,    38,  1465,   468,   468,   468,   468,   468,
2523      833,  1906,   833,    43,    44,   575,  1999,  1894,  2059,   468,
2524      468,   468,   468,    51,     2,  1909,   566,    43,    44,  1910,
2525     1126,  2130,  2131,   121,  1915,  -231,  1965,   567,  1968,   649,
2526       52,   649,  2081,  1491,  1969,   676,  1977,   676,  -956,  1980,
2527     1972,  1146,  1631,  1973,  1982,    18,    19,  2001,  -458,  -458,
2528     2021,    57,  2016,  2028,  2030,  2031,  2032,  2015,  -458,  2015,
2529       28,    29,  2065,  2033,  2047,    32,  2066,  -458,  -458,  -458,
2530     -458,  -458,    38,  2035,  2036,    28,    29,  2041,   468,   468,
2531       32,  2042,  2043,  2044,  2048,  1126,  1126,    38,  2049,  1126,
2532     2050,  1126,   114,  2051,  1126,  2097,    43,    44,   649,  2090,
2533     2101,  2103,   416,  2102,   676,  2104,  2106,   416,  2112,   566,
2534       57,    43,    44,  1631,  2105,  1146,  2117,   151,  1185,  1146,
2535      567,    51,  2015,  2015,  2134,  2015,  2118,  2015,  2142,  2123,
2536     1566,  1126,  2146,  2149,    57,  2155,  2156,    57,  2157,  2166,
2537     2151,  2167,  2168,   255,    57,  2170,  2171,   951,  1006,  1006,
2538     1006,    57,    57,     1,  1146,  1631,  2140,  2173,  1649,  1126,
2539      952,  1015,   953,   954,    57,  2015,  2015,   383,  2015,   957,
2540     1981,  1146,   416,  1790,  1502,  2077,  1412,  2080,     2,    57,
2541      684,  1604,   685,  1457,  2015,  1492,   880,   408,  1335,  1768,
2542      888,   179,   408,   255,  1233,   408,   722,  1201,  1984,   617,
2543     2119,  2015,   290,   279,   281,   255,   665,    57,   408,   255,
2544      408,   283,   408,   416,   739,   293,  1960,     0,     0,     0,
2545        0,     0,     0,  1201,    28,    29,  1201,   671,     0,    32,
2546        0,     0,     0,     0,     0,  1245,    38,   255,   255,     0,
2547      470,   470,    28,    29,  2116,     0,     0,    32,     0,   408,
2548        0,     0,  1293,  1295,    38,  1297,  1006,     0,     0,     0,
2549       43,    44,     0,   558,     0,     0,   470,   470,     0,     0,
2550        0,     0,    57,  1680,     0,     0,     0,     0,    43,    44,
2551     1357,  1359,  1361,  1363,   451,     0,     0,   451,   470,   470,
2552        0,     0,   404,   470,   470,  1700,     0,   470,   470,     0,
2553      451,     0,   451,     0,   451,     0,     0,     0,     0,     0,
2554        0,     1,     0,     0,     0,     0,   255,     0,     0,   255,
2555      255,   645,     0,   418,   418,     0,   416,     0,   575,    57,
2556        0,     0,     0,     0,     0,   470,     2,   470,     0,    57,
2557      255,    57,     0,   699,   699,   121,   699,   699,     0,     0,
2558        0,   699,   699,   699,   699,     0,     0,     0,     0,   255,
2559        0,     0,     0,   575,     0,   255,     0,     0,     0,    18,
2560       19,     0,   575,     0,     0,     0,   408,     0,     0,   575,
2561        0,     0,    28,    29,   739,     0,   575,    32,     0,     0,
2562        0,     0,     1,     0,    38,     0,   671,     0,   671,    28,
2563       29,  1006,  1006,     0,    32,     0,     0,     0,  1006,  1006,
2564        0,    38,  1006,  1006,     0,  -880,  -880,     2,    43,    44,
2565     -880,     0,     0,   418,     0,     0,   121,  -880,    51,     0,
2566        0,    52,  1463,    57,     0,    43,    44,   575,   408,     0,
2567      408,  1649,  1015,     0,     1,     0,  1929,  1933,  1141,  1939,
2568     1943,  -880,  -880,   575,  1947,  1951,  1955,  1959,     0,     0,
2569        0,     0,     0,    28,    29,   671,     0,     0,    32,     2,
2570       57,   754,   408,    57,     0,    38,   255,    57,   192,   193,
2571        0,     0,   882,     0,     0,     0,    57,   255,     0,    57,
2572      699,   699,   699,   699,   699,   699,   699,   699,     0,    43,
2573       44,     0,     0,     0,     0,     0,     0,   621,   625,    51,
2574        0,     0,    52,     0,     0,    28,    29,   408,   408,     0,
2575       32,   930,    57,    57,     0,     0,     0,    38,     0,   408,
2576        0,     0,     0,     0,   961,     0,     0,    18,    19,   255,
2577     1776,     0,     0,   408,   408,     0,   971,     0,  -641,     0,
2578        0,    43,    44,     0,     0,     0,     0,     0,     0,     0,
2579        0,    51,    57,     0,    52,   408,   408,    28,    29,     0,
2580      408,   408,    32,  -641,   408,   408,     0,     0,     0,    38,
2581        0,   645,  -641,  -641,   699,     0,     0,     0,   255,     0,
2582        0,   255,     0,   701,   701,   701,   701,   701,   701,   701,
2583      701,     0,     0,    43,    44,     0,     0,    57,     0,   451,
2584      451,     0,   408,    51,   408,     0,  1006,    57,   408,  -641,
2585     -641,   955,     0,     0,  -641,     0,     0,     0,     0,     0,
2586        0,  -641,     0,     0,     0,   451,   451,    57,     0,     0,
2587       57,     0,    57,     0,    57,     0,     0,    18,    19,    28,
2588       29,    57,     0,     0,    32,  -641,  -641,   451,   451,    66,
2589        0,    38,   451,   451,     0,  -641,   451,   451,  -641,     0,
2590      418,   972,     0,   970,  -641,     0,     0,    28,    29,     0,
2591        0,     0,    32,   470,   470,    43,    44,   701,     0,    38,
2592        0,     0,     0,     0,     0,    51,     0,  1666,   862,     0,
2593        0,     0,     0,     0,   451,     0,   451,     0,     0,   567,
2594        0,     0,   485,    43,    44,   645,   645,   645,   645,     0,
2595        0,     0,     0,     0,   485,     0,  1612,     0,   485,     0,
2596        0,     0,     0,  1006,  1006,     0,     0,     0,     0,     0,
2597        0,     0,    66,   255,   255,   255,   470,     0,    57,  1901,
2598        0,  1904,    66,     0,   408,     0,     1,     0,     0,    66,
2599       66,     0,   255,     0,     0,  1912,  1914,     0,     0,   255,
2600      255,   408,     0,   255,   255,     0,   621,     0,     0,   621,
2601      408,     2,     0,    57,     0,     0,    28,    29,    28,    29,
2602      121,    32,    57,    32,     0,   645,     0,     0,    38,     0,
2603       38,   483,   645,   923,   926,   645,     0,     0,     0,     0,
2604        0,     0,     0,   483,     0,   470,   470,   483,     0,   470,
2605      470,   470,    43,    44,    43,    44,     0,    28,    29,   923,
2606      926,     0,    32,     0,     0,   613,   855,     0,   856,    38,
2607        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2608        0,   923,   926,     0,     0,     0,   923,   926,     0,     0,
2609      923,   926,     0,    43,    44,     0,     0,     0,     0,     0,
2610        0,     0,     0,    51,   622,   626,    52,     0,   716,     0,
2611        0,     0,     0,   418,   716,    57,     0,   418,    57,    57,
2612       57,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2613        0,     0,     0,   621,   625,  1170,  1174,     0,     0,     0,
2614        0,   408,   408,    57,     0,     0,  1006,  1006,    28,    29,
2615       57,    88,     0,    32,     0,     0,     0,     0,   255,    57,
2616       38,     0,     0,   621,     0,     0,    57,    66,     0,   255,
2617        0,   408,     0,    57,     0,     0,     0,    66,     0,    66,
2618      418,     0,     0,     0,    43,    44,   470,   470,     0,     0,
2619        0,     0,     0,   575,    51,     0,     0,  1208,   418,     0,
2620     2039,     0,     0,   131,     0,     0,     0,     0,     0,  2046,
2621        0,     0,     0,     0,     0,     0,    57,     0,     0,     0,
2622        0,     0,     0,     0,    57,   875,     0,     0,     0,     0,
2623        0,     0,     0,   164,   182,   195,   875,     0,     0,     0,
2624       57,   408,   233,     0,    88,     0,     0,     0,    57,    57,
2625        0,    88,    88,   408,     0,     0,     0,     0,     0,    57,
2626        0,     0,     0,     0,     0,     0,  2055,  2057,     0,     0,
2627        0,     0,     0,     0,     0,     0,     0,     0,     0,   645,
2628      255,   645,   195,   401,   403,   405,   406,   255,   966,     0,
2629        0,     0,   474,   575,     0,   474,     0,     0,     0,     0,
2630        0,     0,     0,     0,     0,     0,     0,     0,   474,     0,
2631      474,     0,   474,     0,   483,     0,     0,     0,     0,     0,
2632        0,     0,   408,   408,     0,   483,   408,   408,   408,     0,
2633        0,     0,     0,     0,   534,   403,   405,     0,     0,     0,
2634        0,     0,     0,     0,     0,   451,    57,   408,     0,     0,
2635        0,    57,     0,     0,     0,     0,     0,    57,     0,     0,
2636        0,     0,     0,    57,     0,     0,     0,     0,     0,    57,
2637        0,   564,   579,   622,   418,     0,   622,   483,     0,   418,
2638        0,     0,     0,     0,     0,     0,     0,   645,     0,     0,
2639      645,     0,     0,   645,     0,     0,     0,     0,     0,     0,
2640        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2641        0,     0,     0,     0,   451,   451,   615,     0,   451,   451,
2642      451,     0,     0,     0,     0,     0,     0,     0,   739,   182,
2643        0,   645,     0,     0,     0,     0,     0,     0,     0,   690,
2644        0,    88,     0,     0,   418,   645,   645,   645,   645,     0,
2645        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2646        0,     0,     0,   408,   408,     0,     0,     0,   255,     0,
2647      255,     0,     0,     0,     0,     0,     0,    57,     0,     0,
2648        0,     0,     0,    76,    57,   418,     0,   255,   408,    57,
2649        0,     0,     0,     0,     0,     0,     0,   470,   470,     0,
2650      622,   626,  1171,  1175,     0,     0,     0,   255,     0,     0,
2651       82,     0,   575,     0,   255,     0,     0,     0,  1214,  1224,
2652        0,     0,  1214,  1224,     0,     0,     0,     0,     0,     0,
2653      622,     0,   255,   645,     0,     0,     0,     0,     0,   255,
2654      645,     0,     0,   255,   645,     0,   401,   403,   405,     0,
2655        0,   470,   470,     0,     0,   451,   451,     0,     0,     0,
2656        0,     0,     0,     0,     0,     0,    76,     0,     0,     0,
2657      863,     0,     0,     0,     0,     0,    76,   474,  1587,     0,
2658        0,  1593,     0,    76,    76,     0,    66,     0,   131,     0,
2659        0,     0,     0,    82,     0,     0,     0,     0,   418,     0,
2660        0,     0,     0,    82,     0,     0,     0,     0,   923,   926,
2661       82,    82,   923,   926,     0,     0,     0,   474,   474,  1634,
2662        0,     0,   937,     0,     0,   486,   948,     0,     0,   474,
2663        0,   739,     0,  1170,  1174,  1170,  1174,   486,   164,     0,
2664        0,   486,     0,   474,   474,     0,     0,     0,     0,     0,
2665        0,     0,   487,     0,     0,     0,   621,     0,   621,     0,
2666        0,     0,   863,     0,   487,   474,   474,     0,   487,     0,
2667      474,   474,     0,     0,   474,   474,     0,  1429,   195,   195,
2668      195,     0,     0,     0,     0,    57,    57,     0,  1429,     0,
2669        0,     0,     0,     0,     0,     0,   195,   195,     0,     0,
2670        0,   408,     0,     0,     0,   408,     0,     0,     0,     0,
2671        0,     0,   474,     0,   474,     0,     0,  1052,     0,  1061,
2672        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2673        0,     0,     0,     0,   405,     0,     0,     0,     0,     0,
2674        0,     0,     0,     0,     0,     0,     0,   645,     0,     0,
2675       57,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2676        0,    76,     0,     0,     0,     0,   483,     0,   408,     0,
2677        0,    76,     0,    76,   408,   408,     0,   483,     0,    57,
2678       57,    57,    57,     0,     0,     0,     0,   470,    82,   470,
2679        0,     0,     0,     0,     0,     0,     0,     0,    82,     0,
2680       82,     0,     0,  1784,     0,  -630,   613,     0,     0,     0,
2681        0,     0,     0,   470,     0,   470,     0,     0,     0,     0,
2682        0,     0,     0,     0,     0,     0,     0,     0,   408,   408,
2683     -630,     0,     0,     0,     0,     0,     0,     0,     0,  -630,
2684     -630,     0,  1186,     0,     0,     0,     0,     0,   690,     0,
2685       57,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2686        0,     0,     0,     0,   255,   645,   451,   451,     0,  1216,
2687      645,   645,     0,  1216,     0,     0,  -630,  -630,     0,     0,
2688        0,  -630,     0,   645,     0,     0,   645,     0,  -630,     0,
2689        0,     0,   863,     0,   645,     0,     0,     0,     0,     0,
2690        0,     0,     0,     0,     0,     0,     0,     0,   486,     0,
2691        0,     0,  -630,  -630,     0,     0,     0,     0,     0,   486,
2692      451,   451,  -630,     0,     0,  -630,     0,     0,  1785,    57,
2693      970,  -630,     0,     0,     0,   876,     0,     0,     0,     0,
2694        0,     0,     0,     0,     0,  1588,   876,     0,  1594,     0,
2695        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2696        0,     0,   408,     0,    57,     0,     0,   408,     0,     0,
2697        0,   486,     0,     0,     0,     0,     0,     0,     0,   470,
2698      470,   470,   470,   470,     0,    57,  1635,     0,     0,     0,
2699        0,     0,     0,   470,   470,   470,   470,     0,   876,     0,
2700     1171,  1175,  1171,  1175,     0,     0,   613,     0,     0,     0,
2701        0,     0,     0,  1417,     0,     0,     0,     0,     0,     0,
2702      863,     0,     0,   622,     0,   622,  1692,   164,   863,  1431,
2703        0,     0,   408,  1692,     0,     0,  1438,     0,     0,   863,
2704        0,  1446,     0,     0,     0,     0,     0,   255,   645,     0,
2705        0,     0,     0,     0,     0,     0,     0,     0,  1828,  1832,
2706      923,   926,   470,   470,   408,     0,   408,     0,     0,    57,
2707        0,  1587,     0,     0,  1593,     0,     0,     0,     0,     0,
2708      131,     0,  1634,     0,     0,     0,     0,     0,     0,  1475,
2709      408,     0,   408,   344,   579,     0,     0,     0,     0,     0,
2710      131,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2711      937,     0,     0,     0,   923,   926,     0,   415,     0,     0,
2712        0,     0,     0,   474,     0,   645,   645,   452,     0,     0,
2713      452,     0,     0,   403,     0,     0,     0,     0,     0,     0,
2714        0,     0,     0,   452,     0,   452,     0,   452,     0,     0,
2715        0,     0,     0,     0,     0,     0,   451,   937,   451,     0,
2716        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2717        0,     0,     0,     0,     0,     0,     0,     0,     0,   415,
2718       76,     0,   451,     0,   451,     0,   408,     0,   408,     0,
2719        0,     0,   474,   474,     0,     0,   474,   474,   474,     0,
2720        0,     0,     0,  1549,   401,     0,     0,    82,     0,     0,
2721        0,     0,     0,     0,   405,     0,     0,     0,     0,     0,
2722        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2723        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2724        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2725        0,     0,     0,     0,     0,     0,   408,   408,   408,   408,
2726      408,    57,     0,    57,     0,     0,     0,     0,     0,     0,
2727      408,   408,   408,   408,     0,     0,     0,     0,     0,     0,
2728        0,   415,     0,     0,     0,   704,   707,   709,     0,     0,
2729      415,     0,     0,     0,     0,     0,   415,     0,     0,     0,
2730        0,     0,   730,     0,     0,     0,     0,     0,     0,   344,
2731        0,     0,     0,  1828,  1832,     0,     0,     0,     0,     0,
2732        0,     0,     0,     0,     0,     0,   415,     0,     0,     0,
2733        0,   415,     0,   474,   474,     0,     0,     0,     0,   408,
2734      408,     0,     0,     0,    86,     0,     0,     0,   451,   451,
2735      451,   451,   451,     0,   863,     0,     0,   863,     0,  1675,
2736      486,     0,   451,   451,   451,   451,     0,     0,   415,     0,
2737      415,   486,     0,     0,     0,     0,     0,  1216,     0,     0,
2738        0,     0,     0,     0,  1216,     0,   302,   876,     1,   303,
2739      106,     0,     0,     0,     0,     0,    86,     0,   876,     0,
2740        0,     0,   415,     0,     0,     0,     0,     0,     0,     0,
2741        0,     0,     0,     2,     0,     0,     0,     0,     0,     0,
2742        0,     0,     0,     0,     0,  1829,  1833,    86,    86,     0,
2743        0,   451,   451,     0,     0,    86,     0,    86,   626,     0,
2744        0,   626,     0,     0,    86,    86,     0,     0,     0,   626,
2745      307,     0,   452,   452,     0,     0,   308,   309,     0,     0,
2746        0,     0,     0,     0,   956,     0,     0,     0,     0,     0,
2747      312,     0,     0,     0,     0,    86,    86,     0,   452,   452,
2748        0,     0,     0,   313,     0,     0,     0,   314,   315,   316,
2749      317,   318,   319,   320,     0,     0,     0,     0,     0,     0,
2750      452,   452,     0,   322,     0,   452,   452,     0,   706,   452,
2751      452,   415,     0,     0,     0,     0,     0,     0,   327,   328,
2752        0,     0,     0,     0,   748,     0,     0,    86,     0,     0,
2753        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2754        0,   776,   923,   926,     0,   923,   926,   452,   415,   452,
2755        0,     0,     0,     0,     0,     0,   923,   926,   923,   926,
2756        0,     0,     0,     0,     0,     0,     0,     0,  1747,     0,
2757        0,     0,     0,     0,    86,     0,     0,    86,     0,     0,
2758      344,     0,     0,  1756,     0,     0,     0,     0,     0,     0,
2759      401,     0,     0,     0,     0,     0,     0,   195,     0,     0,
2760        0,     0,     0,     0,     0,     0,     0,     0,   415,    86,
2761        0,     0,     0,     0,     0,     0,     0,     0,  1769,     0,
2762      579,     0,    86,     0,     0,   923,   926,     0,     0,     0,
2763        0,     0,    86,     0,    86,     0,     0,     0,     0,     0,
2764        0,     0,     0,     0,   474,   474,     0,     0,     0,     0,
2765        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2766      362,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2767        0,     0,     0,     0,     0,     0,     0,     0,     0,   415,
2768      626,   626,     0,     0,   417,     0,     0,     0,     0,     0,
2769        0,     0,     0,     0,     0,     0,     0,     0,   474,   474,
2770        0,   401,     0,     0,     0,   344,     0,     0,     0,   344,
2771        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2772      579,     0,     0,     0,     0,   415,     0,     0,     0,     0,
2773        0,     0,   415,     0,     0,   415,     0,     0,     0,    86,
2774        0,     0,     0,     0,     0,     0,   417,     0,     0,     0,
2775        0,     0,     0,     0,     0,   344,     0,     0,     0,     0,
2776        0,   415,   415,   415,   415,   415,   415,   415,     0,     0,
2777      415,   415,     0,   415,   415,   415,   415,   415,   415,   415,
2778      415,    86,   344,     0,     0,     0,     0,     0,     0,     0,
2779      344,   415,   415,   415,   415,   415,   415,   415,   415,   415,
2780      415,   415,   415,   415,   415,   415,   415,   415,   415,     0,
2781      344,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2782        0,     0,     0,     0,     0,     0,  1887,     0,     0,     0,
2783      777,     0,     0,  1137,     0,     0,     0,     0,     0,     0,
2784        0,   415,   415,     0,     0,     0,     0,     0,   417,     0,
2785        0,     0,   705,   708,   710,     0,     0,   417,     0,     0,
2786        0,     0,     0,   417,     0,     0,     0,     0,     0,   731,
2787        0,    86,    86,    86,     0,    86,   362,     0,    86,     0,
2788        0,     0,     0,     0,     0,     0,     0,     0,     0,    86,
2789       86,    86,     0,   417,     0,     0,     0,     0,   417,     0,
2790        0,     0,     0,     0,     0,     0,     0,     0,     0,   415,
2791       86,   415,     0,     0,     0,     0,     0,     0,     0,     0,
2792        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2793        0,     0,     0,     0,   474,   417,   474,   417,     0,   863,
2794        0,   415,     0,     0,     0,     0,     0,     0,     0,     0,
2795      415,     0,     0,     0,     0,     0,   748,     0,   452,     0,
2796      474,     0,   474,     0,     0,     0,     0,     0,     0,   417,
2797     1275,     0,   405,     0,     0,     0,     0,     0,     0,   415,
2798        0,   415,     0,     0,     0,     0,     0,   359,   658,  1298,
2799     1302,  1306,  1310,  1314,     0,     0,  1323,  1329,     0,     0,
2800        0,     0,   748,     0,     0,  1340,     0,     0,     0,     0,
2801        0,     0,     0,     0,     0,     0,     0,  1364,  1368,  1372,
2802     1376,  1380,     0,     0,  1323,  1393,     0,   452,   452,     0,
2803        0,   452,   452,   452,     0,    86,     0,     0,     0,     0,
2804        0,    86,     0,     0,     0,     0,     0,   415,     0,  -871,
2805        0,     0,  -871,  -871,  -871,     0,  -871,  -871,     0,     0,
2806        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2807        0,     0,     0,     0,     0,     0,     0,     0,   417,     0,
2808        0,     0,     0,     0,     0,     0,     0,   415,     0,     0,
2809        0,     0,     0,     0,     0,     0,     0,     0,   415,     0,
2810        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2811        0,     0,     0,  -871,     0,   417,     0,     0,     0,  -871,
2812     -871,  -871,  1138,     0,   344,   344,   474,   474,   474,   474,
2813      474,     0,  -871,     0,     0,     0,     0,     0,     0,     0,
2814      474,   474,   474,   474,     0,   652,  -871,   362,     0,     0,
2815     -871,  -871,  -871,  -871,  -871,  -871,  -871,  -871,     0,   894,
2816        0,     0,     0,     0,     0,     0,  -871,  -871,   452,   452,
2817        0,     0,     0,  -871,  -871,   417,  -871,  -871,  -871,     0,
2818        0,  -871,  -871,     0,  -871,  -871,  -871,  -871,   415,     0,
2819      415,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2820        0,     0,     0,   750,     0,     0,     0,     0,     0,   474,
2821      474,     0,   415,     0,     0,     0,     0,     0,     0,     0,
2822        0,     0,     0,     0,     0,     0,     0,     0,     0,   415,
2823        0,     0,     0,   415,    86,     0,   344,     0,     0,     0,
2824      415,     0,     0,     0,   415,  1267,   417,     0,     0,     0,
2825        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2826        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2827        0,     0,   362,    86,     0,     0,   362,     0,  1299,  1303,
2828     1307,  1311,  1315,     0,     0,  1324,     0,     0,     0,     0,
2829        0,  1267,   417,    86,     0,     0,     0,     0,     0,   417,
2830        0,     0,   417,     0,     0,     0,  1365,  1369,  1373,  1377,
2831     1381,     0,     0,  1324,     0,     0,     0,     0,     0,     0,
2832     1137,     0,   362,     0,     0,     0,     0,     0,   417,   417,
2833      417,   417,   417,   417,   417,     0,     0,   417,   417,     0,
2834      417,   417,   417,   417,   417,   417,   417,   417,  1275,   362,
2835     1128,     0,     0,     0,     0,  1340,     0,   362,   417,   417,
2836      417,   417,   417,   417,   417,   417,   417,   417,   417,   417,
2837      417,   417,   417,   417,   417,   417,     0,   362,     0,     0,
2838        0,     0,   658,   658,   658,   658,     0,     0,     0,  1323,
2839        0,  1323,     0,     0,     0,     0,    86,    86,     0,     0,
2840        0,   415,     0,     0,     0,   415,     0,     0,   417,   417,
2841        0,  1017,     0,     0,     0,     0,     0,     0,     0,     0,
2842        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2843        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2844        0,     0,     0,     0,     0,     0,     0,   415,     0,     0,
2845        0,  1716,     0,     0,     0,     0,     0,   415,     0,     0,
2846        0,     0,     0,     0,     0,     0,     0,     0,   415,     0,
2847        0,     0,     0,     0,  1102,     0,   417,     0,   417,   452,
2848      452,     0,     0,     0,     0,     0,   415,   374,   344,     0,
2849        0,     0,     0,   415,     0,   415,     0,     0,     0,     0,
2850        0,     0,     0,     0,     0,     0,     0,   652,   417,     0,
2851        0,     0,   415,     0,     0,     0,     0,   417,     0,     0,
2852        0,     0,     0,     0,     0,     0,     0,     0,    86,     0,
2853       86,     0,     0,   452,   452,     0,     0,     0,     0,   652,
2854      652,   652,   652,     0,     0,     0,   417,     0,   417,     0,
2855        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2856        0,     0,     0,     0,     0,   415,     0,     0,     0,     0,
2857        0,     0,     0,   553,     0,     0,     0,     0,     0,     0,
2858        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2859        0,     0,     0,     0,     0,     0,     0,     0,     0,  1234,
2860        0,     0,     0,  1238,     0,     0,     0,     0,     0,  1610,
2861        0,     0,     0,     0,   417,     0,     0,     0,     0,     0,
2862        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2863        0,     0,     0,     0,     0,   750,     0,  1637,     0,     0,
2864        0,     0,     0,     0,  1644,     0,     0,     0,     0,  1276,
2865        0,     0,     0,     0,   417,     0,     0,     0,     0,  1477,
2866        0,     0,   415,     0,     0,   417,   415,   415,   415,     0,
2867        0,     0,     0,     0,     0,     0,  1330,   344,  1324,     0,
2868     1324,   750,   415,   415,  1341,     0,     0,     0,     0,   344,
2869        0,   362,   362,     0,     0,     0,     0,     0,     0,     0,
2870        0,     0,     0,   374,  1394,     0,     0,     0,   415,   415,
2871        0,   415,   415,     0,     0,     0,   415,   415,   415,   415,
2872        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2873        0,     0,   415,     0,     0,     0,     0,     0,     0,     0,
2874        0,     0,     0,     0,     0,     0,     0,     0,   415,     0,
2875        0,     0,     0,     0,     0,   417,     0,   417,     0,     0,
2876        0,     0,   553,     0,   553,     0,     0,     0,     0,   452,
2877        0,   452,     0,   415,     0,     0,     0,     0,     0,   417,
2878        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2879       86,     0,     0,     0,     0,   452,   417,   452,     0,     0,
2880      417,     0,     0,   362,     0,     0,     0,   417,     0,     0,
2881        0,   417,     0,     0,     0,     0,     0,     0,     0,     0,
2882        0,     0,     0,     0,     0,     0,     0,   658,     0,     0,
2883      658,     0,     0,     0,     0,     0,     0,     0,     0,  1128,
2884        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2885        0,     0,   344,   344,     0,   415,   415,   415,   415,   415,
2886      415,   415,   415,     0,     0,     0,     0,     0,   658,     0,
2887        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2888        0,     0,   658,   658,   658,   658,   415,   415,     0,     0,
2889        0,  1017,     0,     0,    86,     0,   415,     0,     0,     0,
2890        0,     0,     0,     0,     0,  1005,     0,     0,     0,     0,
2891        0,     0,     0,     0,     0,     0,     0,  1716,     0,     0,
2892        0,     0,  1924,  1926,  1930,  1934,  1936,  1940,     0,     0,
2893        0,  1944,  1948,  1952,  1956,     0,     0,     0,     0,     0,
2894        0,     0,   553,     0,     0,     0,     0,     0,     0,   415,
2895        0,     0,     0,   415,   415,     0,     0,     0,     0,     0,
2896        0,   452,   452,   452,   452,   452,     0,     0,   417,     0,
2897        0,     0,   417,     0,   374,   452,   452,   452,   452,     0,
2898        0,     0,     0,     0,   652,     0,     0,   652,     0,     0,
2899        0,     0,     0,     0,     0,     0,   652,     0,     0,     0,
2900        0,     0,   553,     0,     0,     0,     0,     0,     0,     0,
2901        0,     0,     0,     0,   417,     0,     0,     0,  1629,  1630,
2902        0,     0,     0,     0,   417,   652,     0,  1276,     0,     0,
2903        0,  1642,     0,     0,  1341,   417,  1646,     0,     0,   652,
2904      652,   652,   652,     0,   452,   452,     0,     0,     0,     0,
2905        0,     0,     0,   417,     0,   362,     0,     0,     0,     0,
2906      417,     0,   417,     0,     0,     0,   344,     0,     0,     0,
2907     1926,  1930,  1936,  1940,  1944,  1948,  1952,  1956,     0,   417,
2908        0,     0,     0,     0,   344,     0,     0,     0,     0,     0,
2909        0,     0,     0,     0,     0,     0,     0,     0,     0,   374,
2910        0,     0,     0,   374,     0,     0,     0,     0,     0,     0,
2911        0,     0,     0,     0,     0,     0,     0,     0,     0,  1005,
2912        0,     0,     0,     0,     0,     0,  1005,     0,     0,  1005,
2913     1717,     0,   417,     0,     0,   344,     0,     0,     0,     0,
2914        0,     0,     0,     0,     0,     0,     0,     0,     0,   374,
2915        0,     0,     0,     0,     0,     0,    86,     0,     0,     0,
2916        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2917        0,     0,     0,     0,     0,     0,   374,     0,     0,     0,
2918        0,     0,     0,     0,   374,     0,     0,     0,     0,     0,
2919        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2920        0,     0,     0,     0,   374,     0,  1922,     0,     0,     0,
2921        0,  1925,  1927,  1931,  1935,  1937,  1941,     0,     0,     0,
2922     1945,  1949,  1953,  1957,     0,     0,     0,     0,     0,   417,
2923        0,     0,     0,   417,   417,   417,     0,     0,     0,     0,
2924        0,     0,     0,   469,   362,     0,   469,     0,     0,   417,
2925      417,     0,     0,     0,     0,     0,   362,     0,     0,   469,
2926        0,   469,     0,   469,     0,     0,     0,     0,     0,     0,
2927        0,     0,     0,     0,     0,   417,   417,     0,   417,   417,
2928        0,     0,     0,   417,   417,   417,   417,     0,     0,     0,
2929        0,     0,     0,     0,     0,     0,     0,     0,     0,   417,
2930        0,     0,     0,  1005,     0,   553,     0,   658,   658,     0,
2931        0,     0,     0,     0,     0,   417,     0,  1128,     0,  1128,
2932      658,     0,   620,   658,     0,     0,     0,     0,     0,     0,
2933        0,   658,     0,     0,  1128,     0,     0,     0,     0,     0,
2934      417,     0,     0,     0,   553,     0,     0,     0,     0,     2,
2935      200,   201,   202,   203,   204,   234,   235,   236,   237,   238,
2936      239,   240,   241,   242,   243,    18,    19,   244,   245,    22,
2937       23,    24,   650,  1005,     0,  1005,     0,     0,     0,     0,
2938        0,     0,  1017,     0,     0,     0,     0,   246,     0,     0,
2939        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
2940       32,     0,     0,     0,     0,     0,   247,    38,   248,     0,
2941        0,     0,     0,  1017,     0,     0,     0,     0,     0,   362,
2942      362,   249,   417,   417,   417,   417,   417,   417,   417,   417,
2943        0,    43,    44,   250,   251,   252,   253,   206,   207,     0,
2944        0,   553,     0,     0,     0,     0,     0,     0,     0,     0,
2945        0,   254,     0,   417,   417,     0,     0,     0,     0,     0,
2946        0,     0,     0,   417,   652,   652,     0,     0,     0,     0,
2947        0,     0,     0,     0,   652,     0,   652,   652,     0,     0,
2948      652,  1005,     0,     0,     0,     0,     0,     0,   652,     0,
2949        0,   652,   553,     0,     0,     0,     0,     0,     0,     0,
2950        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2951        0,     0,     0,     0,     0,     0,   417,     0,   374,   374,
2952      417,   417,     0,     0,     0,     0,     0,     0,     0,     0,
2953        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2954        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2955        0,     0,  1128,  1128,  1128,  1128,     0,     0,  1128,     0,
2956        0,     0,   658,   658,     0,  1128,     0,  1128,   469,   469,
2957        0,  1017,     0,     0,     0,     0,     0,     0,     0,  1128,
2958        0,     0,     0,  1919,   553,     0,     0,     0,     0,     0,
2959        0,     0,     0,     0,   469,   469,  1717,     0,     0,     0,
2960        0,  1642,     0,     0,  1646,     0,   553,     0,     0,     0,
2961        0,     0,     0,     0,     0,     0,   469,   469,     0,     0,
2962        0,   469,   469,     0,     0,   469,   469,  1005,     0,     0,
2963      374,     0,  1003,   362,  1005,     0,     0,     0,  1005,     0,
2964        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2965        0,   362,     0,     0,     0,     0,     0,     0,     0,     0,
2966        0,     0,     0,   469,     0,   469,     0,     0,  1017,     0,
2967        0,     0,     0,     0,     0,     0,     0,     0,     0,  1017,
2968        0,     0,     0,   221,     0,     0,     0,     0,     0,     0,
2969        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2970        0,     0,   362,     0,     0,     0,     0,     0,     0,   652,
2971      652,   652,   652,     0,     0,   652,     0,     0,  1128,   652,
2972      652,     0,   652,     0,   652,   221,     0,  1128,     0,  1128,
2973        0,     0,     0,   419,   650,     0,   652,     0,     0,     0,
2974        0,     0,     0,     0,     0,     0,  2023,  2024,     0,     0,
2975        0,     0,     0,   511,     0,     0,     0,     0,     0,     0,
2976        0,     0,     0,     0,     0,     0,   650,   650,   650,   650,
2977        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2978        0,     0,     0,  1128,  1128,     0,     0,  1128,     0,  1128,
2979        0,     0,  1128,     0,     0,     0,  1128,   302,     0,     1,
2980      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
2981        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2982        0,     0,     0,     0,     2,     0,     0,     0,     0,  1128,
2983        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2984        0,  1005,     0,     0,     0,     0,  1003,     0,     0,     0,
2985        0,   553,     0,  1003,     0,     0,  1003,  1128,     0,  1017,
2986        0,   307,     0,     0,     0,     0,     0,   308,   309,   310,
2987        0,     0,     0,     0,     0,   652,     0,     0,     0,     0,
2988      311,   312,   374,     0,   652,     0,   652,  1005,     0,  1005,
2989        0,     0,     0,     0,   313,     0,     0,     0,   314,   315,
2990      316,   317,   318,   319,   320,   321,  1005,     0,     0,     0,
2991        0,     0,     0,     0,   322,   323,   324,     0,     0,   325,
2992     1160,   326,     0,     0,  1161,     0,     0,     0,     0,   327,
2993      328,  1724,   329,   330,   331,   332,     0,  1017,     0,     0,
2994      652,   652,     0,     0,   652,     0,   652,     0,     0,   652,
2995        0,     0,     0,   652,     0,     0,     0,     0,     0,  1005,
2996     2121,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2997        0,     0,     0,     0,     0,     0,     0,     0,  1017,   834,
2998        0,     0,     0,     0,     0,     0,   652,     0,     0,     0,
2999        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3000        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3001        0,   469,   469,     0,   652,     0,     0,     0,   869,   511,
3002        0,     0,     0,   878,   126,     0,     0,     0,     0,  2164,
3003        0,     0,   885,     0,     0,   892,     0,     0,     0,     0,
3004        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3005        0,     0,     0,     0,     0,   180,   126,     0,     0,     0,
3006      553,     0,   553,   232,     0,     0,     0,     0,     0,   943,
3007        0,   374,     0,     0,   469,   959,   553,   553,     0,     0,
3008        0,     0,     0,   374,     0,     0,     0,     0,     0,     0,
3009        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3010     1003,     0,  1003,   126,   126,     0,    74,     0,     0,     0,
3011        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3012        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3013        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3014        0,     0,  1005,   469,   469,     0,     0,   469,   469,   469,
3015        0,     0,     0,   221,     0,   532,     0,   117,     0,     0,
3016        0,     0,     0,   221,     0,     0,     0,     0,     0,     0,
3017        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3018        0,     0,     0,   221,     0,     0,   221,     0,   221,   178,
3019      221,     0,     0,     0,     0,     0,     0,     0,   261,    74,
3020        0,     0,   596,     0,     0,   598,    74,    74,  1003,     0,
3021        0,   650,     0,     0,   650,     0,     0,     0,     0,     0,
3022        0,     0,     0,   650,   385,     0,     0,     0,     0,     0,
3023        0,     0,     0,     0,     0,     0,     0,   126,     0,     0,
3024        0,     0,     0,     0,     0,     0,   374,   374,   484,     0,
3025      180,     0,   650,     0,     0,     0,     0,     0,     0,     0,
3026      484,     0,     0,     0,   484,     0,   650,   650,   650,   650,
3027        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3028        0,   553,     0,     0,   469,   469,     0,     0,     0,     0,
3029      553,     0,   261,   261,     0,     0,     0,     0,     0,     0,
3030        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3031        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3032        0,     0,     0,     0,     0,     0,     0,   574,     0,     0,
3033        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3034        0,     0,     0,     0,     0,     0,     0,   553,   553,     0,
3035        0,     0,     0,     0,  1003,     0,     0,     0,     0,     0,
3036        0,  1003,     0,     0,     0,  1003,     0,   126,     0,     0,
3037        0,   612,     0,     0,   261,   261,   261,     0,     0,     0,
3038        0,     0,     0,     0,   178,     0,     0,     0,     0,     0,
3039        0,     0,     0,     0,   178,   261,    74,     0,     0,     0,
3040        0,     0,     0,     0,     0,     0,     0,     0,     0,   126,
3041        0,     0,     0,     0,   715,     0,     0,     0,     0,     0,
3042      715,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3043        0,   738,     0,     0,   834,   834,   834,     0,     0,     0,
3044        0,     0,     0,     0,     0,     0,     0,   232,     0,     0,
3045        0,     0,     0,     0,     0,     0,     0,   419,   419,   221,
3046      374,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3047        0,     0,     0,     0,     0,     0,     0,     0,   374,     0,
3048        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3049        0,     0,     0,     0,     0,     0,     0,     0,     0,   126,
3050      126,   126,     0,  1010,     0,     0,   598,     0,     0,     0,
3051        0,     0,     0,     0,     0,     0,     0,   126,   126,   126,
3052        0,     0,     0,     0,     0,   574,     0,     0,     0,   374,
3053        0,   874,  1469,     0,     0,     0,     0,     0,   126,     0,
3054        0,     0,   874,     0,     0,     0,     0,     0,     0,     0,
3055        0,     0,     0,     0,     0,     0,     0,   419,     0,     0,
3056        0,     0,     0,     0,   511,   511,     0,     0,  1003,     0,
3057        0,     0,     0,     0,     0,   511,     0,   574,     0,     0,
3058        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3059        0,     0,     0,     0,   965,   469,   469,     0,     0,     0,
3060        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3061        0,     0,     0,     0,  1003,     0,  1003,   574,     0,     0,
3062        0,     0,     0,     0,     0,   302,     0,     1,   303,   106,
3063      304,     0,   305,   306,     0,     0,   261,     0,     0,     0,
3064        0,     0,     0,   261,     0,     0,   261,     0,     0,   469,
3065      469,     0,     2,     0,     0,     0,     0,     0,     0,     0,
3066        0,     0,   221,   232,     0,     0,     0,   221,     0,     0,
3067        0,     0,     0,  1569,     0,     0,     0,     0,     0,  1569,
3068        0,     0,     0,     0,     0,   221,  1003,     0,     0,   307,
3069        0,   650,   650,     0,     0,   308,   309,   310,     0,     0,
3070        0,   650,     0,   650,   650,     0,     0,   650,   311,   312,
3071        0,     0,     0,     0,     0,   650,     0,     0,   650,     0,
3072        0,     0,   313,     0,     0,     0,   314,   315,   316,   317,
3073      318,   319,   320,   321,     0,     0,     0,     0,     0,     0,
3074        0,     0,   322,   323,   324,  1142,     0,   325,  1160,   326,
3075        0,     0,  1729,     0,     0,     0,  1730,   327,   328,     0,
3076      329,   330,   331,   332,     0,     0,     0,     0,     0,   552,
3077      261,   261,   261,   261,     0,     0,     0,     0,     0,     0,
3078        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3079        0,     0,     0,     0,     0,     0,     0,     0,   261,   261,
3080      261,     0,     0,   178,   419,   221,     0,     0,     0,  1200,
3081        0,     0,     0,     0,     0,     0,     0,   261,     0,     0,
3082        0,     0,     0,     0,  1213,  1223,   738,     0,  1213,  1223,
3083        0,     0,     0,     0,     0,  1200,     0,     0,  1200,     0,
3084        0,     0,     0,     0,     0,     0,     0,  1244,     0,     0,
3085      261,     0,     0,     0,     0,     0,     0,   261,     0,     0,
3086      261,     0,   126,     0,     0,     0,     0,     0,     0,  1003,
3087        0,   700,     0,     0,     0,     0,     0,     0,     0,     0,
3088      552,     0,     0,     0,     0,   469,   552,   469,     0,     0,
3089        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3090        0,   126,     0,     0,    91,     0,     0,     0,     0,     0,
3091        0,   469,     0,   469,     0,     0,     0,     0,   596,     0,
3092      598,   126,     0,     0,     0,     0,     0,   398,     0,     0,
3093        0,     0,     0,     0,     0,     0,   650,   650,   650,   650,
3094      574,     0,   650,     0,     0,     0,   650,   650,     0,   650,
3095        0,   650,     0,     0,     0,   120,   132,     0,   552,     0,
3096      552,     0,     0,   650,     0,     0,     0,     0,     0,     0,
3097        0,     0,     0,     0,     0,   574,     0,     0,   398,     0,
3098        0,     0,     0,  1428,   574,     0,     0,   183,   132,     0,
3099        0,   574,   230,     0,  1428,   117,   738,    91,   574,     0,
3100        0,   834,   834,     0,    91,    91,     0,     0,     0,     0,
3101        0,     0,     0,     0,     0,     0,   577,   419,     0,     0,
3102        0,   419,   386,     0,   126,   126,     0,     0,     0,     0,
3103        0,     0,     0,     0,     0,   395,     0,     0,     0,     0,
3104        0,     0,     0,     0,     0,     0,     0,     0,     0,   574,
3105        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3106        0,     0,     0,     0,     0,   574,     0,     0,     0,     0,
3107        0,     0,   657,     0,     0,     0,     0,   469,   469,   469,
3108      469,   469,     0,   687,   419,     0,   531,     0,     0,     0,
3109        0,   469,   469,   469,   469,   419,  1788,   419,  1788,   547,
3110        0,  1004,   650,     0,   261,   261,   261,     0,     0,     0,
3111        0,   650,   612,   650,     0,     0,     0,     0,     0,     0,
3112        0,     0,     0,     0,     0,   581,     0,   736,     0,     0,
3113        0,     0,     0,     0,     0,     0,     0,     0,   552,     0,
3114        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3115        0,     0,     0,     0,     0,     0,   596,     0,   598,     0,
3116      469,   469,     0,     0,     0,     0,     0,   650,   650,   132,
3117        0,   650,     0,   650,     0,     0,   650,     0,     0,     0,
3118      650,     0,   183,     0,     0,     0,     0,     0,     0,     0,
3119      852,     0,   691,     0,    91,     0,   857,     0,   552,     0,
3120        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3121        0,     0,   261,   650,     0,   261,     0,     0,   261,     0,
3122        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3123        0,  1142,     0,     0,     0,     0,     0,     0,     0,   736,
3124        0,   650,     0,     0,     0,   511,     0,     0,     0,     0,
3125        0,     0,     0,     0,     0,     0,   261,     0,     0,     0,
3126        0,     0,     0,     0,     0,     0,   934,     0,     0,  1192,
3127      261,   261,   261,   261,     0,     0,     0,     0,   419,     0,
3128      221,     0,     0,   419,     0,     0,     0,     0,     0,     0,
3129        0,     0,     0,   261,     0,   261,     0,     0,     0,     0,
3130        0,     0,     0,     0,     0,     0,     0,     0,     0,  1665,
3131        0,     0,   612,     0,     0,  1004,     0,     0,     0,     0,
3132        0,     0,  1004,   864,     0,  1004,  1009,     0,     0,  1014,
3133        0,     0,  1691,     0,     0,     0,     0,     0,     0,  1691,
3134        0,   132,  1009,     0,     0,     0,     0,     0,   419,     0,
3135        0,     0,     0,     0,     0,     0,     0,   261,   261,     0,
3136        0,     0,     0,   577,   261,   261,     0,     0,   261,   261,
3137        0,     0,     0,     0,     0,   938,   577,     0,   946,     0,
3138        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3139        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3140        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3141        0,     0,     0,     0,     0,   864,     0,     0,   126,     0,
3142        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3143        0,   132,   132,   132,     0,     0,     0,     0,     0,  1140,
3144        0,     0,     0,     0,     0,     0,     0,     0,     0,   132,
3145      132,     0,     0,     0,     0,  1158,     0,     0,     0,     0,
3146        0,     0,     0,     0,     0,     0,   657,   657,   657,   657,
3147     1053,     0,  1062,     0,     0,     0,     0,     0,     0,     0,
3148        0,     0,     0,  1064,     0,     0,   687,     0,     0,     0,
3149        0,     0,   687,     0,     0,     0,     0,     0,     0,  1004,
3150        0,   552,   419,     0,     0,   736,     0,     0,   736,     0,
3151        0,     0,     0,     0,     0,     0,     0,     0,     0,   547,
3152        0,     0,   126,     0,     0,     0,     0,     0,     0,     0,
3153        0,   736,     0,     0,     0,     0,     0,  1158,     0,     0,
3154      552,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3155        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3156        0,     0,     0,     0,  1274,     0,     0,     0,     0,  1004,
3157        0,  1004,   261,     0,   260,   574,     0,   419,     0,   419,
3158        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3159        0,     0,     0,     0,  1184,     0,     0,     0,     0,     0,
3160        0,   691,  1327,     0,     0,     0,     0,     0,     0,     0,
3161     1339,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3162        0,     0,  1218,     0,     0,     0,  1218,     0,     0,     0,
3163     1391,     0,     0,     0,     0,     0,     0,   552,     0,     0,
3164        0,     0,     0,     0,     0,   864,     0,     0,     0,     0,
3165        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3166        0,     0,     0,     0,     0,     0,     0,     0,   260,   260,
3167        0,     0,     0,   687,     0,   574,     0,  1004,     0,     0,
3168     1437,     0,     0,     0,     0,     0,     0,     0,   552,   261,
3169      261,     0,   736,     0,     0,   261,   261,     0,     0,     0,
3170        0,     0,     0,   573,     0,     0,     0,     0,   261,     0,
3171        0,   261,     0,     0,     0,     0,     0,     0,     0,   261,
3172        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3173        0,     0,     0,  1473,     0,     0,     0,     0,   577,     0,
3174        0,     0,     0,     0,     0,     0,     0,   611,     0,     0,
3175      260,   260,   260,     0,   934,     0,     0,     0,     0,     0,
3176        0,     0,     0,     0,     0,     0,   864,  1418,     0,     0,
3177        0,   260,     0,   864,     0,     0,     0,     0,     0,     0,
3178      552,   864,  1432,     0,   126,     0,     0,     0,     0,  1439,
3179      714,     0,   864,   120,   132,     0,   714,     0,     0,     0,
3180        0,   934,   552,     0,     0,     0,     0,   737,     0,     0,
3181      738,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3182        0,     0,     0,  1004,     0,     0,     0,     0,     0,     0,
3183     1004,     0,     0,   132,  1004,     0,     0,     0,     0,     0,
3184        0,  1472,     0,     0,     0,     0,     0,   581,   398,     0,
3185        0,     0,     0,   132,     0,     0,     0,   577,     0,   577,
3186        0,     0,     0,   938,     0,     0,     0,     0,     0,     0,
3187        0,     0,   261,   261,     0,     0,     0,     0,     0,     0,
3188        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3189        0,     0,     0,     0,   574,     0,     0,     0,     0,     0,
3190        0,   573,     0,     0,     0,     0,     0,     0,     0,     0,
3191      938,   657,     0,     0,   657,  1596,  1598,     0,  1601,     0,
3192        0,     0,     0,     0,     0,     0,  1611,     0,     0,     0,
3193        0,     0,     0,     0,  1620,     0,     0,     0,     0,     0,
3194        0,  1158,     0,     0,     0,     0,     0,     0,     0,     0,
3195      261,   261,   657,   573,     0,     0,  1550,     0,     0,  1158,
3196        0,     0,     0,     0,  1158,  1558,   657,   657,   657,   657,
3197        0,     0,     0,     0,     0,     0,     0,     0,     0,   687,
3198        0,   687,     0,     0,     0,     0,     0,     0,     0,     0,
3199        0,     0,     0,   573,     0,  1655,     0,  1659,     0,     0,
3200        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3201        0,     0,   260,   738,     0,     0,     0,     0,     0,   260,
3202        0,     0,   260,     0,     0,     0,     0,     0,     0,  1158,
3203        0,     0,     0,     0,     0,     0,     0,  1004,     0,     0,
3204        0,     0,     0,     0,     0,     0,     0,   552,     0,     0,
3205        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3206        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3207        0,     0,     0,     0,     0,  1158,     0,     0,     0,     0,
3208     1129,     0,     0,  1004,     0,  1004,     0,     0,     0,     0,
3209        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3210        0,     0,  1004,     0,     0,     0,     0,   864,     0,     0,
3211      864,     0,  1218,     0,  1168,  1172,     0,     0,     0,     0,
3212     1682,     0,     0,     0,     0,     0,     0,  1158,     0,     0,
3213     1218,     0,     0,     0,     0,     0,     0,  1218,     0,     0,
3214     1158,     0,     0,     0,     0,     0,   260,   260,   260,   260,
3215        0,     0,     0,     0,     0,  1004,     0,     0,     0,     0,
3216        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3217        0,     0,     0,     0,   260,   260,   260,     0,     0,     0,
3218        0,     0,     0,     0,     0,  1199,     0,     0,     0,     0,
3219        0,  1158,     0,   260,     0,     0,     0,     0,     0,     0,
3220     1212,  1222,   737,     0,  1212,  1222,     0,     0,     0,     0,
3221        0,  1199,     0,     0,  1199,     0,     0,     0,     0,     0,
3222        0,     0,     0,  1243,     0,     0,   260,   687,     0,     0,
3223        0,     0,     0,   260,  1759,     0,   260,     0,     0,     0,
3224        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3225        0,     0,     0,     0,     0,     0,   552,     0,   552,     0,
3226        0,     0,  1437,     0,   577,     0,     0,  1772,     0,     0,
3227     1014,     0,   552,   552,     0,     0,     0,     0,     0,     0,
3228        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3229        0,     0,     0,     0,     0,     0,     0,     0,  1928,  1932,
3230        0,  1938,  1942,     0,     0,     0,  1946,  1950,  1954,  1958,
3231        0,     0,     0,     0,     0,     0,   573,     0,     0,     0,
3232        0,  1748,     0,     0,     0,     0,     0,     0,     0,     0,
3233        0,     0,     0,   263,     0,  1755,     0,     0,  1004,     0,
3234        0,     0,  1758,     0,     0,   852,     0,     0,     0,     0,
3235      395,   573,     0,   577,     0,     0,     0,     0,   735,     0,
3236      573,     0,     0,     0,   577,     0,     0,   573,     0,     0,
3237        0,  1439,   737,   581,   573,     0,     0,     0,     0,     0,
3238        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3239        0,   657,   657,     0,     0,     0,     0,  1158,     0,  1158,
3240        0,     0,  1158,   657,     0,     0,     0,     0,  1846,  1849,
3241        0,  1851,     0,     0,     0,     0,     0,     0,     0,     0,
3242        0,  1158,     0,  1862,     0,   573,     0,   263,   263,     0,
3243        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3244        0,   573,     0,     0,     0,  1928,  1932,  1938,  1942,  1946,
3245     1950,  1954,  1958,  1812,     0,  1158,     0,     0,     0,  1158,
3246        0,     0,   576,     0,     0,     0,     0,     0,     0,     0,
3247      735,     0,     0,   581,     0,     0,     0,   552,     0,     0,
3248      260,   260,   260,     0,     0,     0,   552,     0,   611,     0,
3249        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3250        0,     0,     0,     0,     0,     0,   614,     0,     0,   263,
3251      263,   263,     0,     0,     0,     0,     0,     0,     0,     0,
3252        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3253      263,     0,     0,     0,     0,     0,     0,     0,     0,  1004,
3254        0,     0,     0,   552,   552,     0,     0,     0,     0,   717,
3255      687,   687,     0,  1967,     0,   717,     0,  1585,     0,     0,
3256     1591,     0,     0,     0,     0,     0,   740,     0,     0,  1608,
3257        0,     0,     0,     0,     0,     0,     0,     0,     0,  1888,
3258        0,     0,     0,     0,     0,     0,     0,     0,   260,     0,
3259        0,   260,     0,     0,   260,     0,     0,     0,  1632,     0,
3260        0,     0,     0,     0,     0,     0,     0,  1009,     0,     0,
3261        0,     0,  1168,  1172,  1168,  1172,     0,     0,     0,     0,
3262        0,     0,     0,     0,  1158,     0,     0,     0,     0,     0,
3263        0,     0,   260,     0,     0,     0,     0,     0,     0,     0,
3264        0,     0,   657,  1158,     0,     0,   260,   260,   260,   260,
3265     1158,  1418,     0,     0,  1851,     0,  2005,     0,     0,     0,
3266      576,     0,     0,     0,     0,  2011,     0,     0,     0,   260,
3267     1139,   260,     0,  1758,     0,     0,     0,     0,     0,     0,
3268        0,     0,     0,     0,     0,  1664,  1157,     0,   611,     0,
3269     1162,     0,   864,     0,     0,     0,     0,     0,     0,     0,
3270        0,     0,     0,     0,     0,     0,     0,     0,  1690,   736,
3271        0,     0,   576,     0,     0,  1690,     0,     0,     0,     0,
3272        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3273        0,     0,     0,   260,   260,     0,   735,     0,     0,   735,
3274      260,   260,     0,     0,   260,   260,     0,     0,     0,     0,
3275        0,     0,   576,  1227,     0,     0,     0,     0,     0,     0,
3276        0,     0,   735,     0,     0,     0,     0,     0,  1157,  1162,
3277        0,   263,     0,     0,     0,     0,     0,     0,   263,     0,
3278        0,   263,     0,     0,     0,     0,   122,     0,     0,     0,
3279        0,  1682,     0,   139,     0,  1273,     0,     0,     0,     0,
3280        0,     0,     0,  2068,  2071,     0,  1158,     0,  1158,     0,
3281        0,   657,  1158,   657,     0,     0,   162,   171,   194,     0,
3282        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3283        0,     0,     0,  1325,     0,     0,     0,     0,     0,     0,
3284        0,  1338,     0,     0,     0,     0,     0,     0,     0,     0,
3285        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3286        0,  1389,     0,     0,     0,   122,   122,     0,     0,  1158,
3287        0,     0,  1158,     0,     0,     0,     0,     0,     0,     0,
3288      657,     0,   494,     0,     0,     0,     0,     0,     0,     0,
3289        0,     0,     0,     0,     0,     0,     0,     0,   525,     0,
3290        0,     0,     0,     0,     0,   263,   263,   263,   263,     0,
3291        0,     0,     0,     0,     0,     0,  1158,   122,     0,     0,
3292        0,     0,     0,   735,     0,     0,     0,     0,     0,     0,
3293        0,     0,     0,   263,   263,   263,     0,     0,     0,     0,
3294        0,     0,     0,     0,  1202,     0,     0,     0,   260,     0,
3295        0,   573,   263,     0,   162,   570,     0,     0,     0,  1215,
3296     1225,   740,     0,  1215,  1225,     0,     0,     0,     0,     0,
3297     1202,     0,     0,  1202,     0,     0,     0,     0,     0,     0,
3298        0,     0,  1246,     0,     0,   263,     0,     0,     0,     0,
3299        0,     0,   263,     0,     0,   263,     0,     0,     0,   171,
3300        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3301        0,     0,   171,     0,     0,     0,     0,     0,     0,     0,
3302        0,     0,   570,     0,     0,     0,     0,     0,     0,     0,
3303        0,     0,     0,     0,     0,     0,     0,  1826,  1830,     0,
3304        0,     0,     0,     0,     0,     0,     0,  1839,     0,  1842,
3305     1585,   573,     0,  1591,     0,     0,     0,     0,     0,     0,
3306        0,  1632,     0,     0,  1855,   260,   260,     0,     0,     0,
3307        0,   260,   260,     0,     0,   576,     0,     0,     0,     0,
3308        0,     0,     0,     0,   260,     0,     0,   260,     0,     0,
3309        0,     0,     0,     0,     0,   260,     0,     0,     0,     0,
3310        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3311      576,     0,     0,     0,     0,     0,     0,     0,     0,   576,
3312        0,     0,     0,     0,     0,     0,   576,     0,     0,   122,
3313        0,   740,     0,   576,     0,   122,     0,     0,     0,     0,
3314        0,     0,     0,     0,     0,     0,  1595,  1597,     0,  1600,
3315        0,     0,     0,     0,     0,     0,     0,  1139,     0,     0,
3316     1162,     0,     0,     0,     0,  1619,     0,     0,     0,     0,
3317        0,   570,  1157,  1162,     0,     0,     0,     0,     0,     0,
3318        0,     0,     0,     0,   576,     0,   737,     0,     0,     0,
3319     1157,  1162,     0,     0,     0,  1157,     0,     0,     0,     0,
3320      576,     0,     0,     0,     0,   570,     0,     0,     0,     0,
3321        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3322        0,   162,     0,     0,     0,     0,  1653,     0,  1657,     0,
3323        0,     0,     0,     0,     0,     0,     0,     0,     0,   263,
3324      263,   263,     0,     0,     0,     0,     0,   614,   260,   260,
3325        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3326     1157,   122,   122,   122,     0,   122,     0,     0,   122,     0,
3327      573,     0,     0,     0,     0,     0,     0,     0,     0,   122,
3328      122,   122,  1994,  1995,  1996,  1997,     0,     0,  1998,     0,
3329        0,     0,  1826,  1830,     0,  1839,     0,  1842,   525,     0,
3330      570,     0,   122,     0,     0,     0,  1157,  1162,     0,  2007,
3331        0,     0,     0,     0,     0,   122,     0,     0,     0,     0,
3332        0,     0,     0,     0,     0,     0,   260,   260,     0,     0,
3333        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3334        0,     0,     0,     0,     0,     0,     0,   263,     0,     0,
3335      263,     0,     0,   263,     0,     0,     0,     0,  1157,     0,
3336     1162,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3337        0,  1157,  1162,     0,     0,     0,     0,     0,     0,     0,
3338        0,     0,     0,     0,     0,     0,     0,     0,     0,   737,
3339        0,   263,     0,     0,     0,     0,     0,     0,     0,     0,
3340        0,     0,     0,     0,     0,   263,   263,   263,   263,     0,
3341        0,     0,     0,     0,     0,     0,     0,  1180,     0,     0,
3342        0,     0,  1157,     0,  1162,   122,     0,     0,   263,     0,
3343      263,   570,   125,     0,     0,     0,     0,     0,     0,     0,
3344        0,     0,     0,     0,  1667,     0,     0,   614,  1998,     0,
3345        0,     0,     0,     0,     0,     0,     0,  2076,     0,  2079,
3346        0,     0,     0,   125,   125,     0,     0,  1693,     0,     0,
3347        0,     0,     0,     0,  1693,     0,     0,     0,     0,     0,
3348        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3349        0,     0,   263,   263,     0,     0,     0,     0,     0,   263,
3350      263,     0,     0,   263,   263,     0,     1,     0,     0,     0,
3351        0,   125,   125,  2108,  2109,     0,     0,  2076,     0,  2079,
3352        0,     0,  2113,     0,     0,     0,  2115,     0,     0,     0,
3353        0,     2,     0,     0,     0,     0,     0,     8,     9,    10,
3354       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
3355       21,    22,    23,    24,     0,     0,     0,     0,     0,  2115,
3356        0,     0,     0,   125,     0,     0,     0,     0,     0,    27,
3357        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
3358        0,     0,    32,     0,     0,    35,    36,  2153,    37,    38,
3359       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3360        0,   578,     0,    40,     0,     0,     0,     0,  1822,     0,
3361      162,     0,   570,    43,    44,    45,    46,    47,    48,   570,
3362        0,     0,     0,    51,   570,     0,   862,     0,  1157,  1162,
3363     1157,  1162,     0,  1157,  1841,     0,     0,   567,     0,  1595,
3364     1848,     0,  1619,     0,  1162,   125,     0,     0,     0,     0,
3365        0,     0,  1157,  1162,  1619,     0,     0,     0,   125,     0,
3366        0,     0,     0,   122,     0,     0,     0,     0,   688,     0,
3367        0,     0,   122,     0,     0,     0,     0,   570,     0,     0,
3368        0,     1,     0,   122,     0,     0,  1157,     0,  1162,     0,
3369     1157,     0,  1162,   570,     0,     0,     0,     0,     0,     0,
3370        0,     0,     0,     0,     0,     0,     2,   263,     0,     0,
3371      576,     0,     8,     9,    10,    11,    12,    13,    14,    15,
3372       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
3373        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3374      570,     0,     0,     0,    27,     0,     0,     0,     0,     0,
3375        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
3376       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
3377        0,     0,     0,     0,     0,   125,     0,     0,    40,     0,
3378        0,   578,     0,     0,     0,     0,   122,   122,    43,    44,
3379       45,    46,    47,    48,     0,     0,   122,     0,   122,     0,
3380        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3381      576,     0,     0,     0,     0,     0,     0,   125,     0,     0,
3382        0,     0,     0,     0,   263,   263,     0,     0,     0,     0,
3383      263,   263,     0,     0,     0,     0,     0,     0,     0,     0,
3384        0,     0,     0,   263,     0,     0,   263,     0,     0,     0,
3385        0,   578,     0,     0,   263,  1157,     0,     0,     0,     0,
3386        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3387        0,     0,     0,     0,  1157,     0,     0,     0,     0,  1162,
3388        0,  1157,  1841,     0,  1162,  1619,     0,  2004,     0,  2006,
3389        0,     0,     0,     0,     0,  1162,  2010,   258,     0,     0,
3390        0,     0,     0,     0,     0,     0,     0,   125,   125,   125,
3391        0,   125,     0,     0,   688,     0,     0,     0,   122,     0,
3392      122,     0,     0,     0,     0,   125,   125,   125,     0,     0,
3393        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3394      735,     0,     0,     0,     0,   740,   125,   482,   578,     0,
3395        0,     0,     0,     0,     0,     0,     0,     0,     0,   482,
3396        0,   578,     0,   482,     0,     0,     0,     0,     0,     0,
3397        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3398        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3399        0,   258,   258,     0,     0,     0,     0,     0,     0,     0,
3400        0,     0,     0,     0,     0,     0,     0,   263,   263,     0,
3401        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3402        0,     0,     0,     0,     0,     0,   572,     0,     0,   576,
3403        0,     0,     0,     0,  2067,  2070,     0,  1157,  1162,  1157,
3404        0,     0,     0,  1157,  1841,     0,     0,     0,     0,     0,
3405        0,     0,   302,     0,     1,   303,   106,   304,     0,   305,
3406      306,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3407      610,   688,     0,   258,   258,   258,     0,   688,     0,     2,
3408        0,     0,     0,     0,     0,   263,   263,     0,   121,     0,
3409        0,     0,     0,     0,   258,     0,     0,     0,     0,     0,
3410     1157,  1162,     0,  1157,  1841,     0,     0,     0,  2114,     0,
3411        0,     0,     0,   713,     0,     0,   307,     0,     0,   713,
3412        0,     0,   308,   309,   310,    28,    29,     0,     0,     0,
3413       32,     0,     0,     0,     0,   311,   312,    38,     0,     0,
3414        0,     0,     0,     0,     0,     0,     0,  1157,   740,   313,
3415        0,     0,     0,   314,   315,   316,   317,   318,   319,   320,
3416      321,    43,    44,     0,     0,     0,   122,     0,     0,   322,
3417      323,   889,     0,   122,   890,   733,   326,     0,     0,     0,
3418      122,     0,     0,     0,   327,   328,     0,   329,   330,   331,
3419      332,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3420        0,   122,     0,   570,     0,     0,   122,     0,     0,   122,
3421        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3422        0,     0,     0,     0,   572,     0,     0,     0,     0,     0,
3423      873,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3424        0,   873,     0,     0,     0,     0,     0,     0,     0,     0,
3425        0,     0,     0,     0,     0,     0,     0,     0,   578,     0,
3426        0,     0,     0,     0,     0,   578,     0,     0,     0,     0,
3427      125,     0,     0,     0,     0,     0,   572,     0,     0,     0,
3428        0,     0,     0,     0,   122,     0,     0,     0,     0,     0,
3429        0,     0,   122,   964,     0,     0,     0,     0,     0,     0,
3430        0,     0,     0,   570,     0,     0,     0,     0,     0,   125,
3431        0,     0,     0,     0,     0,     0,   572,   302,   578,     1,
3432      303,   106,   304,   578,   305,   306,     0,     0,     0,   125,
3433        0,     0,     0,     0,     0,   258,     0,     0,     0,   578,
3434        0,     0,   258,     0,     2,   258,     0,     0,     0,     0,
3435        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
3436       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
3437        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3438        0,   307,    27,     0,     0,     0,   578,   308,   309,   310,
3439       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
3440      311,   407,    38,    39,     0,     0,     0,     0,     0,     0,
3441        0,     0,     0,     0,   313,     0,    40,     0,   314,   315,
3442      316,   317,   318,   319,   320,   321,    43,    44,    45,    46,
3443       47,    48,   125,   125,   322,   323,   324,     0,     0,   325,
3444      733,   326,   578,   259,   578,     0,     0,     0,     0,   327,
3445      328,     0,   329,   330,   331,   332,     0,     0,     0,     0,
3446        0,     0,     0,     0,     0,     0,     0,     0,     0,   258,
3447      258,   258,   258,     0,     0,     0,     0,     0,     0,     0,
3448        0,     0,     0,     0,     0,     0,     0,     0,     0,   122,
3449      122,     0,   122,   259,     0,     0,     0,   258,   258,   258,
3450        0,     0,     0,     0,     0,   259,     0,     0,     0,   259,
3451        0,     0,     0,     0,     0,     0,   258,     0,     0,     0,
3452        0,     0,     0,  1211,  1221,     0,     0,  1211,  1221,     0,
3453        0,     0,     0,     0,     0,     0,     0,   259,   259,     0,
3454        0,     0,     0,     0,     0,     0,   122,     0,     0,   258,
3455        0,     0,     0,     0,     0,     0,   258,     0,     0,   258,
3456        0,     0,     0,     0,   688,     0,   688,     0,     0,     0,
3457        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3458        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3459        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3460        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3461        0,     0,     0,     0,     0,     0,   259,     0,     0,   259,
3462      259,   259,     0,     0,     0,     0,     0,     0,     0,     0,
3463        0,     0,     0,     0,     0,     0,     0,     0,     0,   572,
3464      259,     0,     0,     0,     0,     0,     0,     0,   302,     0,
3465        1,   303,   106,   304,     0,   305,   306,     0,     0,   259,
3466        0,     0,     0,     0,     0,   259,     0,     0,     0,     0,
3467        0,     0,     0,     0,   572,     2,     0,     0,     0,     0,
3468      264,     0,  1427,   572,     0,     0,     0,     0,     0,     0,
3469      572,     0,     0,  1427,     0,     0,     0,   572,     0,  1117,
3470     1118,  1119,   630,  1120,  1121,  1122,  1123,   635,   636,  1124,
3471        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
3472      310,     0,     0,     0,     0,     0,    32,     0,     0,     0,
3473      264,   311,   312,  1125,     0,   640,   641,   642,     0,     0,
3474        0,     0,   264,     0,     0,   313,   264,     0,   572,   314,
3475      315,   316,   317,   318,   319,   320,   321,    43,    44,     0,
3476        0,     0,     0,     0,   572,   322,   323,   324,     0,     0,
3477      325,     0,   326,   643,   264,   264,   259,   254,     0,   644,
3478      327,   328,     0,   329,   330,   331,   332,   259,     0,     0,
3479        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3480        0,     0,     0,   258,   258,   258,     0,     0,     0,     0,
3481        0,   610,   578,     0,     0,     0,     0,     0,     0,   578,
3482        0,     0,     0,     0,     0,     0,   125,     0,     0,     0,
3483        0,     0,     0,     0,     0,     0,     0,     0,     0,   259,
3484        0,     0,     0,     0,     0,     0,     0,   578,     0,   578,
3485        0,     0,   578,   264,     0,   578,   264,   264,   264,     0,
3486        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3487        0,     0,     0,     0,     0,     0,     0,   264,     0,     0,
3488        0,   259,     0,     0,     0,     0,     0,     0,   259,     0,
3489        0,   259,     0,     0,     0,     0,   264,     0,     0,     0,
3490        0,     0,   264,     0,     0,     0,     0,     0,     0,     0,
3491        0,   258,     0,     0,   258,     0,     0,   258,     0,     0,
3492        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3493      125,     0,     0,     0,     0,     0,     0,     0,   578,     0,
3494        0,     0,     0,     0,     0,     0,     0,     0,     0,   578,
3495        0,     0,     0,     0,     0,   258,     0,     0,     0,     0,
3496        0,     0,     0,     0,     0,     0,     0,     0,     0,   258,
3497      258,   258,   258,     0,     0,     0,     0,     0,     0,     0,
3498        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3499        0,     0,   258,     0,   258,     0,     0,     0,     0,     0,
3500        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3501        0,   610,     0,   264,     0,   259,   259,   259,   259,     0,
3502        0,     0,     0,     0,   264,     0,     0,     0,     0,     0,
3503        0,  1689,     0,     0,     0,     0,     0,     0,  1689,     0,
3504        0,     0,     0,   259,   259,   259,     0,     0,     0,     0,
3505        0,     0,     0,     0,     0,     0,   258,   258,     0,     0,
3506        0,     0,   259,   258,   258,     0,     0,   258,   258,   259,
3507      259,     0,     0,   259,   259,     0,   264,     0,     0,     0,
3508        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3509        0,     0,     0,     0,     0,   259,     0,     0,     0,     0,
3510        0,     0,   259,     0,     0,   259,     0,     0,     0,     0,
3511        0,     0,   302,     0,     1,   303,   106,   304,   264,   305,
3512      306,     0,     0,     0,     0,   264,     0,     0,   264,     0,
3513        0,     0,     0,     0,     0,   578,   578,     0,   578,     2,
3514        0,     0,     0,     0,     0,     8,     9,    10,    11,    12,
3515       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
3516       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
3517        0,     0,     0,     0,     0,     0,  1196,    27,     0,     0,
3518        0,     0,   308,   309,   310,    28,    29,     0,     0,     0,
3519       32,     0,   125,    35,    36,   311,   407,    38,    39,     0,
3520        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
3521        0,    40,     0,   314,   315,   316,   317,   318,   319,   320,
3522      321,    43,    44,    45,    46,    47,    48,     0,   259,   322,
3523      323,   324,     0,     0,   325,   733,   326,     0,     0,   259,
3524        0,     0,     0,     0,   327,   328,     0,   329,   330,   331,
3525      332,     0,   264,   264,   264,   264,     0,     0,     0,     0,
3526        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3527        0,   258,     0,     0,   572,     0,     0,     0,     0,     0,
3528      264,   264,   264,     0,     0,     0,     0,     0,     0,     0,
3529        0,     0,     0,     0,     0,     0,     0,     0,     0,   264,
3530        0,     0,     0,     0,     0,     0,   264,   264,     0,     0,
3531      264,   264,     0,     0,     0,     0,     0,     0,     0,     0,
3532        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3533        0,     0,   264,     0,     0,     0,     0,     0,     0,   264,
3534        0,     0,   264,     0,     0,     0,     0,     0,     0,   259,
3535      259,   259,     0,     0,     0,     0,     0,   259,     0,     0,
3536        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3537        0,     0,     0,     0,   572,     0,     0,     0,     0,     0,
3538        0,     0,     0,     0,     0,     0,     0,     0,   258,   258,
3539        0,     0,     0,     0,   258,   258,     0,     0,     0,     0,
3540        0,     0,     0,     0,     0,     0,     0,   258,     0,     0,
3541      258,     0,     0,     0,     0,     0,     0,     0,   258,     0,
3542        0,     0,     0,     0,     0,     0,  -458,     0,  -458,  -458,
3543     -458,  -458,  -458,  -458,  -458,  -458,  -458,  -458,  -458,  -458,
3544     -458,  -458,  -458,  -458,  -458,  -458,  -458,  -458,  -458,  -458,
3545     -458,  -458,  -458,  -458,     0,     0,     0,   259,     0,     0,
3546      259,     0,     0,   259,     0,   264,     0,     0,     0,     0,
3547        0,     0,     0,     0,     0,     0,   264,     0,     0,     0,
3548        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3549     -458,     0,     0,     0,     0,     0,  -458,  -458,  -458,     0,
3550        0,   259,     0,     0,     0,     0,     0,     0,     0,  -458,
3551     -458,     0,     0,     0,     0,   259,   259,   259,   259,     0,
3552        0,     0,     0,  -458,     0,     0,     0,  -458,  -458,  -458,
3553     -458,  -458,  -458,  -458,  -458,     0,     0,     0,   259,     0,
3554      259,     0,     0,  -458,  -458,  -458,  -458,  -458,  -458,  -458,
3555     -458,  -458,  -458,  -458,     0,     0,  -458,   259,  -458,  -458,
3556        0,  -458,  -458,  -458,  -458,  -458,  -458,  -458,  -458,  -458,
3557        0,   258,   258,     0,     0,     0,     0,   259,     0,     0,
3558        0,     0,     0,     0,   259,     0,   264,   264,   264,     0,
3559        0,     0,     0,   572,   264,     0,     0,     0,     0,     0,
3560        0,     0,   259,   259,     0,     0,     0,     0,     0,   259,
3561      259,     0,     0,   259,   259,     0,     0,     0,     0,     0,
3562        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3563        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3564        0,     0,     0,     0,     0,     0,     0,     0,     0,   258,
3565      258,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3566        0,     0,     0,  -458,     0,  -458,  -458,  -458,  -458,  -458,
3567     -458,  -458,  -458,  -458,  -458,  -458,  -458,  -458,  -458,  -458,
3568     -458,  -458,  -458,  -458,  -458,  -458,  -458,  -458,  -458,  -458,
3569     -458,     0,     0,     0,   264,     0,     0,   264,     0,     0,
3570      264,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3571        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3572        0,     0,     0,     0,     0,     0,     0,  -458,     0,     0,
3573        0,     0,     0,  -458,  -458,  -458,     0,     0,   264,     0,
3574        0,     0,     0,     0,     0,     0,  -458,  -458,     0,     0,
3575        0,     0,   264,   264,   264,   264,     0,     0,     0,     0,
3576     -458,     0,     0,     0,  -458,  -458,  -458,  -458,  -458,  -458,
3577     -458,  -458,     0,     0,     0,   264,     0,   264,     0,     0,
3578     -458,  -458,  -458,  -458,  -458,  -458,  -458,  -458,     0,  -458,
3579     -458,     0,     0,  -458,   264,  -458,  -458,     0,  -458,  -458,
3580     -458,  -458,  -458,  -458,  -458,  -458,  -458,     0,     0,     0,
3581        0,     0,     0,     0,   264,     0,     0,   259,     0,     0,
3582        0,   264,     0,     0,     0,     0,     0,     0,     0,     0,
3583        0,     0,     0,     0,     0,     0,     0,     0,     0,   264,
3584      264,     0,     0,     0,     0,     0,   264,   264,     0,     0,
3585      264,   264,     0,     0,     0,     0,     0,     0,   756,     0,
3586        0,     0,     0,     0,   757,   758,   759,  -345,  -345,  -345,
3587     -345,  -345,  -345,  -345,  -345,     0,     0,     0,     0,     0,
3588        0,     0,     0,     0,     0,  -345,  -345,  -345,  -345,  -345,
3589     -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
3590     -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,     0,     0,
3591        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3592        0,     0,     0,  -345,     0,     0,     0,     0,     0,     0,
3593        0,  -345,  -345,     0,   259,   259,  -345,     0,     0,     0,
3594      259,   259,  -345,  -345,  -345,     0,     0,     0,     0,     0,
3595        0,     0,     0,   259,     0,     0,   259,  -345,     0,     0,
3596        0,     0,     0,     0,   259,     0,     0,  -345,  -345,  -345,
3597     -345,  -345,  -345,  -345,  -345,     0,     0,  -345,  -345,  -345,
3598      760,     0,     0,  -345,  1531,  -345,  -345,     0,   761,     0,
3599        0,   762,     0,  -345,  -345,  -345,     0,  -345,  -345,  -345,
3600     -345,  -345,     0,     0,     0,     0,     0,     0,     0,     0,
3601        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3602        0,     0,     0,     0,     0,     0,     0,     0,  -907,   584,
3603        0,  -907,  -907,  -907,  -907,     0,  -907,  -907,     0,     0,
3604        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3605        0,     0,     0,     0,   264,     0,  -907,  -907,  -907,  -907,
3606     -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,
3607     -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,     0,
3608        0,  -907,     0,     0,     0,     0,     0,     0,     0,     0,
3609        0,     0,     0,  -907,  -907,     0,  -907,     0,     0,  -907,
3610     -907,  -907,  -907,  -907,     0,     0,  -907,  -907,  -907,  -907,
3611     -907,  -907,  -907,  -907,  -907,  -907,  -907,   259,   259,  -907,
3612     -907,  -907,  -907,     0,  -907,     0,  -907,  -907,  -907,     0,
3613     -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,
3614     -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,     0,
3615        0,  -907,   848,  -907,  -907,     0,   586,  -907,  -907,     0,
3616        0,  -907,  -907,     0,  -907,  -907,  -907,  -907,     0,     0,
3617        0,   264,   264,     0,     0,     0,     0,   264,   264,     0,
3618        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3619      264,     0,     0,   264,     0,   259,   259,     0,     0,  -345,
3620      756,   264,  -345,  -345,  -345,  -345,   757,   758,   759,  -345,
3621     -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
3622     -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
3623     -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
3624     -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
3625        0,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
3626     -345,  -345,     0,     0,  -345,  -345,     0,  -345,     0,     0,
3627     -345,  -345,  -345,  -345,  -345,     0,     0,  -345,  -345,  -345,
3628     -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
3629     -345,  -345,  -345,  -345,     0,  -345,     0,  -345,  -345,  -345,
3630        0,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
3631     -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
3632     -345,  -345,   760,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
3633      761,  -345,  -345,   762,  -345,  -345,  -345,  -345,  -345,  -345,
3634     -345,  -345,  -345,  -345,     0,     0,     0,     0,     0,     0,
3635        0,     0,     0,     0,   264,   264,  -450,  1153,     0,  -450,
3636     -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,
3637     -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,
3638     -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,
3639     -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,
3640     -450,  -450,  -450,  -450,  -450,  -450,  -450,     0,  -450,  -450,
3641     -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,     0,
3642        0,  -450,  -450,     0,  -450,     0,     0,  -450,  -450,  -450,
3643     -450,  -450,   264,   264,  -450,  -450,  -450,  -450,  -450,  -450,
3644     -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,
3645     -450,     0,  -450,     0,  -450,  -450,  -450,     0,  -450,  -450,
3646     -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,
3647     -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,
3648     -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,
3649     -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,
3650     -450,  -304,   302,     0,     1,   303,   106,   304,  -304,   305,
3651      306,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3652     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,     2,
3653     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3654     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3655     -304,  -304,     0,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3656     -304,  -304,  -304,  -304,     0,     0,   307,  -304,     0,  -304,
3657        0,     0,   308,   309,   310,  -304,  -304,     0,     0,  -304,
3658     -304,  -304,  -304,  -304,  -304,   311,   312,  -304,  -304,  -304,
3659     -304,  -304,  -304,  -304,  -304,  -304,     0,  -304,     0,   313,
3660     -304,  -304,     0,   314,   315,   316,   317,   318,   319,   320,
3661      321,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,   322,
3662      323,   324,  -304,  -304,   325,  1241,   326,  -304,  -304,  1156,
3663     -304,  -304,  -304,  -304,   327,   328,  -304,   329,   330,   331,
3664      332,  -304,  -304,  -304,  -304,  -304,  -305,   302,     0,     1,
3665      303,   106,   304,  -305,   305,   306,  -305,  -305,  -305,  -305,
3666     -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,
3667     -305,  -305,  -305,  -305,     2,  -305,  -305,  -305,  -305,  -305,
3668     -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,
3669     -305,  -305,  -305,  -305,  -305,  -305,  -305,     0,  -305,  -305,
3670     -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,     0,
3671        0,   307,  -305,     0,  -305,     0,     0,   308,   309,   310,
3672     -305,  -305,     0,     0,  -305,  -305,  -305,  -305,  -305,  -305,
3673      311,   312,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,
3674     -305,     0,  -305,     0,   313,  -305,  -305,     0,   314,   315,
3675      316,   317,   318,   319,   320,   321,  -305,  -305,  -305,  -305,
3676     -305,  -305,  -305,  -305,   322,   323,   324,  -305,  -305,   325,
3677     1160,   326,  -305,  -305,  1161,  -305,  -305,  -305,  -305,   327,
3678      328,  -305,   329,   330,   331,   332,  -305,  -305,  -305,  -305,
3679     -305,  -565,   302,     0,     1,   303,   106,   304,  -565,   305,
3680      306,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,
3681     -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,     2,
3682     -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,
3683     -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,
3684     -565,  -565,     0,  -565,  -565,  -565,  -565,  -565,  -565,  -565,
3685     -565,  -565,  -565,  -565,     0,     0,   307,  -565,     0,  -565,
3686        0,     0,   308,   309,   310,  -565,  -565,     0,     0,  -565,
3687     -565,  -565,  -565,  -565,  -565,   311,   312,  -565,  -565,  -565,
3688     -565,  -565,  -565,  -565,  -565,  -565,     0,  -565,     0,   313,
3689     -565,  -565,     0,   314,   315,   316,   317,   318,   319,   320,
3690      321,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,   322,
3691      323,   324,  -565,  -565,   325,  -565,   326,  -565,  -565,  -565,
3692     -565,   744,  -565,  1322,   327,   328,  -565,   329,   330,   331,
3693      332,  -565,  -565,  -565,  -565,  -565,  -566,   302,     0,     1,
3694      303,   106,   304,  -566,   305,   306,  -566,  -566,  -566,  -566,
3695     -566,  -566,  -566,  -566,  -566,  -566,  -566,  -566,  -566,  -566,
3696     -566,  -566,  -566,  -566,     2,  -566,  -566,  -566,  -566,  -566,
3697     -566,  -566,  -566,  -566,  -566,  -566,  -566,  -566,  -566,  -566,
3698     -566,  -566,  -566,  -566,  -566,  -566,  -566,     0,  -566,  -566,
3699     -566,  -566,  -566,  -566,  -566,  -566,  -566,  -566,  -566,     0,
3700        0,   307,  -566,     0,  -566,     0,     0,   308,   309,   310,
3701     -566,  -566,     0,     0,  -566,  -566,  -566,  -566,  -566,  -566,
3702      311,   312,  -566,  -566,  -566,  -566,  -566,  -566,  -566,  -566,
3703     -566,     0,  -566,     0,   313,  -566,  -566,     0,   314,   315,
3704      316,   317,   318,   319,   320,   321,  -566,  -566,  -566,  -566,
3705     -566,  -566,  -566,  -566,   322,   323,   324,  -566,  -566,   325,
3706     -566,   326,  -566,  -566,  -566,  -566,   744,  -566,  1388,   327,
3707      328,  -566,   329,   330,   331,   332,  -566,  -566,  -566,  -566,
3708     -566,  -576,   302,     0,     1,   303,   106,   304,  -576,   305,
3709      306,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3710     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,     2,
3711     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3712     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3713     -576,  -576,     0,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3714     -576,  -576,  -576,  -576,     0,     0,   307,  -576,     0,  -576,
3715        0,     0,   308,   309,   310,  -576,  -576,     0,     0,  -576,
3716     -576,  -576,  -576,  -576,  -576,   311,   312,  -576,  -576,  -576,
3717     -576,  -576,  -576,  -576,  -576,  -576,     0,  -576,     0,   313,
3718     -576,  -576,     0,   314,   315,   316,   317,   318,   319,   320,
3719      321,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,   322,
3720      323,   324,  -576,  -576,   325,  -576,   326,  -576,  -576,  1156,
3721     -576,  -576,  -576,  -576,   327,   328,  -576,   329,   330,   331,
3722      332,  -576,  -576,  -576,  -576,  -576,  -578,   302,     0,     1,
3723      303,   106,   304,  -578,   305,   306,  -578,  -578,  -578,  -578,
3724     -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,
3725     -578,  -578,  -578,  -578,     2,  -578,  -578,  -578,  -578,  -578,
3726     -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,
3727     -578,  -578,  -578,  -578,  -578,  -578,  -578,     0,  -578,  -578,
3728     -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,     0,
3729        0,   307,  -578,     0,  -578,     0,     0,   308,   309,   310,
3730     -578,  -578,     0,     0,  -578,  -578,  -578,  -578,  -578,  -578,
3731      311,   312,  -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,
3732     -578,     0,  -578,     0,   313,  -578,  -578,     0,   314,   315,
3733      316,   317,   318,   319,   320,   321,  -578,  -578,  -578,  -578,
3734     -578,  -578,  -578,  -578,   322,   323,   324,  -578,  -578,   325,
3735     1160,   326,  -578,  -578,  1161,  -578,  -578,  -578,  -578,   327,
3736      328,  -578,   329,   330,   331,   332,  -578,  -578,  -578,  -578,
3737     -578,  -577,   302,     0,     1,   303,   106,   304,  -577,   305,
3738      306,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3739     -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,     2,
3740     -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3741     -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3742     -577,  -577,     0,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3743     -577,  -577,  -577,  -577,     0,     0,   307,  -577,     0,  -577,
3744        0,     0,   308,   309,   310,  -577,  -577,     0,     0,  -577,
3745     -577,  -577,  -577,  -577,  -577,   311,   312,  -577,  -577,  -577,
3746     -577,  -577,  -577,  -577,  -577,  -577,     0,  -577,     0,   313,
3747     -577,  -577,     0,   314,   315,   316,   317,   318,   319,   320,
3748      321,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,   322,
3749      323,   324,  -577,  -577,   325,  -577,   326,  -577,  -577,  1156,
3750     -577,  -577,  -577,  -577,   327,   328,  -577,   329,   330,   331,
3751      332,  -577,  -577,  -577,  -577,  -577,  -338,  1884,     0,  -338,
3752     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3753     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3754     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3755     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3756     -338,  -338,  -338,  -338,  -338,  -338,  -338,     0,  -338,  -338,
3757     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,     0,
3758        0,  -338,  -338,     0,  -338,     0,     0,  -338,  -338,  -338,
3759     -338,  -338,     0,     0,  -338,  -338,  -338,  -338,  -338,  -338,
3760     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3761     -338,     0,  -338,     0,  -338,  -338,  -338,     0,  -338,  -338,
3762     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3763     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3764     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3765     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3766     -338,  -342,  1920,     0,  -342,  -342,  -342,  -342,  -342,  -342,
3767     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3768     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3769     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3770     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3771     -342,  -342,     0,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3772     -342,  -342,  -342,  -342,     0,     0,  -342,  -342,     0,  -342,
3773        0,     0,  -342,  -342,  -342,  -342,  -342,     0,     0,  -342,
3774     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3775     -342,  -342,  -342,  -342,  -342,  -342,     0,  -342,     0,  -342,
3776     -342,  -342,     0,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3777     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3778     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3779     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3780     -342,  -342,  -342,  -342,  -342,  -342,  -332,   302,     0,     1,
3781      303,   106,   304,  -332,   305,   306,  -332,  -332,  -332,  -332,
3782     -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,
3783     -332,  -332,  -332,  -332,     2,  -332,  -332,  -332,  -332,  -332,
3784     -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,
3785     -332,  -332,  -332,  -332,  -332,  -332,  -332,     0,  -332,  -332,
3786     -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,     0,
3787        0,   307,  -332,     0,  -332,     0,     0,   308,   309,   310,
3788     -332,  -332,     0,     0,  -332,  -332,  -332,  -332,  -332,  -332,
3789      311,   312,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,
3790     -332,     0,  -332,     0,   313,  -332,  -332,     0,   314,   315,
3791      316,   317,   318,   319,   320,   321,  -332,  -332,  -332,  -332,
3792     -332,  -332,  -332,  -332,   322,   323,   324,  -332,  -332,   325,
3793     -332,   326,  -332,  -332,  -332,  -332,   744,  -332,  -332,   327,
3794      328,  -332,   329,   330,   331,   332,  -332,  -332,  -332,  -332,
3795     -332,  -543,   302,     0,     1,   303,   106,   304,  -543,   305,
3796      306,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3797     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,     2,
3798     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3799     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3800     -543,  -543,     0,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3801     -543,  -543,  -543,  -543,     0,     0,   307,  -543,     0,  -543,
3802        0,     0,   308,   309,   310,  -543,  -543,     0,     0,  -543,
3803     -543,  -543,  -543,  -543,  -543,   311,   312,  -543,  -543,  -543,
3804     -543,  -543,  -543,  -543,  -543,  -543,     0,  -543,     0,   313,
3805     -543,  -543,     0,   314,   315,   316,   317,   318,   319,   320,
3806      321,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,   322,
3807      323,   324,  -543,  -543,   325,  -543,   326,  -543,  -543,  -543,
3808     -543,   744,  -543,  -543,   327,   328,  -543,   329,   330,   331,
3809      332,  -543,  -543,  -543,  -543,  -543,  -551,   302,     0,     1,
3810      303,   106,   304,  -551,   305,   306,  -551,  -551,  -551,  -551,
3811     -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,
3812     -551,  -551,  -551,  -551,     2,  -551,  -551,  -551,  -551,  -551,
3813     -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,
3814     -551,  -551,  -551,  -551,  -551,  -551,  -551,     0,  -551,  -551,
3815     -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,     0,
3816        0,   307,  -551,     0,  -551,     0,     0,   308,   309,   310,
3817     -551,  -551,     0,     0,  -551,  -551,  -551,  -551,  -551,  -551,
3818      311,   312,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,
3819     -551,     0,  -551,     0,   313,  -551,  -551,     0,   314,   315,
3820      316,   317,   318,   319,   320,   321,  -551,  -551,  -551,  -551,
3821     -551,  -551,  -551,  -551,   322,   323,   324,  -551,  -551,   325,
3822     -551,   326,  -551,  -551,  -551,  -551,   744,  -551,  -551,   327,
3823      328,  -551,   329,   330,   331,   332,  -551,  -551,  -551,  -551,
3824     -551,  -544,   302,     0,     1,   303,   106,   304,  -544,   305,
3825      306,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
3826     -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,     2,
3827     -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
3828     -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
3829     -544,  -544,     0,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
3830     -544,  -544,  -544,  -544,     0,     0,   307,  -544,     0,  -544,
3831        0,     0,   308,   309,   310,  -544,  -544,     0,     0,  -544,
3832     -544,  -544,  -544,  -544,  -544,   311,   312,  -544,  -544,  -544,
3833     -544,  -544,  -544,  -544,  -544,  -544,     0,  -544,     0,   313,
3834     -544,  -544,     0,   314,   315,   316,   317,   318,   319,   320,
3835      321,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,   322,
3836      323,   324,  -544,  -544,   325,  -544,   326,  -544,  -544,  -544,
3837     -544,   744,  -544,  -544,   327,   328,  -544,   329,   330,   331,
3838      332,  -544,  -544,  -544,  -544,  -544,  -552,   302,     0,     1,
3839      303,   106,   304,  -552,   305,   306,  -552,  -552,  -552,  -552,
3840     -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3841     -552,  -552,  -552,  -552,     2,  -552,  -552,  -552,  -552,  -552,
3842     -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3843     -552,  -552,  -552,  -552,  -552,  -552,  -552,     0,  -552,  -552,
3844     -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,     0,
3845        0,   307,  -552,     0,  -552,     0,     0,   308,   309,   310,
3846     -552,  -552,     0,     0,  -552,  -552,  -552,  -552,  -552,  -552,
3847      311,   312,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3848     -552,     0,  -552,     0,   313,  -552,  -552,     0,   314,   315,
3849      316,   317,   318,   319,   320,   321,  -552,  -552,  -552,  -552,
3850     -552,  -552,  -552,  -552,   322,   323,   324,  -552,  -552,   325,
3851     -552,   326,  -552,  -552,  -552,  -552,   744,  -552,  -552,   327,
3852      328,  -552,   329,   330,   331,   332,  -552,  -552,  -552,  -552,
3853     -552,  -545,   302,     0,     1,   303,   106,   304,  -545,   305,
3854      306,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,
3855     -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,     2,
3856     -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,
3857     -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,
3858     -545,  -545,     0,  -545,  -545,  -545,  -545,  -545,  -545,  -545,
3859     -545,  -545,  -545,  -545,     0,     0,   307,  -545,     0,  -545,
3860        0,     0,   308,   309,   310,  -545,  -545,     0,     0,  -545,
3861     -545,  -545,  -545,  -545,  -545,   311,   312,  -545,  -545,  -545,
3862     -545,  -545,  -545,  -545,  -545,  -545,     0,  -545,     0,   313,
3863     -545,  -545,     0,   314,   315,   316,   317,   318,   319,   320,
3864      321,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,   322,
3865      323,   324,  -545,  -545,   325,  -545,   326,  -545,  -545,  -545,
3866     -545,   744,  -545,  -545,   327,   328,  -545,   329,   330,   331,
3867      332,  -545,  -545,  -545,  -545,  -545,  -553,   302,     0,     1,
3868      303,   106,   304,  -553,   305,   306,  -553,  -553,  -553,  -553,
3869     -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,
3870     -553,  -553,  -553,  -553,     2,  -553,  -553,  -553,  -553,  -553,
3871     -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,
3872     -553,  -553,  -553,  -553,  -553,  -553,  -553,     0,  -553,  -553,
3873     -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,     0,
3874        0,   307,  -553,     0,  -553,     0,     0,   308,   309,   310,
3875     -553,  -553,     0,     0,  -553,  -553,  -553,  -553,  -553,  -553,
3876      311,   312,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,
3877     -553,     0,  -553,     0,   313,  -553,  -553,     0,   314,   315,
3878      316,   317,   318,   319,   320,   321,  -553,  -553,  -553,  -553,
3879     -553,  -553,  -553,  -553,   322,   323,   324,  -553,  -553,   325,
3880     -553,   326,  -553,  -553,  -553,  -553,   744,  -553,  -553,   327,
3881      328,  -553,   329,   330,   331,   332,  -553,  -553,  -553,  -553,
3882     -553,  -546,   302,     0,     1,   303,   106,   304,  -546,   305,
3883      306,  -546,  -546,  -546,  -546,  -546,  -546,  -546,  -546,  -546,
3884     -546,  -546,  -546,  -546,  -546,  -546,  -546,  -546,  -546,     2,
3885     -546,  -546,  -546,  -546,  -546,  -546,  -546,  -546,  -546,  -546,
3886     -546,  -546,  -546,  -546,  -546,  -546,  -546,  -546,  -546,  -546,
3887     -546,  -546,     0,  -546,  -546,  -546,  -546,  -546,  -546,  -546,
3888     -546,  -546,  -546,  -546,     0,     0,   307,  -546,     0,  -546,
3889        0,     0,   308,   309,   310,  -546,  -546,     0,     0,  -546,
3890     -546,  -546,  -546,  -546,  -546,   311,   312,  -546,  -546,  -546,
3891     -546,  -546,  -546,  -546,  -546,  -546,     0,  -546,     0,   313,
3892     -546,  -546,     0,   314,   315,   316,   317,   318,   319,   320,
3893      321,  -546,  -546,  -546,  -546,  -546,  -546,  -546,  -546,   322,
3894      323,   324,  -546,  -546,   325,  -546,   326,  -546,  -546,  -546,
3895     -546,   744,  -546,  -546,   327,   328,  -546,   329,   330,   331,
3896      332,  -546,  -546,  -546,  -546,  -546,  -554,   302,     0,     1,
3897      303,   106,   304,  -554,   305,   306,  -554,  -554,  -554,  -554,
3898     -554,  -554,  -554,  -554,  -554,  -554,  -554,  -554,  -554,  -554,
3899     -554,  -554,  -554,  -554,     2,  -554,  -554,  -554,  -554,  -554,
3900     -554,  -554,  -554,  -554,  -554,  -554,  -554,  -554,  -554,  -554,
3901     -554,  -554,  -554,  -554,  -554,  -554,  -554,     0,  -554,  -554,
3902     -554,  -554,  -554,  -554,  -554,  -554,  -554,  -554,  -554,     0,
3903        0,   307,  -554,     0,  -554,     0,     0,   308,   309,   310,
3904     -554,  -554,     0,     0,  -554,  -554,  -554,  -554,  -554,  -554,
3905      311,   312,  -554,  -554,  -554,  -554,  -554,  -554,  -554,  -554,
3906     -554,     0,  -554,     0,   313,  -554,  -554,     0,   314,   315,
3907      316,   317,   318,   319,   320,   321,  -554,  -554,  -554,  -554,
3908     -554,  -554,  -554,  -554,   322,   323,   324,  -554,  -554,   325,
3909     -554,   326,  -554,  -554,  -554,  -554,   744,  -554,  -554,   327,
3910      328,  -554,   329,   330,   331,   332,  -554,  -554,  -554,  -554,
3911     -554,  -340,  2025,     0,  -340,  -340,  -340,  -340,  -340,  -340,
3912     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3913     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3914     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3915     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3916     -340,  -340,     0,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3917     -340,  -340,  -340,  -340,     0,     0,  -340,  -340,     0,  -340,
3918        0,     0,  -340,  -340,  -340,  -340,  -340,     0,     0,  -340,
3919     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3920     -340,  -340,  -340,  -340,  -340,  -340,     0,  -340,     0,  -340,
3921     -340,  -340,     0,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3922     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3923     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3924     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3925     -340,  -340,  -340,  -340,  -340,  -340,  -339,  2026,     0,  -339,
3926     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3927     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3928     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3929     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3930     -339,  -339,  -339,  -339,  -339,  -339,  -339,     0,  -339,  -339,
3931     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,     0,
3932        0,  -339,  -339,     0,  -339,     0,     0,  -339,  -339,  -339,
3933     -339,  -339,     0,     0,  -339,  -339,  -339,  -339,  -339,  -339,
3934     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3935     -339,     0,  -339,     0,  -339,  -339,  -339,     0,  -339,  -339,
3936     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3937     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3938     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3939     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3940     -339,  -345,   756,     0,  -345,  -345,  -345,  -345,   757,   758,
3941      759,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
3942     -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
3943     -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
3944     -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
3945     -345,  -345,     0,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
3946     -345,  -345,  -345,  -345,     0,     0,  -345,  -345,     0,  -345,
3947        0,     0,  -345,  -345,  -345,  -345,  -345,     0,     0,  -345,
3948     -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
3949     -345,  -345,  -345,  -345,  -345,  -345,     0,  -345,     0,  -345,
3950     -345,  -345,     0,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
3951     -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
3952     -345,  -345,  -345,  -345,   760,  -345,  -345,  -345,  -345,  -345,
3953     -345,  -345,  1151,  -345,  -345,   762,     0,  -345,  -345,  -345,
3954     -345,  -345,  -345,  -345,  -345,  -345,  -450,  1153,     0,  -450,
3955     -450,  -450,  -450,     0,  -450,  -450,     0,     0,     0,     0,
3956        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3957        0,     0,     0,     0,  -450,  -450,  -450,  -450,  -450,  -450,
3958     -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,
3959     -450,  -450,  -450,  -450,  -450,  -450,  -450,     0,  -450,  -450,
3960     -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,     0,
3961        0,  -450,  -450,     0,  -450,     0,     0,  -450,  -450,  -450,
3962     -450,  -450,     0,     0,  -450,  -450,  -450,  -450,  -450,  -450,
3963     -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,
3964     -450,     0,  -450,     0,  -450,  -450,  -450,     0,  -450,  -450,
3965     -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,
3966     -450,  -450,  -450,  -450,  -450,  -450,  -450,     0,     0,  -450,
3967     -450,  -450,  -450,     0,  -450,  -450,  -450,  1154,  -450,  -450,
3968     -450,     0,  -450,  -450,  -450,  -450, -1090,   302,     0,     1,
3969      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
3970        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3971        0,     0,     0,     0,     2, -1090, -1090, -1090, -1090, -1090,
3972    -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090,
3973    -1090, -1090, -1090, -1090, -1090, -1090, -1090,     0, -1090, -1090,
3974    -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090,     0,
3975        0,   307, -1090,     0, -1090,     0,     0,   308,   309,   310,
3976    -1090, -1090,     0,     0, -1090, -1090, -1090, -1090, -1090, -1090,
3977      311,   312, -1090, -1090, -1090, -1090, -1090, -1090, -1090, -1090,
3978    -1090,     0, -1090,     0,   313, -1090, -1090,     0,   314,   315,
3979      316,   317,   318,   319,   320,   321, -1090, -1090, -1090, -1090,
3980    -1090, -1090, -1090, -1090,   322,   323,   324,     0,     0,   325,
3981     1160,   326, -1090,     0,  1161, -1090, -1090,     0, -1090,   327,
3982      328,     0,   329,   330,   331,   332, -1234,   302,     0,     1,
3983      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
3984        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3985        0,     0,     0,     0,     2, -1234, -1234, -1234, -1234, -1234,
3986    -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234,
3987    -1234, -1234, -1234, -1234, -1234, -1234, -1234,     0, -1234, -1234,
3988    -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234,     0,
3989        0,   307, -1234,     0, -1234,     0,     0,   308,   309,   310,
3990    -1234, -1234,     0,     0, -1234, -1234, -1234, -1234, -1234, -1234,
3991      311,   312, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234,
3992    -1234,     0, -1234,     0,   313, -1234, -1234,     0,   314,   315,
3993      316,   317,   318,   319,   320,   321, -1234, -1234, -1234, -1234,
3994    -1234, -1234, -1234, -1234,   322,   323,   324,     0,     0,   325,
3995     1160,   326,  1626,     0,  1161, -1234, -1234,     0, -1234,   327,
3996      328,     0,   329,   330,   331,   332, -1192,   302,     0,     1,
3997      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
3998        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3999        0,     0,     0,     0,     2, -1192, -1192, -1192, -1192, -1192,
4000    -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192,
4001    -1192, -1192, -1192, -1192, -1192, -1192, -1192,     0, -1192, -1192,
4002    -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192,     0,
4003        0,   307, -1192,     0, -1192,     0,     0,   308,   309,   310,
4004    -1192, -1192,     0,     0, -1192, -1192, -1192, -1192, -1192, -1192,
4005      311,   312, -1192, -1192, -1192, -1192, -1192, -1192, -1192, -1192,
4006    -1192,     0, -1192,     0,   313, -1192, -1192,     0,   314,   315,
4007      316,   317,   318,   319,   320,   321, -1192, -1192, -1192, -1192,
4008    -1192, -1192, -1192, -1192,   322,   323,   324,     0,     0,   325,
4009     1835,   326, -1192,     0,  1161, -1192, -1192,     0, -1192,   327,
4010      328,     0,   329,   330,   331,   332, -1223,   302,     0,     1,
4011      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4012        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4013        0,     0,     0,     0,     2, -1223, -1223, -1223, -1223, -1223,
4014    -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223,
4015    -1223, -1223, -1223, -1223, -1223, -1223, -1223,     0,   627,   628,
4016      629,   630,   631,   632,   633,   634,   635,   636,   637,     0,
4017        0,   307, -1223,     0, -1223,     0,     0,   308,   309,   310,
4018    -1223, -1223,     0,     0, -1223,    32, -1223, -1223, -1223, -1223,
4019      311,   312,  1125, -1223,   640,   641,   642, -1223, -1223, -1223,
4020    -1223,     0, -1223,     0,   313, -1223, -1223,     0,   314,   315,
4021      316,   317,   318,   319,   320,   321,    43,    44, -1223, -1223,
4022    -1223, -1223, -1223, -1223,   322,   323,   324,     0,     0,   325,
4023     1160,   326,   643,     0,  1161, -1223,   254,     0,   644,   327,
4024      328,     0,   329,   330,   331,   332,  -577,   302,     0,     1,
4025      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4026        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4027        0,     0,     0,     0,     2,  -577,  -577,  -577,  -577,  -577,
4028     -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
4029     -577,  -577,  -577,  -577,  -577,  -577,  -577,     0,  -577,  -577,
4030     -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,     0,
4031        0,   307,  -577,     0,  -577,     0,     0,   308,   309,   310,
4032     -577,  -577,     0,     0,  -577,  -577,  -577,  -577,  -577,  -577,
4033      311,   312,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
4034     -577,     0,  -577,     0,   313,  -577,  -577,     0,   314,   315,
4035      316,   317,   318,   319,   320,   321,  -577,  -577,  -577,  -577,
4036     -577,  -577,  -577,  -577,   322,   323,   324,     0,     0,   325,
4037     -577,   326,  1155,     0,  1156,  -577,  -577,     0,  -577,   327,
4038      328,     0,   329,   330,   331,   332, -1215,   302,     0,     1,
4039      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4040        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4041        0,     0,     0,     0,     2, -1215, -1215, -1215, -1215, -1215,
4042    -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215,
4043    -1215, -1215, -1215, -1215, -1215, -1215, -1215,     0, -1215, -1215,
4044    -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215,     0,
4045        0,   307, -1215,     0, -1215,     0,     0,   308,   309,   310,
4046    -1215, -1215,     0,     0, -1215, -1215, -1215, -1215, -1215, -1215,
4047      311,   312, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215,
4048    -1215,     0, -1215,     0,   313, -1215, -1215,     0,   314,   315,
4049      316,   317,   318,   319,   320,   321, -1215, -1215, -1215, -1215,
4050    -1215, -1215, -1215, -1215,   322,   323,   324,     0,     0,   325,
4051     2072,   326, -1215,     0,  1156, -1215, -1215,     0, -1215,   327,
4052      328,     0,   329,   330,   331,   332, -1216,   302,     0,     1,
4053      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4054        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4055        0,     0,     0,     0,     2, -1216, -1216, -1216, -1216, -1216,
4056    -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216,
4057    -1216, -1216, -1216, -1216, -1216, -1216, -1216,     0, -1216, -1216,
4058    -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216,     0,
4059        0,   307, -1216,     0, -1216,     0,     0,   308,   309,   310,
4060    -1216, -1216,     0,     0, -1216, -1216, -1216, -1216, -1216, -1216,
4061      311,   312, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216,
4062    -1216,     0, -1216,     0,   313, -1216, -1216,     0,   314,   315,
4063      316,   317,   318,   319,   320,   321, -1216, -1216, -1216, -1216,
4064    -1216, -1216, -1216, -1216,   322,   323,   324,     0,     0,   325,
4065     1160,   326,  2073,     0,  1161, -1216, -1216,     0, -1216,   327,
4066      328,     0,   329,   330,   331,   332, -1210,   302,     0,     1,
4067      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4068        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4069        0,     0,     0,     0,     2, -1210, -1210, -1210, -1210, -1210,
4070    -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210,
4071    -1210, -1210, -1210, -1210, -1210, -1210, -1210,     0,   627,   628,
4072      629,   630,   631,   632,   633,   634,   635,   636,   637,     0,
4073        0,   307, -1210,     0, -1210,     0,     0,   308,   309,   310,
4074    -1210, -1210,     0,     0, -1210,    32, -1210, -1210, -1210, -1210,
4075      311,   312,  1125, -1210,   640,   641,   642, -1210, -1210, -1210,
4076    -1210,     0, -1210,     0,   313, -1210, -1210,     0,   314,   315,
4077      316,   317,   318,   319,   320,   321,    43,    44, -1210, -1210,
4078    -1210, -1210, -1210, -1210,   322,   323,   324,     0,     0,   325,
4079     1160,   326,   643,     0,  1161, -1210,   254,     0,   644,   327,
4080      328,     0,   329,   330,   331,   332, -1158,   618,     0, -1158,
4081    -1158, -1158, -1158,     0, -1158, -1158,     0,     0,     0,     0,
4082        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4083        0,     0,     0,     0, -1158, -1158, -1158, -1158, -1158, -1158,
4084    -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158,
4085    -1158, -1158, -1158, -1158, -1158, -1158, -1158,     0, -1158, -1158,
4086    -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158,     0,
4087        0, -1158, -1158,     0, -1158,     0,     0, -1158, -1158, -1158,
4088    -1158, -1158,     0,     0, -1158, -1158, -1158, -1158, -1158, -1158,
4089    -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158,
4090    -1158,     0, -1158,     0, -1158, -1158, -1158,     0, -1158, -1158,
4091    -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158,
4092    -1158, -1158, -1158, -1158, -1158, -1158, -1158,     0,     0, -1158,
4093        0, -1158,   619,     0, -1158, -1158, -1158,     0, -1158, -1158,
4094    -1158,     0, -1158, -1158, -1158, -1158, -1181,   302,     0,     1,
4095      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4096        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4097        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4098      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4099       18,    19,   244,   245,    22,    23,    24,     0,   627,   628,
4100      629,   630,   631,   632,   633,   634,   635,   636,   637,     0,
4101        0,   307,   246,     0, -1181,     0,     0,   308,   309,   310,
4102       28,    29,     0,     0, -1181,    32, -1181, -1181, -1181, -1181,
4103      311,   638,   639,   248,   640,   641,   642, -1181, -1181, -1181,
4104    -1181,     0, -1181,     0,   313, -1181,   249,     0,   314,   315,
4105      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4106      252,   253,   206,   207,   322,   323,   324,     0,     0,   325,
4107        0,   326,   643,     0, -1181, -1181,   254,     0,   644,   327,
4108      328,     0,   329,   330,   331,   332, -1159,   618,     0, -1159,
4109    -1159, -1159, -1159,     0, -1159, -1159,     0,     0,     0,     0,
4110        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4111        0,     0,     0,     0, -1159, -1159, -1159, -1159, -1159, -1159,
4112    -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159,
4113    -1159, -1159, -1159, -1159, -1159, -1159, -1159,     0, -1159, -1159,
4114    -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159,     0,
4115        0, -1159, -1159,     0, -1159,     0,     0, -1159, -1159, -1159,
4116    -1159, -1159,     0,     0, -1159, -1159, -1159, -1159, -1159, -1159,
4117    -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159,
4118    -1159,     0, -1159,     0, -1159, -1159, -1159,     0, -1159, -1159,
4119    -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159,
4120    -1159, -1159, -1159, -1159, -1159, -1159, -1159,     0,     0, -1159,
4121        0, -1159,   619,     0, -1159, -1159, -1159,     0, -1159, -1159,
4122    -1159,     0, -1159, -1159, -1159, -1159, -1220,   302,     0,     1,
4123      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4124        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4125        0,     0,     0,     0,     2, -1220, -1220, -1220, -1220, -1220,
4126    -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220,
4127    -1220, -1220, -1220, -1220, -1220, -1220, -1220,     0,  1117,  1118,
4128     1119,   630,  1120,  1121,  1122,  1123,   635,   636,  1124,     0,
4129        0,   307, -1220,     0, -1220,     0,     0,   308,   309,   310,
4130    -1220, -1220,     0,     0, -1220,    32, -1220, -1220, -1220, -1220,
4131      311,   312,  1125, -1220,   640,   641,   642, -1220, -1220, -1220,
4132    -1220,     0, -1220,     0,   313, -1220, -1220,     0,   314,   315,
4133      316,   317,   318,   319,   320,   321,    43,    44, -1220, -1220,
4134    -1220, -1220, -1220, -1220,   322,   323,   324,     0,     0,   325,
4135        0,   326,   643,     0, -1220, -1220,   254,     0,   644,   327,
4136      328,     0,   329,   330,   331,   332, -1236,   302,     0,     1,
4137      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4138        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4139        0,     0,     0,     0,     2, -1236, -1236, -1236, -1236, -1236,
4140    -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236,
4141    -1236, -1236, -1236, -1236, -1236, -1236, -1236,     0, -1236, -1236,
4142    -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236,     0,
4143        0,   307, -1236,     0, -1236,     0,     0,   308,   309,   310,
4144    -1236, -1236,     0,     0, -1236, -1236, -1236, -1236, -1236, -1236,
4145      311,   312, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236,
4146    -1236,     0, -1236,     0,   313, -1236, -1236,     0,   314,   315,
4147      316,   317,   318,   319,   320,   321, -1236, -1236, -1236, -1236,
4148    -1236, -1236, -1236, -1236,   322,   323,   324,     0,     0,   325,
4149        0,   326,  1136,     0, -1236, -1236,   744,     0, -1236,   327,
4150      328,     0,   329,   330,   331,   332, -1171,  1163,     0,     1,
4151      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4152        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4153        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4154      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4155       18,    19,   244,   245,    22,    23,    24,     0,   627,   628,
4156      629,   630,   631,   632,   633,   634,   635,   636,   637,     0,
4157        0,   307,   246,     0, -1171,     0,     0,   308,   309,   310,
4158       28,    29,     0,     0, -1171,    32, -1171, -1171, -1171, -1171,
4159      311,   638,   639,   248,   640,   641,   642, -1171, -1171, -1171,
4160    -1171,     0, -1171,     0,   313, -1171,   249,     0,   314,   315,
4161      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4162      252,   253,   206,   207,   322,   323,   324,     0,     0,   325,
4163        0,   326,   643,     0, -1171, -1171,   254,     0,   644,   327,
4164      328,     0,   329,   330,   331,   332, -1175,   302,     0,     1,
4165      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4166        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4167        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4168      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4169       18,    19,   244,   245,    22,    23,    24,     0,   627,   628,
4170      629,   630,   631,   632,   633,   634,   635,   636,   637,     0,
4171        0,   307,   246,     0, -1175,     0,     0,   308,   309,   310,
4172       28,    29,     0,     0, -1175,    32, -1175, -1175, -1175, -1175,
4173      311,   638,   639,   248,   640,   641,   642, -1175, -1175, -1175,
4174    -1175,     0, -1175,     0,   313, -1175,   249,     0,   314,   315,
4175      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4176      252,   253,   206,   207,   322,   323,   324,     0,     0,   325,
4177        0,   326,   643,     0, -1175, -1175,   254,     0,   644,   327,
4178      328,     0,   329,   330,   331,   332, -1170,   302,     0,     1,
4179      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4180        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4181        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4182      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4183       18,    19,   244,   245,    22,    23,    24,     0,   627,   628,
4184      629,   630,   631,   632,   633,   634,   635,   636,   637,     0,
4185        0,   307,   246,     0, -1170,     0,     0,   308,   309,   310,
4186       28,    29,     0,     0, -1170,    32, -1170, -1170, -1170, -1170,
4187      311,   638,   639,   248,   640,   641,   642, -1170, -1170, -1170,
4188    -1170,     0, -1170,     0,   313, -1170,   249,     0,   314,   315,
4189      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4190      252,   253,   206,   207,   322,   323,   324,     0,     0,   325,
4191        0,   326,   643,     0, -1170, -1170,   254,     0,   644,   327,
4192      328,     0,   329,   330,   331,   332, -1174,   302,     0,     1,
4193      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4194        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4195        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4196      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4197       18,    19,   244,   245,    22,    23,    24,     0,   627,   628,
4198      629,   630,   631,   632,   633,   634,   635,   636,   637,     0,
4199        0,   307,   246,     0, -1174,     0,     0,   308,   309,   310,
4200       28,    29,     0,     0, -1174,    32, -1174, -1174, -1174, -1174,
4201      311,   638,   639,   248,   640,   641,   642, -1174, -1174, -1174,
4202    -1174,     0, -1174,     0,   313, -1174,   249,     0,   314,   315,
4203      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4204      252,   253,   206,   207,   322,   323,   324,     0,     0,   325,
4205        0,   326,   643,     0, -1174, -1174,   254,     0,   644,   327,
4206      328,     0,   329,   330,   331,   332, -1077,  1176,     0, -1077,
4207    -1077, -1077, -1077,     0, -1077, -1077,     0,     0,     0,     0,
4208        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4209        0,     0,     0,     0, -1077, -1077, -1077, -1077, -1077, -1077,
4210    -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077,
4211    -1077, -1077, -1077, -1077, -1077, -1077, -1077,     0, -1077, -1077,
4212    -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077,     0,
4213        0, -1077, -1077,     0, -1077,     0,     0, -1077, -1077, -1077,
4214    -1077, -1077,     0,     0, -1077, -1077, -1077, -1077, -1077, -1077,
4215    -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077,
4216    -1077,     0, -1077,     0, -1077, -1077, -1077,     0, -1077, -1077,
4217    -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077,
4218    -1077, -1077, -1077, -1077, -1077, -1077, -1077,     0,     0, -1077,
4219        0, -1077, -1077,     0, -1077, -1077, -1077,     0, -1077, -1077,
4220    -1077,     0, -1077, -1077, -1077, -1077, -1079,  1177,     0, -1079,
4221    -1079, -1079, -1079,     0, -1079, -1079,     0,     0,     0,     0,
4222        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4223        0,     0,     0,     0, -1079, -1079, -1079, -1079, -1079, -1079,
4224    -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
4225    -1079, -1079, -1079, -1079, -1079, -1079, -1079,     0, -1079, -1079,
4226    -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,     0,
4227        0, -1079, -1079,     0, -1079,     0,     0, -1079, -1079, -1079,
4228    -1079, -1079,     0,     0, -1079, -1079, -1079, -1079, -1079, -1079,
4229    -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
4230    -1079,     0, -1079,     0, -1079, -1079, -1079,     0, -1079, -1079,
4231    -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
4232    -1079, -1079, -1079, -1079, -1079, -1079, -1079,     0,     0, -1079,
4233        0, -1079, -1079,     0, -1079, -1079, -1079,     0, -1079, -1079,
4234    -1079,     0, -1079, -1079, -1079, -1079, -1125,   302,     0,     1,
4235      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4236        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4237        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4238      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4239       18,    19,   244,   245,    22,    23,    24,     0,   627,   628,
4240      629,   630,   631,   632,   633,   634,   635,   636,   637,     0,
4241        0,   307,   246,     0, -1125,     0,     0,   308,   309,   310,
4242       28,    29,     0,     0, -1125,    32, -1125, -1125, -1125, -1125,
4243      311,   638,   639,   248,   640,   641,   642, -1125, -1125, -1125,
4244    -1125,     0, -1125,     0,   313, -1125,   249,     0,   314,   315,
4245      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4246      252,   253,   206,   207,   322,   323,   324,     0,     0,   325,
4247        0,   326,   643,     0, -1125, -1125,   254,     0,   644,   327,
4248      328,     0,   329,   330,   331,   332, -1127,   302,     0,     1,
4249      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4250        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4251        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4252      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4253       18,    19,   244,   245,    22,    23,    24,     0,   627,   628,
4254      629,   630,   631,   632,   633,   634,   635,   636,   637,     0,
4255        0,   307,   246,     0, -1127,     0,     0,   308,   309,   310,
4256       28,    29,     0,     0, -1127,    32, -1127, -1127, -1127, -1127,
4257      311,   638,   639,   248,   640,   641,   642, -1127, -1127, -1127,
4258    -1127,     0, -1127,     0,   313, -1127,   249,     0,   314,   315,
4259      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4260      252,   253,   206,   207,   322,   323,   324,     0,     0,   325,
4261        0,   326,   643,     0, -1127, -1127,   254,     0,   644,   327,
4262      328,     0,   329,   330,   331,   332, -1172,   302,     0,     1,
4263      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4264        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4265        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4266      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4267       18,    19,   244,   245,    22,    23,    24,     0,   627,   628,
4268      629,   630,   631,   632,   633,   634,   635,   636,   637,     0,
4269        0,   307,   246,     0, -1172,     0,     0,   308,   309,   310,
4270       28,    29,     0,     0, -1172,    32, -1172, -1172, -1172, -1172,
4271      311,   638,   639,   248,   640,   641,   642, -1172, -1172, -1172,
4272    -1172,     0, -1172,     0,   313, -1172,   249,     0,   314,   315,
4273      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4274      252,   253,   206,   207,   322,   323,   324,     0,     0,   325,
4275        0,   326,   643,     0, -1172, -1172,   254,     0,   644,   327,
4276      328,     0,   329,   330,   331,   332, -1176,   302,     0,     1,
4277      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4278        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4279        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4280      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4281       18,    19,   244,   245,    22,    23,    24,     0,   627,   628,
4282      629,   630,   631,   632,   633,   634,   635,   636,   637,     0,
4283        0,   307,   246,     0, -1176,     0,     0,   308,   309,   310,
4284       28,    29,     0,     0, -1176,    32, -1176, -1176, -1176, -1176,
4285      311,   638,   639,   248,   640,   641,   642, -1176, -1176, -1176,
4286    -1176,     0, -1176,     0,   313, -1176,   249,     0,   314,   315,
4287      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4288      252,   253,   206,   207,   322,   323,   324,     0,     0,   325,
4289        0,   326,   643,     0, -1176, -1176,   254,     0,   644,   327,
4290      328,     0,   329,   330,   331,   332, -1173,   302,     0,     1,
4291      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4292        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4293        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4294      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4295       18,    19,   244,   245,    22,    23,    24,     0,   627,   628,
4296      629,   630,   631,   632,   633,   634,   635,   636,   637,     0,
4297        0,   307,   246,     0, -1173,     0,     0,   308,   309,   310,
4298       28,    29,     0,     0, -1173,    32, -1173, -1173, -1173, -1173,
4299      311,   638,   639,   248,   640,   641,   642, -1173, -1173, -1173,
4300    -1173,     0, -1173,     0,   313, -1173,   249,     0,   314,   315,
4301      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4302      252,   253,   206,   207,   322,   323,   324,     0,     0,   325,
4303        0,   326,   643,     0, -1173, -1173,   254,     0,   644,   327,
4304      328,     0,   329,   330,   331,   332, -1177,   302,     0,     1,
4305      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4306        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4307        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4308      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4309       18,    19,   244,   245,    22,    23,    24,     0,   627,   628,
4310      629,   630,   631,   632,   633,   634,   635,   636,   637,     0,
4311        0,   307,   246,     0, -1177,     0,     0,   308,   309,   310,
4312       28,    29,     0,     0, -1177,    32, -1177, -1177, -1177, -1177,
4313      311,   638,   639,   248,   640,   641,   642, -1177, -1177, -1177,
4314    -1177,     0, -1177,     0,   313, -1177,   249,     0,   314,   315,
4315      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4316      252,   253,   206,   207,   322,   323,   324,     0,     0,   325,
4317        0,   326,   643,     0, -1177, -1177,   254,     0,   644,   327,
4318      328,     0,   329,   330,   331,   332, -1168,   618,     0, -1168,
4319    -1168, -1168, -1168,     0, -1168, -1168,     0,     0,     0,     0,
4320        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4321        0,     0,     0,     0, -1168, -1168, -1168, -1168, -1168, -1168,
4322    -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168,
4323    -1168, -1168, -1168, -1168, -1168, -1168, -1168,     0, -1168, -1168,
4324    -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168,     0,
4325        0, -1168, -1168,     0, -1168,     0,     0, -1168, -1168, -1168,
4326    -1168, -1168,     0,     0, -1168, -1168, -1168, -1168, -1168, -1168,
4327    -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168,
4328    -1168,     0, -1168,     0, -1168, -1168, -1168,     0, -1168, -1168,
4329    -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168,
4330    -1168, -1168, -1168, -1168, -1168, -1168, -1168,     0,     0, -1168,
4331        0, -1168,   619,     0, -1168, -1168, -1168,     0, -1168, -1168,
4332    -1168,     0, -1168, -1168, -1168, -1168, -1169,   618,     0, -1169,
4333    -1169, -1169, -1169,     0, -1169, -1169,     0,     0,     0,     0,
4334        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4335        0,     0,     0,     0, -1169, -1169, -1169, -1169, -1169, -1169,
4336    -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169,
4337    -1169, -1169, -1169, -1169, -1169, -1169, -1169,     0, -1169, -1169,
4338    -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169,     0,
4339        0, -1169, -1169,     0, -1169,     0,     0, -1169, -1169, -1169,
4340    -1169, -1169,     0,     0, -1169, -1169, -1169, -1169, -1169, -1169,
4341    -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169,
4342    -1169,     0, -1169,     0, -1169, -1169, -1169,     0, -1169, -1169,
4343    -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169,
4344    -1169, -1169, -1169, -1169, -1169, -1169, -1169,     0,     0, -1169,
4345        0, -1169,   619,     0, -1169, -1169, -1169,     0, -1169, -1169,
4346    -1169,     0, -1169, -1169, -1169, -1169, -1004,   302,     0,     1,
4347      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4348        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4349        0,     0,     0,     0,     2, -1004, -1004, -1004, -1004, -1004,
4350    -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004,
4351    -1004, -1004, -1004, -1004, -1004, -1004, -1004,     0, -1004, -1004,
4352    -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004,     0,
4353        0,   307, -1004,     0, -1004,     0,     0,   308,   309,   310,
4354    -1004, -1004,     0,     0, -1004, -1004, -1004, -1004, -1004, -1004,
4355      311,   312, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004,
4356    -1004,     0, -1004,     0,   313, -1004, -1004,     0,   314,   315,
4357      316,   317,   318,   319,   320,   321, -1004, -1004, -1004, -1004,
4358    -1004, -1004, -1004, -1004,   322,   323,   324,     0,     0,   325,
4359        0,   326, -1004,     0,  1804,  1805,  1016,     0, -1004,   327,
4360      328,     0,   329,   330,   331,   332, -1131,   618,     0, -1131,
4361    -1131, -1131, -1131,     0, -1131, -1131,     0,     0,     0,     0,
4362        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4363        0,     0,     0,     0, -1131, -1131, -1131, -1131, -1131, -1131,
4364    -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131,
4365    -1131, -1131, -1131, -1131, -1131, -1131, -1131,     0, -1131, -1131,
4366    -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131,     0,
4367        0, -1131, -1131,     0, -1131,     0,     0, -1131, -1131, -1131,
4368    -1131, -1131,     0,     0, -1131, -1131, -1131, -1131, -1131, -1131,
4369    -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131,
4370    -1131,     0, -1131,     0, -1131, -1131, -1131,     0, -1131, -1131,
4371    -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131,
4372    -1131, -1131, -1131, -1131, -1131, -1131, -1131,     0,     0, -1131,
4373        0, -1131,   619,     0, -1131, -1131, -1131,     0, -1131, -1131,
4374    -1131,     0, -1131, -1131, -1131, -1131, -1132,   618,     0, -1132,
4375    -1132, -1132, -1132,     0, -1132, -1132,     0,     0,     0,     0,
4376        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4377        0,     0,     0,     0, -1132, -1132, -1132, -1132, -1132, -1132,
4378    -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132,
4379    -1132, -1132, -1132, -1132, -1132, -1132, -1132,     0, -1132, -1132,
4380    -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132,     0,
4381        0, -1132, -1132,     0, -1132,     0,     0, -1132, -1132, -1132,
4382    -1132, -1132,     0,     0, -1132, -1132, -1132, -1132, -1132, -1132,
4383    -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132,
4384    -1132,     0, -1132,     0, -1132, -1132, -1132,     0, -1132, -1132,
4385    -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132,
4386    -1132, -1132, -1132, -1132, -1132, -1132, -1132,     0,     0, -1132,
4387        0, -1132,   619,     0, -1132, -1132, -1132,     0, -1132, -1132,
4388    -1132,     0, -1132, -1132, -1132, -1132, -1128,   618,     0, -1128,
4389    -1128, -1128, -1128,     0, -1128, -1128,     0,     0,     0,     0,
4390        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4391        0,     0,     0,     0, -1128, -1128, -1128, -1128, -1128, -1128,
4392    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4393    -1128, -1128, -1128, -1128, -1128, -1128, -1128,     0, -1128, -1128,
4394    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,     0,
4395        0, -1128, -1128,     0, -1128,     0,     0, -1128, -1128, -1128,
4396    -1128, -1128,     0,     0, -1128, -1128, -1128, -1128, -1128, -1128,
4397    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4398    -1128,     0, -1128,     0, -1128, -1128, -1128,     0, -1128, -1128,
4399    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4400    -1128, -1128, -1128, -1128, -1128, -1128, -1128,     0,     0, -1128,
4401        0, -1128,   619,     0, -1128, -1128, -1128,     0, -1128, -1128,
4402    -1128,     0, -1128, -1128, -1128, -1128, -1006,   302,     0,     1,
4403      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4404        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4405        0,     0,     0,     0,     2, -1006, -1006, -1006, -1006, -1006,
4406    -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006,
4407    -1006, -1006, -1006, -1006, -1006, -1006, -1006,     0, -1006, -1006,
4408    -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006,     0,
4409        0,   307, -1006,     0, -1006,     0,     0,   308,   309,   310,
4410    -1006, -1006,     0,     0, -1006, -1006, -1006, -1006, -1006, -1006,
4411      311,   312, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006,
4412    -1006,     0, -1006,     0,   313, -1006, -1006,     0,   314,   315,
4413      316,   317,   318,   319,   320,   321, -1006, -1006, -1006, -1006,
4414    -1006, -1006, -1006, -1006,   322,   323,   324,     0,     0,   325,
4415        0,   326, -1006,     0, -1006,  1985,  1016,     0, -1006,   327,
4416      328,     0,   329,   330,   331,   332, -1000,  1988,     0, -1000,
4417    -1000, -1000, -1000,     0, -1000, -1000,     0,     0,     0,     0,
4418        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4419        0,     0,     0,     0, -1000, -1000, -1000, -1000, -1000, -1000,
4420    -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
4421    -1000, -1000, -1000, -1000, -1000, -1000, -1000,     0, -1000, -1000,
4422    -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,     0,
4423        0, -1000, -1000,     0, -1000,     0,     0, -1000, -1000, -1000,
4424    -1000, -1000,     0,     0, -1000, -1000, -1000, -1000, -1000, -1000,
4425    -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
4426    -1000,     0, -1000,     0, -1000, -1000, -1000,     0, -1000, -1000,
4427    -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
4428    -1000, -1000, -1000, -1000, -1000, -1000, -1000,     0,     0, -1000,
4429        0, -1000, -1000,     0, -1000, -1000, -1000,     0, -1000, -1000,
4430    -1000,     0, -1000, -1000, -1000, -1000, -1129,   618,     0, -1129,
4431    -1129, -1129, -1129,     0, -1129, -1129,     0,     0,     0,     0,
4432        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4433        0,     0,     0,     0, -1129, -1129, -1129, -1129, -1129, -1129,
4434    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4435    -1129, -1129, -1129, -1129, -1129, -1129, -1129,     0, -1129, -1129,
4436    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,     0,
4437        0, -1129, -1129,     0, -1129,     0,     0, -1129, -1129, -1129,
4438    -1129, -1129,     0,     0, -1129, -1129, -1129, -1129, -1129, -1129,
4439    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4440    -1129,     0, -1129,     0, -1129, -1129, -1129,     0, -1129, -1129,
4441    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4442    -1129, -1129, -1129, -1129, -1129, -1129, -1129,     0,     0, -1129,
4443        0, -1129,   619,     0, -1129, -1129, -1129,     0, -1129, -1129,
4444    -1129,     0, -1129, -1129, -1129, -1129, -1130,   618,     0, -1130,
4445    -1130, -1130, -1130,     0, -1130, -1130,     0,     0,     0,     0,
4446        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4447        0,     0,     0,     0, -1130, -1130, -1130, -1130, -1130, -1130,
4448    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4449    -1130, -1130, -1130, -1130, -1130, -1130, -1130,     0, -1130, -1130,
4450    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,     0,
4451        0, -1130, -1130,     0, -1130,     0,     0, -1130, -1130, -1130,
4452    -1130, -1130,     0,     0, -1130, -1130, -1130, -1130, -1130, -1130,
4453    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4454    -1130,     0, -1130,     0, -1130, -1130, -1130,     0, -1130, -1130,
4455    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4456    -1130, -1130, -1130, -1130, -1130, -1130, -1130,     0,     0, -1130,
4457        0, -1130,   619,     0, -1130, -1130, -1130,     0, -1130, -1130,
4458    -1130,     0, -1130, -1130, -1130, -1130, -1217,   302,     0,     1,
4459      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4460        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4461        0,     0,     0,     0,     2, -1217, -1217, -1217, -1217, -1217,
4462    -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217,
4463    -1217, -1217, -1217, -1217, -1217, -1217, -1217,     0, -1217, -1217,
4464    -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217,     0,
4465        0,   307, -1217,     0, -1217,     0,     0,   308,   309,   310,
4466    -1217, -1217,     0,     0, -1217, -1217, -1217, -1217, -1217, -1217,
4467      311,   312, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217,
4468    -1217,     0, -1217,     0,   313, -1217, -1217,     0,   314,   315,
4469      316,   317,   318,   319,   320,   321, -1217, -1217, -1217, -1217,
4470    -1217, -1217, -1217, -1217,   322,   323,   324,     0,     0,   325,
4471        0,   326, -1217,     0, -1217, -1217, -1217,     0, -1217,   327,
4472      328,     0,   329,   330,   331,   332, -1001,  2064,     0, -1001,
4473    -1001, -1001, -1001,     0, -1001, -1001,     0,     0,     0,     0,
4474        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4475        0,     0,     0,     0, -1001, -1001, -1001, -1001, -1001, -1001,
4476    -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001,
4477    -1001, -1001, -1001, -1001, -1001, -1001, -1001,     0, -1001, -1001,
4478    -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001,     0,
4479        0, -1001, -1001,     0, -1001,     0,     0, -1001, -1001, -1001,
4480    -1001, -1001,     0,     0, -1001, -1001, -1001, -1001, -1001, -1001,
4481    -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001,
4482    -1001,     0, -1001,     0, -1001, -1001, -1001,     0, -1001, -1001,
4483    -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001,
4484    -1001, -1001, -1001, -1001, -1001, -1001, -1001,     0,     0, -1001,
4485        0, -1001, -1001,     0, -1001, -1001, -1001,     0, -1001, -1001,
4486    -1001,     0, -1001, -1001, -1001, -1001,   302,     0,     1,   303,
4487      106,   304,     0,   305,   306,     0,     0,     0,     0,     0,
4488        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4489        0,     0,     0,     2,   200,   201,   202,   203,   204,   234,
4490      235,   236,   237,   238,   239,   240,   241,   242,   243,    18,
4491       19,   244,   245,    22,    23,    24,     0,   627,   628,   629,
4492      630,   631,   632,   633,   634,   635,   636,   637,     0,     0,
4493      307,   246,     0,     0,     0,     0,   308,   309,   310,    28,
4494       29,     0,     0,     0,    32,     0,     0,     0,     0,   311,
4495      638,   639,   248,   640,   641,   642,     0,     0,     0,     0,
4496        0,     0,     0,   313,     0,   249,     0,   314,   315,   316,
4497      317,   318,   319,   320,   321,    43,    44,   250,   251,   252,
4498      253,   206,   207,   322,   323,   324,     0,     0,   325,     0,
4499      326,   643,     0,     0,     0,   254,     0,   644,   327,   328,
4500        0,   329,   330,   331,   332,   302,     0,     1,   303,   106,
4501      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4502        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4503        0,     0,     2,   200,   201,   202,   203,   204,   234,   235,
4504      236,   237,   238,   239,   240,   241,   242,   243,    18,    19,
4505      244,   245,    22,    23,    24,     0,  1117,  1118,  1119,   630,
4506     1120,  1121,  1122,  1123,   635,   636,  1124,     0,     0,   307,
4507      246,     0,     0,     0,     0,   308,   309,   310,    28,    29,
4508        0,     0,     0,    32,     0,     0,     0,     0,   311,   638,
4509      639,   248,   640,   641,   642,     0,     0,     0,     0,     0,
4510        0,     0,   313,     0,   249,     0,   314,   315,   316,   317,
4511      318,   319,   320,   321,    43,    44,   250,   251,   252,   253,
4512      206,   207,   322,   323,   324,     0,     0,   325,     0,   326,
4513      643,     0,     0,     0,   254,     0,   644,   327,   328,     0,
4514      329,   330,   331,   332,   302,     0,     1,   303,   106,   304,
4515        0,   305,   306,     0,     0,     0,     0,     0,     0,     0,
4516        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4517        0,     2,   200,   201,   202,   203,   204,   234,   235,   236,
4518      237,   238,   239,   240,   241,   242,   243,    18,    19,   244,
4519      245,    22,    23,    24,     0,     0,     0,     0,     0,     0,
4520        0,     0,     0,     0,     0,     0,     0,     0,   307,   246,
4521        0,     0,     0,     0,   308,   309,   310,    28,    29,     0,
4522        0,     0,    32,     0,     0,     0,     0,   311,   638,    38,
4523      248,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4524        0,   313,     0,   249,     0,   314,   315,   316,   317,   318,
4525      319,   320,   321,    43,    44,   250,   251,   252,   253,   206,
4526      207,   322,   323,   324,     0,     0,   325,     0,   326,   986,
4527        0,   987,   988,   744,     0,     0,   327,   328,     0,   329,
4528      330,   331,   332,  1250,     0,     1,   303,   106,   304,     0,
4529      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4530        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4531        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4532      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4533       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
4534        0,     0,     0,     0,     0,     0,     0,   307,   246,     0,
4535        0,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4536        0,    32,     0,     0,     0,     0,   311,   638,    38,   248,
4537        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4538      313,     0,   249,     0,   314,   315,   316,   317,   318,   319,
4539      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4540      322,   323,   324,     0,     0,   325,     0,   326,   986,     0,
4541      987,  -110,   744,     0,     0,   327,   328,     0,   329,   330,
4542      331,   332,  1257,     0,     1,   303,   106,   304,     0,   305,
4543      306,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4544        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4545      200,   201,   202,   203,   204,   234,   235,   236,   237,   238,
4546      239,   240,   241,   242,   243,    18,    19,   244,   245,    22,
4547       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
4548        0,     0,     0,     0,     0,     0,   307,   246,     0,     0,
4549        0,     0,   308,   309,   310,    28,    29,     0,     0,     0,
4550       32,     0,     0,     0,     0,   311,   638,    38,   248,     0,
4551        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
4552        0,   249,     0,   314,   315,   316,   317,   318,   319,   320,
4553      321,    43,    44,   250,   251,   252,   253,   206,   207,   322,
4554      323,   324,     0,     0,   325,     0,   326,   986,     0,   987,
4555      -98,   744,     0,     0,   327,   328,     0,   329,   330,   331,
4556      332,  1261,     0,     1,   303,   106,   304,     0,   305,   306,
4557        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4558        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
4559      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
4560      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
4561       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4562        0,     0,     0,     0,     0,   307,   246,     0,     0,     0,
4563        0,   308,   309,   310,    28,    29,     0,     0,     0,    32,
4564        0,     0,     0,     0,   311,   638,    38,   248,     0,     0,
4565        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4566      249,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4567       43,    44,   250,   251,   252,   253,   206,   207,   322,   323,
4568      324,     0,     0,   325,     0,   326,   986,     0,   987,  -102,
4569      744,     0,     0,   327,   328,     0,   329,   330,   331,   332,
4570      302,     0,     1,   303,   106,   304,     0,   305,   306,     0,
4571        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4572        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
4573      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
4574      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
4575        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4576        0,     0,     0,     0,   307,   246,     0,     0,     0,     0,
4577      308,   309,   310,    28,    29,     0,     0,     0,    32,     0,
4578        0,     0,     0,   311,   638,    38,   248,     0,     0,     0,
4579        0,     0,     0,     0,     0,     0,     0,   313,     0,   249,
4580        0,   314,   315,   316,   317,   318,   319,   320,   321,    43,
4581       44,   250,   251,   252,   253,   206,   207,   322,   323,   324,
4582        0,     0,   325,     0,   326,  1515,     0,   987,   -65,   744,
4583        0,     0,   327,   328,     0,   329,   330,   331,   332,   302,
4584        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4585        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4586        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
4587      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
4588      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
4589        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4590        0,     0,     0,   307,   246,     0,     0,     0,     0,   308,
4591      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4592        0,     0,   311,   638,    38,   248,     0,     0,     0,     0,
4593        0,     0,     0,     0,     0,     0,   313,     0,   249,     0,
4594      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4595      250,   251,   252,   253,   206,   207,   322,   323,   324,     0,
4596        0,   325,     0,   326,  1524,     0,   987,  1525,   744,     0,
4597        0,   327,   328,     0,   329,   330,   331,   332,  1582,     0,
4598        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
4599        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4600        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
4601      204,   234,   235,   236,   237,   238,   239,   240,   241,   242,
4602      243,    18,    19,   244,   245,    22,    23,    24,     0,     0,
4603        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4604        0,     0,   307,   246,     0,     0,     0,     0,   308,   309,
4605      310,    28,    29,     0,     0,     0,    32,     0,     0,     0,
4606        0,   311,   638,    38,   248,     0,     0,     0,     0,     0,
4607        0,     0,     0,     0,     0,   313,     0,   249,     0,   314,
4608      315,   316,   317,   318,   319,   320,   321,    43,    44,   250,
4609      251,   252,   253,   206,   207,   322,   323,   324,     0,     0,
4610      325,     0,   326,   986,     0,   987,   -81,   744,     0,     0,
4611      327,   328,     0,   329,   330,   331,   332,   302,     0,     1,
4612      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4613        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4614        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4615      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4616       18,    19,   244,   245,    22,    23,    24,     0,     0,     0,
4617        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4618        0,   307,   246,     0,     0,     0,     0,   308,   309,   310,
4619       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
4620      311,   638,    38,   248,     0,     0,     0,     0,     0,     0,
4621        0,     0,     0,     0,   313,     0,   249,     0,   314,   315,
4622      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4623      252,   253,   206,   207,   322,   323,   324,     0,     0,   325,
4624        0,   326,  1524,     0,   987,  -107,   744,     0,     0,   327,
4625      328,     0,   329,   330,   331,   332,   302,     0,     1,   303,
4626      106,   304,     0,   305,   306,     0,     0,     0,     0,     0,
4627        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4628        0,     0,     0,     2,   200,   201,   202,   203,   204,   234,
4629      235,   236,   237,   238,   239,   240,   241,   242,   243,    18,
4630       19,   244,   245,    22,    23,    24,     0,     0,     0,     0,
4631        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4632      307,   246,     0,     0,     0,     0,   308,   309,   310,    28,
4633       29,     0,     0,     0,    32,     0,     0,     0,     0,   311,
4634      638,    38,   248,     0,     0,     0,     0,     0,     0,     0,
4635        0,     0,     0,   313,     0,   249,     0,   314,   315,   316,
4636      317,   318,   319,   320,   321,    43,    44,   250,   251,   252,
4637      253,   206,   207,   322,   323,   324,     0,     0,   325,     0,
4638      326,  1524,     0,   987,   -97,   744,     0,     0,   327,   328,
4639        0,   329,   330,   331,   332,   302,     0,     1,   303,   106,
4640      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4641        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4642        0,     0,     2,   200,   201,   202,   203,   204,   234,   235,
4643      236,   237,   238,   239,   240,   241,   242,   243,    18,    19,
4644      244,   245,    22,    23,    24,     0,     0,     0,     0,     0,
4645        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
4646      246,     0,     0,     0,     0,   308,   309,   310,    28,    29,
4647        0,     0,     0,    32,     0,     0,     0,     0,   311,   638,
4648       38,   248,     0,     0,     0,     0,     0,     0,     0,     0,
4649        0,     0,   313,     0,   249,     0,   314,   315,   316,   317,
4650      318,   319,   320,   321,    43,    44,   250,   251,   252,   253,
4651      206,   207,   322,   323,   324,     0,     0,   325,     0,   326,
4652     1524,     0,   987,  -101,   744,     0,     0,   327,   328,     0,
4653      329,   330,   331,   332,  1765,     0,     1,   303,   106,   304,
4654        0,   305,   306,     0,     0,     0,     0,     0,     0,     0,
4655        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4656        0,     2,   200,   201,   202,   203,   204,   234,   235,   236,
4657      237,   238,   239,   240,   241,   242,   243,    18,    19,   244,
4658      245,    22,    23,    24,     0,     0,     0,     0,     0,     0,
4659        0,     0,     0,     0,     0,     0,     0,     0,   307,   246,
4660        0,     0,     0,     0,   308,   309,   310,    28,    29,     0,
4661        0,     0,    32,     0,     0,     0,     0,   311,   638,    38,
4662      248,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4663        0,   313,     0,   249,     0,   314,   315,   316,   317,   318,
4664      319,   320,   321,    43,    44,   250,   251,   252,   253,   206,
4665      207,   322,   323,   324,     0,     0,   325,     0,   326,   986,
4666        0,   987,   -88,   744,     0,     0,   327,   328,     0,   329,
4667      330,   331,   332,   302,     0,     1,   303,   106,   304,     0,
4668      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4669        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4670        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4671      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4672       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
4673        0,     0,     0,     0,     0,     0,     0,   307,   246,     0,
4674        0,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4675        0,    32,     0,     0,     0,     0,   311,   638,    38,   248,
4676        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4677      313,     0,   249,     0,   314,   315,   316,   317,   318,   319,
4678      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4679      322,   323,   324,     0,     0,   325,     0,   326,  1524,     0,
4680      987,   -78,   744,     0,     0,   327,   328,     0,   329,   330,
4681      331,   332,   302,     0,     1,   303,   106,   304,     0,   305,
4682      306,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4683        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4684      200,   201,   202,   203,   204,   234,   235,   236,   237,   238,
4685      239,   240,   241,   242,   243,    18,    19,   244,   245,    22,
4686       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
4687        0,     0,     0,     0,     0,     0,   307,   246,     0,     0,
4688        0,     0,   308,   309,   310,    28,    29,     0,     0,     0,
4689       32,     0,     0,     0,     0,   311,   638,    38,   248,     0,
4690        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
4691        0,   249,     0,   314,   315,   316,   317,   318,   319,   320,
4692      321,    43,    44,   250,   251,   252,   253,   206,   207,   322,
4693      323,   324,     0,     0,   325,     0,   326,  1524,     0,   987,
4694      -85,   744,     0,     0,   327,   328,     0,   329,   330,   331,
4695      332,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4696        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4697        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
4698      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
4699       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
4700       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4701        0,     0,     0,     0,     0,   307,    27,     0,     0,     0,
4702        0,   308,   309,   310,    28,    29,     0,     0,     0,    32,
4703        0,     0,    35,    36,   311,   407,    38,    39,     0,     0,
4704        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4705       40,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4706       43,    44,    45,    46,    47,    48,   206,   207,   322,   323,
4707      324,     0,     0,   325,   302,   326,     1,   303,   106,   304,
4708        0,   305,   306,   327,   328,     0,   329,   330,   331,   332,
4709        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4710        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
4711       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
4712       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
4713        0,     0,     0,     0,     0,     0,     0,     0,   866,    27,
4714        0,     0,     0,     0,   308,   309,   310,    28,    29,     0,
4715        0,     0,    32,     0,     0,    35,    36,   311,   407,    38,
4716       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4717        0,   313,     0,    40,     0,   314,   315,   316,   317,   318,
4718      319,   320,   321,    43,    44,    45,    46,    47,    48,   206,
4719      207,   322,   323,   324,     0,     0,   325,   302,   326,     1,
4720      303,   106,   304,     0,   305,   306,   327,   328,     0,   329,
4721      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
4722        0,     0,     0,     0,     2,     0,     0,     0,     0,     0,
4723        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
4724       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
4725        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4726        0,   307,    27,     0,     0,     0,     0,   308,   309,   310,
4727       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
4728      311,   407,    38,    39,     0,     0,     0,     0,     0,     0,
4729        0,     0,     0,     0,   313,     0,    40,     0,   314,   315,
4730      316,   317,   318,   319,   320,   321,    43,    44,    45,    46,
4731       47,    48,     0,     0,   322,   323,   324,     0,     0,   325,
4732      302,   326,     1,   303,   106,   304,   254,   305,   306,   327,
4733      328,     0,   329,   330,   331,   332,     0,     0,     0,     0,
4734        0,     0,     0,     0,     0,     0,     0,     2,     0,     0,
4735        0,     0,     0,     8,     9,    10,   565,    12,    13,    14,
4736       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
4737        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4738        0,     0,     0,     0,   307,    27,     0,     0,     0,     0,
4739      308,   309,   310,    28,    29,     0,     0,     0,    32,     0,
4740        0,    35,    36,   311,   407,    38,    39,     0,   302,     0,
4741        1,   303,   106,   304,     0,   305,   306,   313,     0,    40,
4742        0,   314,   315,   316,   317,   318,   319,   320,   321,    43,
4743       44,    45,    46,    47,    48,     2,     0,   322,   323,   889,
4744        0,     0,   890,   733,   326,     0,     0,     0,     0,     0,
4745        0,     0,   327,   328,     0,   329,   330,   331,   332,  1117,
4746     1118,  1119,   630,  1120,  1121,  1122,  1123,   635,   636,  1124,
4747        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
4748      310,     0,     0,     0,     0,     0,    32,     0,     0,     0,
4749        0,   311,   312,  1125,     0,   640,   641,   642,     0,     0,
4750        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
4751      315,   316,   317,   318,   319,   320,   321,    43,    44,     0,
4752        0,     0,     0,     0,     0,   322,   323,   324,     0,     0,
4753      325,  -453,   326,   643,     0,  -453,     0,   254,     0,   644,
4754      327,   328,     0,   329,   330,   331,   332,   302,     0,     1,
4755      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4756        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4757        0,     0,     0,     0,     2,     0,     0,     0,     0,     0,
4758        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4759        0,     0,     0,     0,     0,     0,     0,     0,  1117,  1118,
4760     1119,   630,  1120,  1121,  1122,  1123,   635,   636,  1124,     0,
4761        0,   307,     0,     0,     0,     0,     0,   308,   309,   310,
4762        0,     0,     0,     0,     0,    32,     0,     0,     0,     0,
4763      311,   312,  1125,     0,   640,   641,   642,     0,     0,     0,
4764        0,     0,     0,     0,   313,     0,     0,     0,   314,   315,
4765      316,   317,   318,   319,   320,   321,    43,    44,     0,     0,
4766        0,     0,     0,     0,   322,   323,   324,     0,     0,   325,
4767     1160,   326,   643,     0,  1161,     0,   254,     0,   644,   327,
4768      328,     0,   329,   330,   331,   332,  1838,     0,     1,   303,
4769      106,   304,     0,   305,   306,     0,     0,     0,     0,     0,
4770        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4771        0,     0,     0,     2,     0,     0,     0,     0,     0,     0,
4772        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4773        0,     0,     0,     0,     0,     0,     0,  1117,  1118,  1119,
4774      630,  1120,  1121,  1122,  1123,   635,   636,  1124,     0,     0,
4775      307,     0,     0,     0,     0,     0,   308,   309,   310,     0,
4776        0,     0,     0,     0,    32,     0,     0,     0,     0,   311,
4777      312,  1125,     0,   640,   641,   642,     0,     0,     0,     0,
4778        0,     0,     0,   313,     0,     0,     0,   314,   315,   316,
4779      317,   318,   319,   320,   321,    43,    44,     0,     0,     0,
4780        0,     0,     0,   322,   323,   324,     0,     0,   325,     0,
4781      326,   643,     0,     0,     0,   254,     0,   644,   327,   328,
4782        0,   329,   330,   331,   332,   302,     0,     1,   303,   106,
4783      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4784        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4785        0,     0,     2,     0,     0,     0,     0,     0,     0,     0,
4786        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4787        0,     0,     0,     0,     0,     0,   627,   628,   629,   630,
4788      631,   632,   633,   634,   635,   636,   637,     0,     0,   307,
4789        0,     0,     0,     0,     0,   308,   309,   310,     0,     0,
4790        0,     0,     0,    32,     0,     0,     0,     0,   311,   312,
4791     1125,     0,   640,   641,   642,     0,     0,     0,     0,     0,
4792        0,     0,   313,     0,     0,     0,   314,   315,   316,   317,
4793      318,   319,   320,   321,    43,    44,     0,     0,     0,     0,
4794        0,     0,   322,   323,   324,     0,     0,   325,     0,   326,
4795      643,     0,     0,     0,   254,     0,   644,   327,   328,     0,
4796      329,   330,   331,   332,   302,     0,     1,   303,   106,   304,
4797        0,   305,   306,     0,     0,     0,     0,     0,     0,     0,
4798        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4799        0,     2,     0,     0,     0,     0,     0,     0,     0,     0,
4800        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4801        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4802        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
4803        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
4804        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
4805        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4806        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
4807      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
4808        0,   322,   323,   324,     0,     0,   325,  1160,   326,     0,
4809        0,  1161,     0,     0,     0,     0,   327,   328,  1734,   329,
4810      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
4811        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
4812      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
4813        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
4814        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
4815      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4816        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
4817        0,   325,  1160,   326,     0,     0,  1729,     0,     0,     0,
4818     1737,   327,   328,     0,   329,   330,   331,   332,     0,     0,
4819        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
4820        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
4821        0,     0,     0,     0,     0,     0,     0,   311,   312,  1858,
4822        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4823        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
4824      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
4825        0,   322,   323,   324,     0,     0,   325,  1160,   326,  1626,
4826        0,  1161,     0,     0,     0,     0,   327,   328,     0,   329,
4827      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
4828        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
4829      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
4830        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
4831        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
4832      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4833        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
4834        0,   325,  1160,   326,  1859,     0,  1161,     0,     0,     0,
4835        0,   327,   328,     0,   329,   330,   331,   332,     0,     0,
4836        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
4837        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
4838        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
4839        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4840        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
4841      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
4842        0,   322,   323,   324,     0,     0,   325,  1160,   326,     0,
4843        0,  1729,     0,     0,     0,  1876,   327,   328,     0,   329,
4844      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
4845        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
4846      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
4847        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
4848        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
4849      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4850        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
4851        0,   325,  1160,   326,     0,     0,  1729,     0,     0,     0,
4852     1880,   327,   328,     0,   329,   330,   331,   332,     0,     0,
4853        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
4854        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
4855        0,     0,     0,     0,     0,     0,     0,   311,   312,  2008,
4856        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4857        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
4858      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
4859        0,   322,   323,   324,     0,     0,   325,  1160,   326,  1859,
4860        0,  1161,     0,     0,     0,     0,   327,   328,     0,   329,
4861      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
4862        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
4863      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
4864        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
4865        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
4866      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4867        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
4868        0,   325,  1160,   326,  1859,     0,  1161,     0,     0,     0,
4869        0,   327,   328,     0,   329,   330,   331,   332,     0,     0,
4870        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
4871        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
4872        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
4873        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4874        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
4875      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
4876        0,   322,   323,   324,     0,     0,   325,     0,   326,     0,
4877        0,  2062,  2063,  1016,     0,     0,   327,   328,     0,   329,
4878      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
4879        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
4880      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
4881        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
4882        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
4883      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4884        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
4885        0,   325,  2074,   326,  2075,     0,  1156,     0,     0,     0,
4886        0,   327,   328,     0,   329,   330,   331,   332,     0,     0,
4887        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
4888        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
4889        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
4890        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4891        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
4892      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
4893        0,   322,   323,   324,     0,     0,   325,  1160,   326,  2073,
4894        0,  1161,     0,     0,     0,     0,   327,   328,     0,   329,
4895      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
4896        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
4897      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
4898        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
4899        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
4900      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4901        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
4902        0,   325,     0,   326,     0,     0,     0,     0,   744,     0,
4903        0,   327,   328,   745,   329,   330,   331,   332,     0,     0,
4904        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
4905        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
4906        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
4907        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4908        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
4909      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
4910        0,   322,   323,   324,     0,     0,   325,     0,   326,  1155,
4911        0,  1156,     0,     0,     0,     0,   327,   328,     0,   329,
4912      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
4913        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
4914      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
4915        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
4916        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
4917      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4918        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
4919        0,   325,  1266,   326,     0,     0,     0,     0,   744,     0,
4920        0,   327,   328,     0,   329,   330,   331,   332,     0,     0,
4921        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
4922        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
4923        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
4924        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4925        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
4926      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
4927        0,   322,   323,   324,     0,     0,   325,  1333,   326,     0,
4928        0,     0,     0,   744,     0,     0,   327,   328,     0,   329,
4929      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
4930        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
4931      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
4932        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
4933        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
4934      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4935        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
4936        0,   325,     0,   326,  1136,     0,     0,     0,   744,     0,
4937        0,   327,   328,     0,   329,   330,   331,   332,     0,     0,
4938        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
4939        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
4940        0,     0,     0,     0,     0,     0,     0,   311,   312,  1615,
4941        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4942        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
4943      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
4944        0,   322,   323,   324,     0,     0,   325,  1160,   326,     0,
4945        0,  1161,     0,     0,     0,     0,   327,   328,     0,   329,
4946      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
4947        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
4948      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
4949        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
4950        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
4951      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4952        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
4953        0,   325,  1616,   326,  1617,     0,     0,     0,     0,     0,
4954        0,   327,   328,     0,   329,   330,   331,   332,     0,     0,
4955        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
4956        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
4957        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
4958        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4959        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
4960      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
4961        0,   322,   323,   324,     0,     0,   325,     0,   326,  1625,
4962        0,  1156,     0,     0,     0,     0,   327,   328,     0,   329,
4963      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
4964        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
4965      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
4966        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
4967        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
4968      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4969        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
4970        0,   325,  1695,   326,     0,     0,  1156,     0,     0,     0,
4971        0,   327,   328,     0,   329,   330,   331,   332,     0,     0,
4972        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
4973        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
4974        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
4975        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4976        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
4977      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
4978        0,   322,   323,   324,     0,     0,   325,     0,   326,     0,
4979        0,  1156,     0,     0,     0,     0,   327,   328,  1723,   329,
4980      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
4981        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
4982      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
4983        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
4984        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
4985      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4986        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
4987        0,   325,     0,   326,     0,     0,  1726,     0,     0,     0,
4988     1727,   327,   328,     0,   329,   330,   331,   332,     0,     0,
4989        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
4990        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
4991        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
4992        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4993        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
4994      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
4995        0,   322,   323,   324,     0,     0,   325,     0,   326,     0,
4996        0,  1156,     0,     0,     0,     0,   327,   328,  1733,   329,
4997      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
4998        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
4999      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5000        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
5001        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
5002      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5003        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
5004        0,   325,     0,   326,     0,     0,  1726,     0,     0,     0,
5005     1735,   327,   328,     0,   329,   330,   331,   332,     0,     0,
5006        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
5007        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
5008        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
5009        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
5010        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
5011      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
5012        0,   322,   323,   324,     0,     0,   325,  1834,   326,     0,
5013        0,  1156,     0,     0,     0,     0,   327,   328,     0,   329,
5014      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
5015        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
5016      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5017        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
5018        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
5019      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5020        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
5021        0,   325,  1836,   326,     0,     0,  1156,     0,     0,     0,
5022        0,   327,   328,     0,   329,   330,   331,   332,     0,     0,
5023        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
5024        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
5025        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
5026        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
5027        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
5028      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
5029        0,   322,   323,   324,     0,     0,   325,  1837,   326,     0,
5030        0,  1161,     0,     0,     0,     0,   327,   328,     0,   329,
5031      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
5032        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
5033      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5034        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
5035        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
5036      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5037        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
5038        0,   325,  1840,   326,     0,     0,  1156,     0,     0,     0,
5039        0,   327,   328,     0,   329,   330,   331,   332,     0,     0,
5040        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
5041        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
5042        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
5043        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
5044        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
5045      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
5046        0,   322,   323,   324,     0,     0,   325,  1616,   326,  1617,
5047        0,     0,     0,     0,     0,     0,   327,   328,     0,   329,
5048      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
5049        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
5050      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5051        0,     0,   311,   312,  1860,     0,     1,   303,   106,   304,
5052        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
5053      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5054        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
5055        0,   325,     0,   326,  1857,     0,  1156,     0,     0,     0,
5056        0,   327,   328,     0,   329,   330,   331,   332,     0,     0,
5057        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
5058        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
5059        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
5060        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
5061        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
5062      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
5063        0,   322,   323,   324,     0,     0,   325,  1861,   326,  1617,
5064        0,     0,     0,     0,     0,     0,   327,   328,     0,   329,
5065      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
5066        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
5067      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5068        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
5069        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
5070      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5071        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
5072        0,   325,     0,   326,     0,     0,  1726,     0,     0,     0,
5073     1874,   327,   328,     0,   329,   330,   331,   332,     0,     0,
5074        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
5075        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
5076        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
5077        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
5078        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
5079      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
5080        0,   322,   323,   324,     0,     0,   325,     0,   326,     0,
5081        0,  1726,     0,     0,     0,  1878,   327,   328,     0,   329,
5082      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
5083        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
5084      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5085        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
5086        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
5087      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5088        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
5089        0,   325,  1993,   326,     0,     0,  1156,     0,     0,     0,
5090        0,   327,   328,     0,   329,   330,   331,   332,     0,     0,
5091        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
5092        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
5093        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
5094        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
5095        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
5096      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
5097        0,   322,   323,   324,     0,     0,   325,  1835,   326,     0,
5098        0,  1161,     0,     0,     0,     0,   327,   328,     0,   329,
5099      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
5100        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
5101      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5102        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
5103        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
5104      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5105        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
5106        0,   325,  2000,   326,     0,     0,  1156,     0,     0,     0,
5107        0,   327,   328,     0,   329,   330,   331,   332,     0,     0,
5108        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
5109        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
5110        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
5111        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
5112        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
5113      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
5114        0,   322,   323,   324,     0,     0,   325,  1861,   326,  1617,
5115        0,     0,     0,     0,     0,     0,   327,   328,     0,   329,
5116      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
5117        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
5118      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5119        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
5120        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
5121      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5122        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
5123        0,   325,  2078,   326,     0,     0,  1156,     0,     0,     0,
5124        0,   327,   328,     0,   329,   330,   331,   332,     0,     0,
5125        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
5126        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
5127        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
5128        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
5129        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
5130      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
5131        0,   322,   323,   324,     0,     0,   325,     0,   326,     0,
5132        0,     0,  2107,  1016,     0,     0,   327,   328,     0,   329,
5133      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
5134        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
5135      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5136        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
5137        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
5138      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5139        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
5140        0,   325,  2110,   326,     0,     0,  1156,     0,     0,     0,
5141        0,   327,   328,     0,   329,   330,   331,   332,     0,     0,
5142        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
5143        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
5144        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
5145        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
5146        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
5147      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
5148        0,   322,   323,   324,     0,     0,   325,  2111,   326,     0,
5149        0,  1156,     0,     0,     0,     0,   327,   328,     0,   329,
5150      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
5151        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
5152      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5153        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
5154        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
5155      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5156        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
5157        0,   325,  2139,   326,     0,     0,  1156,     0,     0,     0,
5158        0,   327,   328,     0,   329,   330,   331,   332,     0,     0,
5159        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
5160        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
5161        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
5162        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
5163        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
5164      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
5165        0,   322,   323,   324,     0,     0,   325,     0,   326,     0,
5166        0,     0,     0,     0,     0,     0,   327,   328,   549,   329,
5167      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
5168        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
5169      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5170        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
5171        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
5172      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5173        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
5174        0,   325,     0,   326,     0,     0,     0,     0,   744,     0,
5175        0,   327,   328,     0,   329,   330,   331,   332,     0,     0,
5176        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
5177        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
5178        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
5179        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
5180        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
5181      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
5182        0,   322,   323,   324,     0,     0,   325,     0,   326,     0,
5183        0,     0,     0,     0,     0,     0,   327,   328,   840,   329,
5184      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
5185        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
5186      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5187        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
5188        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
5189      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5190        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
5191        0,   325,     0,   326,     0,     0,     0,     0,     0,     0,
5192        0,   327,   328,   844,   329,   330,   331,   332,     0,     0,
5193        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
5194        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
5195        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
5196        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
5197        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
5198      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
5199        0,   322,   323,   324,     0,     0,   325,     0,   326,     0,
5200        0,     0,     0,  1016,     0,     0,   327,   328,     0,   329,
5201      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
5202        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
5203      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5204        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
5205        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
5206      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5207        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
5208        0,   325,     0,   326,     0,     0,     0,     0,     0,     0,
5209        0,   327,   328,  1057,   329,   330,   331,   332,     0,     0,
5210        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
5211        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
5212        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
5213        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
5214        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
5215      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
5216        0,   322,   323,   324,     0,     0,   325,     0,   326,     0,
5217        0,     0,     0,     0,     0,  1109,   327,   328,     0,   329,
5218      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
5219        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
5220      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5221        0,     0,   311,   312,  1460,     0,     1,   303,   106,   304,
5222        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
5223      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5224        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
5225        0,   325,   733,   326,     0,     0,     0,     0,     0,     0,
5226        0,   327,   328,     0,   329,   330,   331,   332,     0,     0,
5227        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
5228        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
5229        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
5230        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
5231        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
5232      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
5233        0,   322,   323,   324,     0,     0,   325,     0,   326,     0,
5234        0,     0,     0,   744,     0,     0,   327,   328,     0,   329,
5235      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
5236        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
5237      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5238        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
5239        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
5240      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5241        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
5242        0,   325,     0,   326,     0,     0,     0,     0,     0,     0,
5243        0,   327,   328,  1563,   329,   330,   331,   332,     0,     0,
5244        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
5245        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
5246        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
5247        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
5248        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
5249      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
5250        0,   322,   323,   324,     0,     0,   325,  1599,   326,     0,
5251        0,     0,     0,     0,     0,     0,   327,   328,     0,   329,
5252      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
5253        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
5254      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5255        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
5256        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
5257      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5258        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
5259        0,   325,     0,   326,     0,     0,     0,     0,     0,     0,
5260     1602,   327,   328,     0,   329,   330,   331,   332,     0,     0,
5261        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
5262        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
5263        0,     0,     0,     0,     0,     0,     0,   311,   312,  1794,
5264        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
5265        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
5266      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
5267        0,   322,   323,   324,     0,     0,   325,     0,   326,     0,
5268        0,     0,     0,  1793,     0,     0,   327,   328,     0,   329,
5269      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
5270        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
5271      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5272        0,     0,   311,   312,  1797,     0,     1,   303,   106,   304,
5273        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
5274      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5275        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
5276        0,   325,     0,   326,     0,     0,     0,     0,   744,     0,
5277        0,   327,   328,     0,   329,   330,   331,   332,     0,     0,
5278        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
5279        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
5280        0,     0,     0,     0,     0,     0,     0,   311,   312,  1801,
5281        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
5282        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
5283      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
5284        0,   322,   323,   324,     0,     0,   325,     0,   326,     0,
5285        0,     0,     0,   744,     0,     0,   327,   328,     0,   329,
5286      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
5287        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
5288      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5289        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
5290        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
5291      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5292        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
5293        0,   325,     0,   326,     0,     0,     0,     0,   744,     0,
5294        0,   327,   328,     0,   329,   330,   331,   332,     0,     0,
5295        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
5296        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
5297        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
5298        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
5299        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
5300      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
5301        0,   322,   323,   324,     0,     0,   325,  1847,   326,     0,
5302        0,     0,     0,     0,     0,     0,   327,   328,     0,   329,
5303      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
5304        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
5305      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5306        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
5307        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
5308      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5309        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
5310        0,  1907,     0,   326,     0,     0,     0,     0,  1793,     0,
5311        0,   327,   328,     0,   329,   330,   331,   332,     0,     0,
5312        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
5313        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
5314        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
5315        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
5316        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
5317      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
5318        0,   322,   323,   324,     0,     0,   325,  2009,   326,     0,
5319        0,     0,     0,     0,     0,     0,   327,   328,     0,   329,
5320      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
5321        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
5322      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5323        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
5324        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
5325      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5326        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
5327        0,   325,  2069,   326,     0,     0,     0,     0,     0,     0,
5328        0,   327,   328,     0,   329,   330,   331,   332,     0,     0,
5329        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
5330        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
5331        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
5332        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
5333        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
5334      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
5335        0,   322,   323,   324,     0,     0,   325,     0,   326,     0,
5336        0,     0,     0,     0,     0,     0,   327,   328,     0,   329,
5337      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
5338        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
5339      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5340        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
5341        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
5342      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5343        0,     2,     0,     0,     0,     0,   322,   323,   324,     0,
5344        0,   703,     0,   326,     0,     0,     0,     0,     0,     0,
5345        0,   327,   328,     0,   329,   330,   331,   332,     0,     0,
5346        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
5347        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
5348        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
5349        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
5350        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
5351      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
5352        0,   322,   323,   324,     0,     0,   706,     0,   326,     0,
5353        0,     0,     0,     0,     0,     0,   327,   328,     0,   329,
5354      330,   331,   332,     0,     0,     0,     0,     0,     0,     0,
5355        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
5356      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5357        0,     0,   311,   312,     0,     0,     0,     0,     0,     0,
5358        0,     0,     0,     0,     0,     0,   313,     0,     0,     0,
5359      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5360     -895,   584,     0,  -895,  -895,  -895,   322,   323,   324,     0,
5361        0,   729,     0,   326,     0,     0,     0,     0,     0,     0,
5362        0,   327,   328,     0,   329,   330,   331,   332,  -895,  -895,
5363     -895,  -895,  -895,  -895,  -895,  -895,  -895,  -895,  -895,  -895,
5364     -895,  -895,  -895,  -895,  -895,  -895,  -895,  -895,  -895,  -895,
5365     -895,     0,     0,  -895,     0,     0,     0,     0,     0,     0,
5366        0,     0,     0,     0,     0,  -895,  -895,     0,  -895,     0,
5367        0,  -895,  -895,     0,  -895,  -895,     0,     0,  -895,  -895,
5368     -895,  -895,  -895,  -895,     0,  -895,  -895,  -895,  -895,     0,
5369        0,  -895,  -895,  -895,  -895,     0,  -895,     0,  -895,  -895,
5370     -895,     0,  -895,  -895,  -895,  -895,  -895,  -895,  -895,     0,
5371     -895,  -895,  -895,  -895,  -895,  -895,  -895,  -895,  -895,     0,
5372     -895,     0,     0,  -895,   585,  -895,  -895,     0,   586,  -895,
5373        0,     0,     0,  -895,  -895,  -189,   907,     0,  -189,  -189,
5374     -189,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5375        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5376        0,     0,     0,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
5377     -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
5378     -189,  -189,  -189,  -189,  -189,  -189,     0,     0,  -189,     0,
5379        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5380     -189,  -189,     0,  -189,     0,     0,  -189,  -189,     0,  -189,
5381     -189,     0,     0,  -189,  -189,  -189,  -189,  -189,  -189,     0,
5382     -189,  -189,  -189,  -189,     0,     0,  -189,  -189,  -189,  -189,
5383        0,  -189,     0,  -189,  -189,  -189,     0,  -189,  -189,  -189,
5384     -189,  -189,  -189,  -189,     0,  -189,  -189,  -189,  -189,  -189,
5385     -189,  -189,  -189,  -189,     0,  -189,     0,     0,  -189,     0,
5386     -189,   908,     0,   909,  -189,     0,     0,     0,  -189,  -189,
5387     -253,   921,     0,     1,   303,   106,     0,     0,     0,     0,
5388        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5389        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
5390      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
5391       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5392       24,     0,     0,  -253,     0,     0,     0,     0,     0,     0,
5393        0,     0,     0,     0,     0,   307,    27,     0,   425,     0,
5394        0,   308,   309,     0,    28,    29,     0,     0,   426,    32,
5395      427,   428,    35,    36,     0,   407,    38,    39,   429,     0,
5396        0,   430,   431,   432,   433,     0,   434,     0,   435,   436,
5397       40,     0,   314,   315,   316,   317,   318,   319,   320,     0,
5398       43,    44,    45,    46,    47,    48,   206,   207,   322,     0,
5399       51,     0,     0,   437,     0,   438,   439,  -251,   924,  -253,
5400        1,   303,   106,   327,   328,     0,     0,     0,     0,     0,
5401        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5402        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5403      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5404       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5405     -251,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5406        0,     0,   307,    27,     0,   425,     0,     0,   308,   309,
5407        0,    28,    29,     0,     0,   426,    32,   427,   428,    35,
5408       36,     0,   407,    38,    39,   429,     0,     0,   430,   431,
5409      432,   433,     0,   434,     0,   435,   436,    40,     0,   314,
5410      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5411       46,    47,    48,   206,   207,   322,     0,    51,     0,     0,
5412      437,     0,   438,   439,  -254,   921,  -251,     1,   303,   106,
5413      327,   328,     0,     0,     0,     0,     0,     0,     0,     0,
5414        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5415        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5416       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5417       20,    21,    22,    23,    24,     0,     0,  -254,     0,     0,
5418        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5419       27,     0,   425,     0,     0,   308,   309,     0,    28,    29,
5420        0,     0,   426,    32,   427,   428,    35,    36,     0,   407,
5421       38,    39,   429,     0,     0,   430,   431,   432,   433,     0,
5422      434,     0,   435,   436,    40,     0,   314,   315,   316,   317,
5423      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5424      206,   207,   322,     0,    51,     0,     0,   437,     0,   438,
5425      439,  -252,   924,  -254,     1,   303,   106,   327,   328,     0,
5426        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5427        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5428      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5429       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5430       23,    24,     0,     0,  -252,     0,     0,     0,     0,     0,
5431        0,     0,     0,     0,     0,     0,   307,    27,     0,   425,
5432        0,     0,   308,   309,     0,    28,    29,     0,     0,   426,
5433       32,   427,   428,    35,    36,     0,   407,    38,    39,   429,
5434        0,     0,   430,   431,   432,   433,     0,   434,     0,   435,
5435      436,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5436        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5437        0,    51,     0,     0,   437,     0,   438,   439,     0,   424,
5438     -252,     1,   303,   106,   327,   328,     0,     0,     0,     0,
5439        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5440        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
5441      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
5442       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5443        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5444        0,     0,     0,   307,    27,     0,   425,     0,     0,   308,
5445      309,     0,    28,    29,     0,     0,   426,    32,   427,   428,
5446       35,    36,     0,   407,    38,    39,   429,     0,     0,   430,
5447      431,   432,   433,     0,   434,     0,   435,   436,    40,     0,
5448      314,   315,   316,   317,   318,   319,   320,     0,    43,    44,
5449       45,    46,    47,    48,   206,   207,   322,     0,    51,     0,
5450        0,   437,     0,   438,   439,     0,   490,   440,     1,   303,
5451      106,   327,   328,     0,     0,     0,     0,     0,     0,     0,
5452        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5453        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5454        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5455       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5456        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5457      307,    27,     0,   425,     0,     0,   308,   309,     0,    28,
5458       29,     0,     0,   426,    32,   427,   428,    35,    36,     0,
5459      407,    38,    39,   429,     0,     0,   430,   431,   432,   433,
5460        0,   434,     0,   435,   436,    40,     0,   314,   315,   316,
5461      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5462       48,   206,   207,   322,     0,    51,     0,     0,   437,     0,
5463      438,   439,     0,   512,   491,     1,   303,   106,   327,   328,
5464        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5465        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5466        2,   200,   201,   202,   203,   204,     8,     9,    10,    11,
5467       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5468       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5469        0,     0,     0,     0,     0,     0,     0,   307,    27,     0,
5470      425,     0,     0,   308,   309,     0,    28,    29,     0,     0,
5471      426,    32,   427,   428,    35,    36,     0,   407,    38,    39,
5472      429,     0,     0,   430,   431,   432,   433,     0,   434,     0,
5473      435,   436,    40,     0,   314,   315,   316,   317,   318,   319,
5474      320,     0,    43,    44,    45,    46,    47,    48,   206,   207,
5475      322,     0,    51,     0,     0,   437,     0,   438,   439,     0,
5476      517,   513,     1,   303,   106,   327,   328,     0,     0,     0,
5477        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5478        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5479      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5480       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5481        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5482        0,     0,     0,     0,   307,    27,     0,   425,     0,     0,
5483      308,   309,     0,    28,    29,     0,     0,   426,    32,   427,
5484      428,    35,    36,     0,   407,    38,    39,   429,     0,     0,
5485      430,   431,   432,   433,     0,   434,     0,   435,   436,    40,
5486        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5487       44,    45,    46,    47,    48,   206,   207,   322,     0,    51,
5488        0,     0,   437,     0,   438,   439,     0,   521,   518,     1,
5489      303,   106,   327,   328,     0,     0,     0,     0,     0,     0,
5490        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5491        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
5492        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5493       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5494        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5495        0,   307,    27,     0,   425,     0,     0,   308,   309,     0,
5496       28,    29,     0,     0,   426,    32,   427,   428,    35,    36,
5497        0,   407,    38,    39,   429,     0,     0,   430,   431,   432,
5498      433,     0,   434,     0,   435,   436,    40,     0,   314,   315,
5499      316,   317,   318,   319,   320,     0,    43,    44,    45,    46,
5500       47,    48,   206,   207,   322,     0,    51,     0,     0,   437,
5501        0,   438,   439,     0,   921,   522,     1,   303,   106,   327,
5502      328,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5503        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5504        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5505       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5506       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5507        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5508        0,   425,     0,     0,   308,   309,     0,    28,    29,     0,
5509        0,   426,    32,   427,   428,    35,    36,     0,   407,    38,
5510       39,   429,     0,     0,   430,   431,   432,   433,     0,   434,
5511        0,   435,   436,    40,     0,   314,   315,   316,   317,   318,
5512      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5513      207,   322,     0,    51,     0,     0,   437,     0,   438,   439,
5514        0,   924,  -750,     1,   303,   106,   327,   328,     0,     0,
5515        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5516        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
5517      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
5518       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5519       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5520        0,     0,     0,     0,     0,   307,    27,     0,   425,     0,
5521        0,   308,   309,     0,    28,    29,     0,     0,   426,    32,
5522      427,   428,    35,    36,     0,   407,    38,    39,   429,     0,
5523        0,   430,   431,   432,   433,     0,   434,     0,   435,   436,
5524       40,     0,   314,   315,   316,   317,   318,   319,   320,     0,
5525       43,    44,    45,    46,    47,    48,   206,   207,   322,     0,
5526       51,     0,     0,   437,     0,   438,   439,     0,   921,  -751,
5527        1,   303,   106,   327,   328,     0,     0,     0,     0,     0,
5528        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5529        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5530      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5531       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5532        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5533        0,     0,   307,    27,     0,   425,     0,     0,   308,   309,
5534        0,    28,    29,     0,     0,   426,    32,   427,   428,    35,
5535       36,     0,   407,    38,    39,   429,     0,     0,   430,   431,
5536      432,   433,     0,   434,     0,   435,   436,    40,     0,   314,
5537      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5538       46,    47,    48,   206,   207,   322,     0,    51,     0,     0,
5539      437,     0,   438,   439,     0,   924,  -747,     1,   303,   106,
5540      327,   328,     0,     0,     0,     0,     0,     0,     0,     0,
5541        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5542        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5543       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5544       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5545        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5546       27,     0,   425,     0,     0,   308,   309,     0,    28,    29,
5547        0,     0,   426,    32,   427,   428,    35,    36,     0,   407,
5548       38,    39,   429,     0,     0,   430,   431,   432,   433,     0,
5549      434,     0,   435,   436,    40,     0,   314,   315,   316,   317,
5550      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5551      206,   207,   322,     0,    51,     0,     0,   437,     0,   438,
5552      439,     0,   921,  -748,     1,   303,   106,   327,   328,     0,
5553        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5554        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5555      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5556       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5557       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5558        0,     0,     0,     0,     0,     0,   307,    27,     0,   425,
5559        0,     0,   308,   309,     0,    28,    29,     0,     0,   426,
5560       32,   427,   428,    35,    36,     0,   407,    38,    39,   429,
5561        0,     0,   430,   431,   432,   433,     0,   434,     0,   435,
5562      436,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5563        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5564        0,    51,     0,     0,   437,     0,   438,   439,     0,   924,
5565     -753,     1,   303,   106,   327,   328,     0,     0,     0,     0,
5566        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5567        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
5568      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
5569       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5570        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5571        0,     0,     0,   307,    27,     0,   425,     0,     0,   308,
5572      309,     0,    28,    29,     0,     0,   426,    32,   427,   428,
5573       35,    36,     0,   407,    38,    39,   429,     0,     0,   430,
5574      431,   432,   433,     0,   434,     0,   435,   436,    40,     0,
5575      314,   315,   316,   317,   318,   319,   320,     0,    43,    44,
5576       45,    46,    47,    48,   206,   207,   322,     0,    51,     0,
5577        0,   437,     0,   438,   439,     0,  1039,  -754,     1,   303,
5578      106,   327,   328,     0,     0,     0,     0,     0,     0,     0,
5579        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5580        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5581        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5582       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5583        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5584      307,    27,     0,   425,     0,     0,   308,   309,     0,    28,
5585       29,     0,     0,   426,    32,   427,   428,    35,    36,     0,
5586      407,    38,    39,   429,     0,     0,   430,   431,   432,   433,
5587        0,   434,     0,   435,   436,    40,     0,   314,   315,   316,
5588      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5589       48,   206,   207,   322,     0,    51,     0,     0,   437,     0,
5590      438,   439,     0,  1043,  1040,     1,   303,   106,   327,   328,
5591        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5592        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5593        2,   200,   201,   202,   203,   204,     8,     9,    10,    11,
5594       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5595       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5596        0,     0,     0,     0,     0,     0,     0,   307,    27,     0,
5597      425,     0,     0,   308,   309,     0,    28,    29,     0,     0,
5598      426,    32,   427,   428,    35,    36,     0,   407,    38,    39,
5599      429,     0,     0,   430,   431,   432,   433,     0,   434,     0,
5600      435,   436,    40,     0,   314,   315,   316,   317,   318,   319,
5601      320,     0,    43,    44,    45,    46,    47,    48,   206,   207,
5602      322,     0,    51,     0,     0,   437,     0,   438,   439,     0,
5603      302,  1044,     1,   303,   106,   327,   328,     0,     0,     0,
5604        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5605        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5606      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5607       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5608        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5609        0,     0,     0,     0,   307,    27,     0,   425,     0,     0,
5610      308,   309,     0,    28,    29,     0,     0,   426,    32,   427,
5611      428,    35,    36,     0,   407,    38,    39,   429,     0,     0,
5612      430,   431,   432,   433,     0,   434,     0,   435,   436,    40,
5613        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5614       44,    45,    46,    47,    48,   206,   207,   322,     0,    51,
5615        0,     0,   437,     0,   438,   439,     0,   921,  -649,     1,
5616      303,   106,   327,   328,     0,     0,     0,     0,     0,     0,
5617        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5618        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
5619        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5620       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5621        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5622        0,   307,    27,     0,   425,     0,     0,   308,   309,     0,
5623       28,    29,     0,     0,   426,    32,   427,   428,    35,    36,
5624        0,   407,    38,    39,   429,     0,     0,   430,   431,   432,
5625      433,     0,   434,     0,   435,   436,    40,     0,   314,   315,
5626      316,   317,   318,   319,   320,     0,    43,    44,    45,    46,
5627       47,    48,   206,   207,   322,     0,    51,     0,     0,   437,
5628        0,   438,   439,     0,   924,  -730,     1,   303,   106,   327,
5629      328,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5630        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5631        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5632       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5633       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5634        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5635        0,   425,     0,     0,   308,   309,     0,    28,    29,     0,
5636        0,   426,    32,   427,   428,    35,    36,     0,   407,    38,
5637       39,   429,     0,     0,   430,   431,   432,   433,     0,   434,
5638        0,   435,   436,    40,     0,   314,   315,   316,   317,   318,
5639      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5640      207,   322,     0,    51,     0,     0,   437,     0,   438,   439,
5641        0,   921,  -731,     1,   303,   106,   327,   328,     0,     0,
5642        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5643        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
5644      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
5645       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5646       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5647        0,     0,     0,     0,     0,   307,    27,     0,   425,     0,
5648        0,   308,   309,     0,    28,    29,     0,     0,   426,    32,
5649      427,   428,    35,    36,     0,   407,    38,    39,   429,     0,
5650        0,   430,   431,   432,   433,     0,   434,     0,   435,   436,
5651       40,     0,   314,   315,   316,   317,   318,   319,   320,     0,
5652       43,    44,    45,    46,    47,    48,   206,   207,   322,     0,
5653       51,     0,     0,   437,     0,   438,   439,     0,   924,  -733,
5654        1,   303,   106,   327,   328,     0,     0,     0,     0,     0,
5655        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5656        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5657      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5658       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5659        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5660        0,     0,   307,    27,     0,   425,     0,     0,   308,   309,
5661        0,    28,    29,     0,     0,   426,    32,   427,   428,    35,
5662       36,     0,   407,    38,    39,   429,     0,     0,   430,   431,
5663      432,   433,     0,   434,     0,   435,   436,    40,     0,   314,
5664      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5665       46,    47,    48,   206,   207,   322,     0,    51,     0,     0,
5666      437,     0,   438,   439,     0,  1545,  -734,     1,   303,   106,
5667      327,   328,     0,     0,     0,     0,     0,     0,     0,     0,
5668        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5669        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5670       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5671       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5672        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5673       27,     0,   425,     0,     0,   308,   309,     0,    28,    29,
5674        0,     0,   426,    32,   427,   428,    35,    36,     0,   407,
5675       38,    39,   429,     0,     0,   430,   431,   432,   433,     0,
5676      434,     0,   435,   436,    40,     0,   314,   315,   316,   317,
5677      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5678      206,   207,   322,     0,    51,     0,     0,   437,     0,   438,
5679      439,     0,   921,  1546,     1,   303,   106,   327,   328,     0,
5680        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5681        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5682      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5683       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5684       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5685        0,     0,     0,     0,     0,     0,   307,    27,     0,   425,
5686        0,     0,   308,   309,     0,    28,    29,     0,     0,   426,
5687       32,   427,   428,    35,    36,     0,   407,    38,    39,   429,
5688        0,     0,   430,   431,   432,   433,     0,   434,     0,   435,
5689      436,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5690        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5691        0,    51,     0,     0,   437,     0,   438,   439,     0,   924,
5692     -644,     1,   303,   106,   327,   328,     0,     0,     0,     0,
5693        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5694        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
5695      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
5696       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5697        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5698        0,     0,     0,   307,    27,     0,   425,     0,     0,   308,
5699      309,     0,    28,    29,     0,     0,   426,    32,   427,   428,
5700       35,    36,     0,   407,    38,    39,   429,     0,     0,   430,
5701      431,   432,   433,     0,   434,     0,   435,   436,    40,     0,
5702      314,   315,   316,   317,   318,   319,   320,     0,    43,    44,
5703       45,    46,    47,    48,   206,   207,   322,     0,    51,     0,
5704        0,   437,     0,   438,   439,     0,   921,  -645,     1,   303,
5705      106,   327,   328,     0,     0,     0,     0,     0,     0,     0,
5706        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5707        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5708        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5709       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5710        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5711      307,    27,     0,   425,     0,     0,   308,   309,     0,    28,
5712       29,     0,     0,   426,    32,   427,   428,    35,    36,     0,
5713      407,    38,    39,   429,     0,     0,   430,   431,   432,   433,
5714        0,   434,     0,   435,   436,    40,     0,   314,   315,   316,
5715      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5716       48,   206,   207,   322,     0,    51,     0,     0,   437,     0,
5717      438,   439,     0,   924,  -736,     1,   303,   106,   327,   328,
5718        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5719        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5720        2,   200,   201,   202,   203,   204,     8,     9,    10,    11,
5721       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5722       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5723        0,     0,     0,     0,     0,     0,     0,   307,    27,     0,
5724      425,     0,     0,   308,   309,     0,    28,    29,     0,     0,
5725      426,    32,   427,   428,    35,    36,     0,   407,    38,    39,
5726      429,     0,     0,   430,   431,   432,   433,     0,   434,     0,
5727      435,   436,    40,     0,   314,   315,   316,   317,   318,   319,
5728      320,     0,    43,    44,    45,    46,    47,    48,   206,   207,
5729      322,     0,    51,     0,     0,   437,     0,   438,   439,     0,
5730      302,  -737,     1,   303,   106,   327,   328,     0,     0,     0,
5731        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5732        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5733      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5734       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5735        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5736        0,     0,     0,     0,   307,    27,     0,   425,     0,     0,
5737      308,   309,     0,    28,    29,     0,     0,   426,    32,   427,
5738      428,    35,    36,     0,   407,    38,    39,   429,     0,     0,
5739      430,   431,   432,   433,     0,   434,     0,   435,   436,    40,
5740        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5741       44,    45,    46,    47,    48,   206,   207,   322,     0,    51,
5742        0,     0,   437,     0,   438,   439,     0,   302,  -648,     1,
5743      303,   106,   327,   328,     0,     0,     0,     0,     0,     0,
5744        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5745        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
5746        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5747       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5748        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5749        0,   307,    27,     0,   425,     0,     0,   308,   309,     0,
5750       28,    29,     0,     0,   426,    32,   427,   428,    35,    36,
5751        0,   407,    38,    39,   429,     0,     0,   430,   431,   432,
5752      433,     0,   434,     0,   435,   436,    40,     0,   314,   315,
5753      316,   317,   318,   319,   320,     0,    43,    44,    45,    46,
5754       47,    48,   206,   207,   322,     0,    51,     0,     0,   437,
5755        0,   438,   439,     0,   302,  -646,     1,   303,   106,   327,
5756      328,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5757        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5758        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5759       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5760       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5761        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5762        0,   425,     0,     0,   308,   309,     0,    28,    29,     0,
5763        0,   426,    32,   427,   428,    35,    36,     0,   407,    38,
5764       39,   429,     0,     0,   430,   431,   432,   433,     0,   434,
5765        0,   435,   436,    40,     0,   314,   315,   316,   317,   318,
5766      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5767      207,   322,     0,    51,     0,     0,   437,     0,   438,   439,
5768        0,   302,  -624,     1,   303,   106,   327,   328,     0,     0,
5769        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5770        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
5771      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
5772       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5773       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5774        0,     0,     0,     0,     0,   307,    27,     0,   425,     0,
5775        0,   308,   309,     0,    28,    29,     0,     0,   426,    32,
5776      427,   428,    35,    36,     0,   407,    38,    39,   429,     0,
5777        0,   430,   431,   432,   433,     0,   434,     0,   435,   436,
5778       40,     0,   314,   315,   316,   317,   318,   319,   320,     0,
5779       43,    44,    45,    46,    47,    48,   206,   207,   322,     0,
5780       51,     0,     0,   437,     0,   438,   439,     0,   921,  -623,
5781        1,   303,   106,   327,   328,     0,     0,     0,     0,     0,
5782        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5783        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5784      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5785       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5786        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5787        0,     0,   307,    27,     0,   425,     0,     0,   308,   309,
5788        0,    28,    29,     0,     0,   426,    32,   427,   428,    35,
5789       36,     0,   407,    38,    39,   429,     0,     0,   430,   431,
5790      432,   433,     0,   434,     0,   435,   436,    40,     0,   314,
5791      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5792       46,    47,    48,   206,   207,   322,     0,    51,     0,     0,
5793      437,     0,   438,   439,     0,   924,  -637,     1,   303,   106,
5794      327,   328,     0,     0,     0,     0,     0,     0,     0,     0,
5795        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5796        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5797       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5798       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5799        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5800       27,     0,   425,     0,     0,   308,   309,     0,    28,    29,
5801        0,     0,   426,    32,   427,   428,    35,    36,     0,   407,
5802       38,    39,   429,     0,     0,   430,   431,   432,   433,     0,
5803      434,     0,   435,   436,    40,     0,   314,   315,   316,   317,
5804      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5805      206,   207,   322,     0,    51,     0,     0,   437,     0,   438,
5806      439,     0,   302,  -638,     1,   303,   106,   327,   328,     0,
5807        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5808        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5809      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5810       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5811       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5812        0,     0,     0,     0,     0,     0,   307,    27,     0,   425,
5813        0,     0,   308,   309,     0,    28,    29,     0,     0,   426,
5814       32,   427,   428,    35,    36,     0,   407,    38,    39,   429,
5815        0,     0,   430,   431,   432,   433,     0,   434,     0,   435,
5816      436,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5817        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5818        0,    51,     0,     0,   437,     0,   438,   439,     0,   921,
5819     -647,     1,   303,   106,   327,   328,     0,     0,     0,     0,
5820        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5821        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
5822      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
5823       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5824        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5825        0,     0,     0,   307,    27,     0,   425,     0,     0,   308,
5826      309,     0,    28,    29,     0,     0,   426,    32,   427,   428,
5827       35,    36,     0,   407,    38,    39,   429,     0,     0,   430,
5828      431,   432,   433,     0,   434,     0,   435,   436,    40,     0,
5829      314,   315,   316,   317,   318,   319,   320,     0,    43,    44,
5830       45,    46,    47,    48,   206,   207,   322,     0,    51,     0,
5831        0,   437,     0,   438,   439,     0,   924,  -633,     1,   303,
5832      106,   327,   328,     0,     0,     0,     0,     0,     0,     0,
5833        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5834        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5835        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5836       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5837        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5838      307,    27,     0,   425,     0,     0,   308,   309,     0,    28,
5839       29,     0,     0,   426,    32,   427,   428,    35,    36,     0,
5840      407,    38,    39,   429,     0,     0,   430,   431,   432,   433,
5841        0,   434,     0,   435,   436,    40,     0,   314,   315,   316,
5842      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5843       48,   206,   207,   322,     0,    51,     0,     0,   437,     0,
5844      438,   439,     0,   921,  -634,     1,   303,   106,   327,   328,
5845        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5846        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5847        2,   200,   201,   202,   203,   204,     8,     9,    10,    11,
5848       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5849       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5850        0,     0,     0,     0,     0,     0,     0,   307,    27,     0,
5851      425,     0,     0,   308,   309,     0,    28,    29,     0,     0,
5852      426,    32,   427,   428,    35,    36,     0,   407,    38,    39,
5853      429,     0,     0,   430,   431,   432,   433,     0,   434,     0,
5854      435,   436,    40,     0,   314,   315,   316,   317,   318,   319,
5855      320,     0,    43,    44,    45,    46,    47,    48,   206,   207,
5856      322,     0,    51,     0,     0,   437,     0,   438,   439,     0,
5857      924,  -621,     1,   303,   106,   327,   328,     0,     0,     0,
5858        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5859        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5860      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5861       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5862        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5863        0,     0,     0,     0,   307,    27,     0,   425,     0,     0,
5864      308,   309,     0,    28,    29,     0,     0,   426,    32,   427,
5865      428,    35,    36,     0,   407,    38,    39,   429,     0,     0,
5866      430,   431,   432,   433,     0,   434,     0,   435,   436,    40,
5867        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5868       44,    45,    46,    47,    48,   206,   207,   322,     0,    51,
5869        0,     0,   437,     0,   438,   439,     0,   921,  -622,     1,
5870      303,   106,   327,   328,     0,     0,     0,     0,     0,     0,
5871        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5872        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
5873        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5874       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5875        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5876        0,   307,    27,     0,   425,     0,     0,   308,   309,     0,
5877       28,    29,     0,     0,   426,    32,   427,   428,    35,    36,
5878        0,   407,    38,    39,   429,     0,     0,   430,   431,   432,
5879      433,     0,   434,     0,   435,   436,    40,     0,   314,   315,
5880      316,   317,   318,   319,   320,     0,    43,    44,    45,    46,
5881       47,    48,   206,   207,   322,     0,    51,     0,     0,   437,
5882        0,   438,   439,     0,   924,  -616,     1,   303,   106,   327,
5883      328,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5884        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5885        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5886       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5887       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5888        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5889        0,   425,     0,     0,   308,   309,     0,    28,    29,     0,
5890        0,   426,    32,   427,   428,    35,    36,     0,   407,    38,
5891       39,   429,     0,     0,   430,   431,   432,   433,     0,   434,
5892        0,   435,   436,    40,     0,   314,   315,   316,   317,   318,
5893      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5894      207,   322,     0,    51,     0,     0,   437,     0,   438,   439,
5895        0,   921,  -617,     1,   303,   106,   327,   328,     0,     0,
5896        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5897        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
5898      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
5899       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5900       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5901        0,     0,     0,     0,     0,   307,    27,     0,   425,     0,
5902        0,   308,   309,     0,    28,    29,     0,     0,   426,    32,
5903      427,   428,    35,    36,     0,   407,    38,    39,   429,     0,
5904        0,   430,   431,   432,   433,     0,   434,     0,   435,   436,
5905       40,     0,   314,   315,   316,   317,   318,   319,   320,     0,
5906       43,    44,    45,    46,    47,    48,   206,   207,   322,     0,
5907       51,     0,     0,   437,     0,   438,   439,     0,   924,  -635,
5908        1,   303,   106,   327,   328,     0,     0,     0,     0,     0,
5909        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5910        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5911      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5912       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5913        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5914        0,     0,   307,    27,     0,   425,     0,     0,   308,   309,
5915        0,    28,    29,     0,     0,   426,    32,   427,   428,    35,
5916       36,     0,   407,    38,    39,   429,     0,     0,   430,   431,
5917      432,   433,     0,   434,     0,   435,   436,    40,     0,   314,
5918      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5919       46,    47,    48,   206,   207,   322,     0,    51,     0,     0,
5920      437,     0,   438,   439,     0,   424,  -636,     1,   303,   106,
5921      327,   328,     0,     0,     0,     0,     0,     0,     0,     0,
5922        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5923        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5924       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5925       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5926        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5927       27,     0,   425,     0,     0,   308,   309,     0,    28,    29,
5928        0,     0,   426,    32,   427,   428,    35,    36,     0,   407,
5929       38,    39,   429,     0,     0,   430,   431,   432,   433,     0,
5930      434,     0,   435,   436,    40,     0,   314,   315,   316,   317,
5931      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5932      206,   207,   322,     0,    51,     0,     0,   437,     0,   438,
5933      439,   490,     0,     1,   303,   106,     0,   327,   328,     0,
5934        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5935        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
5936      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
5937       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5938       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5939        0,     0,     0,     0,     0,   307,    27,     0,   425,     0,
5940        0,   308,   309,     0,    28,    29,     0,     0,   426,    32,
5941      427,   428,    35,    36,     0,   407,    38,    39,   429,     0,
5942        0,   430,   431,   432,   433,     0,   434,     0,   435,   436,
5943       40,     0,   314,   315,   316,   317,   318,   319,   320,     0,
5944       43,    44,    45,    46,    47,    48,   206,   207,   322,   199,
5945       51,     1,     0,   437,     0,   438,   439,     0,     0,     0,
5946        0,     0,     0,   327,   328,     0,     0,     0,     0,     0,
5947        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
5948      203,   204,     8,     9,    10,   565,    12,    13,    14,    15,
5949       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5950        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5951        0,     0,     0,   205,    27,     0,     0,     0,     0,     0,
5952        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
5953       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
5954        0,     0,     0,     0,     0,     0,     0,     0,    40,     0,
5955        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
5956       45,    46,    47,    48,   206,   207,     0,   199,    51,     1,
5957        0,   566,  1048,     0,     0,     0,     0,     0,     0,     0,
5958        0,     0,   567,     0,     0,     0,     0,     0,     0,     0,
5959        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
5960        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5961       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5962        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5963        0,   205,    27,     0,     0,     0,     0,     0,     0,     0,
5964       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
5965        0,    37,    38,    39,     0,     0,     0,     0,     0,     0,
5966        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
5967        0,     0,     0,     0,     0,     0,    43,    44,    45,    46,
5968       47,    48,   206,   207,     1,     0,    51,     0,     0,   862,
5969     1048,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5970      567,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5971      200,   201,   202,   203,   204,     8,     9,    10,   565,    12,
5972       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5973       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5974        0,     0,     0,     0,     0,     0,     0,    27,     0,     0,
5975        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
5976       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
5977        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5978        0,    40,     0,     0,     0,     0,     0,     0,     0,     0,
5979        0,    43,    44,    45,    46,    47,    48,   206,   207,     1,
5980        0,    51,     0,     0,   566,     0,     0,     0,     0,     0,
5981        0,     0,     0,     0,     0,   567,     0,   568,     0,     0,
5982        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
5983        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5984       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5985        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5986        0,     0,    27,     0,     0,     0,     0,     0,     0,     0,
5987       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
5988        0,    37,    38,    39,     0,     0,     0,     0,     0,     0,
5989        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
5990        0,     0,     0,     0,     0,     0,    43,    44,    45,    46,
5991       47,    48,   206,   207,     1,     0,    51,     0,     0,   862,
5992        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5993      567,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5994      200,   201,   202,   203,   204,   234,   235,   236,   237,   238,
5995      239,   240,   241,   242,   243,    18,    19,   244,   245,    22,
5996       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5997        0,     0,     0,     0,     0,     0,     0,   246,     0,     0,
5998        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
5999       32,     0,     0,     0,     0,     0,   247,    38,   248,     0,
6000        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6001        0,   249,     0,     0,     0,     0,     0,     0,     0,     0,
6002        0,    43,    44,   250,   251,   252,   253,   206,   207,     1,
6003        0,    51,     0,     0,   862,     0,     0,     0,     0,     0,
6004        0,  1425,     0,     0,     0,   567,     0,     0,     0,     0,
6005        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
6006      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
6007       18,    19,   244,   245,    22,    23,    24,     0,     0,     0,
6008        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6009        0,     0,   246,     0,     0,     0,     0,     0,     0,     0,
6010       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
6011        0,   247,    38,   248,     0,     0,     0,     0,     0,     0,
6012        0,     0,     0,     0,     0,     0,   249,     0,     0,     0,
6013        0,     0,     0,     0,     0,     0,    43,    44,   250,   251,
6014      252,   253,   206,   207,     1,     0,    51,     0,     0,   862,
6015        0,     0,     0,     0,     0,     0,  1442,     0,     0,     0,
6016      567,     0,     0,     0,     0,     0,     0,     0,     0,     2,
6017      200,   201,   202,   203,   204,   234,   235,   236,   237,   238,
6018      239,   240,   241,   242,   243,    18,    19,   244,   245,    22,
6019       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6020        0,     0,     0,     0,     0,     0,     0,   246,     0,     0,
6021        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6022       32,     0,     0,     0,     0,     0,   247,    38,   248,     0,
6023        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6024        0,   249,     0,     0,     0,     0,     0,     0,     0,     0,
6025        0,    43,    44,   250,   251,   252,   253,   206,   207,     1,
6026        0,    51,     0,     0,  1208,     0,     0,     0,     0,     0,
6027        0,     0,     0,     0,     0,  1209,     0,     0,     0,     0,
6028        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
6029      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
6030       18,    19,   244,   245,    22,    23,    24,     0,     0,     0,
6031        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6032        0,     0,   246,     0,     0,     0,     0,     0,     0,     0,
6033       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
6034        0,   247,    38,   248,     0,     0,     0,     0,     0,     0,
6035        0,     0,     0,     0,     0,     0,   249,     0,     0,     0,
6036        0,     0,     0,     0,     0,     0,    43,    44,   250,   251,
6037      252,   253,   206,   207,     1,     0,    51,     0,     0,  1208,
6038        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6039     1231,     0,     0,     0,     0,     0,     0,     0,     0,     2,
6040      200,   201,   202,   203,   204,   234,   235,   236,   237,   238,
6041      239,   240,   241,   242,   243,    18,    19,   244,   245,    22,
6042       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6043        0,     0,     0,     0,     0,     0,     0,   246,     0,     0,
6044        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6045       32,     0,     0,     0,     0,     0,   247,    38,   248,     0,
6046        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6047        0,   249,     0,     0,     0,     0,     0,     0,     0,     0,
6048        0,    43,    44,   250,   251,   252,   253,   206,   207,     1,
6049        0,    51,     0,     0,  1208,     0,     0,     0,     0,     0,
6050        0,     0,     0,     0,     0,  1687,     0,     0,     0,     0,
6051        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
6052      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
6053       18,    19,   244,   245,    22,    23,    24,     0,     0,     0,
6054        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6055        0,     0,   246,     0,     0,     0,     0,     0,     0,     0,
6056       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
6057        0,   247,    38,   248,     0,     0,     0,     0,     0,     0,
6058        0,     0,     0,     0,     0,     0,   249,     0,     0,     0,
6059        0,     0,     0,     0,     0,     0,    43,    44,   250,   251,
6060      252,   253,   206,   207,     1,     0,    51,     0,     0,  1208,
6061        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6062     1702,     0,     0,     0,     0,     0,     0,     0,     0,     2,
6063        3,     4,   273,     6,     7,     8,     9,    10,    11,    12,
6064       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6065       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6066        0,     0,     0,     0,     0,     0,    26,    27,     0,     0,
6067        0,     0,     0,     0,     0,    28,    29,   274,    31,     0,
6068       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
6069        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6070        0,    40,     0,     0,     0,     0,    42,     0,     0,     1,
6071        0,    43,    44,    45,    46,    47,    48,    49,    50,     0,
6072        0,    51,     0,     0,    52,     0,     0,     0,     0,     0,
6073        0,     0,     0,   275,     2,   200,   201,   202,   203,   204,
6074        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
6075       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
6076        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6077        0,     0,    27,     0,   425,     0,     0,     0,     0,     0,
6078       28,    29,     0,     0,   426,    32,     0,     0,    35,    36,
6079        0,    37,    38,    39,     0,     0,     0,     0,     0,     0,
6080        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
6081        0,     0,     0,     0,     1,     0,    43,    44,    45,    46,
6082       47,    48,   206,   207,     0,     0,    51,     0,     0,   949,
6083        0,   438,     0,     0,     0,     0,     0,     0,   950,     2,
6084      200,   201,   202,   203,   204,     8,     9,    10,   565,    12,
6085       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6086       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6087        0,     0,     0,     0,     0,     0,     0,    27,     0,     0,
6088        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6089       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
6090        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6091        0,    40,     0,     0,     0,     0,     0,     0,     0,     1,
6092        0,    43,    44,    45,    46,    47,    48,   206,   207,     0,
6093        0,    51,     0,     0,   929,     0,     0,     0,     0,     0,
6094        0,     0,     0,   930,     2,   200,   201,   202,   203,   204,
6095        8,     9,    10,   565,    12,    13,    14,    15,    16,    17,
6096       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
6097        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6098        0,     0,    27,     0,     0,     0,     0,     0,     0,     0,
6099       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
6100        0,    37,    38,    39,     0,     0,     0,     0,     0,     0,
6101        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
6102        0,     0,  1510,     0,     0,     0,    43,    44,    45,    46,
6103       47,    48,   206,   207,     0,     0,    51,     0,     0,    52,
6104        0,     0,     0,     0,     0,     0,     0,     0,   930,   -66,
6105      -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,
6106      -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,
6107      -66,   -66,     0,     0,     0,     0,     0,     0,     0,     0,
6108        0,     0,     0,     0,     0,     0,     0,   -66,     0,     0,
6109        0,     0,     0,     0,     0,   -66,   -66,     0,     0,     0,
6110      -66,     0,     0,     0,     0,     0,   -66,   -66,   -66,     0,
6111        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6112        0,   -66,     0,     0,  1714,     0,     0,     0,     0,     0,
6113        0,   -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,     0,
6114        0,     0,     0,     0,     0,     0,     0,  1511,     0,  1512,
6115      -66,     2,   200,   201,   202,   203,   204,   234,   235,   236,
6116      237,   238,   239,   240,   241,   242,   243,    18,    19,   244,
6117      245,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6118        0,     0,     0,     0,     0,     0,     0,     0,     0,   246,
6119        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6120        0,     0,    32,     0,     0,     0,     0,     0,   247,    38,
6121      248,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6122        0,     0,     0,   249,     0,     0,  1718,     0,     0,     0,
6123        0,     0,     0,    43,    44,   250,   251,   252,   253,   206,
6124      207,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6125        0,     0,  -111,     2,   200,   201,   202,   203,   204,   234,
6126      235,   236,   237,   238,   239,   240,   241,   242,   243,    18,
6127       19,   244,   245,    22,    23,    24,     0,     0,     0,     0,
6128        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6129        0,   246,     0,     0,     0,     0,     0,     0,     0,    28,
6130       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
6131      247,    38,   248,     0,     0,     0,     0,     0,     0,     0,
6132        0,     0,     0,     0,     0,   249,     0,     0,  1719,     0,
6133        0,     0,     0,     0,     0,    43,    44,   250,   251,   252,
6134      253,   206,   207,     0,     0,     0,     0,     0,     0,     0,
6135        0,     0,     0,     0,   -95,     2,   200,   201,   202,   203,
6136      204,   234,   235,   236,   237,   238,   239,   240,   241,   242,
6137      243,    18,    19,   244,   245,    22,    23,    24,     0,     0,
6138        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6139        0,     0,     0,   246,     0,     0,     0,     0,     0,     0,
6140        0,    28,    29,     0,     0,     0,    32,     0,     0,     0,
6141        0,     0,   247,    38,   248,     0,     0,     0,     0,     0,
6142        0,     0,     0,     0,     0,     0,     0,   249,     0,     0,
6143     1825,     0,     0,     0,     0,     0,     0,    43,    44,   250,
6144      251,   252,   253,   206,   207,     0,     0,     0,     0,     0,
6145        0,     0,     0,     0,     0,     0,   -96,     2,   200,   201,
6146      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
6147      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
6148        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6149        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
6150        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6151        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
6152        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
6153        0,     0,  1970,     0,     0,     0,     0,     0,     0,    43,
6154       44,   250,   251,   252,   253,   206,   207,     0,     0,     0,
6155        0,     0,     0,     0,     0,     0,     0,     0,   -80,     2,
6156      200,   201,   202,   203,   204,   234,   235,   236,   237,   238,
6157      239,   240,   241,   242,   243,    18,    19,   244,   245,    22,
6158       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6159        0,     0,     0,     0,     0,     0,     0,   246,     0,     0,
6160        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6161       32,     0,     0,     0,     0,     0,   247,    38,   248,     0,
6162        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6163        0,   249,     0, -1288,   292,     0,     1,     0,     0,     0,
6164        0,    43,    44,   250,   251,   252,   253,   206,   207,     0,
6165        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6166      -87,     2,     3,     4,     5,     6,     7,     8,     9,    10,
6167       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6168       21,    22,    23,    24,     0,     0,    25,     0,     0,     0,
6169        0,     0,     0,     0,     0,     0,     0,     0,    26,    27,
6170        0,     0,     0,     0,     0,     0,     0,    28,    29,    30,
6171       31,     0,    32,    33,    34,    35,    36,     0,    37,    38,
6172       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6173        0,     0,     0,    40,    41,     1,     0,     0,    42,     0,
6174        0,     0,     0,    43,    44,    45,    46,    47,    48,    49,
6175       50,     0,     0,    51,     0,     0,    52,     0,     0,    53,
6176        2,   200,   201,   202,   203,   204,     8,     9,    10,    11,
6177       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
6178       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
6179        0,     0,     0,     0,     0,     0,     0,     0,    27,     0,
6180        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
6181        0,    32,     0,     0,    35,    36,     0,    37,    38,    39,
6182        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6183        0,     0,    40,     0,     0,     0,     0,     1,     0,   832,
6184        0,     0,    43,    44,    45,    46,    47,    48,   206,   207,
6185        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6186        0,  1401,     2,   200,   201,   202,   203,   204,     8,     9,
6187       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
6188       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
6189        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6190       27,     0,     0,     0,     0,     0,     0,     0,    28,    29,
6191        0,     0,     0,    32,     0,     0,    35,    36,     0,    37,
6192       38,    39,     0,     0,     0,     0,     0,     0,     0,     0,
6193        0,     0,     0,     0,    40,     0,     0,     0,     0,     1,
6194        0,   832,     0,     0,    43,    44,    45,    46,    47,    48,
6195      206,   207,     0,     0,     0,     0,     0,     0,     0,     0,
6196        0,     0,     0,  1745,     2,   200,   201,   202,   203,   204,
6197        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
6198       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
6199        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6200        0,     0,    27,     0,     0,     0,     0,     0,     0,     0,
6201       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
6202        0,    37,    38,    39,     0,     0,     0,     0,     0,     0,
6203        0,     0,     0,     0,     0,     0,    40,     0,     0,   165,
6204        0,     1,     0,   832,     0,     0,    43,    44,    45,    46,
6205       47,    48,   206,   207,     0,     0,     0,     0,     0,     0,
6206        0,     0,     0,     0,     0,  1746,     2,     3,     4,   166,
6207        6,     7,     8,     9,    10,   167,   168,    13,    14,    15,
6208       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
6209        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6210        0,     0,     0,    26,    27,     0,     0,     0,     0,     0,
6211        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6212       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
6213        0,     0,     0,     0,     0,     0,     0,     0,    40,   165,
6214        0,     1,     0,     0,     0,     0,     0,     0,    43,    44,
6215       45,    46,    47,    48,    49,    50,     0,     0,    51,     0,
6216        0,    52,     0,     0,   169,     0,     2,     3,     4,   166,
6217        6,     7,     8,     9,    10,   167,   168,    13,    14,    15,
6218       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
6219        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6220        0,     0,     0,     0,    27,     0,     0,     0,     0,     0,
6221        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6222       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
6223        0,     0,     0,     0,     0,     0,     0,     0,    40,   605,
6224        0,     1,     0,     0,     0,     0,     0,     0,    43,    44,
6225       45,    46,    47,    48,    49,    50,     0,     0,    51,     0,
6226        0,    52,     0,     0,   169,     0,     2,   200,   201,   202,
6227      203,   204,   234,   235,   236,   606,   607,   239,   240,   241,
6228      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
6229        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6230        0,     0,     0,     0,   246,     0,     0,     0,     0,     0,
6231        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6232        0,     0,     0,   247,    38,   248,     0,     0,     0,     0,
6233        0,     0,     0,     0,     0,     0,     0,     0,   249,  -915,
6234        0,  -915,     0,     0,     0,     0,     0,     0,    43,    44,
6235      250,   251,   252,   253,   206,   207,     0,     0,    51,     0,
6236        0,    52,     0,     0,   608,     0,  -915,  -915,  -915,  -915,
6237     -915,  -915,  -915,  -915,  -915,  -915,  -915,  -915,  -915,  -915,
6238     -915,  -915,  -915,  -915,  -915,  -915,  -915,  -915,  -915,     0,
6239        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6240        0,     0,     0,     0,  -915,     0,     0,     0,     0,     0,
6241        0,     0,  -915,  -915,     0,     0,     0,  -915,     0,     0,
6242        0,     0,     0,  -915,  -915,  -915,     0,     0,     0,     0,
6243        0,     0,     0,     0,     0,     0,     0,     0,  -915,     0,
6244        1,     0,     0,     0,     0,     0,     0,     0,  -915,  -915,
6245     -915,  -915,  -915,  -915,  -915,  -915,     0,     0,  -915,     0,
6246        0,  -915,     0,     0,  -915,     2,     3,     4,     5,     6,
6247        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
6248       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
6249       25,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6250        0,     0,    26,    27,     0,     0,     0,     0,     0,     0,
6251        0,    28,    29,    30,    31,     0,    32,    33,    34,    35,
6252       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
6253        0,     0,     0,     0,     0,     0,     0,    40,    41,     0,
6254    -1289,   284,    42,     1,     0,     0,     0,    43,    44,    45,
6255       46,    47,    48,    49,    50,     0,     0,    51,     0,     0,
6256       52,     0,     0,    53,     0,     0,     0,     0,     2,     3,
6257        4,   166,     6,     7,     8,     9,    10,    11,    12,    13,
6258       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6259       24,     0,     0,    25,     0,     0,     0,     0,     0,     0,
6260        0,     0,     0,     0,     0,    26,    27,     0,     0,     0,
6261        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6262       33,    34,    35,    36,     0,    37,    38,    39,     0,     0,
6263        0,     0,     0,     0,     0,     0,     0,   199,     0,     1,
6264       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6265       43,    44,    45,    46,    47,    48,    49,    50,     0,     0,
6266       51,     0,     0,    52,     2,   200,   201,   202,   203,   204,
6267        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
6268       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
6269        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6270        0,   205,    27,     0,     0,     0,     0,     0,     0,     0,
6271       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
6272        0,    37,    38,    39,     0,     0,     0,     0,     0,     0,
6273        0,     0,     0,     0,     0,   199,    40,     1,     0,     0,
6274        0,     0,     0,     0,     0,     0,    43,    44,    45,    46,
6275       47,    48,   206,   207,     0,     0,    51,     0,     0,  1208,
6276     1674,     0,     2,   200,   201,   202,   203,   204,     8,     9,
6277       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
6278       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
6279        0,     0,     0,     0,     0,     0,     0,     0,     0,   205,
6280       27,     0,     0,     0,     0,     0,     0,     0,    28,    29,
6281        0,     0,     0,    32,     0,     0,    35,    36,     0,    37,
6282       38,    39,     0,     0,     0,     0,     0,     0,     0,     0,
6283        0,     0,     0,   199,    40,     1,     0,     0,     0,     0,
6284        0,     0,     0,     0,    43,    44,    45,    46,    47,    48,
6285      206,   207,     0,     0,     0,     0,     0,     0,   208,     0,
6286        2,   200,   201,   202,   203,   204,     8,     9,    10,    11,
6287       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
6288       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
6289        0,     0,     0,     0,     0,     0,     0,   205,    27,     0,
6290        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
6291        0,    32,     0,     0,    35,    36,     0,    37,    38,    39,
6292        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6293        0,   942,    40,     1,     0,     0,     0,     0,     0,     0,
6294        0,     0,    43,    44,    45,    46,    47,    48,   206,   207,
6295        0,     0,     0,     0,     0,     0,   390,     0,     2,   200,
6296      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6297       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6298       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6299        0,     0,     0,     0,     0,   205,    27,     0,     0,     0,
6300        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6301        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6302        0,     0,     0,     0,     0,     0,     0,     0,     0,  1468,
6303       40,     1,     0,     0,     0,     0,     0,     0,     0,     0,
6304       43,    44,    45,    46,    47,    48,   206,   207,     0,     0,
6305        0,     0,     0,     0,   208,     0,     2,   200,   201,   202,
6306      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
6307       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
6308        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6309        0,     0,     0,   205,    27,     0,     0,     0,     0,     0,
6310        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6311       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
6312        0,     0,     0,     0,     0,     0,     0,   199,    40,     1,
6313        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6314       45,    46,    47,    48,   206,   207,     0,     0,     0,     0,
6315        0,     0,   390,     0,     2,   200,   201,   202,   203,   204,
6316        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
6317       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
6318        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6319        0,   205,    27,     0,     0,     0,     0,     0,     0,     0,
6320       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
6321        0,    37,    38,    39,     0,     0,     0,     0,     0,     0,
6322        0,     0,     0,     0,     0,   199,    40,     1,     0,     0,
6323        0,     0,     0,     0,     0,     0,    43,    44,    45,    46,
6324       47,    48,   206,   207,     0,     0,     0,     0,     0,     0,
6325     1560,     0,     2,   200,   201,   202,   203,   204,     8,     9,
6326       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
6327       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
6328        0,     0,     0,     0,     0,     0,     0,     0,     0,   205,
6329       27,     0,     0,     0,     0,     0,     0,     0,    28,    29,
6330        0,     0,     0,    32,     0,     0,    35,    36,     0,    37,
6331       38,    39,     0,     0,     0,     0,     0,     0,     0,     0,
6332        0,     0,     0,   165,    40,     1,     0,     0,     0,     0,
6333        0,     0,     0,     0,    43,    44,    45,    46,    47,    48,
6334      206,   207,     0,     0,     0,     0,     0,     0,  1897,     0,
6335        2,     3,     4,   166,     6,     7,     8,     9,    10,   565,
6336       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
6337       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
6338        0,     0,     0,     0,     0,     0,     0,    26,    27,     0,
6339        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
6340        0,    32,     0,     0,    35,    36,     0,    37,    38,    39,
6341        0,     0,     0,     0,     0,     0,     0,     0,     0,   165,
6342        0,     1,    40,     0,     0,     0,     0,     0,     0,     0,
6343        0,     0,    43,    44,    45,    46,    47,    48,    49,    50,
6344        0,     0,    51,     0,     0,    52,     2,     3,     4,   166,
6345        6,     7,     8,     9,    10,   565,    12,    13,    14,    15,
6346       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
6347        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6348        0,     0,     0,     0,    27,     0,     0,     0,     0,     0,
6349        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6350       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
6351        0,     0,     0,     0,     0,   886,     0,     1,    40,     0,
6352        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6353       45,    46,    47,    48,    49,    50,     0,     0,    51,     0,
6354        0,    52,     2,   200,   201,   202,   203,   204,   234,   235,
6355      236,   237,   238,   239,   240,   241,   242,   243,    18,    19,
6356      244,   245,    22,    23,    24,     0,     0,     0,     0,     0,
6357        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6358      246,     0,     0,     0,     0,     0,     0,     0,    28,    29,
6359        0,     0,     0,    32,     0,     0,     0,     0,     0,   247,
6360       38,   248,     0,     0,     0,     0,     0,     0,     0,     0,
6361        0,     0,     0,     1,   249,     0,     0,     0,     0,     0,
6362        0,     0,     0,     0,    43,    44,   250,   251,   252,   253,
6363      206,   207,     0,     0,     0,     0,     0,   887,     2,     3,
6364        4,   166,     6,     7,     8,     9,    10,    11,    12,    13,
6365       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6366       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6367        0,     0,     0,     0,     0,    26,    27,     0,     0,     0,
6368        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6369        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6370        0,     0,     0,     0,     0,     0,     0,     0,     0,     1,
6371       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6372       43,    44,    45,    46,    47,    48,    49,    50,     0,     0,
6373       51,     0,     0,    52,     2,   200,   201,   202,   203,   204,
6374        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
6375       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
6376        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6377        0,     0,    27,     0,     0,     0,     0,     0,     0,     0,
6378       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
6379        0,    37,    38,    39,     0,     0,     0,     0,     0,     0,
6380        0,     0,     0,     0,     0,     1,    40,     0,     0,     0,
6381        0,     0,     0,     0,     0,     0,    43,    44,    45,    46,
6382       47,    48,   206,   207,     0,     0,    51,     0,     0,    52,
6383        2,   200,   201,   202,   203,   204,     8,     9,    10,   565,
6384       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
6385       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
6386        0,     0,     0,     0,     0,     0,     0,     0,    27,     0,
6387        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
6388        0,    32,     0,     0,    35,    36,     0,    37,    38,    39,
6389        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6390        0,     1,    40,     0,     0,     0,     0,     0,     0,     0,
6391        0,     0,    43,    44,    45,    46,    47,    48,   206,   207,
6392        0,     0,    51,     0,     0,    52,     2,   200,   201,   202,
6393      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
6394       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
6395        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6396        0,     0,     0,     0,    27,     0,     0,     0,     0,     0,
6397        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6398       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
6399        0,     0,     0,     0,     0,     0,     0,     1,    40,     0,
6400        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6401       45,    46,    47,    48,   206,   207,     0,     0,     0,     0,
6402        0,   721,     2,   200,   201,   202,   203,   204,     8,     9,
6403       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
6404       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
6405        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6406       27,     0,     0,     0,     0,     0,     0,     0,    28,    29,
6407        0,     0,     0,    32,     0,     0,    35,    36,     0,    37,
6408       38,    39,     0,     0,     0,     0,     0,     0,     0,     0,
6409        0,     0,     0,     1,    40,     0,     0,     0,     0,     0,
6410        0,     0,     0,     0,    43,    44,    45,    46,    47,    48,
6411      206,   207,     0,     0,     0,     0,     0,  1447,     2,   200,
6412      201,   202,   203,   204,   234,   235,   236,  1532,   238,   239,
6413      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
6414       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6415        0,     0,     0,     0,     0,     0,   246,     0,     0,     0,
6416        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6417        0,     0,     0,     0,     0,   247,    38,   248,     0,     0,
6418        0,     0,     0,     0,     0,     0,     0,  1071,     0,     1,
6419      249,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6420       43,    44,   250,   251,   252,   253,   206,   207,     0,     0,
6421       51,     0,     0,    52,     2,   200,   201,   202,   203,   204,
6422        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
6423       18,    19,    20,    21,    22,    23,    24,  1072,     0,     0,
6424        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6425        0,   205,    27,     0,     0,     0,     0,     0,     0,     0,
6426       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
6427        0,    37,    38,    39,     0,     0,     0,  1077,     0,     1,
6428        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
6429        0,     0,     0,     0,     0,     0,    43,    44,    45,    46,
6430       47,    48,   206,   207,     2,   200,   201,   202,   203,   204,
6431        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
6432       18,    19,    20,    21,    22,    23,    24,  1078,     0,     0,
6433        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6434        0,   205,    27,     0,     0,     0,     0,     0,     0,     0,
6435       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
6436        0,    37,    38,    39,     0,     0,     0,  1083,     0,     1,
6437        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
6438        0,     0,     0,     0,     0,     0,    43,    44,    45,    46,
6439       47,    48,   206,   207,     2,   200,   201,   202,   203,   204,
6440        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
6441       18,    19,    20,    21,    22,    23,    24,  1084,     0,     0,
6442        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6443        0,   205,    27,     0,     0,     0,     0,     0,     0,     0,
6444       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
6445        0,    37,    38,    39,     0,     0,     0,   871,     0,     1,
6446        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
6447        0,     0,     0,     0,     0,     0,    43,    44,    45,    46,
6448       47,    48,   206,   207,     2,   200,   201,   202,   203,   204,
6449      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
6450       18,    19,   244,   245,    22,    23,    24,     0,     0,     0,
6451        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6452        0,     0,   246,     0,     0,     0,     0,     0,     0,     0,
6453       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
6454        0,   247,    38,   248,     0,     0,     0,     0,     0,     1,
6455        0,     0,     0,     0,     0,     0,   249,     0,     0,     0,
6456        0,     0,     0,     0,     0,     0,    43,    44,   250,   251,
6457      252,   253,   206,   207,     2,   200,   201,   202,   203,   204,
6458        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
6459       18,    19,    20,    21,    22,    23,    24,  1032,     0,     0,
6460        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6461        0,   205,    27,     0,     0,     0,     0,     0,     0,     0,
6462       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
6463        0,    37,    38,    39,     0,     0,     0,     0,     0,     1,
6464        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
6465        0,     0,     0,     0,     0,     0,    43,    44,    45,    46,
6466       47,    48,   206,   207,     2,   200,   201,   202,   203,   204,
6467        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
6468       18,    19,    20,    21,    22,    23,    24,  1089,     0,     0,
6469        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6470        0,   205,    27,     0,     0,     0,     0,     0,     0,     0,
6471       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
6472        0,    37,    38,    39,     0,     0,     0,     0,     0,     1,
6473        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
6474        0,     0,     0,     0,     0,     0,    43,    44,    45,    46,
6475       47,    48,   206,   207,     2,   200,   201,   202,   203,   204,
6476        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
6477       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
6478        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6479        0,   504,    27,     0,     0,     0,     0,     0,     0,     0,
6480       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
6481        0,    37,    38,    39,     0,     0,     0,     0,     0,     1,
6482        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
6483        0,     0,     0,     0,     0,     0,    43,    44,    45,    46,
6484       47,    48,   206,   207,     2,   200,   201,   202,   203,   204,
6485        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
6486       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
6487        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6488        0,     0,    27,     0,     0,     0,     0,     0,     0,     0,
6489       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
6490        0,    37,    38,    39,     0,     0,     0,     0,     0,     1,
6491        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
6492        0,     0,     0,   832,     0,     0,    43,    44,    45,    46,
6493       47,    48,   206,   207,     2,   200,   201,   202,   203,   204,
6494        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
6495       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
6496        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6497        0,   205,    27,     0,     0,     0,     0,     0,     0,     0,
6498       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
6499        0,    37,    38,    39,     0,     0,     0,     0,     0,     1,
6500        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
6501        0,     0,     0,     0,     0,     0,    43,    44,    45,    46,
6502       47,    48,   206,   207,     2,   200,   201,   202,   203,   204,
6503      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
6504       18,    19,   244,   245,    22,    23,    24,     0,     0,     0,
6505        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6506        0,     0,   246,     0,     0,     0,     0,     0,     0,     0,
6507       28,    29,     0,     0,     0,    32,   479,   480,     0,     0,
6508        0,   247,    38,   248,     0,     0,     0,     0,     0,     1,
6509        0,     0,     0,     0,     0,     0,   249,     0,     0,     0,
6510        0,     0,     0,     0,     0,     0,    43,    44,   250,   251,
6511      252,   253,   206,   207,     2,   200,   201,   202,   203,   204,
6512        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
6513       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
6514        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6515        0,     0,    27,     0,     0,     0,     0,     0,     0,     0,
6516       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
6517        0,    37,    38,    39,     0,     0,     0,     0,     0,     1,
6518        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
6519        0,     0,     0,     0,     0,     0,    43,    44,    45,    46,
6520       47,    48,   206,   207,     2,   200,   201,   202,   203,   204,
6521      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
6522       18,    19,   244,   245,    22,    23,    24,     0,     0,     0,
6523        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6524        0,     0,   246,     0,     0,     0,     0,     0,     0,     0,
6525       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
6526        0,   247,    38,   248,     0,     0,     0,     0,     0,     0,
6527        0,     0,     0,     0,     0,     0,   249,     0,     0,     0,
6528        0,     0,     0,     0,     0,     0,    43,    44,   250,   251,
6529      252,   253,   206,   207,     2,   200,   201,   202,   203,   204,
6530      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
6531       18,    19,   244,   245,    22,    23,    24,     0,     0,     0,
6532        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6533        0,     0,   246,     0,     0,     0,     0,     0,     0,     0,
6534       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
6535        0,   247,    38,   248,     0,     0,     0,     0,     0,     0,
6536        0,     0,     0,     0,     0,     0,   249,     0,     0,     0,
6537        0,     0,     0,     0,     0,     0,    43,    44,   250,   251,
6538      252,   253,   206,   207,     0,     0,    51,     0,     0,   862,
6539     1671,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6540      567,     2,   200,   201,   202,   203,   204,   234,   235,   236,
6541      237,   238,   239,   240,   241,   242,   243,    18,    19,   244,
6542      245,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6543        0,     0,     0,     0,     0,     0,     0,     0,     0,   246,
6544        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6545        0,     0,    32,     0,     0,     0,     0,     0,   247,    38,
6546      248,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6547        0,     0,     0,   249,     0,     0,     0,     0,     0,     0,
6548        0,     0,     0,    43,    44,   250,   251,   252,   253,   206,
6549      207,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6550        0,     0,     0,   254,     2,   200,   201,   202,   203,   204,
6551      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
6552       18,    19,   244,   245,    22,    23,    24,     0,     0,     0,
6553        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6554        0,     0,   246,     0,     0,     0,     0,     0,     0,     0,
6555       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
6556        0,   247,    38,   248,     0,     0,     0,     0,     0,     0,
6557        0,     0,     0,     0,     0,     0,   249,     0,     0,     0,
6558        0,     0,     0,     0,     0,     0,    43,    44,   250,   251,
6559      252,   253,   206,   207,     0,     0,     0,     0,     0,     0,
6560        0,     0,     0,     0,     0,  1521,     2,   200,   201,   202,
6561      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
6562      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
6563        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6564        0,     0,     0,     0,   246,     0,     0,     0,     0,     0,
6565        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6566        0,     0,     0,   247,    38,   248,     0,     0,     0,     0,
6567        0,     0,     0,     0,     0,     0,     0,     0,   249,     0,
6568        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6569      250,   251,   252,   253,   206,   207
6570 };
6571
6572 static const yytype_int16 yycheck[] =
6573 {
6574        0,    92,    86,   536,   928,   132,   861,   288,   642,   153,
6575     1218,   928,   720,   471,   861,   345,    86,     5,   938,   345,
6576      837,  1016,   581,  1101,    83,   828,   998,   475,  1000,   828,
6577       30,    31,   156,   999,   472,    93,   100,     1,    93,   128,
6578        5,    41,   837,    83,   128,   998,    84,  1000,    83,    30,
6579      471,   128,    52,   744,     1,   998,   183,  1000,   128,    59,
6580      751,    42,   744,   754,    64,    64,    66,   270,   861,   751,
6581       83,   100,   754,     3,    93,   885,   960,     5,  1609,    83,
6582       93,   100,    82,    83,    84,     1,    86,   100,   556,    93,
6583     1621,    91,   795,    93,     1,   186,   187,   722,    28,     5,
6584      100,   101,   128,   328,   104,    77,   998,    37,  1000,   135,
6585        3,     3,     5,   113,   536,   121,   116,    59,   586,     5,
6586      823,   589,   144,   591,   130,   593,   107,   108,   128,     3,
6587      111,   131,   132,    83,    84,   157,   136,   159,     1,   161,
6588      140,   141,   142,     3,   144,     5,   134,     3,   148,   959,
6589      150,     0,    17,   153,   154,   144,   156,   157,   158,   159,
6590      132,   161,     3,   128,   164,   129,   344,     1,   157,     3,
6591      159,   113,   161,     3,   174,   174,     1,   268,   186,   187,
6592      358,   131,     1,   183,   362,   132,   979,   121,   466,   467,
6593      471,     1,   126,   123,     1,   309,     3,  2095,   198,     1,
6594      128,   315,     1,     3,   134,     5,   132,     1,     3,     3,
6595      210,     3,   212,   129,   492,   493,     1,     5,     0,   278,
6596      220,   221,   129,     1,   288,   131,   290,   265,     1,   288,
6597      230,   124,   290,   233,    83,   290,   514,   515,   278,   132,
6598        1,   519,   520,   278,    93,   523,   524,   881,   288,     1,
6599      124,   100,   101,  2151,   128,     1,   198,   183,   132,   288,
6600        3,   290,   270,     1,   124,   265,   129,   123,   395,     1,
6601      270,   290,   132,   387,   274,   389,   270,   290,   278,   144,
6602     1252,   289,     1,   124,   288,  1251,   290,  1259,   288,   288,
6603      290,  1263,  1258,   274,   124,   129,  1262,     3,   422,  1252,
6604        1,    83,     3,    17,   129,   864,  1259,   126,   308,  1252,
6605     1263,    93,   878,   123,   314,   265,  1259,     3,   100,   101,
6606     1263,  1852,   129,  1207,   124,   325,   796,   129,   278,   124,
6607      129,     3,   132,   128,   126,   129,   128,   132,   760,   339,
6608        3,   126,    28,   128,   129,   133,   327,   760,   126,     5,
6609      441,   442,   443,   444,   824,   123,   129,   793,   794,     1,
6610     1252,     3,   121,     3,    17,    28,   134,  1259,   129,   126,
6611      123,  1263,   221,   130,   126,   798,   128,   129,   121,   122,
6612        1,   381,   382,   129,   806,   821,   822,   387,   472,   389,
6613     1193,   129,  1195,   806,  1193,   395,  1195,   129,     3,   128,
6614        1,   401,   472,   826,   531,   134,     7,     8,     9,     1,
6615      129,    52,   123,   557,   414,  1106,   697,     1,   124,   419,
6616      547,   421,   422,    28,  1106,   425,   426,   885,   129,   278,
6617      144,   431,   123,    73,   434,   435,   436,   437,   438,   288,
6618     1006,   290,     3,   134,   130,   387,   537,   389,    90,   540,
6619      780,   781,   782,   567,   780,   781,   782,   878,   130,    92,
6620      123,   664,   665,   666,   667,    17,   466,   467,   468,   395,
6621      126,   471,   472,   651,  1682,   475,   654,   566,   478,     1,
6622      810,   811,   812,   483,   810,   811,   812,   487,   488,   566,
6623      131,   144,   492,   493,  1053,  1866,   278,   935,   946,  1577,
6624      948,   959,   123,   124,   504,  1064,   288,   128,   290,     5,
6625      510,   511,  1432,   627,   514,   515,     1,   938,     1,   519,
6626      520,     3,   123,   523,   524,   130,   127,   527,   528,   529,
6627      131,   531,   124,   134,   534,   123,   128,   136,   959,   561,
6628     1424,   563,   126,  1538,   128,   545,   546,   547,  1006,   774,
6629        3,   551,  1472,   186,   187,  1475,   556,   557,     3,   120,
6630      121,   561,     3,   563,   564,  1420,   566,   567,   568,   130,
6631      419,   571,   561,  1420,   563,    28,   801,   527,   528,   529,
6632      221,   581,     3,  1208,   809,  1006,   586,  1404,  1405,   589,
6633        3,   591,   144,   593,  1016,   545,   546,   878,     5,   126,
6634      600,  1226,  1070,  1487,   829,   531,   128,  1531,  1233,  1404,
6635     1405,     3,  1584,     5,  1531,     5,     1,  1583,     3,     3,
6636     1088,   547,   471,     5,     3,   567,     3,  1420,   124,   720,
6637        3,  1584,   632,   697,   634,   268,    28,   270,   697,   124,
6638      129,  1584,   642,   128,   426,   128,   797,  2018,   130,  2020,
6639     1505,  1498,     3,  1500,     3,   581,   289,   697,   600,   998,
6640      999,  1000,   511,   128,   664,   665,   666,   667,   697,   134,
6641      664,   665,   666,   667,   825,     3,   121,   130,   959,   123,
6642     1888,   126,   682,   683,   692,   693,   121,     3,     3,   130,
6643      134,   691,  1584,    11,    73,   130,    73,   697,   679,   680,
6644      130,  1696,   132,   703,     7,     8,     9,   120,   121,   130,
6645      123,   711,    28,  2084,    65,  2086,   123,  2088,   718,   719,
6646      720,   721,   722,   723,     3,  1006,     7,     8,     9,   729,
6647     1152,   129,   732,   123,  1156,   120,   121,  1159,   130,  1161,
6648      124,   741,   124,   128,   725,   726,   727,   120,   121,    83,
6649      129,   350,   129,   556,   127,  2126,  2127,   757,  2129,     1,
6650      130,   761,   132,  1041,  1042,    69,    70,  1045,  1046,   120,
6651      121,   120,   121,   862,  2145,  1466,     1,   127,   127,   130,
6652      120,   419,   132,   586,  1466,   862,   589,     1,   591,   799,
6653      593,  2162,   120,   121,     1,  1767,   437,  1681,  1793,   130,
6654     1766,   132,  1686,   803,   122,   120,   121,   807,   441,  1804,
6655      128,   444,   666,   667,  1767,   130,   930,   827,     1,   795,
6656      911,   912,   421,   914,  1767,   129,   917,   918,   131,   973,
6657        1,   134,   832,   833,   834,  1755,  1756,   837,   838,   839,
6658      130,   123,   123,   967,   968,   124,   935,   823,   697,   183,
6659      131,   935,   134,   134,   703,   969,    12,    13,   935,  1418,
6660      860,   861,   862,   796,     3,   935,   866,  1751,   868,   869,
6661        7,     8,     9,   511,   127,  1767,   876,   877,   878,   132,
6662      729,   881,   124,   732,     3,   885,   128,   887,   888,    28,
6663      890,   824,   892,  1037,  1038,     3,   300,   129,   989,   124,
6664        7,     8,     9,   128,   537,   309,  1109,   540,     3,  1112,
6665      124,   315,  1251,  1252,   128,   697,   123,   124,  1248,  1258,
6666     1259,   128,  1248,  1262,  1263,   566,  1053,   568,   566,   929,
6667        3,   931,   126,    28,   123,   935,   130,  1792,   938,     0,
6668      123,   124,    37,   943,   278,   128,   946,  1150,   948,   949,
6669      972,     5,  1066,   124,   288,    28,   134,   128,   958,   959,
6670      960,  1164,  1165,  1166,  1167,   121,   122,   967,   968,   122,
6671      970,   122,   972,   973,     3,   128,  1065,   128,   978,   979,
6672      980,   981,    11,   972,   123,   834,   123,   798,  1065,  1984,
6673      729,  1550,   122,   732,   131,    79,  1704,   134,   128,   300,
6674      127,   120,   121,  1117,   123,  1538,  1006,  1641,   309,  1467,
6675      122,  1432,   120,   121,   315,   826,   128,     7,     8,     9,
6676      869,  1905,   130,   126,   131,  1047,   110,   111,   123,   878,
6677     1255,   664,   665,   666,   667,   797,   885,  1037,  1038,   137,
6678      138,  1041,  1042,   892,  1968,  1045,  1046,  1047,   132,  1049,
6679     1675,  1472,  1052,  1053,  1475,     7,     8,     9,  1047,   692,
6680      693,   694,  1062,   825,  1064,  1065,  1066,  2062,   793,   794,
6681     1070,   121,     3,  1073,     5,   128,  1076,   122,   128,  1079,
6682      128,     3,  1082,   128,   134,  1085,   799,     3,  1088,   128,
6683     1090,   120,   121,   122,   943,  1209,   821,   822,   127,   128,
6684       31,   130,  1052,   741,  1104,     3,    28,   128,  2103,  1109,
6685      959,     3,  1112,     5,   827,  1109,  1538,  1231,  1112,  1208,
6686      129,  1121,    44,  1123,  1066,    12,    13,  1053,    14,    15,
6687       28,  1208,  1132,  1980,   120,  1982,  1062,   471,  1064,   129,
6688        3,   131,     5,   130,     6,  1145,     8,     9,   129,    65,
6689     1150,  1151,    74,    75,   140,   141,  1150,     7,     8,     9,
6690     1141,  1183,   124,   122,  1164,  1165,  1166,  1167,    31,   128,
6691     1164,  1165,  1166,  1167,   123,   127,    74,    75,   127,   131,
6692      124,    79,  1182,  1183,  1184,   134,  1186,   123,    86,  1748,
6693      789,   790,   129,   792,  1183,   122,  1196,   531,  1198,  1907,
6694      534,   128,   124,  1203,   120,   121,   128,  1207,  1208,    10,
6695       11,    73,   110,   111,   121,  1493,  1494,   120,   817,   818,
6696      819,   820,    84,   130,   862,   132,  1226,   123,   120,   121,
6697      123,   869,   130,  1233,   121,   122,  1870,   140,   141,   877,
6698      122,     1,  1242,     3,  1583,  1584,   128,   109,   124,   890,
6699      888,    77,   128,  1812,  1196,  1109,   132,   119,  1112,   121,
6700      124,   860,   861,     1,   128,   123,     1,  1070,  1249,  1547,
6701     1548,  1804,   134,  1076,   122,   137,   138,   139,     3,  1082,
6702      128,   131,   527,   528,   529,  1088,   783,   784,   929,   122,
6703        3,   127,    69,    70,   698,   128,  1150,     3,    11,  1721,
6704      545,   546,   943,    28,  1726,   137,   138,  1729,   949,   122,
6705     1164,  1165,  1166,  1167,    91,   128,   813,   814,    95,    44,
6706       97,   123,    28,     7,     8,     9,    10,    11,    12,    13,
6707       14,    15,    16,    17,  1755,  1756,    74,    75,    44,    74,
6708       75,    79,   124,   130,    79,   132,   128,  1196,    86,    74,
6709       75,    86,   129,   122,  1203,   123,   989,   691,   122,   128,
6710      123,   960,  1476,   697,   128,    74,    75,   123,    74,    75,
6711       79,  1793,   110,   111,   124,   110,   111,    86,   128,   124,
6712      124,   124,  1804,   128,   128,   128,  1589,  1590,   126,   127,
6713      128,   126,   127,   128,   123,  1395,  1396,   698,  1601,  1399,
6714     1400,   110,   111,   123,  1404,  1405,   123,   120,   121,   122,
6715        1,  1052,   783,   784,  1052,   128,  1416,   130,   124,  1400,
6716     1420,  1421,   124,  1550,  1424,   124,   128,  1766,  1767,   128,
6717     1430,   387,  1432,   389,   123,  1435,   124,   121,   122,  1439,
6718      128,   136,   813,   814,  1444,  1445,  1446,   131,    88,    89,
6719       90,  1984,   136,   137,   138,   130,   140,   141,   142,   143,
6720      144,   130,   124,   132,   154,  2099,   128,  1467,   158,  1469,
6721        3,   130,  1472,   124,     0,  1475,  1109,   128,  1478,  1112,
6722      126,   132,   128,    74,    75,    74,    75,  1487,    79,   126,
6723       79,   128,    79,  1493,  1494,    86,  1446,    86,  1498,  1499,
6724     1500,  1501,   143,    18,    19,    20,    21,    22,    23,    24,
6725       25,    26,    27,     1,   126,     3,   128,  1150,   142,   110,
6726      111,   110,   111,   110,   111,   130,   130,   132,   132,  2062,
6727       16,  1164,  1165,  1166,  1167,   126,   124,   128,   127,   126,
6728      136,    74,    75,   130,   878,   142,    79,  1547,  1548,   143,
6729     1550,     3,    16,    86,  1187,   124,  1189,    83,  1558,   128,
6730       10,    11,  1984,   132,     1,  1203,     3,    93,  1206,  1569,
6731        1,  1685,     3,  1687,   100,   101,    28,   110,   111,   136,
6732        1,     1,     3,     3,   785,   786,   124,  1701,  1702,  1589,
6733     1590,   126,   123,   128,  1683,  1589,  1590,   130,   130,  1599,
6734      132,  1601,  1602,   130,   938,  1605,  1683,  1601,  1207,  1609,
6735      130,   567,   127,  1613,   815,   816,  1616,   126,     1,   128,
6736     1469,   124,    74,    75,  1550,   959,   130,    79,   132,    14,
6737       15,  1612,  1558,  1512,    86,  1514,   130,  1840,   785,   786,
6738     2062,  1641,  1512,   124,  1514,   909,   910,  1628,  1648,  1874,
6739     1875,  1876,  1877,  1878,  1879,  1880,  1881,   124,   110,   111,
6740      530,   128,   909,   910,   126,   132,  1757,   128,   815,   816,
6741      126,   627,  1006,   545,   546,   664,   665,   121,   130,   664,
6742      665,  1681,   121,  1683,   127,  1812,  1686,   100,   101,   838,
6743      839,    74,    75,   121,   128,   221,    79,  1975,  1976,   135,
6744     1978,  1979,   135,    86,  1704,   130,  1706,  1707,   135,   128,
6745     1710,  1989,  1990,  1991,  1992,   130,   130,   134,   128,     3,
6746     1569,   128,   128,   126,   129,   123,   130,   110,   111,   123,
6747      132,   123,   123,   126,   130,  1589,  1590,   126,     3,   123,
6748      123,   124,  1742,  1968,    28,   128,    11,  1601,   126,   126,
6749      126,  1751,   278,    37,   126,  1755,  1756,   121,  1758,   124,
6750      129,  1783,   288,  1785,   290,   135,   121,   135,   135,   135,
6751     1770,   129,   135,  2103,   135,   134,   130,  2103,   130,  1417,
6752     2058,  2059,   126,  1783,   121,  1785,   128,  1809,  1788,  1811,
6753       74,    75,  1906,   350,  1783,    79,  1785,   129,   129,   325,
6754      124,  1915,    86,   124,   124,  1446,  2009,   135,  2011,  1809,
6755      135,  1811,  1812,   135,   124,   123,   132,   124,   124,   132,
6756     1809,  1420,  1811,   132,   123,  1424,   110,   111,  1469,   123,
6757      123,    56,   123,   123,  1834,  1835,  1836,  1837,   126,   123,
6758     1840,   711,   121,   126,  1844,  1845,  1840,  1847,   126,  1849,
6759     1184,   121,  1186,   126,   121,   120,   121,   122,  1972,  1973,
6760      124,  1861,   127,   128,   421,   130,    74,    75,   124,   123,
6761     1870,    79,   134,  1873,   744,  2078,     3,   121,    86,   124,
6762      128,   751,   124,  1864,   754,  1866,  1812,   124,  1487,  1522,
6763        3,   134,   128,   419,   124,   141,   128,   124,   144,   132,
6764      129,    28,   110,   111,   132,  1905,  1505,  1907,   132,   132,
6765       37,   157,   124,   159,     7,   161,   124,    10,    11,    12,
6766       13,    14,    15,    16,    17,   124,   124,   127,  1569,   126,
6767      124,  1569,   124,   129,   124,   124,    56,   124,   123,  1788,
6768      135,   123,   135,   123,   135,   471,   132,    74,    75,   132,
6769      121,   132,    79,   132,   132,  1977,  1589,  1590,   132,    86,
6770      124,    74,    75,   124,   124,   124,    79,   124,  1601,     3,
6771      124,   126,   135,    86,   930,  1975,  1976,  1977,  1978,  1979,
6772     1980,   134,  1982,   110,   111,   511,  1840,   135,  1977,  1989,
6773     1990,  1991,  1992,   120,    28,   135,   123,   110,   111,   135,
6774     2000,  2092,  2093,    37,   134,    11,   130,   134,   127,  2009,
6775      123,  2011,  2012,   969,   130,  2009,   126,  2011,    37,   127,
6776      132,  2021,  2022,   132,   127,    44,    45,   123,   121,   122,
6777      130,     0,   126,   124,   124,   124,   135,  2018,   131,  2020,
6778       74,    75,    64,   135,   124,    79,    64,   140,   141,   142,
6779      143,   144,    86,   135,   135,    74,    75,   135,  2058,  2059,
6780       79,   135,   135,   135,   124,  2065,  2066,    86,   124,  2069,
6781      124,  2071,    41,   124,  2074,   124,   110,   111,  2078,   126,
6782      135,   124,  1681,   135,  2078,   135,   126,  1686,   126,   123,
6783       59,   110,   111,  2093,   135,  2095,   135,    66,  1432,  2099,
6784      134,   120,  2083,  2084,   130,  2086,   126,  2088,   124,   126,
6785     1066,  2111,   126,   126,    83,   126,   126,    86,   126,   126,
6786     2134,   126,   126,    92,    93,   124,   126,   478,   998,   999,
6787     1000,   100,   101,     3,  2134,  2135,  2117,   126,  1472,  2139,
6788      478,  1475,   478,   478,   113,  2126,  2127,   116,  2129,   478,
6789     1788,  2151,  1751,  1501,   978,  2009,   860,  2011,    28,   128,
6790      288,  1117,   288,   915,  2145,   970,   426,   136,   806,  1467,
6791      436,   697,   141,   142,   723,   144,   314,   703,  1793,   265,
6792     2083,  2162,   100,    93,    93,   154,   270,   156,   157,   158,
6793      159,    93,   161,  1792,   720,   101,  1742,    -1,    -1,    -1,
6794       -1,    -1,    -1,   729,    74,    75,   732,  1840,    -1,    79,
6795       -1,    -1,    -1,    -1,    -1,   741,    86,   186,   187,    -1,
6796      466,   467,    74,    75,  2078,    -1,    -1,    79,    -1,   198,
6797       -1,    -1,   789,   790,    86,   792,  1106,    -1,    -1,    -1,
6798      110,   111,    -1,   212,    -1,    -1,   492,   493,    -1,    -1,
6799       -1,    -1,   221,  1209,    -1,    -1,    -1,    -1,   110,   111,
6800      817,   818,   819,   820,   141,    -1,    -1,   144,   514,   515,
6801       -1,    -1,   124,   519,   520,  1231,    -1,   523,   524,    -1,
6802      157,    -1,   159,    -1,   161,    -1,    -1,    -1,    -1,    -1,
6803       -1,     3,    -1,    -1,    -1,    -1,   265,    -1,    -1,   268,
6804      269,   270,    -1,   860,   861,    -1,  1905,    -1,   834,   278,
6805       -1,    -1,    -1,    -1,    -1,   561,    28,   563,    -1,   288,
6806      289,   290,    -1,  1727,  1728,    37,  1730,  1731,    -1,    -1,
6807       -1,  1735,  1736,  1737,  1738,    -1,    -1,    -1,    -1,   308,
6808       -1,    -1,    -1,   869,    -1,   314,    -1,    -1,    -1,    44,
6809       45,    -1,   878,    -1,    -1,    -1,   325,    -1,    -1,   885,
6810       -1,    -1,    74,    75,   890,    -1,   892,    79,    -1,    -1,
6811       -1,    -1,     3,    -1,    86,    -1,  2009,    -1,  2011,    74,
6812       75,  1251,  1252,    -1,    79,    -1,    -1,    -1,  1258,  1259,
6813       -1,    86,  1262,  1263,    -1,    74,    75,    28,   110,   111,
6814       79,    -1,    -1,   960,    -1,    -1,    37,    86,   120,    -1,
6815       -1,   123,   124,   382,    -1,   110,   111,   943,   387,    -1,
6816      389,  1755,  1756,    -1,     3,    -1,  1727,  1728,   123,  1730,
6817     1731,   110,   111,   959,  1735,  1736,  1737,  1738,    -1,    -1,
6818       -1,    -1,    -1,    74,    75,  2078,    -1,    -1,    79,    28,
6819      419,   130,   421,   422,    -1,    86,   425,   426,    37,    38,
6820       -1,    -1,   431,    -1,    -1,    -1,   435,   436,    -1,   438,
6821     1874,  1875,  1876,  1877,  1878,  1879,  1880,  1881,    -1,   110,
6822      111,    -1,    -1,    -1,    -1,    -1,    -1,   268,   269,   120,
6823       -1,    -1,   123,    -1,    -1,    74,    75,   466,   467,    -1,
6824       79,   132,   471,   472,    -1,    -1,    -1,    86,    -1,   478,
6825       -1,    -1,    -1,    -1,   483,    -1,    -1,    44,    45,   488,
6826     1476,    -1,    -1,   492,   493,    -1,     1,    -1,     3,    -1,
6827       -1,   110,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6828       -1,   120,   511,    -1,   123,   514,   515,    74,    75,    -1,
6829      519,   520,    79,    28,   523,   524,    -1,    -1,    -1,    86,
6830       -1,   530,    37,    38,  1968,    -1,    -1,    -1,   537,    -1,
6831       -1,   540,    -1,  1874,  1875,  1876,  1877,  1878,  1879,  1880,
6832     1881,    -1,    -1,   110,   111,    -1,    -1,   556,    -1,   466,
6833      467,    -1,   561,   120,   563,    -1,  1466,   566,   567,    74,
6834       75,   478,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
6835       -1,    86,    -1,    -1,    -1,   492,   493,   586,    -1,    -1,
6836      589,    -1,   591,    -1,   593,    -1,    -1,    44,    45,    74,
6837       75,   600,    -1,    -1,    79,   110,   111,   514,   515,     0,
6838       -1,    86,   519,   520,    -1,   120,   523,   524,   123,    -1,
6839     1207,   126,    -1,   128,   129,    -1,    -1,    74,    75,    -1,
6840       -1,    -1,    79,   909,   910,   110,   111,  1968,    -1,    86,
6841       -1,    -1,    -1,    -1,    -1,   120,    -1,  1203,   123,    -1,
6842       -1,    -1,    -1,    -1,   561,    -1,   563,    -1,    -1,   134,
6843       -1,    -1,   142,   110,   111,   664,   665,   666,   667,    -1,
6844       -1,    -1,    -1,    -1,   154,    -1,   123,    -1,   158,    -1,
6845       -1,    -1,    -1,  1583,  1584,    -1,    -1,    -1,    -1,    -1,
6846       -1,    -1,    83,   692,   693,   694,   972,    -1,   697,  1685,
6847       -1,  1687,    93,    -1,   703,    -1,     3,    -1,    -1,   100,
6848      101,    -1,   711,    -1,    -1,  1701,  1702,    -1,    -1,   718,
6849      719,   720,    -1,   722,   723,    -1,   537,    -1,    -1,   540,
6850      729,    28,    -1,   732,    -1,    -1,    74,    75,    74,    75,
6851       37,    79,   741,    79,    -1,   744,    -1,    -1,    86,    -1,
6852       86,   142,   751,   466,   467,   754,    -1,    -1,    -1,    -1,
6853       -1,    -1,    -1,   154,    -1,  1041,  1042,   158,    -1,  1045,
6854     1046,  1047,   110,   111,   110,   111,    -1,    74,    75,   492,
6855      493,    -1,    79,    -1,    -1,   265,   124,    -1,   124,    86,
6856       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6857       -1,   514,   515,    -1,    -1,    -1,   519,   520,    -1,    -1,
6858      523,   524,    -1,   110,   111,    -1,    -1,    -1,    -1,    -1,
6859       -1,    -1,    -1,   120,   268,   269,   123,    -1,   308,    -1,
6860       -1,    -1,    -1,  1420,   314,   834,    -1,  1424,   837,   838,
6861      839,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6862       -1,    -1,    -1,   664,   665,   666,   667,    -1,    -1,    -1,
6863       -1,   860,   861,   862,    -1,    -1,  1766,  1767,    74,    75,
6864      869,     0,    -1,    79,    -1,    -1,    -1,    -1,   877,   878,
6865       86,    -1,    -1,   694,    -1,    -1,   885,   278,    -1,   888,
6866       -1,   890,    -1,   892,    -1,    -1,    -1,   288,    -1,   290,
6867     1487,    -1,    -1,    -1,   110,   111,  1182,  1183,    -1,    -1,
6868       -1,    -1,    -1,  1469,   120,    -1,    -1,   123,  1505,    -1,
6869     1906,    -1,    -1,    52,    -1,    -1,    -1,    -1,    -1,  1915,
6870       -1,    -1,    -1,    -1,    -1,    -1,   935,    -1,    -1,    -1,
6871       -1,    -1,    -1,    -1,   943,   425,    -1,    -1,    -1,    -1,
6872       -1,    -1,    -1,    82,    83,    84,   436,    -1,    -1,    -1,
6873      959,   960,    91,    -1,    93,    -1,    -1,    -1,   967,   968,
6874       -1,   100,   101,   972,    -1,    -1,    -1,    -1,    -1,   978,
6875       -1,    -1,    -1,    -1,    -1,    -1,  1972,  1973,    -1,    -1,
6876       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   998,
6877      999,  1000,   131,   132,   133,   134,   135,  1006,   488,    -1,
6878       -1,    -1,   141,  1569,    -1,   144,    -1,    -1,    -1,    -1,
6879       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   157,    -1,
6880      159,    -1,   161,    -1,   425,    -1,    -1,    -1,    -1,    -1,
6881       -1,    -1,  1041,  1042,    -1,   436,  1045,  1046,  1047,    -1,
6882       -1,    -1,    -1,    -1,   183,   184,   185,    -1,    -1,    -1,
6883       -1,    -1,    -1,    -1,    -1,   972,  1065,  1066,    -1,    -1,
6884       -1,  1070,    -1,    -1,    -1,    -1,    -1,  1076,    -1,    -1,
6885       -1,    -1,    -1,  1082,    -1,    -1,    -1,    -1,    -1,  1088,
6886       -1,   220,   221,   537,  1681,    -1,   540,   488,    -1,  1686,
6887       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1106,    -1,    -1,
6888     1109,    -1,    -1,  1112,    -1,    -1,    -1,    -1,    -1,    -1,
6889       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6890       -1,    -1,    -1,    -1,  1041,  1042,   265,    -1,  1045,  1046,
6891     1047,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1704,   278,
6892       -1,  1150,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   288,
6893       -1,   290,    -1,    -1,  1751,  1164,  1165,  1166,  1167,    -1,
6894       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6895       -1,    -1,    -1,  1182,  1183,    -1,    -1,    -1,  1187,    -1,
6896     1189,    -1,    -1,    -1,    -1,    -1,    -1,  1196,    -1,    -1,
6897       -1,    -1,    -1,     0,  1203,  1792,    -1,  1206,  1207,  1208,
6898       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1493,  1494,    -1,
6899      664,   665,   666,   667,    -1,    -1,    -1,  1226,    -1,    -1,
6900        0,    -1,  1788,    -1,  1233,    -1,    -1,    -1,   718,   719,
6901       -1,    -1,   722,   723,    -1,    -1,    -1,    -1,    -1,    -1,
6902      694,    -1,  1251,  1252,    -1,    -1,    -1,    -1,    -1,  1258,
6903     1259,    -1,    -1,  1262,  1263,    -1,   395,   396,   397,    -1,
6904       -1,  1547,  1548,    -1,    -1,  1182,  1183,    -1,    -1,    -1,
6905       -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,
6906      419,    -1,    -1,    -1,    -1,    -1,    93,   426,  1109,    -1,
6907       -1,  1112,    -1,   100,   101,    -1,   697,    -1,   437,    -1,
6908       -1,    -1,    -1,    83,    -1,    -1,    -1,    -1,  1905,    -1,
6909       -1,    -1,    -1,    93,    -1,    -1,    -1,    -1,  1041,  1042,
6910      100,   101,  1045,  1046,    -1,    -1,    -1,   466,   467,  1150,
6911       -1,    -1,   471,    -1,    -1,   142,   475,    -1,    -1,   478,
6912       -1,  1907,    -1,  1164,  1165,  1166,  1167,   154,   487,    -1,
6913       -1,   158,    -1,   492,   493,    -1,    -1,    -1,    -1,    -1,
6914       -1,    -1,   142,    -1,    -1,    -1,  1187,    -1,  1189,    -1,
6915       -1,    -1,   511,    -1,   154,   514,   515,    -1,   158,    -1,
6916      519,   520,    -1,    -1,   523,   524,    -1,   877,   527,   528,
6917      529,    -1,    -1,    -1,    -1,  1404,  1405,    -1,   888,    -1,
6918       -1,    -1,    -1,    -1,    -1,    -1,   545,   546,    -1,    -1,
6919       -1,  1420,    -1,    -1,    -1,  1424,    -1,    -1,    -1,    -1,
6920       -1,    -1,   561,    -1,   563,    -1,    -1,   566,    -1,   568,
6921       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6922       -1,    -1,    -1,    -1,   583,    -1,    -1,    -1,    -1,    -1,
6923       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1466,    -1,    -1,
6924     1469,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6925       -1,   278,    -1,    -1,    -1,    -1,   877,    -1,  1487,    -1,
6926       -1,   288,    -1,   290,  1493,  1494,    -1,   888,    -1,  1498,
6927     1499,  1500,  1501,    -1,    -1,    -1,    -1,  1783,   278,  1785,
6928       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   288,    -1,
6929      290,    -1,    -1,     1,    -1,     3,  1006,    -1,    -1,    -1,
6930       -1,    -1,    -1,  1809,    -1,  1811,    -1,    -1,    -1,    -1,
6931       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1547,  1548,
6932       28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
6933       38,    -1,   691,    -1,    -1,    -1,    -1,    -1,   697,    -1,
6934     1569,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6935       -1,    -1,    -1,    -1,  1583,  1584,  1493,  1494,    -1,   718,
6936     1589,  1590,    -1,   722,    -1,    -1,    74,    75,    -1,    -1,
6937       -1,    79,    -1,  1602,    -1,    -1,  1605,    -1,    86,    -1,
6938       -1,    -1,   741,    -1,  1613,    -1,    -1,    -1,    -1,    -1,
6939       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   425,    -1,
6940       -1,    -1,   110,   111,    -1,    -1,    -1,    -1,    -1,   436,
6941     1547,  1548,   120,    -1,    -1,   123,    -1,    -1,   126,  1648,
6942      128,   129,    -1,    -1,    -1,   425,    -1,    -1,    -1,    -1,
6943       -1,    -1,    -1,    -1,    -1,  1109,   436,    -1,  1112,    -1,
6944       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6945       -1,    -1,  1681,    -1,  1683,    -1,    -1,  1686,    -1,    -1,
6946       -1,   488,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1975,
6947     1976,  1977,  1978,  1979,    -1,  1704,  1150,    -1,    -1,    -1,
6948       -1,    -1,    -1,  1989,  1990,  1991,  1992,    -1,   488,    -1,
6949     1164,  1165,  1166,  1167,    -1,    -1,  1206,    -1,    -1,    -1,
6950       -1,    -1,    -1,   862,    -1,    -1,    -1,    -1,    -1,    -1,
6951      869,    -1,    -1,  1187,    -1,  1189,  1226,   876,   877,   878,
6952       -1,    -1,  1751,  1233,    -1,    -1,   885,    -1,    -1,   888,
6953       -1,   890,    -1,    -1,    -1,    -1,    -1,  1766,  1767,    -1,
6954       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1589,  1590,
6955     1493,  1494,  2058,  2059,  1783,    -1,  1785,    -1,    -1,  1788,
6956       -1,  1602,    -1,    -1,  1605,    -1,    -1,    -1,    -1,    -1,
6957      929,    -1,  1613,    -1,    -1,    -1,    -1,    -1,    -1,   938,
6958     1809,    -1,  1811,   112,   943,    -1,    -1,    -1,    -1,    -1,
6959      949,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6960      959,    -1,    -1,    -1,  1547,  1548,    -1,   136,    -1,    -1,
6961       -1,    -1,    -1,   972,    -1,  1844,  1845,   141,    -1,    -1,
6962      144,    -1,    -1,   982,    -1,    -1,    -1,    -1,    -1,    -1,
6963       -1,    -1,    -1,   157,    -1,   159,    -1,   161,    -1,    -1,
6964       -1,    -1,    -1,    -1,    -1,    -1,  1783,  1006,  1785,    -1,
6965       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6966       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   198,
6967      697,    -1,  1809,    -1,  1811,    -1,  1905,    -1,  1907,    -1,
6968       -1,    -1,  1041,  1042,    -1,    -1,  1045,  1046,  1047,    -1,
6969       -1,    -1,    -1,  1052,  1053,    -1,    -1,   697,    -1,    -1,
6970       -1,    -1,    -1,    -1,  1063,    -1,    -1,    -1,    -1,    -1,
6971       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6972       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6973       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6974       -1,    -1,    -1,    -1,    -1,    -1,  1975,  1976,  1977,  1978,
6975     1979,  1980,    -1,  1982,    -1,    -1,    -1,    -1,    -1,    -1,
6976     1989,  1990,  1991,  1992,    -1,    -1,    -1,    -1,    -1,    -1,
6977       -1,   300,    -1,    -1,    -1,   304,   305,   306,    -1,    -1,
6978      309,    -1,    -1,    -1,    -1,    -1,   315,    -1,    -1,    -1,
6979       -1,    -1,   321,    -1,    -1,    -1,    -1,    -1,    -1,   328,
6980       -1,    -1,    -1,  1844,  1845,    -1,    -1,    -1,    -1,    -1,
6981       -1,    -1,    -1,    -1,    -1,    -1,   345,    -1,    -1,    -1,
6982       -1,   350,    -1,  1182,  1183,    -1,    -1,    -1,    -1,  2058,
6983     2059,    -1,    -1,    -1,     0,    -1,    -1,    -1,  1975,  1976,
6984     1977,  1978,  1979,    -1,  1203,    -1,    -1,  1206,    -1,  1208,
6985      877,    -1,  1989,  1990,  1991,  1992,    -1,    -1,   387,    -1,
6986      389,   888,    -1,    -1,    -1,    -1,    -1,  1226,    -1,    -1,
6987       -1,    -1,    -1,    -1,  1233,    -1,     1,   877,     3,     4,
6988        5,    -1,    -1,    -1,    -1,    -1,    52,    -1,   888,    -1,
6989       -1,    -1,   421,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6990       -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,    -1,
6991       -1,    -1,    -1,    -1,    -1,  1589,  1590,    83,    84,    -1,
6992       -1,  2058,  2059,    -1,    -1,    91,    -1,    93,  1602,    -1,
6993       -1,  1605,    -1,    -1,   100,   101,    -1,    -1,    -1,  1613,
6994       65,    -1,   466,   467,    -1,    -1,    71,    72,    -1,    -1,
6995       -1,    -1,    -1,    -1,   478,    -1,    -1,    -1,    -1,    -1,
6996       85,    -1,    -1,    -1,    -1,   131,   132,    -1,   492,   493,
6997       -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,   104,
6998      105,   106,   107,   108,    -1,    -1,    -1,    -1,    -1,    -1,
6999      514,   515,    -1,   118,    -1,   519,   520,    -1,   123,   523,
7000      524,   530,    -1,    -1,    -1,    -1,    -1,    -1,   133,   134,
7001       -1,    -1,    -1,    -1,   328,    -1,    -1,   183,    -1,    -1,
7002       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7003       -1,   345,  1975,  1976,    -1,  1978,  1979,   561,   567,   563,
7004       -1,    -1,    -1,    -1,    -1,    -1,  1989,  1990,  1991,  1992,
7005       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1417,    -1,
7006       -1,    -1,    -1,    -1,   230,    -1,    -1,   233,    -1,    -1,
7007      599,    -1,    -1,  1432,    -1,    -1,    -1,    -1,    -1,    -1,
7008     1439,    -1,    -1,    -1,    -1,    -1,    -1,  1446,    -1,    -1,
7009       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   627,   265,
7010       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1467,    -1,
7011     1469,    -1,   278,    -1,    -1,  2058,  2059,    -1,    -1,    -1,
7012       -1,    -1,   288,    -1,   290,    -1,    -1,    -1,    -1,    -1,
7013       -1,    -1,    -1,    -1,  1493,  1494,    -1,    -1,    -1,    -1,
7014       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7015      112,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7016       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   698,
7017     1844,  1845,    -1,    -1,   136,    -1,    -1,    -1,    -1,    -1,
7018       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1547,  1548,
7019       -1,  1550,    -1,    -1,    -1,   724,    -1,    -1,    -1,   728,
7020       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7021     1569,    -1,    -1,    -1,    -1,   744,    -1,    -1,    -1,    -1,
7022       -1,    -1,   751,    -1,    -1,   754,    -1,    -1,    -1,   395,
7023       -1,    -1,    -1,    -1,    -1,    -1,   198,    -1,    -1,    -1,
7024       -1,    -1,    -1,    -1,    -1,   774,    -1,    -1,    -1,    -1,
7025       -1,   780,   781,   782,   783,   784,   785,   786,    -1,    -1,
7026      789,   790,    -1,   792,   793,   794,   795,   796,   797,   798,
7027      799,   437,   801,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7028      809,   810,   811,   812,   813,   814,   815,   816,   817,   818,
7029      819,   820,   821,   822,   823,   824,   825,   826,   827,    -1,
7030      829,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7031       -1,    -1,    -1,    -1,    -1,    -1,  1675,    -1,    -1,    -1,
7032      345,    -1,    -1,   637,    -1,    -1,    -1,    -1,    -1,    -1,
7033       -1,   860,   861,    -1,    -1,    -1,    -1,    -1,   300,    -1,
7034       -1,    -1,   304,   305,   306,    -1,    -1,   309,    -1,    -1,
7035       -1,    -1,    -1,   315,    -1,    -1,    -1,    -1,    -1,   321,
7036       -1,   527,   528,   529,    -1,   531,   328,    -1,   534,    -1,
7037       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   545,
7038      546,   547,    -1,   345,    -1,    -1,    -1,    -1,   350,    -1,
7039       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   928,
7040      566,   930,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7041       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7042       -1,    -1,    -1,    -1,  1783,   387,  1785,   389,    -1,  1788,
7043       -1,   960,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7044      969,    -1,    -1,    -1,    -1,    -1,   760,    -1,   972,    -1,
7045     1809,    -1,  1811,    -1,    -1,    -1,    -1,    -1,    -1,   421,
7046      774,    -1,  1821,    -1,    -1,    -1,    -1,    -1,    -1,   998,
7047       -1,  1000,    -1,    -1,    -1,    -1,    -1,   112,   270,   793,
7048      794,   795,   796,   797,    -1,    -1,   800,   801,    -1,    -1,
7049       -1,    -1,   806,    -1,    -1,   809,    -1,    -1,    -1,    -1,
7050       -1,    -1,    -1,    -1,    -1,    -1,    -1,   821,   822,   823,
7051      824,   825,    -1,    -1,   828,   829,    -1,  1041,  1042,    -1,
7052       -1,  1045,  1046,  1047,    -1,   691,    -1,    -1,    -1,    -1,
7053       -1,   697,    -1,    -1,    -1,    -1,    -1,  1066,    -1,     1,
7054       -1,    -1,     4,     5,     6,    -1,     8,     9,    -1,    -1,
7055       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7056       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   530,    -1,
7057       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1106,    -1,    -1,
7058       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1117,    -1,
7059       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7060       -1,    -1,    -1,    65,    -1,   567,    -1,    -1,    -1,    71,
7061       72,    73,   637,    -1,  1143,  1144,  1975,  1976,  1977,  1978,
7062     1979,    -1,    84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7063     1989,  1990,  1991,  1992,    -1,   270,    98,   599,    -1,    -1,
7064      102,   103,   104,   105,   106,   107,   108,   109,    -1,   441,
7065       -1,    -1,    -1,    -1,    -1,    -1,   118,   119,  1182,  1183,
7066       -1,    -1,    -1,   125,   126,   627,   128,   129,   130,    -1,
7067       -1,   133,   134,    -1,   136,   137,   138,   139,  1207,    -1,
7068     1209,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7069       -1,    -1,    -1,   328,    -1,    -1,    -1,    -1,    -1,  2058,
7070     2059,    -1,  1231,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7071       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1248,
7072       -1,    -1,    -1,  1252,   890,    -1,  1255,    -1,    -1,    -1,
7073     1259,    -1,    -1,    -1,  1263,   760,   698,    -1,    -1,    -1,
7074       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7075       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7076       -1,    -1,   724,   929,    -1,    -1,   728,    -1,   793,   794,
7077      795,   796,   797,    -1,    -1,   800,    -1,    -1,    -1,    -1,
7078       -1,   806,   744,   949,    -1,    -1,    -1,    -1,    -1,   751,
7079       -1,    -1,   754,    -1,    -1,    -1,   821,   822,   823,   824,
7080      825,    -1,    -1,   828,    -1,    -1,    -1,    -1,    -1,    -1,
7081     1124,    -1,   774,    -1,    -1,    -1,    -1,    -1,   780,   781,
7082      782,   783,   784,   785,   786,    -1,    -1,   789,   790,    -1,
7083      792,   793,   794,   795,   796,   797,   798,   799,  1152,   801,
7084      632,    -1,    -1,    -1,    -1,  1159,    -1,   809,   810,   811,
7085      812,   813,   814,   815,   816,   817,   818,   819,   820,   821,
7086      822,   823,   824,   825,   826,   827,    -1,   829,    -1,    -1,
7087       -1,    -1,   664,   665,   666,   667,    -1,    -1,    -1,  1193,
7088       -1,  1195,    -1,    -1,    -1,    -1,  1052,  1053,    -1,    -1,
7089       -1,  1420,    -1,    -1,    -1,  1424,    -1,    -1,   860,   861,
7090       -1,   536,    -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,    -1,    -1,    -1,    -1,
7093       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1466,    -1,    -1,
7094       -1,  1255,    -1,    -1,    -1,    -1,    -1,  1476,    -1,    -1,
7095       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1487,    -1,
7096       -1,    -1,    -1,    -1,   599,    -1,   928,    -1,   930,  1493,
7097     1494,    -1,    -1,    -1,    -1,    -1,  1505,   112,  1507,    -1,
7098       -1,    -1,    -1,  1512,    -1,  1514,    -1,    -1,    -1,    -1,
7099       -1,    -1,    -1,    -1,    -1,    -1,    -1,   632,   960,    -1,
7100       -1,    -1,  1531,    -1,    -1,    -1,    -1,   969,    -1,    -1,
7101       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1184,    -1,
7102     1186,    -1,    -1,  1547,  1548,    -1,    -1,    -1,    -1,   664,
7103      665,   666,   667,    -1,    -1,    -1,   998,    -1,  1000,    -1,
7104       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7105       -1,    -1,    -1,    -1,    -1,  1584,    -1,    -1,    -1,    -1,
7106       -1,    -1,    -1,   198,    -1,    -1,    -1,    -1,    -1,    -1,
7107       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7108       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   724,
7109       -1,    -1,    -1,   728,    -1,    -1,    -1,    -1,    -1,  1124,
7110       -1,    -1,    -1,    -1,  1066,    -1,    -1,    -1,    -1,    -1,
7111       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7112       -1,    -1,    -1,    -1,    -1,   760,    -1,  1152,    -1,    -1,
7113       -1,    -1,    -1,    -1,  1159,    -1,    -1,    -1,    -1,   774,
7114       -1,    -1,    -1,    -1,  1106,    -1,    -1,    -1,    -1,   941,
7115       -1,    -1,  1681,    -1,    -1,  1117,  1685,  1686,  1687,    -1,
7116       -1,    -1,    -1,    -1,    -1,    -1,   801,  1696,  1193,    -1,
7117     1195,   806,  1701,  1702,   809,    -1,    -1,    -1,    -1,  1708,
7118       -1,  1143,  1144,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7119       -1,    -1,    -1,   328,   829,    -1,    -1,    -1,  1727,  1728,
7120       -1,  1730,  1731,    -1,    -1,    -1,  1735,  1736,  1737,  1738,
7121       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7122       -1,    -1,  1751,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7123       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1767,    -1,
7124       -1,    -1,    -1,    -1,    -1,  1207,    -1,  1209,    -1,    -1,
7125       -1,    -1,   387,    -1,   389,    -1,    -1,    -1,    -1,  1783,
7126       -1,  1785,    -1,  1792,    -1,    -1,    -1,    -1,    -1,  1231,
7127       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7128     1446,    -1,    -1,    -1,    -1,  1809,  1248,  1811,    -1,    -1,
7129     1252,    -1,    -1,  1255,    -1,    -1,    -1,  1259,    -1,    -1,
7130       -1,  1263,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7131       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1109,    -1,    -1,
7132     1112,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1121,
7133       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7134       -1,    -1,  1871,  1872,    -1,  1874,  1875,  1876,  1877,  1878,
7135     1879,  1880,  1881,    -1,    -1,    -1,    -1,    -1,  1150,    -1,
7136       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7137       -1,    -1,  1164,  1165,  1166,  1167,  1905,  1906,    -1,    -1,
7138       -1,  1016,    -1,    -1,  1550,    -1,  1915,    -1,    -1,    -1,
7139       -1,    -1,    -1,    -1,    -1,   530,    -1,    -1,    -1,    -1,
7140       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1721,    -1,    -1,
7141       -1,    -1,  1726,  1727,  1728,  1729,  1730,  1731,    -1,    -1,
7142       -1,  1735,  1736,  1737,  1738,    -1,    -1,    -1,    -1,    -1,
7143       -1,    -1,   567,    -1,    -1,    -1,    -1,    -1,    -1,  1968,
7144       -1,    -1,    -1,  1972,  1973,    -1,    -1,    -1,    -1,    -1,
7145       -1,  1975,  1976,  1977,  1978,  1979,    -1,    -1,  1420,    -1,
7146       -1,    -1,  1424,    -1,   599,  1989,  1990,  1991,  1992,    -1,
7147       -1,    -1,    -1,    -1,  1109,    -1,    -1,  1112,    -1,    -1,
7148       -1,    -1,    -1,    -1,    -1,    -1,  1121,    -1,    -1,    -1,
7149       -1,    -1,   627,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7150       -1,    -1,    -1,    -1,  1466,    -1,    -1,    -1,  1143,  1144,
7151       -1,    -1,    -1,    -1,  1476,  1150,    -1,  1152,    -1,    -1,
7152       -1,  1156,    -1,    -1,  1159,  1487,  1161,    -1,    -1,  1164,
7153     1165,  1166,  1167,    -1,  2058,  2059,    -1,    -1,    -1,    -1,
7154       -1,    -1,    -1,  1505,    -1,  1507,    -1,    -1,    -1,    -1,
7155     1512,    -1,  1514,    -1,    -1,    -1,  2085,    -1,    -1,    -1,
7156     1874,  1875,  1876,  1877,  1878,  1879,  1880,  1881,    -1,  1531,
7157       -1,    -1,    -1,    -1,  2103,    -1,    -1,    -1,    -1,    -1,
7158       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   724,
7159       -1,    -1,    -1,   728,    -1,    -1,    -1,    -1,    -1,    -1,
7160       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   744,
7161       -1,    -1,    -1,    -1,    -1,    -1,   751,    -1,    -1,   754,
7162     1255,    -1,  1584,    -1,    -1,  2154,    -1,    -1,    -1,    -1,
7163       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   774,
7164       -1,    -1,    -1,    -1,    -1,    -1,  1812,    -1,    -1,    -1,
7165       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7166       -1,    -1,    -1,    -1,    -1,    -1,   801,    -1,    -1,    -1,
7167       -1,    -1,    -1,    -1,   809,    -1,    -1,    -1,    -1,    -1,
7168       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7169       -1,    -1,    -1,    -1,   829,    -1,  1721,    -1,    -1,    -1,
7170       -1,  1726,  1727,  1728,  1729,  1730,  1731,    -1,    -1,    -1,
7171     1735,  1736,  1737,  1738,    -1,    -1,    -1,    -1,    -1,  1681,
7172       -1,    -1,    -1,  1685,  1686,  1687,    -1,    -1,    -1,    -1,
7173       -1,    -1,    -1,   141,  1696,    -1,   144,    -1,    -1,  1701,
7174     1702,    -1,    -1,    -1,    -1,    -1,  1708,    -1,    -1,   157,
7175       -1,   159,    -1,   161,    -1,    -1,    -1,    -1,    -1,    -1,
7176       -1,    -1,    -1,    -1,    -1,  1727,  1728,    -1,  1730,  1731,
7177       -1,    -1,    -1,  1735,  1736,  1737,  1738,    -1,    -1,    -1,
7178       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1751,
7179       -1,    -1,    -1,   928,    -1,   930,    -1,  1589,  1590,    -1,
7180       -1,    -1,    -1,    -1,    -1,  1767,    -1,  1599,    -1,  1601,
7181     1602,    -1,     1,  1605,    -1,    -1,    -1,    -1,    -1,    -1,
7182       -1,  1613,    -1,    -1,  1616,    -1,    -1,    -1,    -1,    -1,
7183     1792,    -1,    -1,    -1,   969,    -1,    -1,    -1,    -1,    28,
7184       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7185       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7186       49,    50,   270,   998,    -1,  1000,    -1,    -1,    -1,    -1,
7187       -1,    -1,  1507,    -1,    -1,    -1,    -1,    66,    -1,    -1,
7188       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
7189       79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,
7190       -1,    -1,    -1,  1538,    -1,    -1,    -1,    -1,    -1,  1871,
7191     1872,   100,  1874,  1875,  1876,  1877,  1878,  1879,  1880,  1881,
7192       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
7193       -1,  1066,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7194       -1,   130,    -1,  1905,  1906,    -1,    -1,    -1,    -1,    -1,
7195       -1,    -1,    -1,  1915,  1589,  1590,    -1,    -1,    -1,    -1,
7196       -1,    -1,    -1,    -1,  1599,    -1,  1601,  1602,    -1,    -1,
7197     1605,  1106,    -1,    -1,    -1,    -1,    -1,    -1,  1613,    -1,
7198       -1,  1616,  1117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7199       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7200       -1,    -1,    -1,    -1,    -1,    -1,  1968,    -1,  1143,  1144,
7201     1972,  1973,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7202       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7203       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7204       -1,    -1,  1834,  1835,  1836,  1837,    -1,    -1,  1840,    -1,
7205       -1,    -1,  1844,  1845,    -1,  1847,    -1,  1849,   466,   467,
7206       -1,  1696,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1861,
7207       -1,    -1,    -1,  1708,  1209,    -1,    -1,    -1,    -1,    -1,
7208       -1,    -1,    -1,    -1,   492,   493,  1721,    -1,    -1,    -1,
7209       -1,  1726,    -1,    -1,  1729,    -1,  1231,    -1,    -1,    -1,
7210       -1,    -1,    -1,    -1,    -1,    -1,   514,   515,    -1,    -1,
7211       -1,   519,   520,    -1,    -1,   523,   524,  1252,    -1,    -1,
7212     1255,    -1,   530,  2085,  1259,    -1,    -1,    -1,  1263,    -1,
7213       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7214       -1,  2103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7215       -1,    -1,    -1,   561,    -1,   563,    -1,    -1,  1793,    -1,
7216       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1804,
7217       -1,    -1,    -1,    86,    -1,    -1,    -1,    -1,    -1,    -1,
7218       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7219       -1,    -1,  2154,    -1,    -1,    -1,    -1,    -1,    -1,  1834,
7220     1835,  1836,  1837,    -1,    -1,  1840,    -1,    -1,  2000,  1844,
7221     1845,    -1,  1847,    -1,  1849,   128,    -1,  2009,    -1,  2011,
7222       -1,    -1,    -1,   136,   632,    -1,  1861,    -1,    -1,    -1,
7223       -1,    -1,    -1,    -1,    -1,    -1,  1871,  1872,    -1,    -1,
7224       -1,    -1,    -1,   156,    -1,    -1,    -1,    -1,    -1,    -1,
7225       -1,    -1,    -1,    -1,    -1,    -1,   664,   665,   666,   667,
7226       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7227       -1,    -1,    -1,  2065,  2066,    -1,    -1,  2069,    -1,  2071,
7228       -1,    -1,  2074,    -1,    -1,    -1,  2078,     1,    -1,     3,
7229        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
7230       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7231       -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,  2111,
7232       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7233       -1,  1466,    -1,    -1,    -1,    -1,   744,    -1,    -1,    -1,
7234       -1,  1476,    -1,   751,    -1,    -1,   754,  2139,    -1,  1984,
7235       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
7236       -1,    -1,    -1,    -1,    -1,  2000,    -1,    -1,    -1,    -1,
7237       84,    85,  1507,    -1,  2009,    -1,  2011,  1512,    -1,  1514,
7238       -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,
7239      104,   105,   106,   107,   108,   109,  1531,    -1,    -1,    -1,
7240       -1,    -1,    -1,    -1,   118,   119,   120,    -1,    -1,   123,
7241      124,   125,    -1,    -1,   128,    -1,    -1,    -1,    -1,   133,
7242      134,   135,   136,   137,   138,   139,    -1,  2062,    -1,    -1,
7243     2065,  2066,    -1,    -1,  2069,    -1,  2071,    -1,    -1,  2074,
7244       -1,    -1,    -1,  2078,    -1,    -1,    -1,    -1,    -1,  1584,
7245     2085,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7246       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2103,   382,
7247       -1,    -1,    -1,    -1,    -1,    -1,  2111,    -1,    -1,    -1,
7248       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7249       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7250       -1,   909,   910,    -1,  2139,    -1,    -1,    -1,   421,   422,
7251       -1,    -1,    -1,   426,    52,    -1,    -1,    -1,    -1,  2154,
7252       -1,    -1,   435,    -1,    -1,   438,    -1,    -1,    -1,    -1,
7253       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7254       -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,
7255     1685,    -1,  1687,    91,    -1,    -1,    -1,    -1,    -1,   472,
7256       -1,  1696,    -1,    -1,   972,   478,  1701,  1702,    -1,    -1,
7257       -1,    -1,    -1,  1708,    -1,    -1,    -1,    -1,    -1,    -1,
7258       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7259      998,    -1,  1000,   131,   132,    -1,     0,    -1,    -1,    -1,
7260       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7261       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7262       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7263       -1,    -1,  1767,  1041,  1042,    -1,    -1,  1045,  1046,  1047,
7264       -1,    -1,    -1,   556,    -1,   183,    -1,    51,    -1,    -1,
7265       -1,    -1,    -1,   566,    -1,    -1,    -1,    -1,    -1,    -1,
7266       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7267       -1,    -1,    -1,   586,    -1,    -1,   589,    -1,   591,    83,
7268      593,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    92,    93,
7269       -1,    -1,   230,    -1,    -1,   233,   100,   101,  1106,    -1,
7270       -1,  1109,    -1,    -1,  1112,    -1,    -1,    -1,    -1,    -1,
7271       -1,    -1,    -1,  1121,   118,    -1,    -1,    -1,    -1,    -1,
7272       -1,    -1,    -1,    -1,    -1,    -1,    -1,   265,    -1,    -1,
7273       -1,    -1,    -1,    -1,    -1,    -1,  1871,  1872,   142,    -1,
7274      278,    -1,  1150,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7275      154,    -1,    -1,    -1,   158,    -1,  1164,  1165,  1166,  1167,
7276       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7277       -1,  1906,    -1,    -1,  1182,  1183,    -1,    -1,    -1,    -1,
7278     1915,    -1,   186,   187,    -1,    -1,    -1,    -1,    -1,    -1,
7279       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7280       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7281       -1,    -1,    -1,    -1,    -1,    -1,    -1,   221,    -1,    -1,
7282       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7283       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1972,  1973,    -1,
7284       -1,    -1,    -1,    -1,  1252,    -1,    -1,    -1,    -1,    -1,
7285       -1,  1259,    -1,    -1,    -1,  1263,    -1,   395,    -1,    -1,
7286       -1,   265,    -1,    -1,   268,   269,   270,    -1,    -1,    -1,
7287       -1,    -1,    -1,    -1,   278,    -1,    -1,    -1,    -1,    -1,
7288       -1,    -1,    -1,    -1,   288,   289,   290,    -1,    -1,    -1,
7289       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   437,
7290       -1,    -1,    -1,    -1,   308,    -1,    -1,    -1,    -1,    -1,
7291      314,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7292       -1,   325,    -1,    -1,   837,   838,   839,    -1,    -1,    -1,
7293       -1,    -1,    -1,    -1,    -1,    -1,    -1,   475,    -1,    -1,
7294       -1,    -1,    -1,    -1,    -1,    -1,    -1,   860,   861,   862,
7295     2085,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7296       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2103,    -1,
7297       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7298       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,
7299      528,   529,    -1,   531,    -1,    -1,   534,    -1,    -1,    -1,
7300       -1,    -1,    -1,    -1,    -1,    -1,    -1,   545,   546,   547,
7301       -1,    -1,    -1,    -1,    -1,   419,    -1,    -1,    -1,  2154,
7302       -1,   425,   935,    -1,    -1,    -1,    -1,    -1,   566,    -1,
7303       -1,    -1,   436,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7304       -1,    -1,    -1,    -1,    -1,    -1,    -1,   960,    -1,    -1,
7305       -1,    -1,    -1,    -1,   967,   968,    -1,    -1,  1466,    -1,
7306       -1,    -1,    -1,    -1,    -1,   978,    -1,   471,    -1,    -1,
7307       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7308       -1,    -1,    -1,    -1,   488,  1493,  1494,    -1,    -1,    -1,
7309       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7310       -1,    -1,    -1,    -1,  1512,    -1,  1514,   511,    -1,    -1,
7311       -1,    -1,    -1,    -1,    -1,     1,    -1,     3,     4,     5,
7312        6,    -1,     8,     9,    -1,    -1,   530,    -1,    -1,    -1,
7313       -1,    -1,    -1,   537,    -1,    -1,   540,    -1,    -1,  1547,
7314     1548,    -1,    28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7315       -1,    -1,  1065,   691,    -1,    -1,    -1,  1070,    -1,    -1,
7316       -1,    -1,    -1,  1076,    -1,    -1,    -1,    -1,    -1,  1082,
7317       -1,    -1,    -1,    -1,    -1,  1088,  1584,    -1,    -1,    65,
7318       -1,  1589,  1590,    -1,    -1,    71,    72,    73,    -1,    -1,
7319       -1,  1599,    -1,  1601,  1602,    -1,    -1,  1605,    84,    85,
7320       -1,    -1,    -1,    -1,    -1,  1613,    -1,    -1,  1616,    -1,
7321       -1,    -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,
7322      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
7323       -1,    -1,   118,   119,   120,   639,    -1,   123,   124,   125,
7324       -1,    -1,   128,    -1,    -1,    -1,   132,   133,   134,    -1,
7325      136,   137,   138,   139,    -1,    -1,    -1,    -1,    -1,   198,
7326      664,   665,   666,   667,    -1,    -1,    -1,    -1,    -1,    -1,
7327       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7328       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   692,   693,
7329      694,    -1,    -1,   697,  1207,  1208,    -1,    -1,    -1,   703,
7330       -1,    -1,    -1,    -1,    -1,    -1,    -1,   711,    -1,    -1,
7331       -1,    -1,    -1,    -1,   718,   719,   720,    -1,   722,   723,
7332       -1,    -1,    -1,    -1,    -1,   729,    -1,    -1,   732,    -1,
7333       -1,    -1,    -1,    -1,    -1,    -1,    -1,   741,    -1,    -1,
7334      744,    -1,    -1,    -1,    -1,    -1,    -1,   751,    -1,    -1,
7335      754,    -1,   890,    -1,    -1,    -1,    -1,    -1,    -1,  1767,
7336       -1,   300,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7337      309,    -1,    -1,    -1,    -1,  1783,   315,  1785,    -1,    -1,
7338       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7339       -1,   929,    -1,    -1,     0,    -1,    -1,    -1,    -1,    -1,
7340       -1,  1809,    -1,  1811,    -1,    -1,    -1,    -1,   946,    -1,
7341      948,   949,    -1,    -1,    -1,    -1,    -1,   132,    -1,    -1,
7342       -1,    -1,    -1,    -1,    -1,    -1,  1834,  1835,  1836,  1837,
7343      834,    -1,  1840,    -1,    -1,    -1,  1844,  1845,    -1,  1847,
7344       -1,  1849,    -1,    -1,    -1,    51,    52,    -1,   387,    -1,
7345      389,    -1,    -1,  1861,    -1,    -1,    -1,    -1,    -1,    -1,
7346       -1,    -1,    -1,    -1,    -1,   869,    -1,    -1,   183,    -1,
7347       -1,    -1,    -1,   877,   878,    -1,    -1,    83,    84,    -1,
7348       -1,   885,    88,    -1,   888,   889,   890,    93,   892,    -1,
7349       -1,  1404,  1405,    -1,   100,   101,    -1,    -1,    -1,    -1,
7350       -1,    -1,    -1,    -1,    -1,    -1,   221,  1420,    -1,    -1,
7351       -1,  1424,   118,    -1,  1052,  1053,    -1,    -1,    -1,    -1,
7352       -1,    -1,    -1,    -1,    -1,   131,    -1,    -1,    -1,    -1,
7353       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   943,
7354       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7355       -1,    -1,    -1,    -1,    -1,   959,    -1,    -1,    -1,    -1,
7356       -1,    -1,   270,    -1,    -1,    -1,    -1,  1975,  1976,  1977,
7357     1978,  1979,    -1,   288,  1487,    -1,   182,    -1,    -1,    -1,
7358       -1,  1989,  1990,  1991,  1992,  1498,  1499,  1500,  1501,   195,
7359       -1,   530,  2000,    -1,   998,   999,  1000,    -1,    -1,    -1,
7360       -1,  2009,  1006,  2011,    -1,    -1,    -1,    -1,    -1,    -1,
7361       -1,    -1,    -1,    -1,    -1,   221,    -1,   325,    -1,    -1,
7362       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   567,    -1,
7363       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7364       -1,    -1,    -1,    -1,    -1,    -1,  1184,    -1,  1186,    -1,
7365     2058,  2059,    -1,    -1,    -1,    -1,    -1,  2065,  2066,   265,
7366       -1,  2069,    -1,  2071,    -1,    -1,  2074,    -1,    -1,    -1,
7367     2078,    -1,   278,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7368      395,    -1,   288,    -1,   290,    -1,   401,    -1,   627,    -1,
7369       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7370       -1,    -1,  1106,  2111,    -1,  1109,    -1,    -1,  1112,    -1,
7371       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7372       -1,  1125,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   437,
7373       -1,  2139,    -1,    -1,    -1,  1648,    -1,    -1,    -1,    -1,
7374       -1,    -1,    -1,    -1,    -1,    -1,  1150,    -1,    -1,    -1,
7375       -1,    -1,    -1,    -1,    -1,    -1,   471,    -1,    -1,   698,
7376     1164,  1165,  1166,  1167,    -1,    -1,    -1,    -1,  1681,    -1,
7377     1683,    -1,    -1,  1686,    -1,    -1,    -1,    -1,    -1,    -1,
7378       -1,    -1,    -1,  1187,    -1,  1189,    -1,    -1,    -1,    -1,
7379       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1203,
7380       -1,    -1,  1206,    -1,    -1,   744,    -1,    -1,    -1,    -1,
7381       -1,    -1,   751,   419,    -1,   754,   531,    -1,    -1,   534,
7382       -1,    -1,  1226,    -1,    -1,    -1,    -1,    -1,    -1,  1233,
7383       -1,   437,   547,    -1,    -1,    -1,    -1,    -1,  1751,    -1,
7384       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1251,  1252,    -1,
7385       -1,    -1,    -1,   568,  1258,  1259,    -1,    -1,  1262,  1263,
7386       -1,    -1,    -1,    -1,    -1,   471,   581,    -1,   474,    -1,
7387       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7388       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7389       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7390       -1,    -1,    -1,    -1,    -1,   511,    -1,    -1,  1446,    -1,
7391       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7392       -1,   527,   528,   529,    -1,    -1,    -1,    -1,    -1,   637,
7393       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   545,
7394      546,    -1,    -1,    -1,    -1,   653,    -1,    -1,    -1,    -1,
7395       -1,    -1,    -1,    -1,    -1,    -1,   664,   665,   666,   667,
7396      566,    -1,   568,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7397       -1,    -1,    -1,   579,    -1,    -1,   691,    -1,    -1,    -1,
7398       -1,    -1,   697,    -1,    -1,    -1,    -1,    -1,    -1,   928,
7399       -1,   930,  1905,    -1,    -1,   703,    -1,    -1,   706,    -1,
7400       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   615,
7401       -1,    -1,  1550,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7402       -1,   729,    -1,    -1,    -1,    -1,    -1,   735,    -1,    -1,
7403      969,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7404       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7405       -1,    -1,    -1,    -1,   762,    -1,    -1,    -1,    -1,   998,
7406       -1,  1000,  1466,    -1,    92,  1469,    -1,  1980,    -1,  1982,
7407       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7408       -1,    -1,    -1,    -1,   690,    -1,    -1,    -1,    -1,    -1,
7409       -1,   697,   800,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7410      808,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7411       -1,    -1,   718,    -1,    -1,    -1,   722,    -1,    -1,    -1,
7412      828,    -1,    -1,    -1,    -1,    -1,    -1,  1066,    -1,    -1,
7413       -1,    -1,    -1,    -1,    -1,   741,    -1,    -1,    -1,    -1,
7414       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7415       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   186,   187,
7416       -1,    -1,    -1,   878,    -1,  1569,    -1,  1106,    -1,    -1,
7417      885,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1117,  1583,
7418     1584,    -1,   890,    -1,    -1,  1589,  1590,    -1,    -1,    -1,
7419       -1,    -1,    -1,   221,    -1,    -1,    -1,    -1,  1602,    -1,
7420       -1,  1605,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1613,
7421       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7422       -1,    -1,    -1,   938,    -1,    -1,    -1,    -1,   943,    -1,
7423       -1,    -1,    -1,    -1,    -1,    -1,    -1,   265,    -1,    -1,
7424      268,   269,   270,    -1,   959,    -1,    -1,    -1,    -1,    -1,
7425       -1,    -1,    -1,    -1,    -1,    -1,   862,   863,    -1,    -1,
7426       -1,   289,    -1,   869,    -1,    -1,    -1,    -1,    -1,    -1,
7427     1209,   877,   878,    -1,  1812,    -1,    -1,    -1,    -1,   885,
7428      308,    -1,   888,   889,   890,    -1,   314,    -1,    -1,    -1,
7429       -1,  1006,  1231,    -1,    -1,    -1,    -1,   325,    -1,    -1,
7430     1704,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7431       -1,    -1,    -1,  1252,    -1,    -1,    -1,    -1,    -1,    -1,
7432     1259,    -1,    -1,   929,  1263,    -1,    -1,    -1,    -1,    -1,
7433       -1,   937,    -1,    -1,    -1,    -1,    -1,   943,  1053,    -1,
7434       -1,    -1,    -1,   949,    -1,    -1,    -1,  1062,    -1,  1064,
7435       -1,    -1,    -1,   959,    -1,    -1,    -1,    -1,    -1,    -1,
7436       -1,    -1,  1766,  1767,    -1,    -1,    -1,    -1,    -1,    -1,
7437       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7438       -1,    -1,    -1,    -1,  1788,    -1,    -1,    -1,    -1,    -1,
7439       -1,   419,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7440     1006,  1109,    -1,    -1,  1112,  1113,  1114,    -1,  1116,    -1,
7441       -1,    -1,    -1,    -1,    -1,    -1,  1124,    -1,    -1,    -1,
7442       -1,    -1,    -1,    -1,  1132,    -1,    -1,    -1,    -1,    -1,
7443       -1,  1139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7444     1844,  1845,  1150,   471,    -1,    -1,  1052,    -1,    -1,  1157,
7445       -1,    -1,    -1,    -1,  1162,  1061,  1164,  1165,  1166,  1167,
7446       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1184,
7447       -1,  1186,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7448       -1,    -1,    -1,   511,    -1,  1193,    -1,  1195,    -1,    -1,
7449       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7450       -1,    -1,   530,  1907,    -1,    -1,    -1,    -1,    -1,   537,
7451       -1,    -1,   540,    -1,    -1,    -1,    -1,    -1,    -1,  1227,
7452       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1466,    -1,    -1,
7453       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1476,    -1,    -1,
7454       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7455       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7456       -1,    -1,    -1,    -1,    -1,  1273,    -1,    -1,    -1,    -1,
7457      632,    -1,    -1,  1512,    -1,  1514,    -1,    -1,    -1,    -1,
7458       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7459       -1,    -1,  1531,    -1,    -1,    -1,    -1,  1203,    -1,    -1,
7460     1206,    -1,  1208,    -1,   666,   667,    -1,    -1,    -1,    -1,
7461     1216,    -1,    -1,    -1,    -1,    -1,    -1,  1325,    -1,    -1,
7462     1226,    -1,    -1,    -1,    -1,    -1,    -1,  1233,    -1,    -1,
7463     1338,    -1,    -1,    -1,    -1,    -1,   664,   665,   666,   667,
7464       -1,    -1,    -1,    -1,    -1,  1584,    -1,    -1,    -1,    -1,
7465       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7466       -1,    -1,    -1,    -1,   692,   693,   694,    -1,    -1,    -1,
7467       -1,    -1,    -1,    -1,    -1,   703,    -1,    -1,    -1,    -1,
7468       -1,  1389,    -1,   711,    -1,    -1,    -1,    -1,    -1,    -1,
7469      718,   719,   720,    -1,   722,   723,    -1,    -1,    -1,    -1,
7470       -1,   729,    -1,    -1,   732,    -1,    -1,    -1,    -1,    -1,
7471       -1,    -1,    -1,   741,    -1,    -1,   744,  1432,    -1,    -1,
7472       -1,    -1,    -1,   751,  1439,    -1,   754,    -1,    -1,    -1,
7473       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7474       -1,    -1,    -1,    -1,    -1,    -1,  1685,    -1,  1687,    -1,
7475       -1,    -1,  1467,    -1,  1469,    -1,    -1,  1472,    -1,    -1,
7476     1475,    -1,  1701,  1702,    -1,    -1,    -1,    -1,    -1,    -1,
7477       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7478       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1727,  1728,
7479       -1,  1730,  1731,    -1,    -1,    -1,  1735,  1736,  1737,  1738,
7480       -1,    -1,    -1,    -1,    -1,    -1,   834,    -1,    -1,    -1,
7481       -1,  1417,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7482       -1,    -1,    -1,    92,    -1,  1431,    -1,    -1,  1767,    -1,
7483       -1,    -1,  1438,    -1,    -1,  1550,    -1,    -1,    -1,    -1,
7484     1446,   869,    -1,  1558,    -1,    -1,    -1,    -1,   325,    -1,
7485      878,    -1,    -1,    -1,  1569,    -1,    -1,   885,    -1,    -1,
7486       -1,  1467,   890,  1469,   892,    -1,    -1,    -1,    -1,    -1,
7487       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7488       -1,  1589,  1590,    -1,    -1,    -1,    -1,  1595,    -1,  1597,
7489       -1,    -1,  1600,  1601,    -1,    -1,    -1,    -1,  1606,  1607,
7490       -1,  1609,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7491       -1,  1619,    -1,  1621,    -1,   943,    -1,   186,   187,    -1,
7492       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7493       -1,   959,    -1,    -1,    -1,  1874,  1875,  1876,  1877,  1878,
7494     1879,  1880,  1881,  1549,    -1,  1653,    -1,    -1,    -1,  1657,
7495       -1,    -1,   221,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7496      437,    -1,    -1,  1569,    -1,    -1,    -1,  1906,    -1,    -1,
7497      998,   999,  1000,    -1,    -1,    -1,  1915,    -1,  1006,    -1,
7498       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7499       -1,    -1,    -1,    -1,    -1,    -1,   265,    -1,    -1,   268,
7500      269,   270,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7501       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7502      289,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1968,
7503       -1,    -1,    -1,  1972,  1973,    -1,    -1,    -1,    -1,   308,
7504     1755,  1756,    -1,  1758,    -1,   314,    -1,  1109,    -1,    -1,
7505     1112,    -1,    -1,    -1,    -1,    -1,   325,    -1,    -1,  1121,
7506       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1675,
7507       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1106,    -1,
7508       -1,  1109,    -1,    -1,  1112,    -1,    -1,    -1,  1150,    -1,
7509       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1812,    -1,    -1,
7510       -1,    -1,  1164,  1165,  1166,  1167,    -1,    -1,    -1,    -1,
7511       -1,    -1,    -1,    -1,  1822,    -1,    -1,    -1,    -1,    -1,
7512       -1,    -1,  1150,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7513       -1,    -1,  1840,  1841,    -1,    -1,  1164,  1165,  1166,  1167,
7514     1848,  1747,    -1,    -1,  1852,    -1,  1854,    -1,    -1,    -1,
7515      419,    -1,    -1,    -1,    -1,  1863,    -1,    -1,    -1,  1187,
7516      637,  1189,    -1,  1769,    -1,    -1,    -1,    -1,    -1,    -1,
7517       -1,    -1,    -1,    -1,    -1,  1203,   653,    -1,  1206,    -1,
7518      657,    -1,  1788,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7519       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1226,  1907,
7520       -1,    -1,   471,    -1,    -1,  1233,    -1,    -1,    -1,    -1,
7521       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7522       -1,    -1,    -1,  1251,  1252,    -1,   703,    -1,    -1,   706,
7523     1258,  1259,    -1,    -1,  1262,  1263,    -1,    -1,    -1,    -1,
7524       -1,    -1,   511,   720,    -1,    -1,    -1,    -1,    -1,    -1,
7525       -1,    -1,   729,    -1,    -1,    -1,    -1,    -1,   735,   736,
7526       -1,   530,    -1,    -1,    -1,    -1,    -1,    -1,   537,    -1,
7527       -1,   540,    -1,    -1,    -1,    -1,    52,    -1,    -1,    -1,
7528       -1,  1887,    -1,    59,    -1,   762,    -1,    -1,    -1,    -1,
7529       -1,    -1,    -1,  2001,  2002,    -1,  2004,    -1,  2006,    -1,
7530       -1,  2009,  2010,  2011,    -1,    -1,    82,    83,    84,    -1,
7531       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7532       -1,    -1,    -1,   800,    -1,    -1,    -1,    -1,    -1,    -1,
7533       -1,   808,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7534       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7535       -1,   828,    -1,    -1,    -1,   131,   132,    -1,    -1,  2067,
7536       -1,    -1,  2070,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7537     2078,    -1,   148,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7538       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   164,    -1,
7539       -1,    -1,    -1,    -1,    -1,   664,   665,   666,   667,    -1,
7540       -1,    -1,    -1,    -1,    -1,    -1,  2114,   183,    -1,    -1,
7541       -1,    -1,    -1,   890,    -1,    -1,    -1,    -1,    -1,    -1,
7542       -1,    -1,    -1,   692,   693,   694,    -1,    -1,    -1,    -1,
7543       -1,    -1,    -1,    -1,   703,    -1,    -1,    -1,  1466,    -1,
7544       -1,  1469,   711,    -1,   220,   221,    -1,    -1,    -1,   718,
7545      719,   720,    -1,   722,   723,    -1,    -1,    -1,    -1,    -1,
7546      729,    -1,    -1,   732,    -1,    -1,    -1,    -1,    -1,    -1,
7547       -1,    -1,   741,    -1,    -1,   744,    -1,    -1,    -1,    -1,
7548       -1,    -1,   751,    -1,    -1,   754,    -1,    -1,    -1,   265,
7549       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7550       -1,    -1,   278,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7551       -1,    -1,   288,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7552       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1589,  1590,    -1,
7553       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1599,    -1,  1601,
7554     1602,  1569,    -1,  1605,    -1,    -1,    -1,    -1,    -1,    -1,
7555       -1,  1613,    -1,    -1,  1616,  1583,  1584,    -1,    -1,    -1,
7556       -1,  1589,  1590,    -1,    -1,   834,    -1,    -1,    -1,    -1,
7557       -1,    -1,    -1,    -1,  1602,    -1,    -1,  1605,    -1,    -1,
7558       -1,    -1,    -1,    -1,    -1,  1613,    -1,    -1,    -1,    -1,
7559       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7560      869,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   878,
7561       -1,    -1,    -1,    -1,    -1,    -1,   885,    -1,    -1,   395,
7562       -1,   890,    -1,   892,    -1,   401,    -1,    -1,    -1,    -1,
7563       -1,    -1,    -1,    -1,    -1,    -1,  1113,  1114,    -1,  1116,
7564       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1124,    -1,    -1,
7565     1127,    -1,    -1,    -1,    -1,  1132,    -1,    -1,    -1,    -1,
7566       -1,   437,  1139,  1140,    -1,    -1,    -1,    -1,    -1,    -1,
7567       -1,    -1,    -1,    -1,   943,    -1,  1704,    -1,    -1,    -1,
7568     1157,  1158,    -1,    -1,    -1,  1162,    -1,    -1,    -1,    -1,
7569      959,    -1,    -1,    -1,    -1,   471,    -1,    -1,    -1,    -1,
7570       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7571       -1,   487,    -1,    -1,    -1,    -1,  1193,    -1,  1195,    -1,
7572       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   998,
7573      999,  1000,    -1,    -1,    -1,    -1,    -1,  1006,  1766,  1767,
7574       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7575     1227,   527,   528,   529,    -1,   531,    -1,    -1,   534,    -1,
7576     1788,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   545,
7577      546,   547,  1834,  1835,  1836,  1837,    -1,    -1,  1840,    -1,
7578       -1,    -1,  1844,  1845,    -1,  1847,    -1,  1849,   564,    -1,
7579      566,    -1,   568,    -1,    -1,    -1,  1273,  1274,    -1,  1861,
7580       -1,    -1,    -1,    -1,    -1,   581,    -1,    -1,    -1,    -1,
7581       -1,    -1,    -1,    -1,    -1,    -1,  1844,  1845,    -1,    -1,
7582       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7583       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1106,    -1,    -1,
7584     1109,    -1,    -1,  1112,    -1,    -1,    -1,    -1,  1325,    -1,
7585     1327,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7586       -1,  1338,  1339,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7587       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1907,
7588       -1,  1150,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7589       -1,    -1,    -1,    -1,    -1,  1164,  1165,  1166,  1167,    -1,
7590       -1,    -1,    -1,    -1,    -1,    -1,    -1,   683,    -1,    -1,
7591       -1,    -1,  1389,    -1,  1391,   691,    -1,    -1,  1187,    -1,
7592     1189,   697,    52,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7593       -1,    -1,    -1,    -1,  1203,    -1,    -1,  1206,  2000,    -1,
7594       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2009,    -1,  2011,
7595       -1,    -1,    -1,    83,    84,    -1,    -1,  1226,    -1,    -1,
7596       -1,    -1,    -1,    -1,  1233,    -1,    -1,    -1,    -1,    -1,
7597       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7598       -1,    -1,  1251,  1252,    -1,    -1,    -1,    -1,    -1,  1258,
7599     1259,    -1,    -1,  1262,  1263,    -1,     3,    -1,    -1,    -1,
7600       -1,   131,   132,  2065,  2066,    -1,    -1,  2069,    -1,  2071,
7601       -1,    -1,  2074,    -1,    -1,    -1,  2078,    -1,    -1,    -1,
7602       -1,    28,    -1,    -1,    -1,    -1,    -1,    34,    35,    36,
7603       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7604       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,  2111,
7605       -1,    -1,    -1,   183,    -1,    -1,    -1,    -1,    -1,    66,
7606       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
7607       -1,    -1,    79,    -1,    -1,    82,    83,  2139,    85,    86,
7608       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7609       -1,   221,    -1,   100,    -1,    -1,    -1,    -1,  1575,    -1,
7610      876,    -1,   878,   110,   111,   112,   113,   114,   115,   885,
7611       -1,    -1,    -1,   120,   890,    -1,   123,    -1,  1595,  1596,
7612     1597,  1598,    -1,  1600,  1601,    -1,    -1,   134,    -1,  1606,
7613     1607,    -1,  1609,    -1,  1611,   265,    -1,    -1,    -1,    -1,
7614       -1,    -1,  1619,  1620,  1621,    -1,    -1,    -1,   278,    -1,
7615       -1,    -1,    -1,   929,    -1,    -1,    -1,    -1,   288,    -1,
7616       -1,    -1,   938,    -1,    -1,    -1,    -1,   943,    -1,    -1,
7617       -1,     3,    -1,   949,    -1,    -1,  1653,    -1,  1655,    -1,
7618     1657,    -1,  1659,   959,    -1,    -1,    -1,    -1,    -1,    -1,
7619       -1,    -1,    -1,    -1,    -1,    -1,    28,  1466,    -1,    -1,
7620     1469,    -1,    34,    35,    36,    37,    38,    39,    40,    41,
7621       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7622       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7623     1006,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
7624       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
7625       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
7626       -1,    -1,    -1,    -1,    -1,   395,    -1,    -1,   100,    -1,
7627       -1,   401,    -1,    -1,    -1,    -1,  1052,  1053,   110,   111,
7628      112,   113,   114,   115,    -1,    -1,  1062,    -1,  1064,    -1,
7629       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7630     1569,    -1,    -1,    -1,    -1,    -1,    -1,   437,    -1,    -1,
7631       -1,    -1,    -1,    -1,  1583,  1584,    -1,    -1,    -1,    -1,
7632     1589,  1590,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7633       -1,    -1,    -1,  1602,    -1,    -1,  1605,    -1,    -1,    -1,
7634       -1,   471,    -1,    -1,  1613,  1822,    -1,    -1,    -1,    -1,
7635       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7636       -1,    -1,    -1,    -1,  1841,    -1,    -1,    -1,    -1,  1846,
7637       -1,  1848,  1849,    -1,  1851,  1852,    -1,  1854,    -1,  1856,
7638       -1,    -1,    -1,    -1,    -1,  1862,  1863,    92,    -1,    -1,
7639       -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,   528,   529,
7640       -1,   531,    -1,    -1,   534,    -1,    -1,    -1,  1184,    -1,
7641     1186,    -1,    -1,    -1,    -1,   545,   546,   547,    -1,    -1,
7642       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7643     1907,    -1,    -1,    -1,    -1,  1704,   566,   142,   568,    -1,
7644       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   154,
7645       -1,   581,    -1,   158,    -1,    -1,    -1,    -1,    -1,    -1,
7646       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7647       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7648       -1,   186,   187,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7649       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1766,  1767,    -1,
7650       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7651       -1,    -1,    -1,    -1,    -1,    -1,   221,    -1,    -1,  1788,
7652       -1,    -1,    -1,    -1,  2001,  2002,    -1,  2004,  2005,  2006,
7653       -1,    -1,    -1,  2010,  2011,    -1,    -1,    -1,    -1,    -1,
7654       -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,     8,
7655        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7656      265,   691,    -1,   268,   269,   270,    -1,   697,    -1,    28,
7657       -1,    -1,    -1,    -1,    -1,  1844,  1845,    -1,    37,    -1,
7658       -1,    -1,    -1,    -1,   289,    -1,    -1,    -1,    -1,    -1,
7659     2067,  2068,    -1,  2070,  2071,    -1,    -1,    -1,  2075,    -1,
7660       -1,    -1,    -1,   308,    -1,    -1,    65,    -1,    -1,   314,
7661       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,
7662       79,    -1,    -1,    -1,    -1,    84,    85,    86,    -1,    -1,
7663       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2114,  1907,    98,
7664       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
7665      109,   110,   111,    -1,    -1,    -1,  1432,    -1,    -1,   118,
7666      119,   120,    -1,  1439,   123,   124,   125,    -1,    -1,    -1,
7667     1446,    -1,    -1,    -1,   133,   134,    -1,   136,   137,   138,
7668      139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7669       -1,  1467,    -1,  1469,    -1,    -1,  1472,    -1,    -1,  1475,
7670       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7671       -1,    -1,    -1,    -1,   419,    -1,    -1,    -1,    -1,    -1,
7672      425,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7673       -1,   436,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7674       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   878,    -1,
7675       -1,    -1,    -1,    -1,    -1,   885,    -1,    -1,    -1,    -1,
7676      890,    -1,    -1,    -1,    -1,    -1,   471,    -1,    -1,    -1,
7677       -1,    -1,    -1,    -1,  1550,    -1,    -1,    -1,    -1,    -1,
7678       -1,    -1,  1558,   488,    -1,    -1,    -1,    -1,    -1,    -1,
7679       -1,    -1,    -1,  1569,    -1,    -1,    -1,    -1,    -1,   929,
7680       -1,    -1,    -1,    -1,    -1,    -1,   511,     1,   938,     3,
7681        4,     5,     6,   943,     8,     9,    -1,    -1,    -1,   949,
7682       -1,    -1,    -1,    -1,    -1,   530,    -1,    -1,    -1,   959,
7683       -1,    -1,   537,    -1,    28,   540,    -1,    -1,    -1,    -1,
7684       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7685       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
7686       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7687       -1,    65,    66,    -1,    -1,    -1,  1006,    71,    72,    73,
7688       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
7689       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
7690       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
7691      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7692      114,   115,  1052,  1053,   118,   119,   120,    -1,    -1,   123,
7693      124,   125,  1062,    92,  1064,    -1,    -1,    -1,    -1,   133,
7694      134,    -1,   136,   137,   138,   139,    -1,    -1,    -1,    -1,
7695       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   664,
7696      665,   666,   667,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7697       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1755,
7698     1756,    -1,  1758,   142,    -1,    -1,    -1,   692,   693,   694,
7699       -1,    -1,    -1,    -1,    -1,   154,    -1,    -1,    -1,   158,
7700       -1,    -1,    -1,    -1,    -1,    -1,   711,    -1,    -1,    -1,
7701       -1,    -1,    -1,   718,   719,    -1,    -1,   722,   723,    -1,
7702       -1,    -1,    -1,    -1,    -1,    -1,    -1,   186,   187,    -1,
7703       -1,    -1,    -1,    -1,    -1,    -1,  1812,    -1,    -1,   744,
7704       -1,    -1,    -1,    -1,    -1,    -1,   751,    -1,    -1,   754,
7705       -1,    -1,    -1,    -1,  1184,    -1,  1186,    -1,    -1,    -1,
7706       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7707       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7708       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7709       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7710       -1,    -1,    -1,    -1,    -1,    -1,   265,    -1,    -1,   268,
7711      269,   270,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7712       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   834,
7713      289,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,
7714        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,   308,
7715       -1,    -1,    -1,    -1,    -1,   314,    -1,    -1,    -1,    -1,
7716       -1,    -1,    -1,    -1,   869,    28,    -1,    -1,    -1,    -1,
7717       92,    -1,   877,   878,    -1,    -1,    -1,    -1,    -1,    -1,
7718      885,    -1,    -1,   888,    -1,    -1,    -1,   892,    -1,    52,
7719       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
7720       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
7721       73,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,
7722      142,    84,    85,    86,    -1,    88,    89,    90,    -1,    -1,
7723       -1,    -1,   154,    -1,    -1,    98,   158,    -1,   943,   102,
7724      103,   104,   105,   106,   107,   108,   109,   110,   111,    -1,
7725       -1,    -1,    -1,    -1,   959,   118,   119,   120,    -1,    -1,
7726      123,    -1,   125,   126,   186,   187,   425,   130,    -1,   132,
7727      133,   134,    -1,   136,   137,   138,   139,   436,    -1,    -1,
7728       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7729       -1,    -1,    -1,   998,   999,  1000,    -1,    -1,    -1,    -1,
7730       -1,  1006,  1432,    -1,    -1,    -1,    -1,    -1,    -1,  1439,
7731       -1,    -1,    -1,    -1,    -1,    -1,  1446,    -1,    -1,    -1,
7732       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   488,
7733       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1467,    -1,  1469,
7734       -1,    -1,  1472,   265,    -1,  1475,   268,   269,   270,    -1,
7735       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7736       -1,    -1,    -1,    -1,    -1,    -1,    -1,   289,    -1,    -1,
7737       -1,   530,    -1,    -1,    -1,    -1,    -1,    -1,   537,    -1,
7738       -1,   540,    -1,    -1,    -1,    -1,   308,    -1,    -1,    -1,
7739       -1,    -1,   314,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7740       -1,  1106,    -1,    -1,  1109,    -1,    -1,  1112,    -1,    -1,
7741       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7742     1550,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1558,    -1,
7743       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1569,
7744       -1,    -1,    -1,    -1,    -1,  1150,    -1,    -1,    -1,    -1,
7745       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1164,
7746     1165,  1166,  1167,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7747       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7748       -1,    -1,  1187,    -1,  1189,    -1,    -1,    -1,    -1,    -1,
7749       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7750       -1,  1206,    -1,   425,    -1,   664,   665,   666,   667,    -1,
7751       -1,    -1,    -1,    -1,   436,    -1,    -1,    -1,    -1,    -1,
7752       -1,  1226,    -1,    -1,    -1,    -1,    -1,    -1,  1233,    -1,
7753       -1,    -1,    -1,   692,   693,   694,    -1,    -1,    -1,    -1,
7754       -1,    -1,    -1,    -1,    -1,    -1,  1251,  1252,    -1,    -1,
7755       -1,    -1,   711,  1258,  1259,    -1,    -1,  1262,  1263,   718,
7756      719,    -1,    -1,   722,   723,    -1,   488,    -1,    -1,    -1,
7757       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7758       -1,    -1,    -1,    -1,    -1,   744,    -1,    -1,    -1,    -1,
7759       -1,    -1,   751,    -1,    -1,   754,    -1,    -1,    -1,    -1,
7760       -1,    -1,     1,    -1,     3,     4,     5,     6,   530,     8,
7761        9,    -1,    -1,    -1,    -1,   537,    -1,    -1,   540,    -1,
7762       -1,    -1,    -1,    -1,    -1,  1755,  1756,    -1,  1758,    28,
7763       -1,    -1,    -1,    -1,    -1,    34,    35,    36,    37,    38,
7764       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7765       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7766       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
7767       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,
7768       79,    -1,  1812,    82,    83,    84,    85,    86,    87,    -1,
7769       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
7770       -1,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7771      109,   110,   111,   112,   113,   114,   115,    -1,   877,   118,
7772      119,   120,    -1,    -1,   123,   124,   125,    -1,    -1,   888,
7773       -1,    -1,    -1,    -1,   133,   134,    -1,   136,   137,   138,
7774      139,    -1,   664,   665,   666,   667,    -1,    -1,    -1,    -1,
7775       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7776       -1,  1466,    -1,    -1,  1469,    -1,    -1,    -1,    -1,    -1,
7777      692,   693,   694,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7778       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   711,
7779       -1,    -1,    -1,    -1,    -1,    -1,   718,   719,    -1,    -1,
7780      722,   723,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7781       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7782       -1,    -1,   744,    -1,    -1,    -1,    -1,    -1,    -1,   751,
7783       -1,    -1,   754,    -1,    -1,    -1,    -1,    -1,    -1,   998,
7784      999,  1000,    -1,    -1,    -1,    -1,    -1,  1006,    -1,    -1,
7785       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7786       -1,    -1,    -1,    -1,  1569,    -1,    -1,    -1,    -1,    -1,
7787       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1583,  1584,
7788       -1,    -1,    -1,    -1,  1589,  1590,    -1,    -1,    -1,    -1,
7789       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1602,    -1,    -1,
7790     1605,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1613,    -1,
7791       -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,     4,
7792        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
7793       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
7794       25,    26,    27,    28,    -1,    -1,    -1,  1106,    -1,    -1,
7795     1109,    -1,    -1,  1112,    -1,   877,    -1,    -1,    -1,    -1,
7796       -1,    -1,    -1,    -1,    -1,    -1,   888,    -1,    -1,    -1,
7797       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7798       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,
7799       -1,  1150,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,
7800       85,    -1,    -1,    -1,    -1,  1164,  1165,  1166,  1167,    -1,
7801       -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,   104,
7802      105,   106,   107,   108,   109,    -1,    -1,    -1,  1187,    -1,
7803     1189,    -1,    -1,   118,   119,   120,   121,   122,   123,   124,
7804      125,   126,   127,   128,    -1,    -1,   131,  1206,   133,   134,
7805       -1,   136,   137,   138,   139,   140,   141,   142,   143,   144,
7806       -1,  1766,  1767,    -1,    -1,    -1,    -1,  1226,    -1,    -1,
7807       -1,    -1,    -1,    -1,  1233,    -1,   998,   999,  1000,    -1,
7808       -1,    -1,    -1,  1788,  1006,    -1,    -1,    -1,    -1,    -1,
7809       -1,    -1,  1251,  1252,    -1,    -1,    -1,    -1,    -1,  1258,
7810     1259,    -1,    -1,  1262,  1263,    -1,    -1,    -1,    -1,    -1,
7811       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7812       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7813       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1844,
7814     1845,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7815       -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,     7,
7816        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7817       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7818       28,    -1,    -1,    -1,  1106,    -1,    -1,  1109,    -1,    -1,
7819     1112,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7820       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7821       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
7822       -1,    -1,    -1,    71,    72,    73,    -1,    -1,  1150,    -1,
7823       -1,    -1,    -1,    -1,    -1,    -1,    84,    85,    -1,    -1,
7824       -1,    -1,  1164,  1165,  1166,  1167,    -1,    -1,    -1,    -1,
7825       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
7826      108,   109,    -1,    -1,    -1,  1187,    -1,  1189,    -1,    -1,
7827      118,   119,   120,   121,   122,   123,   124,   125,    -1,   127,
7828      128,    -1,    -1,   131,  1206,   133,   134,    -1,   136,   137,
7829      138,   139,   140,   141,   142,   143,   144,    -1,    -1,    -1,
7830       -1,    -1,    -1,    -1,  1226,    -1,    -1,  1466,    -1,    -1,
7831       -1,  1233,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7832       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1251,
7833     1252,    -1,    -1,    -1,    -1,    -1,  1258,  1259,    -1,    -1,
7834     1262,  1263,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,
7835       -1,    -1,    -1,    -1,     7,     8,     9,    10,    11,    12,
7836       13,    14,    15,    16,    17,    -1,    -1,    -1,    -1,    -1,
7837       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
7838       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
7839       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
7840       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7841       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
7842       -1,    74,    75,    -1,  1583,  1584,    79,    -1,    -1,    -1,
7843     1589,  1590,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
7844       -1,    -1,    -1,  1602,    -1,    -1,  1605,   100,    -1,    -1,
7845       -1,    -1,    -1,    -1,  1613,    -1,    -1,   110,   111,   112,
7846      113,   114,   115,   116,   117,    -1,    -1,   120,   121,   122,
7847      123,    -1,    -1,   126,   127,   128,   129,    -1,   131,    -1,
7848       -1,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
7849      143,   144,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7850       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7851       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     0,     1,
7852       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
7853       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7854       -1,    -1,    -1,    -1,  1466,    -1,    28,    29,    30,    31,
7855       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7856       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7857       -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7858       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7859       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7860       82,    83,    84,    85,    86,    87,    88,  1766,  1767,    91,
7861       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7862      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7863      112,   113,   114,   115,   116,   117,   118,   119,   120,    -1,
7864       -1,   123,   124,   125,   126,    -1,   128,   129,   130,    -1,
7865       -1,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
7866       -1,  1583,  1584,    -1,    -1,    -1,    -1,  1589,  1590,    -1,
7867       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7868     1602,    -1,    -1,  1605,    -1,  1844,  1845,    -1,    -1,     0,
7869        1,  1613,     3,     4,     5,     6,     7,     8,     9,    10,
7870       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
7871       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
7872       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
7873       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
7874       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
7875       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
7876       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
7877       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
7878       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
7879       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
7880      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
7881      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
7882      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
7883      141,   142,   143,   144,    -1,    -1,    -1,    -1,    -1,    -1,
7884       -1,    -1,    -1,    -1,  1766,  1767,     0,     1,    -1,     3,
7885        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7886       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7887       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7888       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7889       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7890       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7891       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7892       74,    75,  1844,  1845,    78,    79,    80,    81,    82,    83,
7893       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7894       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7895      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7896      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7897      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7898      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
7899      144,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
7900        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
7901       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
7902       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7903       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7904       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
7905       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
7906       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7907       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7908       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7909       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7910      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
7911      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
7912      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
7913      139,   140,   141,   142,   143,   144,     0,     1,    -1,     3,
7914        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7915       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7916       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7917       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7918       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7919       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7920       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7921       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7922       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7923       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7924      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7925      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7926      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7927      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
7928      144,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
7929        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
7930       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
7931       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7932       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7933       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
7934       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
7935       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7936       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7937       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7938       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7939      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
7940      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
7941      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
7942      139,   140,   141,   142,   143,   144,     0,     1,    -1,     3,
7943        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7944       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7945       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7946       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7947       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7948       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7949       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7950       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7951       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7952       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7953      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7954      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7955      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7956      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
7957      144,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
7958        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
7959       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
7960       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7961       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7962       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
7963       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
7964       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7965       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7966       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7967       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7968      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
7969      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
7970      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
7971      139,   140,   141,   142,   143,   144,     0,     1,    -1,     3,
7972        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7973       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7974       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7975       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7976       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7977       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7978       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7979       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7980       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7981       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7982      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7983      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7984      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7985      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
7986      144,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
7987        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
7988       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
7989       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7990       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7991       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
7992       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
7993       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7994       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7995       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7996       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7997      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
7998      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
7999      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
8000      139,   140,   141,   142,   143,   144,     0,     1,    -1,     3,
8001        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
8002       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
8003       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
8004       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8005       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8006       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8007       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8008       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8009       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8010       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8011      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8012      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
8013      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
8014      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
8015      144,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
8016        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
8017       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
8018       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8019       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8020       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8021       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
8022       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
8023       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
8024       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
8025       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8026      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8027      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
8028      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
8029      139,   140,   141,   142,   143,   144,     0,     1,    -1,     3,
8030        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
8031       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
8032       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
8033       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8034       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8035       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8036       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8037       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8038       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8039       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8040      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8041      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
8042      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
8043      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
8044      144,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
8045        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
8046       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
8047       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8048       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8049       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8050       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
8051       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
8052       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
8053       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
8054       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8055      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8056      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
8057      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
8058      139,   140,   141,   142,   143,   144,     0,     1,    -1,     3,
8059        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
8060       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
8061       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
8062       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8063       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8064       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8065       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8066       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8067       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8068       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8069      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8070      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
8071      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
8072      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
8073      144,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
8074        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
8075       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
8076       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8077       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8078       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8079       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
8080       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
8081       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
8082       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
8083       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8084      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8085      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
8086      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
8087      139,   140,   141,   142,   143,   144,     0,     1,    -1,     3,
8088        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
8089       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
8090       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
8091       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8092       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8093       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8094       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8095       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8096       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8097       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8098      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8099      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
8100      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
8101      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
8102      144,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
8103        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
8104       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
8105       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8106       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8107       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8108       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
8109       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
8110       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
8111       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
8112       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8113      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8114      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
8115      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
8116      139,   140,   141,   142,   143,   144,     0,     1,    -1,     3,
8117        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
8118       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
8119       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
8120       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8121       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8122       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8123       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8124       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8125       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8126       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8127      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8128      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
8129      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
8130      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
8131      144,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
8132        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
8133       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
8134       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8135       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8136       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8137       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
8138       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
8139       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
8140       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
8141       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8142      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8143      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
8144      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
8145      139,   140,   141,   142,   143,   144,     0,     1,    -1,     3,
8146        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
8147       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
8148       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
8149       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8150       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8151       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8152       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8153       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8154       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8155       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8156      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8157      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
8158      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
8159      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
8160      144,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
8161        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
8162       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
8163       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8164       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8165       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8166       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
8167       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
8168       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
8169       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
8170       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8171      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8172      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
8173      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
8174      139,   140,   141,   142,   143,   144,     0,     1,    -1,     3,
8175        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
8176       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
8177       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
8178       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8179       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8180       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8181       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8182       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8183       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8184       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8185      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8186      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
8187      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
8188      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
8189      144,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
8190        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
8191       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
8192       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8193       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8194       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8195       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
8196       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
8197       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
8198       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
8199       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8200      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8201      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
8202      129,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
8203      139,   140,   141,   142,   143,   144,     0,     1,    -1,     3,
8204        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8205       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8206       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8207       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8208       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8209       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8210       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8211       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8212       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8213       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8214      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8215      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8216      124,   125,   126,    -1,   128,   129,   130,   131,   132,   133,
8217      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8218        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8219       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8220       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8221       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8222       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8223       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8224       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8225       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8226       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8227       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8228      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8229      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8230      124,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8231      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8232        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8233       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8234       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8235       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8236       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8237       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8238       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8239       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8240       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8241       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8242      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8243      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8244      124,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8245      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8246        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8247       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8248       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8249       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8250       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8251       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8252       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8253       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8254       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8255       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8256      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8257      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8258      124,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8259      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8260        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8261       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8262       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8263       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8264       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8265       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8266       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8267       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8268       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8269       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8270      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8271      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8272      124,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8273      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8274        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8275       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8276       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8277       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8278       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8279       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8280       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8281       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8282       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8283       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8284      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8285      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8286      124,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8287      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8288        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8289       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8290       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8291       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8292       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8293       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8294       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8295       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8296       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8297       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8298      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8299      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8300      124,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8301      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8302        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8303       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8304       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8305       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8306       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8307       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8308       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8309       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8310       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8311       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8312      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8313      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8314      124,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8315      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8316        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8317       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8318       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8319       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8320       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8321       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8322       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8323       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8324       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8325       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8326      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8327      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8328      124,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8329      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8330        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8331       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8332       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8333       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8334       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8335       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8336       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8337       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8338       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8339       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8340      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8341      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8342       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8343      134,    -1,   136,   137,   138,   139,     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,   120,    -1,    -1,   123,
8356       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8357      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8358        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8359       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8360       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8361       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8362       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8363       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8364       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8365       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8366       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8367       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8368      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8369      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8370       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8371      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8372        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8373       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8374       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8375       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8376       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8377       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8378       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8379       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8380       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8381       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8382      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8383      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8384       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8385      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8386        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8387       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8388       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8389       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8390       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8391       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8392       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8393       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8394       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8395       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8396      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8397      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8398       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8399      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8400        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8401       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8402       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8403       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8404       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8405       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8406       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8407       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8408       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8409       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8410      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8411      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8412       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8413      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8414        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8415       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8416       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8417       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8418       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8419       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8420       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8421       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8422       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8423       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8424      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8425      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8426       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8427      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8428        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8429       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8430       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8431       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8432       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8433       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8434       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8435       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8436       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8437       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8438      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8439      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8440       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8441      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8442        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8443       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8444       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8445       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8446       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8447       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8448       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8449       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8450       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8451       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8452      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8453      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8454       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8455      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8456        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8457       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8458       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8459       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8460       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8461       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8462       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8463       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8464       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8465       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8466      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8467      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8468       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8469      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8470        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8471       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8472       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8473       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8474       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8475       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8476       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8477       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8478       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8479       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8480      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8481      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8482       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8483      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8484        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8485       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8486       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8487       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8488       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8489       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8490       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8491       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8492       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8493       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8494      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8495      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8496       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8497      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8498        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8499       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8500       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8501       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8502       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8503       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8504       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8505       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8506       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8507       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8508      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8509      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8510       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8511      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8512        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8513       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8514       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8515       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8516       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8517       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8518       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8519       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8520       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8521       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8522      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8523      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8524       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8525      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8526        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8527       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8528       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8529       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8530       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8531       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8532       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8533       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8534       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8535       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8536      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8537      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8538       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8539      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8540        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8541       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8542       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8543       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8544       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8545       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8546       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8547       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8548       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8549       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8550      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8551      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8552       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8553      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8554        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8555       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8556       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8557       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8558       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8559       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8560       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8561       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8562       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8563       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8564      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8565      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8566       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8567      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8568        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8569       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8570       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8571       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8572       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8573       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8574       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8575       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8576       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8577       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8578      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8579      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8580       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8581      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8582        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8583       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8584       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8585       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8586       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8587       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8588       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8589       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8590       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8591       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8592      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8593      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8594       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8595      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8596        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8597       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8598       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8599       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8600       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8601       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8602       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8603       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8604       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8605       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8606      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8607      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8608       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8609      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8610        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8611       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8612       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8613       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8614       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8615       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8616       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8617       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8618       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8619       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8620      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8621      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8622       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8623      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8624        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8625       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8626       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8627       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8628       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8629       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8630       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8631       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8632       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8633       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8634      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8635      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8636       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8637      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8638        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8639       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8640       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8641       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8642       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8643       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8644       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8645       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8646       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8647       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8648      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8649      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8650       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8651      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8652        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8653       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8654       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8655       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8656       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8657       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8658       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8659       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8660       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8661       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8662      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8663      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8664       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8665      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8666        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8667       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8668       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8669       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8670       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8671       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8672       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8673       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8674       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8675       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8676      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8677      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8678       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8679      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8680        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8681       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8682       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8683       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8684       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8685       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8686       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8687       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8688       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8689       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8690      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8691      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8692       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8693      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8694        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8695       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8696       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8697       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8698       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8699       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8700       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8701       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8702       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8703       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8704      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8705      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8706       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8707      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8708        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8709       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8710       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8711       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8712       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8713       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8714       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8715       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8716       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8717       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8718      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8719      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8720       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8721      134,    -1,   136,   137,   138,   139,     0,     1,    -1,     3,
8722        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8723       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8724       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8725       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8726       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8727       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8728       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8729       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8730       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8731       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8732      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8733      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8734       -1,   125,   126,    -1,   128,   129,   130,    -1,   132,   133,
8735      134,    -1,   136,   137,   138,   139,     1,    -1,     3,     4,
8736        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8737       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8738       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8739       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8740       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
8741       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
8742       65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,
8743       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,
8744       85,    86,    87,    88,    89,    90,    -1,    -1,    -1,    -1,
8745       -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,
8746      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8747      115,   116,   117,   118,   119,   120,    -1,    -1,   123,    -1,
8748      125,   126,    -1,    -1,    -1,   130,    -1,   132,   133,   134,
8749       -1,   136,   137,   138,   139,     1,    -1,     3,     4,     5,
8750        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8751       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8752       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8753       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8754       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8755       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8756       66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
8757       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8758       86,    87,    88,    89,    90,    -1,    -1,    -1,    -1,    -1,
8759       -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,   105,
8760      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8761      116,   117,   118,   119,   120,    -1,    -1,   123,    -1,   125,
8762      126,    -1,    -1,    -1,   130,    -1,   132,   133,   134,    -1,
8763      136,   137,   138,   139,     1,    -1,     3,     4,     5,     6,
8764       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8765       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8766       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8767       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8768       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
8769       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
8770       -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8771       -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,
8772       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8773       -1,    98,    -1,   100,    -1,   102,   103,   104,   105,   106,
8774      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
8775      117,   118,   119,   120,    -1,    -1,   123,    -1,   125,   126,
8776       -1,   128,   129,   130,    -1,    -1,   133,   134,    -1,   136,
8777      137,   138,   139,     1,    -1,     3,     4,     5,     6,    -1,
8778        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8779       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8780       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8781       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8782       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8783       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8784       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8785       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,
8786       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8787       98,    -1,   100,    -1,   102,   103,   104,   105,   106,   107,
8788      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8789      118,   119,   120,    -1,    -1,   123,    -1,   125,   126,    -1,
8790      128,   129,   130,    -1,    -1,   133,   134,    -1,   136,   137,
8791      138,   139,     1,    -1,     3,     4,     5,     6,    -1,     8,
8792        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8793       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8794       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8795       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8796       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8797       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
8798       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,
8799       79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,
8800       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8801       -1,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8802      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8803      119,   120,    -1,    -1,   123,    -1,   125,   126,    -1,   128,
8804      129,   130,    -1,    -1,   133,   134,    -1,   136,   137,   138,
8805      139,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8806       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8807       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8808       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8809       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8810       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8811       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8812       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8813       -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,
8814       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8815      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8816      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8817      120,    -1,    -1,   123,    -1,   125,   126,    -1,   128,   129,
8818      130,    -1,    -1,   133,   134,    -1,   136,   137,   138,   139,
8819        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8820       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8821       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8822       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8823       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8824       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8825       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
8826       71,    72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,
8827       -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,
8828       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,
8829       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8830      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
8831       -1,    -1,   123,    -1,   125,   126,    -1,   128,   129,   130,
8832       -1,    -1,   133,   134,    -1,   136,   137,   138,   139,     1,
8833       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8834       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8835       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8836       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8837       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8838       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8839       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8840       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8841       -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8842       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8843      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8844      112,   113,   114,   115,   116,   117,   118,   119,   120,    -1,
8845       -1,   123,    -1,   125,   126,    -1,   128,   129,   130,    -1,
8846       -1,   133,   134,    -1,   136,   137,   138,   139,     1,    -1,
8847        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8848       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8849       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
8850       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
8851       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
8852       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8853       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,
8854       73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
8855       -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
8856       -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,
8857      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8858      113,   114,   115,   116,   117,   118,   119,   120,    -1,    -1,
8859      123,    -1,   125,   126,    -1,   128,   129,   130,    -1,    -1,
8860      133,   134,    -1,   136,   137,   138,   139,     1,    -1,     3,
8861        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8862       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8863       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8864       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8865       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8866       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8867       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8868       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8869       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8870       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8871      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8872      114,   115,   116,   117,   118,   119,   120,    -1,    -1,   123,
8873       -1,   125,   126,    -1,   128,   129,   130,    -1,    -1,   133,
8874      134,    -1,   136,   137,   138,   139,     1,    -1,     3,     4,
8875        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8876       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8877       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8878       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8879       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
8880       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8881       65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,
8882       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,
8883       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8884       -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,
8885      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8886      115,   116,   117,   118,   119,   120,    -1,    -1,   123,    -1,
8887      125,   126,    -1,   128,   129,   130,    -1,    -1,   133,   134,
8888       -1,   136,   137,   138,   139,     1,    -1,     3,     4,     5,
8889        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8890       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8891       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8892       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8893       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
8894       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8895       66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
8896       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8897       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8898       -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,   105,
8899      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8900      116,   117,   118,   119,   120,    -1,    -1,   123,    -1,   125,
8901      126,    -1,   128,   129,   130,    -1,    -1,   133,   134,    -1,
8902      136,   137,   138,   139,     1,    -1,     3,     4,     5,     6,
8903       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8904       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8905       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8906       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8907       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
8908       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
8909       -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8910       -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,
8911       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8912       -1,    98,    -1,   100,    -1,   102,   103,   104,   105,   106,
8913      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
8914      117,   118,   119,   120,    -1,    -1,   123,    -1,   125,   126,
8915       -1,   128,   129,   130,    -1,    -1,   133,   134,    -1,   136,
8916      137,   138,   139,     1,    -1,     3,     4,     5,     6,    -1,
8917        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8918       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8919       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8920       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8921       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8922       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8923       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8924       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,
8925       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8926       98,    -1,   100,    -1,   102,   103,   104,   105,   106,   107,
8927      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8928      118,   119,   120,    -1,    -1,   123,    -1,   125,   126,    -1,
8929      128,   129,   130,    -1,    -1,   133,   134,    -1,   136,   137,
8930      138,   139,     1,    -1,     3,     4,     5,     6,    -1,     8,
8931        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8932       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8933       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8934       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8935       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8936       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
8937       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,
8938       79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,
8939       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8940       -1,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8941      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8942      119,   120,    -1,    -1,   123,    -1,   125,   126,    -1,   128,
8943      129,   130,    -1,    -1,   133,   134,    -1,   136,   137,   138,
8944      139,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8945       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8946       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8947       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8948       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8949       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8950       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8951       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8952       -1,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
8953       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8954      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8955      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8956      120,    -1,    -1,   123,     1,   125,     3,     4,     5,     6,
8957       -1,     8,     9,   133,   134,    -1,   136,   137,   138,   139,
8958       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8959       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8960       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8961       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
8962       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
8963       -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8964       -1,    -1,    79,    -1,    -1,    82,    83,    84,    85,    86,
8965       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8966       -1,    98,    -1,   100,    -1,   102,   103,   104,   105,   106,
8967      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
8968      117,   118,   119,   120,    -1,    -1,   123,     1,   125,     3,
8969        4,     5,     6,    -1,     8,     9,   133,   134,    -1,   136,
8970      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8971       -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,
8972       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8973       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8974       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8975       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8976       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
8977       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8978       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8979      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8980      114,   115,    -1,    -1,   118,   119,   120,    -1,    -1,   123,
8981        1,   125,     3,     4,     5,     6,   130,     8,     9,   133,
8982      134,    -1,   136,   137,   138,   139,    -1,    -1,    -1,    -1,
8983       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,
8984       -1,    -1,    -1,    34,    35,    36,    37,    38,    39,    40,
8985       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8986       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8987       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
8988       71,    72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,
8989       -1,    82,    83,    84,    85,    86,    87,    -1,     1,    -1,
8990        3,     4,     5,     6,    -1,     8,     9,    98,    -1,   100,
8991       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8992      111,   112,   113,   114,   115,    28,    -1,   118,   119,   120,
8993       -1,    -1,   123,   124,   125,    -1,    -1,    -1,    -1,    -1,
8994       -1,    -1,   133,   134,    -1,   136,   137,   138,   139,    52,
8995       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
8996       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8997       73,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,
8998       -1,    84,    85,    86,    -1,    88,    89,    90,    -1,    -1,
8999       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9000      103,   104,   105,   106,   107,   108,   109,   110,   111,    -1,
9001       -1,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,    -1,
9002      123,   124,   125,   126,    -1,   128,    -1,   130,    -1,   132,
9003      133,   134,    -1,   136,   137,   138,   139,     1,    -1,     3,
9004        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
9005       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9006       -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,
9007       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9008       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    53,
9009       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
9010       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
9011       -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
9012       84,    85,    86,    -1,    88,    89,    90,    -1,    -1,    -1,
9013       -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,
9014      104,   105,   106,   107,   108,   109,   110,   111,    -1,    -1,
9015       -1,    -1,    -1,    -1,   118,   119,   120,    -1,    -1,   123,
9016      124,   125,   126,    -1,   128,    -1,   130,    -1,   132,   133,
9017      134,    -1,   136,   137,   138,   139,     1,    -1,     3,     4,
9018        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
9019       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9020       -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,    -1,
9021       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9022       -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    53,    54,
9023       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
9024       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,
9025       -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,
9026       85,    86,    -1,    88,    89,    90,    -1,    -1,    -1,    -1,
9027       -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,   104,
9028      105,   106,   107,   108,   109,   110,   111,    -1,    -1,    -1,
9029       -1,    -1,    -1,   118,   119,   120,    -1,    -1,   123,    -1,
9030      125,   126,    -1,    -1,    -1,   130,    -1,   132,   133,   134,
9031       -1,   136,   137,   138,   139,     1,    -1,     3,     4,     5,
9032        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
9033       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9034       -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9035       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9036       -1,    -1,    -1,    -1,    -1,    -1,    52,    53,    54,    55,
9037       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
9038       -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,
9039       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
9040       86,    -1,    88,    89,    90,    -1,    -1,    -1,    -1,    -1,
9041       -1,    -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,
9042      106,   107,   108,   109,   110,   111,    -1,    -1,    -1,    -1,
9043       -1,    -1,   118,   119,   120,    -1,    -1,   123,    -1,   125,
9044      126,    -1,    -1,    -1,   130,    -1,   132,   133,   134,    -1,
9045      136,   137,   138,   139,     1,    -1,     3,     4,     5,     6,
9046       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9047       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9048       -1,    28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9049       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9050       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9051       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9052       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9053       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9054       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9055       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9056      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9057       -1,   118,   119,   120,    -1,    -1,   123,   124,   125,    -1,
9058       -1,   128,    -1,    -1,    -1,    -1,   133,   134,   135,   136,
9059      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9060       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9061       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9062       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9063       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9064      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9065       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9066       -1,   123,   124,   125,    -1,    -1,   128,    -1,    -1,    -1,
9067      132,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9068       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9069       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9070       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9071       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9072       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9073      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9074       -1,   118,   119,   120,    -1,    -1,   123,   124,   125,   126,
9075       -1,   128,    -1,    -1,    -1,    -1,   133,   134,    -1,   136,
9076      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9077       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9078       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9079       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9080       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9081      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9082       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9083       -1,   123,   124,   125,   126,    -1,   128,    -1,    -1,    -1,
9084       -1,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9085       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9086       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9087       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9088       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9089       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9090      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9091       -1,   118,   119,   120,    -1,    -1,   123,   124,   125,    -1,
9092       -1,   128,    -1,    -1,    -1,   132,   133,   134,    -1,   136,
9093      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9094       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9095       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9096       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9097       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9098      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9099       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9100       -1,   123,   124,   125,    -1,    -1,   128,    -1,    -1,    -1,
9101      132,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9102       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9103       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9104       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9105       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9106       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9107      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9108       -1,   118,   119,   120,    -1,    -1,   123,   124,   125,   126,
9109       -1,   128,    -1,    -1,    -1,    -1,   133,   134,    -1,   136,
9110      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9111       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9112       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9113       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9114       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9115      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9116       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9117       -1,   123,   124,   125,   126,    -1,   128,    -1,    -1,    -1,
9118       -1,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9119       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9120       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9121       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9122       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9123       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9124      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9125       -1,   118,   119,   120,    -1,    -1,   123,    -1,   125,    -1,
9126       -1,   128,   129,   130,    -1,    -1,   133,   134,    -1,   136,
9127      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9128       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9129       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9130       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9131       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9132      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9133       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9134       -1,   123,   124,   125,   126,    -1,   128,    -1,    -1,    -1,
9135       -1,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9136       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9137       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9138       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9139       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9140       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9141      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9142       -1,   118,   119,   120,    -1,    -1,   123,   124,   125,   126,
9143       -1,   128,    -1,    -1,    -1,    -1,   133,   134,    -1,   136,
9144      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9145       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9146       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9147       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9148       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9149      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9150       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9151       -1,   123,    -1,   125,    -1,    -1,    -1,    -1,   130,    -1,
9152       -1,   133,   134,   135,   136,   137,   138,   139,    -1,    -1,
9153       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9154       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9155       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9156       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9157       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9158      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9159       -1,   118,   119,   120,    -1,    -1,   123,    -1,   125,   126,
9160       -1,   128,    -1,    -1,    -1,    -1,   133,   134,    -1,   136,
9161      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9162       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9163       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9164       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9165       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9166      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9167       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9168       -1,   123,   124,   125,    -1,    -1,    -1,    -1,   130,    -1,
9169       -1,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9170       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9171       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9172       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9173       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9174       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9175      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9176       -1,   118,   119,   120,    -1,    -1,   123,   124,   125,    -1,
9177       -1,    -1,    -1,   130,    -1,    -1,   133,   134,    -1,   136,
9178      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9179       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9180       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9181       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9182       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9183      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9184       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9185       -1,   123,    -1,   125,   126,    -1,    -1,    -1,   130,    -1,
9186       -1,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9187       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9188       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9189       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9190       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9191       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9192      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9193       -1,   118,   119,   120,    -1,    -1,   123,   124,   125,    -1,
9194       -1,   128,    -1,    -1,    -1,    -1,   133,   134,    -1,   136,
9195      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9196       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9197       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9198       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9199       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9200      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9201       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9202       -1,   123,   124,   125,   126,    -1,    -1,    -1,    -1,    -1,
9203       -1,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9204       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9205       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9206       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9207       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9208       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9209      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9210       -1,   118,   119,   120,    -1,    -1,   123,    -1,   125,   126,
9211       -1,   128,    -1,    -1,    -1,    -1,   133,   134,    -1,   136,
9212      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9213       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9214       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9215       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9216       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9217      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9218       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9219       -1,   123,   124,   125,    -1,    -1,   128,    -1,    -1,    -1,
9220       -1,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9221       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9222       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9223       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9224       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9225       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9226      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9227       -1,   118,   119,   120,    -1,    -1,   123,    -1,   125,    -1,
9228       -1,   128,    -1,    -1,    -1,    -1,   133,   134,   135,   136,
9229      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9230       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9231       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9232       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9233       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9234      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9235       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9236       -1,   123,    -1,   125,    -1,    -1,   128,    -1,    -1,    -1,
9237      132,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9238       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9239       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9240       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9241       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9242       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9243      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9244       -1,   118,   119,   120,    -1,    -1,   123,    -1,   125,    -1,
9245       -1,   128,    -1,    -1,    -1,    -1,   133,   134,   135,   136,
9246      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9247       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9248       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9249       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9250       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9251      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9252       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9253       -1,   123,    -1,   125,    -1,    -1,   128,    -1,    -1,    -1,
9254      132,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9255       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9256       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9257       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9258       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9259       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9260      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9261       -1,   118,   119,   120,    -1,    -1,   123,   124,   125,    -1,
9262       -1,   128,    -1,    -1,    -1,    -1,   133,   134,    -1,   136,
9263      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9264       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9265       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9266       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9267       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9268      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9269       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9270       -1,   123,   124,   125,    -1,    -1,   128,    -1,    -1,    -1,
9271       -1,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9272       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9273       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9274       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9275       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9276       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9277      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9278       -1,   118,   119,   120,    -1,    -1,   123,   124,   125,    -1,
9279       -1,   128,    -1,    -1,    -1,    -1,   133,   134,    -1,   136,
9280      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9281       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9282       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9283       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9284       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9285      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9286       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9287       -1,   123,   124,   125,    -1,    -1,   128,    -1,    -1,    -1,
9288       -1,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9289       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9290       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9291       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9292       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9293       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9294      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9295       -1,   118,   119,   120,    -1,    -1,   123,   124,   125,   126,
9296       -1,    -1,    -1,    -1,    -1,    -1,   133,   134,    -1,   136,
9297      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9298       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9299       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9300       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9301       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9302      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9303       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9304       -1,   123,    -1,   125,   126,    -1,   128,    -1,    -1,    -1,
9305       -1,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9306       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9307       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9308       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9309       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9310       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9311      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9312       -1,   118,   119,   120,    -1,    -1,   123,   124,   125,   126,
9313       -1,    -1,    -1,    -1,    -1,    -1,   133,   134,    -1,   136,
9314      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9315       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9316       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9317       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9318       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9319      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9320       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9321       -1,   123,    -1,   125,    -1,    -1,   128,    -1,    -1,    -1,
9322      132,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9323       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9324       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9325       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9326       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9327       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9328      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9329       -1,   118,   119,   120,    -1,    -1,   123,    -1,   125,    -1,
9330       -1,   128,    -1,    -1,    -1,   132,   133,   134,    -1,   136,
9331      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9332       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9333       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9334       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9335       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9336      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9337       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9338       -1,   123,   124,   125,    -1,    -1,   128,    -1,    -1,    -1,
9339       -1,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9340       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9341       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9342       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9343       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9344       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9345      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9346       -1,   118,   119,   120,    -1,    -1,   123,   124,   125,    -1,
9347       -1,   128,    -1,    -1,    -1,    -1,   133,   134,    -1,   136,
9348      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9349       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9350       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9351       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9352       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9353      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9354       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9355       -1,   123,   124,   125,    -1,    -1,   128,    -1,    -1,    -1,
9356       -1,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9357       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9358       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9359       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9360       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9361       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9362      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9363       -1,   118,   119,   120,    -1,    -1,   123,   124,   125,   126,
9364       -1,    -1,    -1,    -1,    -1,    -1,   133,   134,    -1,   136,
9365      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9366       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9367       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9368       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9369       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9370      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9371       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9372       -1,   123,   124,   125,    -1,    -1,   128,    -1,    -1,    -1,
9373       -1,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9374       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9375       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9376       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9377       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9378       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9379      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9380       -1,   118,   119,   120,    -1,    -1,   123,    -1,   125,    -1,
9381       -1,    -1,   129,   130,    -1,    -1,   133,   134,    -1,   136,
9382      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9383       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9384       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9385       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9386       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9387      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9388       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9389       -1,   123,   124,   125,    -1,    -1,   128,    -1,    -1,    -1,
9390       -1,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9391       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9392       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9393       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9394       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9395       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9396      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9397       -1,   118,   119,   120,    -1,    -1,   123,   124,   125,    -1,
9398       -1,   128,    -1,    -1,    -1,    -1,   133,   134,    -1,   136,
9399      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9400       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9401       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9402       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9403       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9404      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9405       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9406       -1,   123,   124,   125,    -1,    -1,   128,    -1,    -1,    -1,
9407       -1,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9408       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9409       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9410       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9411       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9412       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9413      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9414       -1,   118,   119,   120,    -1,    -1,   123,    -1,   125,    -1,
9415       -1,    -1,    -1,    -1,    -1,    -1,   133,   134,   135,   136,
9416      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9417       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9418       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9419       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9420       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9421      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9422       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9423       -1,   123,    -1,   125,    -1,    -1,    -1,    -1,   130,    -1,
9424       -1,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9425       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9426       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9427       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9428       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9429       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9430      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9431       -1,   118,   119,   120,    -1,    -1,   123,    -1,   125,    -1,
9432       -1,    -1,    -1,    -1,    -1,    -1,   133,   134,   135,   136,
9433      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9434       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9435       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9436       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9437       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9438      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9439       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9440       -1,   123,    -1,   125,    -1,    -1,    -1,    -1,    -1,    -1,
9441       -1,   133,   134,   135,   136,   137,   138,   139,    -1,    -1,
9442       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9443       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9444       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9445       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9446       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9447      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9448       -1,   118,   119,   120,    -1,    -1,   123,    -1,   125,    -1,
9449       -1,    -1,    -1,   130,    -1,    -1,   133,   134,    -1,   136,
9450      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9451       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9452       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9453       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9454       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9455      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9456       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9457       -1,   123,    -1,   125,    -1,    -1,    -1,    -1,    -1,    -1,
9458       -1,   133,   134,   135,   136,   137,   138,   139,    -1,    -1,
9459       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9460       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9461       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9462       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9463       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9464      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9465       -1,   118,   119,   120,    -1,    -1,   123,    -1,   125,    -1,
9466       -1,    -1,    -1,    -1,    -1,   132,   133,   134,    -1,   136,
9467      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9468       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9469       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9470       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9471       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9472      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9473       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9474       -1,   123,   124,   125,    -1,    -1,    -1,    -1,    -1,    -1,
9475       -1,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9476       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9477       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9478       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9479       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9480       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9481      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9482       -1,   118,   119,   120,    -1,    -1,   123,    -1,   125,    -1,
9483       -1,    -1,    -1,   130,    -1,    -1,   133,   134,    -1,   136,
9484      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9485       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9486       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9487       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9488       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9489      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9490       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9491       -1,   123,    -1,   125,    -1,    -1,    -1,    -1,    -1,    -1,
9492       -1,   133,   134,   135,   136,   137,   138,   139,    -1,    -1,
9493       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9494       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9495       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9496       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9497       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9498      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9499       -1,   118,   119,   120,    -1,    -1,   123,   124,   125,    -1,
9500       -1,    -1,    -1,    -1,    -1,    -1,   133,   134,    -1,   136,
9501      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9502       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9503       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9504       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9505       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9506      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9507       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9508       -1,   123,    -1,   125,    -1,    -1,    -1,    -1,    -1,    -1,
9509      132,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9510       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9511       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9512       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9513       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9514       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9515      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9516       -1,   118,   119,   120,    -1,    -1,   123,    -1,   125,    -1,
9517       -1,    -1,    -1,   130,    -1,    -1,   133,   134,    -1,   136,
9518      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9519       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9520       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9521       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9522       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9523      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9524       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9525       -1,   123,    -1,   125,    -1,    -1,    -1,    -1,   130,    -1,
9526       -1,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9527       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9528       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9529       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9530       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9531       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9532      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9533       -1,   118,   119,   120,    -1,    -1,   123,    -1,   125,    -1,
9534       -1,    -1,    -1,   130,    -1,    -1,   133,   134,    -1,   136,
9535      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9536       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9537       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9538       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9539       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9540      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9541       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9542       -1,   123,    -1,   125,    -1,    -1,    -1,    -1,   130,    -1,
9543       -1,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9544       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9545       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9546       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9547       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9548       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9549      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9550       -1,   118,   119,   120,    -1,    -1,   123,   124,   125,    -1,
9551       -1,    -1,    -1,    -1,    -1,    -1,   133,   134,    -1,   136,
9552      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9553       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9554       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9555       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9556       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9557      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9558       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9559       -1,   123,    -1,   125,    -1,    -1,    -1,    -1,   130,    -1,
9560       -1,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9561       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9562       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9563       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9564       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9565       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9566      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9567       -1,   118,   119,   120,    -1,    -1,   123,   124,   125,    -1,
9568       -1,    -1,    -1,    -1,    -1,    -1,   133,   134,    -1,   136,
9569      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9570       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9571       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9572       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9573       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9574      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9575       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9576       -1,   123,   124,   125,    -1,    -1,    -1,    -1,    -1,    -1,
9577       -1,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9578       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9579       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9580       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9581       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9582       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9583      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9584       -1,   118,   119,   120,    -1,    -1,   123,    -1,   125,    -1,
9585       -1,    -1,    -1,    -1,    -1,    -1,   133,   134,    -1,   136,
9586      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9587       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9588       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9589       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
9590       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9591      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9592       -1,    28,    -1,    -1,    -1,    -1,   118,   119,   120,    -1,
9593       -1,   123,    -1,   125,    -1,    -1,    -1,    -1,    -1,    -1,
9594       -1,   133,   134,    -1,   136,   137,   138,   139,    -1,    -1,
9595       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
9596       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9597       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
9598       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9599       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9600      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
9601       -1,   118,   119,   120,    -1,    -1,   123,    -1,   125,    -1,
9602       -1,    -1,    -1,    -1,    -1,    -1,   133,   134,    -1,   136,
9603      137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9604       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9605       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9606       -1,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
9607       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9608      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9609        0,     1,    -1,     3,     4,     5,   118,   119,   120,    -1,
9610       -1,   123,    -1,   125,    -1,    -1,    -1,    -1,    -1,    -1,
9611       -1,   133,   134,    -1,   136,   137,   138,   139,    28,    29,
9612       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9613       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9614       50,    -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,
9615       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,
9616       -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,    79,
9617       80,    81,    82,    83,    -1,    85,    86,    87,    88,    -1,
9618       -1,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
9619      100,    -1,   102,   103,   104,   105,   106,   107,   108,    -1,
9620      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
9621      120,    -1,    -1,   123,   124,   125,   126,    -1,   128,   129,
9622       -1,    -1,    -1,   133,   134,     0,     1,    -1,     3,     4,
9623        5,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9624       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9625       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9626       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9627       45,    46,    47,    48,    49,    50,    -1,    -1,    53,    -1,
9628       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9629       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9630       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9631       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9632       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9633      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9634      115,   116,   117,   118,    -1,   120,    -1,    -1,   123,    -1,
9635      125,   126,    -1,   128,   129,    -1,    -1,    -1,   133,   134,
9636        0,     1,    -1,     3,     4,     5,    -1,    -1,    -1,    -1,
9637       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9638       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
9639       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9640       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9641       50,    -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,
9642       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,
9643       -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,    79,
9644       80,    81,    82,    83,    -1,    85,    86,    87,    88,    -1,
9645       -1,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
9646      100,    -1,   102,   103,   104,   105,   106,   107,   108,    -1,
9647      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
9648      120,    -1,    -1,   123,    -1,   125,   126,     0,     1,   129,
9649        3,     4,     5,   133,   134,    -1,    -1,    -1,    -1,    -1,
9650       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9651       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9652       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9653       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9654       53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9655       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9656       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9657       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9658       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9659      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9660      113,   114,   115,   116,   117,   118,    -1,   120,    -1,    -1,
9661      123,    -1,   125,   126,     0,     1,   129,     3,     4,     5,
9662      133,   134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9663       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9664       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9665       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9666       46,    47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,
9667       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9668       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9669       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9670       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9671       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9672      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9673      116,   117,   118,    -1,   120,    -1,    -1,   123,    -1,   125,
9674      126,     0,     1,   129,     3,     4,     5,   133,   134,    -1,
9675       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9676       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9677       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9678       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9679       49,    50,    -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,
9680       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9681       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9682       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9683       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9684       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9685       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9686       -1,   120,    -1,    -1,   123,    -1,   125,   126,    -1,     1,
9687      129,     3,     4,     5,   133,   134,    -1,    -1,    -1,    -1,
9688       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9689       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
9690       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9691       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9692       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9693       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
9694       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
9695       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
9696       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
9697      102,   103,   104,   105,   106,   107,   108,    -1,   110,   111,
9698      112,   113,   114,   115,   116,   117,   118,    -1,   120,    -1,
9699       -1,   123,    -1,   125,   126,    -1,     1,   129,     3,     4,
9700        5,   133,   134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9701       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9702       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9703       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9704       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9705       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9706       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9707       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9708       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9709       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9710      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9711      115,   116,   117,   118,    -1,   120,    -1,    -1,   123,    -1,
9712      125,   126,    -1,     1,   129,     3,     4,     5,   133,   134,
9713       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9714       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9715       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9716       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9717       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9718       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
9719       68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,
9720       78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
9721       88,    -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,
9722       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
9723      108,    -1,   110,   111,   112,   113,   114,   115,   116,   117,
9724      118,    -1,   120,    -1,    -1,   123,    -1,   125,   126,    -1,
9725        1,   129,     3,     4,     5,   133,   134,    -1,    -1,    -1,
9726       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9727       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9728       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9729       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9730       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9731       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9732       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9733       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9734       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9735       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9736      111,   112,   113,   114,   115,   116,   117,   118,    -1,   120,
9737       -1,    -1,   123,    -1,   125,   126,    -1,     1,   129,     3,
9738        4,     5,   133,   134,    -1,    -1,    -1,    -1,    -1,    -1,
9739       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9740       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
9741       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9742       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9743       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9744       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,
9745       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
9746       -1,    85,    86,    87,    88,    -1,    -1,    91,    92,    93,
9747       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
9748      104,   105,   106,   107,   108,    -1,   110,   111,   112,   113,
9749      114,   115,   116,   117,   118,    -1,   120,    -1,    -1,   123,
9750       -1,   125,   126,    -1,     1,   129,     3,     4,     5,   133,
9751      134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9752       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9753       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9754       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9755       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9756       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9757       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9758       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9759       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9760       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9761      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9762      117,   118,    -1,   120,    -1,    -1,   123,    -1,   125,   126,
9763       -1,     1,   129,     3,     4,     5,   133,   134,    -1,    -1,
9764       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9765       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
9766       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9767       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9768       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9769       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,
9770       -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,    79,
9771       80,    81,    82,    83,    -1,    85,    86,    87,    88,    -1,
9772       -1,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
9773      100,    -1,   102,   103,   104,   105,   106,   107,   108,    -1,
9774      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
9775      120,    -1,    -1,   123,    -1,   125,   126,    -1,     1,   129,
9776        3,     4,     5,   133,   134,    -1,    -1,    -1,    -1,    -1,
9777       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9778       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9779       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9780       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9781       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9782       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9783       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9784       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9785       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9786      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9787      113,   114,   115,   116,   117,   118,    -1,   120,    -1,    -1,
9788      123,    -1,   125,   126,    -1,     1,   129,     3,     4,     5,
9789      133,   134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9790       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9791       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9792       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9793       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9794       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9795       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9796       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9797       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9798       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9799      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9800      116,   117,   118,    -1,   120,    -1,    -1,   123,    -1,   125,
9801      126,    -1,     1,   129,     3,     4,     5,   133,   134,    -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       -1,   120,    -1,    -1,   123,    -1,   125,   126,    -1,     1,
9814      129,     3,     4,     5,   133,   134,    -1,    -1,    -1,    -1,
9815       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9816       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
9817       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9818       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9819       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9820       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
9821       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
9822       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
9823       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
9824      102,   103,   104,   105,   106,   107,   108,    -1,   110,   111,
9825      112,   113,   114,   115,   116,   117,   118,    -1,   120,    -1,
9826       -1,   123,    -1,   125,   126,    -1,     1,   129,     3,     4,
9827        5,   133,   134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9828       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9829       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9830       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9831       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9832       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9833       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9834       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9835       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9836       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9837      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9838      115,   116,   117,   118,    -1,   120,    -1,    -1,   123,    -1,
9839      125,   126,    -1,     1,   129,     3,     4,     5,   133,   134,
9840       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9841       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9842       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9843       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9844       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9845       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
9846       68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,
9847       78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
9848       88,    -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,
9849       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
9850      108,    -1,   110,   111,   112,   113,   114,   115,   116,   117,
9851      118,    -1,   120,    -1,    -1,   123,    -1,   125,   126,    -1,
9852        1,   129,     3,     4,     5,   133,   134,    -1,    -1,    -1,
9853       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9854       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9855       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9856       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9857       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9858       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9859       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9860       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9861       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9862       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9863      111,   112,   113,   114,   115,   116,   117,   118,    -1,   120,
9864       -1,    -1,   123,    -1,   125,   126,    -1,     1,   129,     3,
9865        4,     5,   133,   134,    -1,    -1,    -1,    -1,    -1,    -1,
9866       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9867       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
9868       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9869       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9870       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9871       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,
9872       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
9873       -1,    85,    86,    87,    88,    -1,    -1,    91,    92,    93,
9874       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
9875      104,   105,   106,   107,   108,    -1,   110,   111,   112,   113,
9876      114,   115,   116,   117,   118,    -1,   120,    -1,    -1,   123,
9877       -1,   125,   126,    -1,     1,   129,     3,     4,     5,   133,
9878      134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9879       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9880       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9881       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9882       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9883       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9884       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9885       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9886       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9887       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9888      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9889      117,   118,    -1,   120,    -1,    -1,   123,    -1,   125,   126,
9890       -1,     1,   129,     3,     4,     5,   133,   134,    -1,    -1,
9891       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9892       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
9893       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9894       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9895       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9896       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,
9897       -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,    79,
9898       80,    81,    82,    83,    -1,    85,    86,    87,    88,    -1,
9899       -1,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
9900      100,    -1,   102,   103,   104,   105,   106,   107,   108,    -1,
9901      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
9902      120,    -1,    -1,   123,    -1,   125,   126,    -1,     1,   129,
9903        3,     4,     5,   133,   134,    -1,    -1,    -1,    -1,    -1,
9904       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9905       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9906       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9907       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9908       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9909       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9910       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9911       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9912       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9913      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9914      113,   114,   115,   116,   117,   118,    -1,   120,    -1,    -1,
9915      123,    -1,   125,   126,    -1,     1,   129,     3,     4,     5,
9916      133,   134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9917       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9918       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9919       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9920       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9921       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9922       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9923       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9924       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9925       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9926      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9927      116,   117,   118,    -1,   120,    -1,    -1,   123,    -1,   125,
9928      126,    -1,     1,   129,     3,     4,     5,   133,   134,    -1,
9929       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9930       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9931       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9932       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9933       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9934       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9935       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9936       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9937       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9938       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9939       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9940       -1,   120,    -1,    -1,   123,    -1,   125,   126,    -1,     1,
9941      129,     3,     4,     5,   133,   134,    -1,    -1,    -1,    -1,
9942       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9943       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
9944       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9945       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9946       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9947       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
9948       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
9949       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
9950       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
9951      102,   103,   104,   105,   106,   107,   108,    -1,   110,   111,
9952      112,   113,   114,   115,   116,   117,   118,    -1,   120,    -1,
9953       -1,   123,    -1,   125,   126,    -1,     1,   129,     3,     4,
9954        5,   133,   134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9955       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9956       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9957       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9958       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9959       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9960       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9961       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9962       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9963       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9964      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9965      115,   116,   117,   118,    -1,   120,    -1,    -1,   123,    -1,
9966      125,   126,    -1,     1,   129,     3,     4,     5,   133,   134,
9967       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9968       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9969       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9970       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9971       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9972       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
9973       68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,
9974       78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
9975       88,    -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,
9976       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
9977      108,    -1,   110,   111,   112,   113,   114,   115,   116,   117,
9978      118,    -1,   120,    -1,    -1,   123,    -1,   125,   126,    -1,
9979        1,   129,     3,     4,     5,   133,   134,    -1,    -1,    -1,
9980       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9981       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9982       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9983       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9984       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9985       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9986       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9987       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9988       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9989       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9990      111,   112,   113,   114,   115,   116,   117,   118,    -1,   120,
9991       -1,    -1,   123,    -1,   125,   126,    -1,     1,   129,     3,
9992        4,     5,   133,   134,    -1,    -1,    -1,    -1,    -1,    -1,
9993       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9994       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
9995       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9996       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9997       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9998       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,
9999       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
10000       -1,    85,    86,    87,    88,    -1,    -1,    91,    92,    93,
10001       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
10002      104,   105,   106,   107,   108,    -1,   110,   111,   112,   113,
10003      114,   115,   116,   117,   118,    -1,   120,    -1,    -1,   123,
10004       -1,   125,   126,    -1,     1,   129,     3,     4,     5,   133,
10005      134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10006       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10007       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10008       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10009       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10010       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10011       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
10012       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
10013       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
10014       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
10015      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
10016      117,   118,    -1,   120,    -1,    -1,   123,    -1,   125,   126,
10017       -1,     1,   129,     3,     4,     5,   133,   134,    -1,    -1,
10018       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10019       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
10020       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10021       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10022       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10023       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,
10024       -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,    79,
10025       80,    81,    82,    83,    -1,    85,    86,    87,    88,    -1,
10026       -1,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
10027      100,    -1,   102,   103,   104,   105,   106,   107,   108,    -1,
10028      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
10029      120,    -1,    -1,   123,    -1,   125,   126,    -1,     1,   129,
10030        3,     4,     5,   133,   134,    -1,    -1,    -1,    -1,    -1,
10031       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10032       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
10033       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10034       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10035       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10036       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
10037       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
10038       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
10039       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
10040      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
10041      113,   114,   115,   116,   117,   118,    -1,   120,    -1,    -1,
10042      123,    -1,   125,   126,    -1,     1,   129,     3,     4,     5,
10043      133,   134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10044       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10045       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
10046       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10047       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
10048       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
10049       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
10050       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
10051       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
10052       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
10053      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
10054      116,   117,   118,    -1,   120,    -1,    -1,   123,    -1,   125,
10055      126,    -1,     1,   129,     3,     4,     5,   133,   134,    -1,
10056       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10057       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
10058       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10059       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10060       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10061       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
10062       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
10063       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
10064       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
10065       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
10066       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
10067       -1,   120,    -1,    -1,   123,    -1,   125,   126,    -1,     1,
10068      129,     3,     4,     5,   133,   134,    -1,    -1,    -1,    -1,
10069       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10070       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
10071       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10072       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10073       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10074       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
10075       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
10076       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
10077       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
10078      102,   103,   104,   105,   106,   107,   108,    -1,   110,   111,
10079      112,   113,   114,   115,   116,   117,   118,    -1,   120,    -1,
10080       -1,   123,    -1,   125,   126,    -1,     1,   129,     3,     4,
10081        5,   133,   134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10082       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10083       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
10084       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10085       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10086       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10087       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
10088       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
10089       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
10090       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
10091      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
10092      115,   116,   117,   118,    -1,   120,    -1,    -1,   123,    -1,
10093      125,   126,    -1,     1,   129,     3,     4,     5,   133,   134,
10094       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10095       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10096       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
10097       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
10098       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10099       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
10100       68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,
10101       78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
10102       88,    -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,
10103       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
10104      108,    -1,   110,   111,   112,   113,   114,   115,   116,   117,
10105      118,    -1,   120,    -1,    -1,   123,    -1,   125,   126,    -1,
10106        1,   129,     3,     4,     5,   133,   134,    -1,    -1,    -1,
10107       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10108       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
10109       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10110       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10111       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10112       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
10113       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
10114       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
10115       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
10116       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
10117      111,   112,   113,   114,   115,   116,   117,   118,    -1,   120,
10118       -1,    -1,   123,    -1,   125,   126,    -1,     1,   129,     3,
10119        4,     5,   133,   134,    -1,    -1,    -1,    -1,    -1,    -1,
10120       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10121       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
10122       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10123       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10124       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10125       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,
10126       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
10127       -1,    85,    86,    87,    88,    -1,    -1,    91,    92,    93,
10128       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
10129      104,   105,   106,   107,   108,    -1,   110,   111,   112,   113,
10130      114,   115,   116,   117,   118,    -1,   120,    -1,    -1,   123,
10131       -1,   125,   126,    -1,     1,   129,     3,     4,     5,   133,
10132      134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10133       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10134       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10135       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10136       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10137       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10138       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
10139       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
10140       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
10141       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
10142      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
10143      117,   118,    -1,   120,    -1,    -1,   123,    -1,   125,   126,
10144       -1,     1,   129,     3,     4,     5,   133,   134,    -1,    -1,
10145       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10146       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
10147       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10148       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10149       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10150       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,
10151       -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,    79,
10152       80,    81,    82,    83,    -1,    85,    86,    87,    88,    -1,
10153       -1,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
10154      100,    -1,   102,   103,   104,   105,   106,   107,   108,    -1,
10155      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
10156      120,    -1,    -1,   123,    -1,   125,   126,    -1,     1,   129,
10157        3,     4,     5,   133,   134,    -1,    -1,    -1,    -1,    -1,
10158       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10159       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
10160       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10161       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10162       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10163       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
10164       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
10165       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
10166       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
10167      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
10168      113,   114,   115,   116,   117,   118,    -1,   120,    -1,    -1,
10169      123,    -1,   125,   126,    -1,     1,   129,     3,     4,     5,
10170      133,   134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10171       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10172       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
10173       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10174       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
10175       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
10176       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
10177       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
10178       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
10179       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
10180      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
10181      116,   117,   118,    -1,   120,    -1,    -1,   123,    -1,   125,
10182      126,     1,    -1,     3,     4,     5,    -1,   133,   134,    -1,
10183       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10184       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
10185       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10186       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10187       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10188       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,
10189       -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,    79,
10190       80,    81,    82,    83,    -1,    85,    86,    87,    88,    -1,
10191       -1,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
10192      100,    -1,   102,   103,   104,   105,   106,   107,   108,    -1,
10193      110,   111,   112,   113,   114,   115,   116,   117,   118,     1,
10194      120,     3,    -1,   123,    -1,   125,   126,    -1,    -1,    -1,
10195       -1,    -1,    -1,   133,   134,    -1,    -1,    -1,    -1,    -1,
10196       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
10197       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10198       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10199       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10200       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
10201       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10202       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10203       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
10204       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10205      112,   113,   114,   115,   116,   117,    -1,     1,   120,     3,
10206       -1,   123,   124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10207       -1,    -1,   134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10208       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
10209       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10210       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10211       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10212       -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10213       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
10214       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
10215       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10216       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10217      114,   115,   116,   117,     3,    -1,   120,    -1,    -1,   123,
10218      124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10219      134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
10220       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10221       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10222       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10223       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
10224       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10225       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
10226       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10227       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10228       -1,   110,   111,   112,   113,   114,   115,   116,   117,     3,
10229       -1,   120,    -1,    -1,   123,    -1,    -1,    -1,    -1,    -1,
10230       -1,    -1,    -1,    -1,    -1,   134,    -1,   136,    -1,    -1,
10231       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
10232       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10233       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10234       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10235       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10236       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
10237       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
10238       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10239       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10240      114,   115,   116,   117,     3,    -1,   120,    -1,    -1,   123,
10241       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10242      134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
10243       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10244       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10245       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10246       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
10247       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10248       79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,
10249       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10250       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10251       -1,   110,   111,   112,   113,   114,   115,   116,   117,     3,
10252       -1,   120,    -1,    -1,   123,    -1,    -1,    -1,    -1,    -1,
10253       -1,   130,    -1,    -1,    -1,   134,    -1,    -1,    -1,    -1,
10254       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
10255       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10256       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10257       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10258       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10259       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
10260       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
10261       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10262       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10263      114,   115,   116,   117,     3,    -1,   120,    -1,    -1,   123,
10264       -1,    -1,    -1,    -1,    -1,    -1,   130,    -1,    -1,    -1,
10265      134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
10266       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10267       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10268       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10269       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
10270       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10271       79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,
10272       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10273       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10274       -1,   110,   111,   112,   113,   114,   115,   116,   117,     3,
10275       -1,   120,    -1,    -1,   123,    -1,    -1,    -1,    -1,    -1,
10276       -1,    -1,    -1,    -1,    -1,   134,    -1,    -1,    -1,    -1,
10277       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
10278       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10279       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10280       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10281       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10282       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
10283       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
10284       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10285       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10286      114,   115,   116,   117,     3,    -1,   120,    -1,    -1,   123,
10287       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10288      134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
10289       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10290       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10291       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10292       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
10293       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10294       79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,
10295       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10296       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10297       -1,   110,   111,   112,   113,   114,   115,   116,   117,     3,
10298       -1,   120,    -1,    -1,   123,    -1,    -1,    -1,    -1,    -1,
10299       -1,    -1,    -1,    -1,    -1,   134,    -1,    -1,    -1,    -1,
10300       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
10301       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10302       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10303       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10304       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10305       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
10306       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
10307       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10308       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10309      114,   115,   116,   117,     3,    -1,   120,    -1,    -1,   123,
10310       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10311      134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
10312       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10313       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10314       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10315       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
10316       -1,    -1,    -1,    -1,    -1,    74,    75,    76,    77,    -1,
10317       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
10318       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10319       -1,   100,    -1,    -1,    -1,    -1,   105,    -1,    -1,     3,
10320       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10321       -1,   120,    -1,    -1,   123,    -1,    -1,    -1,    -1,    -1,
10322       -1,    -1,    -1,   132,    28,    29,    30,    31,    32,    33,
10323       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10324       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10325       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10326       -1,    -1,    66,    -1,    68,    -1,    -1,    -1,    -1,    -1,
10327       74,    75,    -1,    -1,    78,    79,    -1,    -1,    82,    83,
10328       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
10329       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10330       -1,    -1,    -1,    -1,     3,    -1,   110,   111,   112,   113,
10331      114,   115,   116,   117,    -1,    -1,   120,    -1,    -1,   123,
10332       -1,   125,    -1,    -1,    -1,    -1,    -1,    -1,   132,    28,
10333       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10334       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10335       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10336       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
10337       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10338       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
10339       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10340       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
10341       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10342       -1,   120,    -1,    -1,   123,    -1,    -1,    -1,    -1,    -1,
10343       -1,    -1,    -1,   132,    28,    29,    30,    31,    32,    33,
10344       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10345       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10346       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10347       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10348       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
10349       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
10350       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10351       -1,    -1,     1,    -1,    -1,    -1,   110,   111,   112,   113,
10352      114,   115,   116,   117,    -1,    -1,   120,    -1,    -1,   123,
10353       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   132,    28,
10354       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10355       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10356       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10357       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
10358       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10359       79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,
10360       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10361       -1,   100,    -1,    -1,     1,    -1,    -1,    -1,    -1,    -1,
10362       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10363       -1,    -1,    -1,    -1,    -1,    -1,    -1,   126,    -1,   128,
10364      129,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10365       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10366       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10367       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
10368       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10369       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,
10370       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10371       -1,    -1,    -1,   100,    -1,    -1,     1,    -1,    -1,    -1,
10372       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10373      117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10374       -1,    -1,   129,    28,    29,    30,    31,    32,    33,    34,
10375       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10376       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10377       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10378       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10379       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10380       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10381       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,     1,    -1,
10382       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10383      115,   116,   117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10384       -1,    -1,    -1,    -1,   129,    28,    29,    30,    31,    32,
10385       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10386       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10387       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10388       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10389       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
10390       -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10391       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,
10392        1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
10393      113,   114,   115,   116,   117,    -1,    -1,    -1,    -1,    -1,
10394       -1,    -1,    -1,    -1,    -1,    -1,   129,    28,    29,    30,
10395       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10396       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10397       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10398       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10399       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10400       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
10401       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10402       -1,    -1,     1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10403      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
10404       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   129,    28,
10405       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10406       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10407       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10408       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
10409       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10410       79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,
10411       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10412       -1,   100,    -1,     0,     1,    -1,     3,    -1,    -1,    -1,
10413       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10414       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10415      129,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10416       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10417       47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,    -1,
10418       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10419       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    76,
10420       77,    -1,    79,    80,    81,    82,    83,    -1,    85,    86,
10421       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10422       -1,    -1,    -1,   100,   101,     3,    -1,    -1,   105,    -1,
10423       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10424      117,    -1,    -1,   120,    -1,    -1,   123,    -1,    -1,   126,
10425       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
10426       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
10427       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10428       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
10429       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
10430       -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,    87,
10431       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10432       -1,    -1,   100,    -1,    -1,    -1,    -1,     3,    -1,   107,
10433       -1,    -1,   110,   111,   112,   113,   114,   115,   116,   117,
10434       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10435       -1,   129,    28,    29,    30,    31,    32,    33,    34,    35,
10436       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10437       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
10438       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10439       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
10440       -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,
10441       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10442       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,     3,
10443       -1,   107,    -1,    -1,   110,   111,   112,   113,   114,   115,
10444      116,   117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10445       -1,    -1,    -1,   129,    28,    29,    30,    31,    32,    33,
10446       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10447       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10448       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10449       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10450       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
10451       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
10452       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,     1,
10453       -1,     3,    -1,   107,    -1,    -1,   110,   111,   112,   113,
10454      114,   115,   116,   117,    -1,    -1,    -1,    -1,    -1,    -1,
10455       -1,    -1,    -1,    -1,    -1,   129,    28,    29,    30,    31,
10456       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10457       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10458       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10459       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
10460       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10461       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10462       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,     1,
10463       -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10464      112,   113,   114,   115,   116,   117,    -1,    -1,   120,    -1,
10465       -1,   123,    -1,    -1,   126,    -1,    28,    29,    30,    31,
10466       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10467       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10468       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10469       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
10470       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10471       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10472       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,     1,
10473       -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10474      112,   113,   114,   115,   116,   117,    -1,    -1,   120,    -1,
10475       -1,   123,    -1,    -1,   126,    -1,    28,    29,    30,    31,
10476       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10477       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10478       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10479       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
10480       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10481       -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10482       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,     1,
10483       -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10484      112,   113,   114,   115,   116,   117,    -1,    -1,   120,    -1,
10485       -1,   123,    -1,    -1,   126,    -1,    28,    29,    30,    31,
10486       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10487       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10488       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10489       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
10490       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10491       -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10492       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
10493        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10494      112,   113,   114,   115,   116,   117,    -1,    -1,   120,    -1,
10495       -1,   123,    -1,    -1,   126,    28,    29,    30,    31,    32,
10496       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10497       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10498       53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10499       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10500       -1,    74,    75,    76,    77,    -1,    79,    80,    81,    82,
10501       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10502       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,    -1,
10503        0,     1,   105,     3,    -1,    -1,    -1,   110,   111,   112,
10504      113,   114,   115,   116,   117,    -1,    -1,   120,    -1,    -1,
10505      123,    -1,    -1,   126,    -1,    -1,    -1,    -1,    28,    29,
10506       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10507       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10508       50,    -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,
10509       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10510       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10511       80,    81,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10512       -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,
10513      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10514      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
10515      120,    -1,    -1,   123,    28,    29,    30,    31,    32,    33,
10516       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10517       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10518       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10519       -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10520       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
10521       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
10522       -1,    -1,    -1,    -1,    -1,     1,   100,     3,    -1,    -1,
10523       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10524      114,   115,   116,   117,    -1,    -1,   120,    -1,    -1,   123,
10525      124,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
10526       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10527       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
10528       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
10529       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
10530       -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,
10531       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10532       -1,    -1,    -1,     1,   100,     3,    -1,    -1,    -1,    -1,
10533       -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
10534      116,   117,    -1,    -1,    -1,    -1,    -1,    -1,   124,    -1,
10535       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
10536       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
10537       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10538       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
10539       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
10540       -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,    87,
10541       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10542       -1,     1,   100,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10543       -1,    -1,   110,   111,   112,   113,   114,   115,   116,   117,
10544       -1,    -1,    -1,    -1,    -1,    -1,   124,    -1,    28,    29,
10545       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10546       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10547       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10548       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10549       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10550       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10551       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
10552      100,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10553      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
10554       -1,    -1,    -1,    -1,   124,    -1,    28,    29,    30,    31,
10555       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10556       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10557       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10558       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
10559       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10560       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10561       -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,   100,     3,
10562       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10563      112,   113,   114,   115,   116,   117,    -1,    -1,    -1,    -1,
10564       -1,    -1,   124,    -1,    28,    29,    30,    31,    32,    33,
10565       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10566       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10567       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10568       -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10569       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
10570       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
10571       -1,    -1,    -1,    -1,    -1,     1,   100,     3,    -1,    -1,
10572       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10573      114,   115,   116,   117,    -1,    -1,    -1,    -1,    -1,    -1,
10574      124,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
10575       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10576       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
10577       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
10578       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
10579       -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,
10580       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10581       -1,    -1,    -1,     1,   100,     3,    -1,    -1,    -1,    -1,
10582       -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
10583      116,   117,    -1,    -1,    -1,    -1,    -1,    -1,   124,    -1,
10584       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
10585       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
10586       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10587       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
10588       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
10589       -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,    87,
10590       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
10591       -1,     3,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10592       -1,    -1,   110,   111,   112,   113,   114,   115,   116,   117,
10593       -1,    -1,   120,    -1,    -1,   123,    28,    29,    30,    31,
10594       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10595       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10596       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10597       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
10598       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10599       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10600       -1,    -1,    -1,    -1,    -1,     1,    -1,     3,   100,    -1,
10601       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10602      112,   113,   114,   115,   116,   117,    -1,    -1,   120,    -1,
10603       -1,   123,    28,    29,    30,    31,    32,    33,    34,    35,
10604       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10605       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
10606       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10607       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
10608       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,
10609       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10610       -1,    -1,    -1,     3,   100,    -1,    -1,    -1,    -1,    -1,
10611       -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
10612      116,   117,    -1,    -1,    -1,    -1,    -1,   123,    28,    29,
10613       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10614       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10615       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10616       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10617       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10618       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10619       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
10620      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10621      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
10622      120,    -1,    -1,   123,    28,    29,    30,    31,    32,    33,
10623       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10624       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10625       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10626       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10627       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
10628       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
10629       -1,    -1,    -1,    -1,    -1,     3,   100,    -1,    -1,    -1,
10630       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10631      114,   115,   116,   117,    -1,    -1,   120,    -1,    -1,   123,
10632       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
10633       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
10634       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10635       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
10636       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
10637       -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,    87,
10638       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10639       -1,     3,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10640       -1,    -1,   110,   111,   112,   113,   114,   115,   116,   117,
10641       -1,    -1,   120,    -1,    -1,   123,    28,    29,    30,    31,
10642       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10643       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10644       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10645       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
10646       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10647       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10648       -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,   100,    -1,
10649       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10650      112,   113,   114,   115,   116,   117,    -1,    -1,    -1,    -1,
10651       -1,   123,    28,    29,    30,    31,    32,    33,    34,    35,
10652       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10653       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
10654       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10655       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
10656       -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,
10657       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10658       -1,    -1,    -1,     3,   100,    -1,    -1,    -1,    -1,    -1,
10659       -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
10660      116,   117,    -1,    -1,    -1,    -1,    -1,   123,    28,    29,
10661       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10662       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10663       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10664       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10665       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10666       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
10667       -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,
10668      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10669      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
10670      120,    -1,    -1,   123,    28,    29,    30,    31,    32,    33,
10671       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10672       44,    45,    46,    47,    48,    49,    50,    51,    -1,    -1,
10673       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10674       -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10675       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
10676       -1,    85,    86,    87,    -1,    -1,    -1,     1,    -1,     3,
10677       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10678       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10679      114,   115,   116,   117,    28,    29,    30,    31,    32,    33,
10680       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10681       44,    45,    46,    47,    48,    49,    50,    51,    -1,    -1,
10682       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10683       -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10684       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
10685       -1,    85,    86,    87,    -1,    -1,    -1,     1,    -1,     3,
10686       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10687       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10688      114,   115,   116,   117,    28,    29,    30,    31,    32,    33,
10689       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10690       44,    45,    46,    47,    48,    49,    50,    51,    -1,    -1,
10691       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10692       -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10693       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
10694       -1,    85,    86,    87,    -1,    -1,    -1,     1,    -1,     3,
10695       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10696       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10697      114,   115,   116,   117,    28,    29,    30,    31,    32,    33,
10698       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10699       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10700       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10701       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10702       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
10703       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,     3,
10704       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10705       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10706      114,   115,   116,   117,    28,    29,    30,    31,    32,    33,
10707       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10708       44,    45,    46,    47,    48,    49,    50,    51,    -1,    -1,
10709       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10710       -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10711       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
10712       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,     3,
10713       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10714       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10715      114,   115,   116,   117,    28,    29,    30,    31,    32,    33,
10716       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10717       44,    45,    46,    47,    48,    49,    50,    51,    -1,    -1,
10718       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10719       -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10720       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
10721       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,     3,
10722       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10723       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10724      114,   115,   116,   117,    28,    29,    30,    31,    32,    33,
10725       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10726       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10727       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10728       -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10729       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
10730       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,     3,
10731       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10732       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10733      114,   115,   116,   117,    28,    29,    30,    31,    32,    33,
10734       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10735       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10736       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10737       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10738       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
10739       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,     3,
10740       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10741       -1,    -1,    -1,   107,    -1,    -1,   110,   111,   112,   113,
10742      114,   115,   116,   117,    28,    29,    30,    31,    32,    33,
10743       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10744       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10745       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10746       -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10747       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
10748       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,     3,
10749       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10750       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10751      114,   115,   116,   117,    28,    29,    30,    31,    32,    33,
10752       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10753       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10754       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10755       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10756       74,    75,    -1,    -1,    -1,    79,    80,    81,    -1,    -1,
10757       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,     3,
10758       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10759       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10760      114,   115,   116,   117,    28,    29,    30,    31,    32,    33,
10761       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10762       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10763       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10764       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10765       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
10766       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,     3,
10767       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10768       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10769      114,   115,   116,   117,    28,    29,    30,    31,    32,    33,
10770       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10771       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10772       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10773       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10774       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
10775       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
10776       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10777       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10778      114,   115,   116,   117,    28,    29,    30,    31,    32,    33,
10779       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10780       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10781       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10782       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10783       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
10784       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
10785       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10786       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10787      114,   115,   116,   117,    -1,    -1,   120,    -1,    -1,   123,
10788      124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10789      134,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10790       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10791       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10792       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
10793       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10794       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,
10795       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10796       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10797       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10798      117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10799       -1,    -1,    -1,   130,    28,    29,    30,    31,    32,    33,
10800       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10801       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10802       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10803       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10804       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
10805       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
10806       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10807       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10808      114,   115,   116,   117,    -1,    -1,    -1,    -1,    -1,    -1,
10809       -1,    -1,    -1,    -1,    -1,   129,    28,    29,    30,    31,
10810       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10811       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10812       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10813       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
10814       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10815       -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10816       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
10817       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10818      112,   113,   114,   115,   116,   117
10819 };
10820
10821 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
10822    symbol of state STATE-NUM.  */
10823 static const yytype_uint16 yystos[] =
10824 {
10825        0,     3,    28,    29,    30,    31,    32,    33,    34,    35,
10826       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10827       46,    47,    48,    49,    50,    53,    65,    66,    74,    75,
10828       76,    77,    79,    80,    81,    82,    83,    85,    86,    87,
10829      100,   101,   105,   110,   111,   112,   113,   114,   115,   116,
10830      117,   120,   123,   126,   146,   147,   148,   150,   175,   212,
10831      213,   214,   215,   216,   217,   269,   272,   273,   276,   277,
10832      278,   279,   280,   281,   282,   284,   288,   291,   292,   293,
10833      294,   295,   296,   301,   302,   311,   312,   313,   320,   321,
10834      325,   328,   333,   362,   365,   366,   384,   385,   387,   388,
10835      389,   390,   391,   392,    77,   132,     5,    31,   217,   386,
10836      217,   123,   123,   123,   150,   217,   386,   282,   283,   320,
10837      328,    37,   148,   217,   310,   311,   313,   315,   316,   317,
10838      319,   320,   328,   331,   332,   337,   121,   126,   147,   148,
10839      217,   130,   132,   126,   130,   129,   120,   121,   212,   217,
10840      130,   150,   217,   130,   132,   129,   121,   130,   132,   130,
10841      129,   130,   148,   217,   320,     1,    31,    37,    38,   126,
10842      146,   148,   214,   216,   217,   269,   279,   280,   282,   284,
10843      313,   317,   320,   328,   331,   332,   333,   335,   343,   344,
10844      345,   346,    37,    38,   148,   320,   345,   123,   134,     1,
10845       29,    30,    31,    32,    33,    65,   116,   117,   124,   146,
10846      217,   268,   272,   274,   275,   282,   284,   288,   289,   290,
10847      296,   300,   308,   309,   349,   350,   351,   352,   353,   354,
10848      328,   123,   313,   320,    34,    35,    36,    37,    38,    39,
10849       40,    41,    42,    43,    46,    47,    66,    85,    87,   100,
10850      112,   113,   114,   115,   130,   150,   171,   172,   268,   273,
10851      274,   282,   285,   289,   291,   299,   364,   367,   368,   369,
10852      374,   375,   376,    31,    76,   132,   214,   216,   301,   365,
10853      366,   384,   385,   392,     1,   214,   278,   295,   301,   333,
10854      362,   388,     1,   387,   388,     0,   217,   386,   386,     5,
10855      127,   386,     1,     4,     6,     8,     9,    65,    71,    72,
10856       73,    84,    85,    98,   102,   103,   104,   105,   106,   107,
10857      108,   109,   118,   119,   120,   123,   125,   133,   134,   136,
10858      137,   138,   139,   150,   176,   177,   217,   218,   219,   220,
10859      221,   224,   225,   228,   229,   230,   231,   232,   233,   234,
10860      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
10861      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
10862      258,   259,   260,   261,   262,   386,   398,   399,   400,   401,
10863      147,   217,   130,   150,   217,   282,   328,   134,   123,   134,
10864      124,   308,   309,   353,   354,   328,   331,   332,   310,   315,
10865      319,   320,   124,   320,   124,   320,   320,    85,   150,   202,
10866      204,   206,   210,   211,   217,   229,   234,   250,   254,   300,
10867      126,   121,   121,   126,     1,    68,    78,    80,    81,    88,
10868       91,    92,    93,    94,    96,    98,    99,   123,   125,   126,
10869      129,   151,   152,   153,   154,   155,   156,   157,   158,   173,
10870      174,   176,   177,   180,   181,   182,   183,   184,   185,   186,
10871      187,   188,   189,   193,   197,   198,   199,   200,   217,   225,
10872      248,   300,   312,   314,   320,   328,   333,   334,   363,    80,
10873       81,   217,   268,   272,   282,   285,   288,   296,   303,   304,
10874        1,   129,   199,   200,   148,   217,     1,   217,   270,   271,
10875        1,   129,   271,   304,    65,   203,   205,   207,   208,   209,
10876      217,   300,     1,   129,   199,   200,   304,     1,   129,   199,
10877      200,     1,   129,   199,   200,   148,   217,   128,   128,   128,
10878      130,   328,   313,   317,   320,     1,   127,   368,   375,   376,
10879      368,   375,   376,     1,   126,   128,   128,   328,   126,   135,
10880      147,   217,   243,   262,   266,   267,   128,   130,   150,   217,
10881      129,   130,   129,   130,   320,    37,   123,   134,   136,   146,
10882      148,   217,   268,   274,   282,   284,   289,   310,   311,   320,
10883      326,   328,   329,   332,     1,   124,   128,     1,   124,   128,
10884        1,   128,     1,   128,   124,   124,   313,   123,   313,   123,
10885      123,     1,   126,     1,   129,     1,    37,    38,   126,   217,
10886      268,   274,   282,   285,   289,   320,   345,   346,     1,   126,
10887        1,   364,   367,   375,   376,   364,   367,    52,    53,    54,
10888       55,    56,    57,    58,    59,    60,    61,    62,    85,    86,
10889       88,    89,    90,   126,   132,   150,   194,   195,   196,   217,
10890      225,   229,   244,   246,   250,   262,   263,   264,   325,   355,
10891      356,   359,   360,   361,   368,   369,   370,   371,   372,   373,
10892      375,   376,   378,   379,   380,   381,   382,   383,   129,    31,
10893      217,   386,   217,   212,   213,   215,   216,   310,   311,   317,
10894      320,   328,   333,   335,   368,   376,   214,   301,   127,   242,
10895      243,   261,   124,   123,   229,   250,   123,   229,   250,   229,
10896      250,   123,   217,   268,   274,   282,   285,   289,   307,   266,
10897      123,   123,   307,   266,   123,   123,   123,   123,   123,   123,
10898      229,   250,   123,   124,   244,   246,   264,   274,   282,   284,
10899      289,   297,   347,   386,   130,   135,   178,   179,   222,   226,
10900      244,   130,     1,   129,   130,   217,     1,     7,     8,     9,
10901      123,   131,   134,    18,    19,    20,    21,    22,    23,    24,
10902       25,    26,    27,   127,   245,   179,   222,   223,   231,   251,
10903      120,   140,   141,   137,   138,    10,    11,   234,   254,    12,
10904       13,   121,   122,    14,    15,   136,   142,   143,    16,    17,
10905      144,   245,   124,     7,     8,     9,   123,   131,   134,   245,
10906      120,   140,   141,   137,   138,    10,    11,    12,    13,   121,
10907      122,    14,    15,   136,   142,   143,    16,    17,   144,   245,
10908      124,   124,   107,   217,   300,   393,   396,   397,   130,   130,
10909      135,   147,   266,   267,   135,   147,   266,   267,   124,   124,
10910      124,   124,   310,   315,   319,   124,   124,   310,    11,   122,
10911      128,   127,   123,   320,   328,   329,    65,   209,   217,   300,
10912      209,     1,   217,   268,   282,   285,   296,   305,   300,   333,
10913      334,   123,   150,   217,   217,   300,     1,   123,   305,   120,
10914      123,   217,   300,   126,   325,   375,   376,   375,   376,   375,
10915      126,   375,   376,   126,     1,   129,     1,     1,   126,   128,
10916      128,    69,    70,    91,    95,    97,   129,    69,    70,   129,
10917      126,     1,   197,   198,     1,   197,   198,     1,   127,   123,
10918      132,   217,   286,   287,   310,   316,   318,   320,   328,   335,
10919      336,   337,     1,   300,   308,   351,   328,   314,   320,   123,
10920      132,   157,   158,   173,   174,   176,   177,   186,   217,   300,
10921      121,   150,   217,   217,   268,   282,   285,   121,   121,   127,
10922      128,     1,   126,   130,    28,   149,   217,   122,   128,   127,
10923      217,   329,   331,   343,   343,   343,   126,   128,   129,   159,
10924      160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
10925      170,   222,   223,   225,   243,   262,   299,   340,   341,   310,
10926      313,   315,   317,   319,   310,   317,   130,   244,   263,   338,
10927      339,   375,   376,   375,   376,   343,   344,   343,   344,   135,
10928      135,   135,    51,   349,   350,     1,   271,   130,   130,     1,
10929      129,   199,   200,     1,   129,   199,   200,   130,   124,   217,
10930      308,   309,   320,   328,   329,   353,   354,   135,   147,   266,
10931      267,   320,   328,   332,   328,   123,   134,   326,     1,     1,
10932      128,     1,    51,   217,   349,   350,   128,     1,    51,   217,
10933      349,   350,   128,     1,    51,   217,   349,   350,   128,    51,
10934      217,   349,   350,     3,    28,    44,    74,    75,   124,   322,
10935      323,   324,   244,   147,   217,   129,   130,   126,   126,   132,
10936      266,   267,   132,   123,   123,     1,   123,    52,    53,    54,
10937       56,    57,    58,    59,    62,    86,   217,   264,   325,   355,
10938      378,   382,   123,   217,   126,   126,   126,   222,   223,   246,
10939      264,   123,   282,   123,   123,   190,   217,   126,   126,   126,
10940      132,   131,   245,     1,   131,   126,   128,   246,   264,   245,
10941      124,   128,   246,     1,   370,   371,   370,   371,   355,   356,
10942      364,   367,   355,   356,   364,   367,     1,     1,   386,   386,
10943      148,   217,   130,   130,   328,   317,   320,   368,   376,   368,
10944      376,   376,   243,   144,   126,   144,    65,   146,   217,   274,
10945      282,   284,   289,   298,   348,   217,   299,   121,   123,   134,
10946      217,   268,   274,   282,   285,   289,   320,   327,   328,   330,
10947      217,   268,   274,   282,   285,   289,   306,   246,   347,   375,
10948      217,   134,   330,   306,   244,   386,   386,   386,   244,   348,
10949      348,   124,   217,   274,   282,   284,   289,   329,   124,   131,
10950        1,   169,   170,     1,   129,   128,   135,     1,   169,   170,
10951      129,     1,   169,   170,     1,   217,   124,   223,   226,   227,
10952      263,     1,   217,   246,   264,   222,   244,     1,   231,   251,
10953      231,   251,   231,   251,   232,   252,   232,   252,   233,   253,
10954      233,   253,   234,   254,   234,   254,   234,   254,   222,   223,
10955      236,   255,   222,   223,   236,   255,   222,   223,   237,   256,
10956      222,   223,   238,   257,   222,   223,   239,   258,   240,   259,
10957      241,   260,   132,   222,   223,   246,   247,   264,   265,   222,
10958      244,     1,   217,   124,   226,   227,     1,   217,   246,   264,
10959      222,   244,   231,   251,   231,   251,   231,   251,   232,   252,
10960      232,   252,   233,   253,   233,   253,   234,   254,   234,   254,
10961      234,   254,   234,   254,   222,   223,   236,   255,   222,   223,
10962      236,   255,   222,   223,   237,   256,   222,   223,   238,   257,
10963      222,   223,   239,   258,   240,   259,   241,   260,   132,   246,
10964      247,   264,   265,   222,   244,   121,   122,   217,   394,   395,
10965      217,   129,   393,   396,   397,   397,   135,   135,   135,   135,
10966      135,   135,   210,   202,   204,   206,   217,   320,   328,   122,
10967      127,   329,   122,   130,   121,   130,   217,   268,   282,   285,
10968      329,   320,   328,   335,   336,   190,   287,   310,   320,   328,
10969      130,   217,   130,   217,   329,   217,   320,   123,   126,   129,
10970      180,   181,   180,   181,   375,   375,   375,   219,   375,   375,
10971        1,   340,   341,   124,   266,   267,   130,   128,     1,   300,
10972      308,   351,   328,   310,   318,   320,   132,   325,   217,   123,
10973      314,   314,   217,     1,     1,   287,   211,   121,   209,   209,
10974      266,   267,   270,   199,   200,     1,   129,   271,   127,   132,
10975      127,   132,   208,   204,   217,   127,   217,   127,   375,   376,
10976        1,   126,   128,   126,   128,   126,   161,   162,   165,   166,
10977      167,   129,   159,   162,   126,   129,   161,   162,   165,   166,
10978      167,   127,    37,   335,   336,   337,   338,   339,   342,     1,
10979      129,   271,     1,   129,   271,     1,   129,   199,   200,   320,
10980      328,   329,   124,   124,   124,   135,   135,   135,   328,   326,
10981      124,   353,   354,   135,   147,   266,   267,   349,   350,   300,
10982      349,   349,   349,   350,   124,   123,   124,   128,   323,   124,
10983      124,   124,     1,   169,   170,   355,   356,   364,   367,   132,
10984      132,   355,   356,   364,   367,   246,   264,   246,   264,   124,
10985      246,   264,   132,   266,   267,   132,   123,   123,   355,   123,
10986      223,   264,   123,   132,    56,     1,   124,   126,   217,   246,
10987      264,   377,   126,   126,   126,   126,   126,   386,   123,   244,
10988      244,   217,   355,   356,   364,   367,    90,   223,   263,    88,
10989       89,    90,   244,   263,   223,   263,   244,   263,   121,   317,
10990      376,   376,   126,   246,   247,   264,   265,   246,   247,   264,
10991      265,   146,   147,   146,   274,   282,   284,   289,   329,   124,
10992      124,   124,   329,   211,   124,   320,   330,   353,   354,   266,
10993      267,   121,   328,   123,   327,   134,   121,   134,   217,   268,
10994      274,   282,   285,   289,   330,   124,   124,   124,   124,   266,
10995      267,   134,   134,   330,   128,   124,   128,   128,   128,   124,
10996      128,   231,   251,   386,     1,   129,   222,   244,     1,     1,
10997      124,   128,   124,   135,   135,     1,   128,   132,   132,   128,
10998      132,   132,   124,   135,   135,   132,   132,   132,   132,   217,
10999      217,   126,   128,   217,   386,   129,   129,   320,   328,   204,
11000      211,   121,   130,   130,   217,   328,   320,   124,   328,   310,
11001      124,   130,   130,   217,   124,     1,   169,   170,   286,   320,
11002      217,   123,   310,   318,   318,   266,   267,   123,   124,   122,
11003      211,   122,   122,   126,     1,   126,   202,   201,   300,   202,
11004      201,   206,   127,   130,     1,   163,   164,     1,   163,   164,
11005      376,     1,   340,   341,   128,   129,   338,   339,     1,   126,
11006        1,   126,   328,   326,   124,   124,   124,   135,   135,   135,
11007      329,   332,   246,   124,   323,     1,   355,   356,   364,   367,
11008      355,   356,   364,   367,   124,   124,   124,   124,     1,   355,
11009      124,   246,   355,   356,   132,   132,   264,   124,   246,   264,
11010       56,   264,   377,   386,   123,   355,   132,   126,     1,   126,
11011        1,   124,   264,   377,     3,   124,   132,   386,   124,   124,
11012      128,   123,   123,   190,   132,   132,   132,   132,   132,   132,
11013      132,   132,   124,   124,     1,   124,   122,   320,   328,   330,
11014      124,   124,   124,   135,   135,   211,   327,   124,   353,   354,
11015      266,   267,   211,   266,   267,   121,   134,   123,   338,   135,
11016      135,   266,   267,   266,   267,   134,   347,   217,   217,   244,
11017        1,   217,   223,   263,   222,   223,   222,   223,   243,   261,
11018      222,   223,   243,   261,   222,   223,   222,   223,   243,   261,
11019      222,   223,   243,   261,   222,   223,   243,   261,   222,   223,
11020      243,   261,   222,   223,   243,   261,   222,   223,   243,   261,
11021      394,   126,   126,   122,   211,   130,   375,   310,   127,   130,
11022        1,   123,   132,   132,   122,   199,   200,   126,   199,   200,
11023      127,   329,   127,   206,   342,   129,   338,   339,     1,   199,
11024      200,   199,   200,   124,   355,   355,   355,   355,   355,   356,
11025      124,   123,   377,   124,   246,   264,   246,   355,     1,   124,
11026      246,   264,   134,   357,   358,   386,   126,   358,     3,   124,
11027      132,   130,   190,   244,   244,     1,     1,   327,   124,   122,
11028      124,   124,   135,   135,   122,   135,   135,   211,   266,   267,
11029      347,   135,   135,   135,   135,   266,   267,   124,   124,   124,
11030      124,   124,   122,   340,   266,   267,   266,   267,   199,   200,
11031      202,   202,   128,   129,     1,    64,    64,   246,   264,   124,
11032      246,   264,   124,   126,   124,   126,   355,   356,   124,   355,
11033      356,   217,   124,   128,   132,   123,     3,   124,   132,   358,
11034      126,   358,    73,   190,   191,   192,   124,   124,   124,   128,
11035      122,   135,   135,   124,   135,   135,   126,   129,   355,   355,
11036      124,   124,   126,   355,   246,   355,   356,   135,   126,   357,
11037      358,   244,   358,   126,   358,   124,   132,     3,   124,   132,
11038      375,   375,   129,   191,   130,   190,   231,   251,   338,   124,
11039      386,   124,   124,   124,   124,   132,   126,   358,   358,   126,
11040      358,   192,   124,   355,   123,   126,   126,   126,   358,   124,
11041      124,   124,   132,   129,   244,   124,   126,   126,   126,   358,
11042      124,   126,   124,   126
11043 };
11044
11045 #define yyerrok         (yyerrstatus = 0)
11046 #define yyclearin       (yychar = YYEMPTY)
11047 #define YYEMPTY         (-2)
11048 #define YYEOF           0
11049
11050 #define YYACCEPT        goto yyacceptlab
11051 #define YYABORT         goto yyabortlab
11052 #define YYERROR         goto yyerrorlab
11053
11054
11055 /* Like YYERROR except do call yyerror.  This remains here temporarily
11056    to ease the transition to the new meaning of YYERROR, for GCC.
11057    Once GCC version 2 has supplanted version 1, this can go.  However,
11058    YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
11059    in Bison 2.4.2's NEWS entry, where a plan to phase it out is
11060    discussed.  */
11061
11062 #define YYFAIL          goto yyerrlab
11063 #if defined YYFAIL
11064   /* This is here to suppress warnings from the GCC cpp's
11065      -Wunused-macros.  Normally we don't worry about that warning, but
11066      some users do, and we want to make it easy for users to remove
11067      YYFAIL uses, which will produce warnings from Bison 2.5.  */
11068 #endif
11069
11070 #define YYRECOVERING()  (!!yyerrstatus)
11071
11072 #define YYBACKUP(Token, Value)                                  \
11073 do                                                              \
11074   if (yychar == YYEMPTY && yylen == 1)                          \
11075     {                                                           \
11076       yychar = (Token);                                         \
11077       yylval = (Value);                                         \
11078       yytoken = YYTRANSLATE (yychar);                           \
11079       YYPOPSTACK (1);                                           \
11080       goto yybackup;                                            \
11081     }                                                           \
11082   else                                                          \
11083     {                                                           \
11084       yyerror (YY_("syntax error: cannot back up")); \
11085       YYERROR;                                                  \
11086     }                                                           \
11087 while (YYID (0))
11088
11089
11090 #define YYTERROR        1
11091 #define YYERRCODE       256
11092
11093
11094 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
11095    If N is 0, then set CURRENT to the empty location which ends
11096    the previous symbol: RHS[0] (always defined).  */
11097
11098 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
11099 #ifndef YYLLOC_DEFAULT
11100 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
11101     do                                                                  \
11102       if (YYID (N))                                                    \
11103         {                                                               \
11104           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
11105           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
11106           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
11107           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
11108         }                                                               \
11109       else                                                              \
11110         {                                                               \
11111           (Current).first_line   = (Current).last_line   =              \
11112             YYRHSLOC (Rhs, 0).last_line;                                \
11113           (Current).first_column = (Current).last_column =              \
11114             YYRHSLOC (Rhs, 0).last_column;                              \
11115         }                                                               \
11116     while (YYID (0))
11117 #endif
11118
11119
11120 /* YY_LOCATION_PRINT -- Print the location on the stream.
11121    This macro was not mandated originally: define only if we know
11122    we won't break user code: when these are the locations we know.  */
11123
11124 #ifndef YY_LOCATION_PRINT
11125 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
11126 #  define YY_LOCATION_PRINT(File, Loc)                  \
11127      fprintf (File, "%d.%d-%d.%d",                      \
11128               (Loc).first_line, (Loc).first_column,     \
11129               (Loc).last_line,  (Loc).last_column)
11130 # else
11131 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
11132 # endif
11133 #endif
11134
11135
11136 /* YYLEX -- calling `yylex' with the right arguments.  */
11137
11138 #ifdef YYLEX_PARAM
11139 # define YYLEX yylex (YYLEX_PARAM)
11140 #else
11141 # define YYLEX yylex ()
11142 #endif
11143
11144 /* Enable debugging if requested.  */
11145 #if YYDEBUG
11146
11147 # ifndef YYFPRINTF
11148 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
11149 #  define YYFPRINTF fprintf
11150 # endif
11151
11152 # define YYDPRINTF(Args)                        \
11153 do {                                            \
11154   if (yydebug)                                  \
11155     YYFPRINTF Args;                             \
11156 } while (YYID (0))
11157
11158 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
11159 do {                                                                      \
11160   if (yydebug)                                                            \
11161     {                                                                     \
11162       YYFPRINTF (stderr, "%s ", Title);                                   \
11163       yy_symbol_print (stderr,                                            \
11164                   Type, Value, Location); \
11165       YYFPRINTF (stderr, "\n");                                           \
11166     }                                                                     \
11167 } while (YYID (0))
11168
11169
11170 /*--------------------------------.
11171 | Print this symbol on YYOUTPUT.  |
11172 `--------------------------------*/
11173
11174 /*ARGSUSED*/
11175 #if (defined __STDC__ || defined __C99__FUNC__ \
11176      || defined __cplusplus || defined _MSC_VER)
11177 static void
11178 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
11179 #else
11180 static void
11181 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp)
11182     FILE *yyoutput;
11183     int yytype;
11184     YYSTYPE const * const yyvaluep;
11185     YYLTYPE const * const yylocationp;
11186 #endif
11187 {
11188   if (!yyvaluep)
11189     return;
11190   YYUSE (yylocationp);
11191 # ifdef YYPRINT
11192   if (yytype < YYNTOKENS)
11193     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
11194 # else
11195   YYUSE (yyoutput);
11196 # endif
11197   switch (yytype)
11198     {
11199       default:
11200         break;
11201     }
11202 }
11203
11204
11205 /*--------------------------------.
11206 | Print this symbol on YYOUTPUT.  |
11207 `--------------------------------*/
11208
11209 #if (defined __STDC__ || defined __C99__FUNC__ \
11210      || defined __cplusplus || defined _MSC_VER)
11211 static void
11212 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
11213 #else
11214 static void
11215 yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp)
11216     FILE *yyoutput;
11217     int yytype;
11218     YYSTYPE const * const yyvaluep;
11219     YYLTYPE const * const yylocationp;
11220 #endif
11221 {
11222   if (yytype < YYNTOKENS)
11223     YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
11224   else
11225     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
11226
11227   YY_LOCATION_PRINT (yyoutput, *yylocationp);
11228   YYFPRINTF (yyoutput, ": ");
11229   yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp);
11230   YYFPRINTF (yyoutput, ")");
11231 }
11232
11233 /*------------------------------------------------------------------.
11234 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
11235 | TOP (included).                                                   |
11236 `------------------------------------------------------------------*/
11237
11238 #if (defined __STDC__ || defined __C99__FUNC__ \
11239      || defined __cplusplus || defined _MSC_VER)
11240 static void
11241 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
11242 #else
11243 static void
11244 yy_stack_print (yybottom, yytop)
11245     yytype_int16 *yybottom;
11246     yytype_int16 *yytop;
11247 #endif
11248 {
11249   YYFPRINTF (stderr, "Stack now");
11250   for (; yybottom <= yytop; yybottom++)
11251     {
11252       int yybot = *yybottom;
11253       YYFPRINTF (stderr, " %d", yybot);
11254     }
11255   YYFPRINTF (stderr, "\n");
11256 }
11257
11258 # define YY_STACK_PRINT(Bottom, Top)                            \
11259 do {                                                            \
11260   if (yydebug)                                                  \
11261     yy_stack_print ((Bottom), (Top));                           \
11262 } while (YYID (0))
11263
11264
11265 /*------------------------------------------------.
11266 | Report that the YYRULE is going to be reduced.  |
11267 `------------------------------------------------*/
11268
11269 #if (defined __STDC__ || defined __C99__FUNC__ \
11270      || defined __cplusplus || defined _MSC_VER)
11271 static void
11272 yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule)
11273 #else
11274 static void
11275 yy_reduce_print (yyvsp, yylsp, yyrule)
11276     YYSTYPE *yyvsp;
11277     YYLTYPE *yylsp;
11278     int yyrule;
11279 #endif
11280 {
11281   int yynrhs = yyr2[yyrule];
11282   int yyi;
11283   unsigned long int yylno = yyrline[yyrule];
11284   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
11285              yyrule - 1, yylno);
11286   /* The symbols being reduced.  */
11287   for (yyi = 0; yyi < yynrhs; yyi++)
11288     {
11289       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
11290       yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
11291                        &(yyvsp[(yyi + 1) - (yynrhs)])
11292                        , &(yylsp[(yyi + 1) - (yynrhs)])                );
11293       YYFPRINTF (stderr, "\n");
11294     }
11295 }
11296
11297 # define YY_REDUCE_PRINT(Rule)          \
11298 do {                                    \
11299   if (yydebug)                          \
11300     yy_reduce_print (yyvsp, yylsp, Rule); \
11301 } while (YYID (0))
11302
11303 /* Nonzero means print parse trace.  It is left uninitialized so that
11304    multiple parsers can coexist.  */
11305 int yydebug;
11306 #else /* !YYDEBUG */
11307 # define YYDPRINTF(Args)
11308 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
11309 # define YY_STACK_PRINT(Bottom, Top)
11310 # define YY_REDUCE_PRINT(Rule)
11311 #endif /* !YYDEBUG */
11312
11313
11314 /* YYINITDEPTH -- initial size of the parser's stacks.  */
11315 #ifndef YYINITDEPTH
11316 # define YYINITDEPTH 200
11317 #endif
11318
11319 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
11320    if the built-in stack extension method is used).
11321
11322    Do not make this value too large; the results are undefined if
11323    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
11324    evaluated with infinite-precision integer arithmetic.  */
11325
11326 #ifndef YYMAXDEPTH
11327 # define YYMAXDEPTH 10000
11328 #endif
11329
11330 \f
11331
11332 #if YYERROR_VERBOSE
11333
11334 # ifndef yystrlen
11335 #  if defined __GLIBC__ && defined _STRING_H
11336 #   define yystrlen strlen
11337 #  else
11338 /* Return the length of YYSTR.  */
11339 #if (defined __STDC__ || defined __C99__FUNC__ \
11340      || defined __cplusplus || defined _MSC_VER)
11341 static YYSIZE_T
11342 yystrlen (const char *yystr)
11343 #else
11344 static YYSIZE_T
11345 yystrlen (yystr)
11346     const char *yystr;
11347 #endif
11348 {
11349   YYSIZE_T yylen;
11350   for (yylen = 0; yystr[yylen]; yylen++)
11351     continue;
11352   return yylen;
11353 }
11354 #  endif
11355 # endif
11356
11357 # ifndef yystpcpy
11358 #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
11359 #   define yystpcpy stpcpy
11360 #  else
11361 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
11362    YYDEST.  */
11363 #if (defined __STDC__ || defined __C99__FUNC__ \
11364      || defined __cplusplus || defined _MSC_VER)
11365 static char *
11366 yystpcpy (char *yydest, const char *yysrc)
11367 #else
11368 static char *
11369 yystpcpy (yydest, yysrc)
11370     char *yydest;
11371     const char *yysrc;
11372 #endif
11373 {
11374   char *yyd = yydest;
11375   const char *yys = yysrc;
11376
11377   while ((*yyd++ = *yys++) != '\0')
11378     continue;
11379
11380   return yyd - 1;
11381 }
11382 #  endif
11383 # endif
11384
11385 # ifndef yytnamerr
11386 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
11387    quotes and backslashes, so that it's suitable for yyerror.  The
11388    heuristic is that double-quoting is unnecessary unless the string
11389    contains an apostrophe, a comma, or backslash (other than
11390    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
11391    null, do not copy; instead, return the length of what the result
11392    would have been.  */
11393 static YYSIZE_T
11394 yytnamerr (char *yyres, const char *yystr)
11395 {
11396   if (*yystr == '"')
11397     {
11398       YYSIZE_T yyn = 0;
11399       char const *yyp = yystr;
11400
11401       for (;;)
11402         switch (*++yyp)
11403           {
11404           case '\'':
11405           case ',':
11406             goto do_not_strip_quotes;
11407
11408           case '\\':
11409             if (*++yyp != '\\')
11410               goto do_not_strip_quotes;
11411             /* Fall through.  */
11412           default:
11413             if (yyres)
11414               yyres[yyn] = *yyp;
11415             yyn++;
11416             break;
11417
11418           case '"':
11419             if (yyres)
11420               yyres[yyn] = '\0';
11421             return yyn;
11422           }
11423     do_not_strip_quotes: ;
11424     }
11425
11426   if (! yyres)
11427     return yystrlen (yystr);
11428
11429   return yystpcpy (yyres, yystr) - yyres;
11430 }
11431 # endif
11432
11433 /* Copy into YYRESULT an error message about the unexpected token
11434    YYCHAR while in state YYSTATE.  Return the number of bytes copied,
11435    including the terminating null byte.  If YYRESULT is null, do not
11436    copy anything; just return the number of bytes that would be
11437    copied.  As a special case, return 0 if an ordinary "syntax error"
11438    message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
11439    size calculation.  */
11440 static YYSIZE_T
11441 yysyntax_error (char *yyresult, int yystate, int yychar)
11442 {
11443   int yyn = yypact[yystate];
11444
11445   if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
11446     return 0;
11447   else
11448     {
11449       int yytype = YYTRANSLATE (yychar);
11450       YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
11451       YYSIZE_T yysize = yysize0;
11452       YYSIZE_T yysize1;
11453       int yysize_overflow = 0;
11454       enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
11455       char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
11456       int yyx;
11457
11458 # if 0
11459       /* This is so xgettext sees the translatable formats that are
11460          constructed on the fly.  */
11461       YY_("syntax error, unexpected %s");
11462       YY_("syntax error, unexpected %s, expecting %s");
11463       YY_("syntax error, unexpected %s, expecting %s or %s");
11464       YY_("syntax error, unexpected %s, expecting %s or %s or %s");
11465       YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
11466 # endif
11467       char *yyfmt;
11468       char const *yyf;
11469       static char const yyunexpected[] = "syntax error, unexpected %s";
11470       static char const yyexpecting[] = ", expecting %s";
11471       static char const yyor[] = " or %s";
11472       char yyformat[sizeof yyunexpected
11473                     + sizeof yyexpecting - 1
11474                     + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
11475                        * (sizeof yyor - 1))];
11476       char const *yyprefix = yyexpecting;
11477
11478       /* Start YYX at -YYN if negative to avoid negative indexes in
11479          YYCHECK.  */
11480       int yyxbegin = yyn < 0 ? -yyn : 0;
11481
11482       /* Stay within bounds of both yycheck and yytname.  */
11483       int yychecklim = YYLAST - yyn + 1;
11484       int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
11485       int yycount = 1;
11486
11487       yyarg[0] = yytname[yytype];
11488       yyfmt = yystpcpy (yyformat, yyunexpected);
11489
11490       for (yyx = yyxbegin; yyx < yyxend; ++yyx)
11491         if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
11492           {
11493             if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
11494               {
11495                 yycount = 1;
11496                 yysize = yysize0;
11497                 yyformat[sizeof yyunexpected - 1] = '\0';
11498                 break;
11499               }
11500             yyarg[yycount++] = yytname[yyx];
11501             yysize1 = yysize + yytnamerr (0, yytname[yyx]);
11502             yysize_overflow |= (yysize1 < yysize);
11503             yysize = yysize1;
11504             yyfmt = yystpcpy (yyfmt, yyprefix);
11505             yyprefix = yyor;
11506           }
11507
11508       yyf = YY_(yyformat);
11509       yysize1 = yysize + yystrlen (yyf);
11510       yysize_overflow |= (yysize1 < yysize);
11511       yysize = yysize1;
11512
11513       if (yysize_overflow)
11514         return YYSIZE_MAXIMUM;
11515
11516       if (yyresult)
11517         {
11518           /* Avoid sprintf, as that infringes on the user's name space.
11519              Don't have undefined behavior even if the translation
11520              produced a string with the wrong number of "%s"s.  */
11521           char *yyp = yyresult;
11522           int yyi = 0;
11523           while ((*yyp = *yyf) != '\0')
11524             {
11525               if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
11526                 {
11527                   yyp += yytnamerr (yyp, yyarg[yyi++]);
11528                   yyf += 2;
11529                 }
11530               else
11531                 {
11532                   yyp++;
11533                   yyf++;
11534                 }
11535             }
11536         }
11537       return yysize;
11538     }
11539 }
11540 #endif /* YYERROR_VERBOSE */
11541 \f
11542
11543 /*-----------------------------------------------.
11544 | Release the memory associated to this symbol.  |
11545 `-----------------------------------------------*/
11546
11547 /*ARGSUSED*/
11548 #if (defined __STDC__ || defined __C99__FUNC__ \
11549      || defined __cplusplus || defined _MSC_VER)
11550 static void
11551 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp)
11552 #else
11553 static void
11554 yydestruct (yymsg, yytype, yyvaluep, yylocationp)
11555     const char *yymsg;
11556     int yytype;
11557     YYSTYPE *yyvaluep;
11558     YYLTYPE *yylocationp;
11559 #endif
11560 {
11561   YYUSE (yyvaluep);
11562   YYUSE (yylocationp);
11563
11564   if (!yymsg)
11565     yymsg = "Deleting";
11566   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
11567
11568   switch (yytype)
11569     {
11570       case 146: /* "guess_type" */
11571
11572 /* Line 1009 of yacc.c  */
11573 #line 215 "grammar.y"
11574         { FreeSpecifier((yyvaluep->specifier)); };
11575
11576 /* Line 1009 of yacc.c  */
11577 #line 11578 "grammar.ec"
11578         break;
11579       case 147: /* "type" */
11580
11581 /* Line 1009 of yacc.c  */
11582 #line 215 "grammar.y"
11583         { FreeSpecifier((yyvaluep->specifier)); };
11584
11585 /* Line 1009 of yacc.c  */
11586 #line 11587 "grammar.ec"
11587         break;
11588       case 148: /* "base_strict_type" */
11589
11590 /* Line 1009 of yacc.c  */
11591 #line 215 "grammar.y"
11592         { FreeSpecifier((yyvaluep->specifier)); };
11593
11594 /* Line 1009 of yacc.c  */
11595 #line 11596 "grammar.ec"
11596         break;
11597       case 149: /* "base_strict_type_name" */
11598
11599 /* Line 1009 of yacc.c  */
11600 #line 250 "grammar.y"
11601         { delete (yyvaluep->string); };
11602
11603 /* Line 1009 of yacc.c  */
11604 #line 11605 "grammar.ec"
11605         break;
11606       case 150: /* "strict_type" */
11607
11608 /* Line 1009 of yacc.c  */
11609 #line 215 "grammar.y"
11610         { FreeSpecifier((yyvaluep->specifier)); };
11611
11612 /* Line 1009 of yacc.c  */
11613 #line 11614 "grammar.ec"
11614         break;
11615       case 151: /* "class_function_definition_start" */
11616
11617 /* Line 1009 of yacc.c  */
11618 #line 242 "grammar.y"
11619         { FreeClassFunction((yyvaluep->classFunction)); };
11620
11621 /* Line 1009 of yacc.c  */
11622 #line 11623 "grammar.ec"
11623         break;
11624       case 152: /* "constructor_function_definition_start" */
11625
11626 /* Line 1009 of yacc.c  */
11627 #line 242 "grammar.y"
11628         { FreeClassFunction((yyvaluep->classFunction)); };
11629
11630 /* Line 1009 of yacc.c  */
11631 #line 11632 "grammar.ec"
11632         break;
11633       case 153: /* "destructor_function_definition_start" */
11634
11635 /* Line 1009 of yacc.c  */
11636 #line 242 "grammar.y"
11637         { FreeClassFunction((yyvaluep->classFunction)); };
11638
11639 /* Line 1009 of yacc.c  */
11640 #line 11641 "grammar.ec"
11641         break;
11642       case 154: /* "virtual_class_function_definition_start" */
11643
11644 /* Line 1009 of yacc.c  */
11645 #line 242 "grammar.y"
11646         { FreeClassFunction((yyvaluep->classFunction)); };
11647
11648 /* Line 1009 of yacc.c  */
11649 #line 11650 "grammar.ec"
11650         break;
11651       case 155: /* "class_function_definition_start_error" */
11652
11653 /* Line 1009 of yacc.c  */
11654 #line 242 "grammar.y"
11655         { FreeClassFunction((yyvaluep->classFunction)); };
11656
11657 /* Line 1009 of yacc.c  */
11658 #line 11659 "grammar.ec"
11659         break;
11660       case 156: /* "virtual_class_function_definition_start_error" */
11661
11662 /* Line 1009 of yacc.c  */
11663 #line 242 "grammar.y"
11664         { FreeClassFunction((yyvaluep->classFunction)); };
11665
11666 /* Line 1009 of yacc.c  */
11667 #line 11668 "grammar.ec"
11668         break;
11669       case 157: /* "class_function_definition" */
11670
11671 /* Line 1009 of yacc.c  */
11672 #line 242 "grammar.y"
11673         { FreeClassFunction((yyvaluep->classFunction)); };
11674
11675 /* Line 1009 of yacc.c  */
11676 #line 11677 "grammar.ec"
11677         break;
11678       case 158: /* "class_function_definition_error" */
11679
11680 /* Line 1009 of yacc.c  */
11681 #line 242 "grammar.y"
11682         { FreeClassFunction((yyvaluep->classFunction)); };
11683
11684 /* Line 1009 of yacc.c  */
11685 #line 11686 "grammar.ec"
11686         break;
11687       case 159: /* "instance_class_function_definition_start" */
11688
11689 /* Line 1009 of yacc.c  */
11690 #line 242 "grammar.y"
11691         { FreeClassFunction((yyvaluep->classFunction)); };
11692
11693 /* Line 1009 of yacc.c  */
11694 #line 11695 "grammar.ec"
11695         break;
11696       case 160: /* "instance_class_function_definition_start_error" */
11697
11698 /* Line 1009 of yacc.c  */
11699 #line 242 "grammar.y"
11700         { FreeClassFunction((yyvaluep->classFunction)); };
11701
11702 /* Line 1009 of yacc.c  */
11703 #line 11704 "grammar.ec"
11704         break;
11705       case 161: /* "instance_class_function_definition" */
11706
11707 /* Line 1009 of yacc.c  */
11708 #line 242 "grammar.y"
11709         { FreeClassFunction((yyvaluep->classFunction)); };
11710
11711 /* Line 1009 of yacc.c  */
11712 #line 11713 "grammar.ec"
11713         break;
11714       case 162: /* "instance_class_function_definition_error" */
11715
11716 /* Line 1009 of yacc.c  */
11717 #line 242 "grammar.y"
11718         { FreeClassFunction((yyvaluep->classFunction)); };
11719
11720 /* Line 1009 of yacc.c  */
11721 #line 11722 "grammar.ec"
11722         break;
11723       case 163: /* "data_member_initialization" */
11724
11725 /* Line 1009 of yacc.c  */
11726 #line 240 "grammar.y"
11727         { FreeMemberInit((yyvaluep->memberInit)); };
11728
11729 /* Line 1009 of yacc.c  */
11730 #line 11731 "grammar.ec"
11731         break;
11732       case 164: /* "data_member_initialization_error" */
11733
11734 /* Line 1009 of yacc.c  */
11735 #line 240 "grammar.y"
11736         { FreeMemberInit((yyvaluep->memberInit)); };
11737
11738 /* Line 1009 of yacc.c  */
11739 #line 11740 "grammar.ec"
11740         break;
11741       case 165: /* "data_member_initialization_list" */
11742
11743 /* Line 1009 of yacc.c  */
11744 #line 265 "grammar.y"
11745         { FreeList((yyvaluep->list), FreeMemberInit); };
11746
11747 /* Line 1009 of yacc.c  */
11748 #line 11749 "grammar.ec"
11749         break;
11750       case 166: /* "data_member_initialization_list_error" */
11751
11752 /* Line 1009 of yacc.c  */
11753 #line 265 "grammar.y"
11754         { FreeList((yyvaluep->list), FreeMemberInit); };
11755
11756 /* Line 1009 of yacc.c  */
11757 #line 11758 "grammar.ec"
11758         break;
11759       case 167: /* "data_member_initialization_list_coloned" */
11760
11761 /* Line 1009 of yacc.c  */
11762 #line 265 "grammar.y"
11763         { FreeList((yyvaluep->list), FreeMemberInit); };
11764
11765 /* Line 1009 of yacc.c  */
11766 #line 11767 "grammar.ec"
11767         break;
11768       case 168: /* "members_initialization_list_coloned" */
11769
11770 /* Line 1009 of yacc.c  */
11771 #line 266 "grammar.y"
11772         { FreeList((yyvaluep->list), FreeMembersInit); };
11773
11774 /* Line 1009 of yacc.c  */
11775 #line 11776 "grammar.ec"
11776         break;
11777       case 169: /* "members_initialization_list" */
11778
11779 /* Line 1009 of yacc.c  */
11780 #line 266 "grammar.y"
11781         { FreeList((yyvaluep->list), FreeMembersInit); };
11782
11783 /* Line 1009 of yacc.c  */
11784 #line 11785 "grammar.ec"
11785         break;
11786       case 170: /* "members_initialization_list_error" */
11787
11788 /* Line 1009 of yacc.c  */
11789 #line 266 "grammar.y"
11790         { FreeList((yyvaluep->list), FreeMembersInit); };
11791
11792 /* Line 1009 of yacc.c  */
11793 #line 11794 "grammar.ec"
11794         break;
11795       case 171: /* "instantiation_named" */
11796
11797 /* Line 1009 of yacc.c  */
11798 #line 238 "grammar.y"
11799         { FreeInstance((yyvaluep->instance)); };
11800
11801 /* Line 1009 of yacc.c  */
11802 #line 11803 "grammar.ec"
11803         break;
11804       case 172: /* "instantiation_named_error" */
11805
11806 /* Line 1009 of yacc.c  */
11807 #line 238 "grammar.y"
11808         { FreeInstance((yyvaluep->instance)); };
11809
11810 /* Line 1009 of yacc.c  */
11811 #line 11812 "grammar.ec"
11812         break;
11813       case 176: /* "instantiation_unnamed" */
11814
11815 /* Line 1009 of yacc.c  */
11816 #line 238 "grammar.y"
11817         { FreeInstance((yyvaluep->instance)); };
11818
11819 /* Line 1009 of yacc.c  */
11820 #line 11821 "grammar.ec"
11821         break;
11822       case 177: /* "instantiation_unnamed_error" */
11823
11824 /* Line 1009 of yacc.c  */
11825 #line 238 "grammar.y"
11826         { FreeInstance((yyvaluep->instance)); };
11827
11828 /* Line 1009 of yacc.c  */
11829 #line 11830 "grammar.ec"
11830         break;
11831       case 180: /* "default_property" */
11832
11833 /* Line 1009 of yacc.c  */
11834 #line 240 "grammar.y"
11835         { FreeMemberInit((yyvaluep->memberInit)); };
11836
11837 /* Line 1009 of yacc.c  */
11838 #line 11839 "grammar.ec"
11839         break;
11840       case 181: /* "default_property_error" */
11841
11842 /* Line 1009 of yacc.c  */
11843 #line 240 "grammar.y"
11844         { FreeMemberInit((yyvaluep->memberInit)); };
11845
11846 /* Line 1009 of yacc.c  */
11847 #line 11848 "grammar.ec"
11848         break;
11849       case 182: /* "default_property_list" */
11850
11851 /* Line 1009 of yacc.c  */
11852 #line 265 "grammar.y"
11853         { FreeList((yyvaluep->list), FreeMemberInit); };
11854
11855 /* Line 1009 of yacc.c  */
11856 #line 11857 "grammar.ec"
11857         break;
11858       case 183: /* "default_property_list_error" */
11859
11860 /* Line 1009 of yacc.c  */
11861 #line 265 "grammar.y"
11862         { FreeList((yyvaluep->list), FreeMemberInit); };
11863
11864 /* Line 1009 of yacc.c  */
11865 #line 11866 "grammar.ec"
11866         break;
11867       case 186: /* "property" */
11868
11869 /* Line 1009 of yacc.c  */
11870 #line 251 "grammar.y"
11871         { FreeProperty((yyvaluep->prop)); };
11872
11873 /* Line 1009 of yacc.c  */
11874 #line 11875 "grammar.ec"
11875         break;
11876       case 197: /* "struct_declaration" */
11877
11878 /* Line 1009 of yacc.c  */
11879 #line 249 "grammar.y"
11880         { FreeClassDef((yyvaluep->classDef)); };
11881
11882 /* Line 1009 of yacc.c  */
11883 #line 11884 "grammar.ec"
11884         break;
11885       case 198: /* "struct_declaration_error" */
11886
11887 /* Line 1009 of yacc.c  */
11888 #line 249 "grammar.y"
11889         { FreeClassDef((yyvaluep->classDef)); };
11890
11891 /* Line 1009 of yacc.c  */
11892 #line 11893 "grammar.ec"
11893         break;
11894       case 199: /* "struct_declaration_list" */
11895
11896 /* Line 1009 of yacc.c  */
11897 #line 264 "grammar.y"
11898         { FreeList((yyvaluep->list), FreeClassDef); };
11899
11900 /* Line 1009 of yacc.c  */
11901 #line 11902 "grammar.ec"
11902         break;
11903       case 200: /* "struct_declaration_list_error" */
11904
11905 /* Line 1009 of yacc.c  */
11906 #line 264 "grammar.y"
11907         { FreeList((yyvaluep->list), FreeClassDef); };
11908
11909 /* Line 1009 of yacc.c  */
11910 #line 11911 "grammar.ec"
11911         break;
11912       case 201: /* "template_datatype" */
11913
11914 /* Line 1009 of yacc.c  */
11915 #line 270 "grammar.y"
11916         { FreeTemplateDataType((yyvaluep->templateDatatype)); };
11917
11918 /* Line 1009 of yacc.c  */
11919 #line 11920 "grammar.ec"
11920         break;
11921       case 202: /* "template_type_argument" */
11922
11923 /* Line 1009 of yacc.c  */
11924 #line 269 "grammar.y"
11925         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11926
11927 /* Line 1009 of yacc.c  */
11928 #line 11929 "grammar.ec"
11929         break;
11930       case 203: /* "template_type_parameter" */
11931
11932 /* Line 1009 of yacc.c  */
11933 #line 268 "grammar.y"
11934         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11935
11936 /* Line 1009 of yacc.c  */
11937 #line 11938 "grammar.ec"
11938         break;
11939       case 204: /* "template_identifier_argument" */
11940
11941 /* Line 1009 of yacc.c  */
11942 #line 269 "grammar.y"
11943         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11944
11945 /* Line 1009 of yacc.c  */
11946 #line 11947 "grammar.ec"
11947         break;
11948       case 205: /* "template_identifier_parameter" */
11949
11950 /* Line 1009 of yacc.c  */
11951 #line 268 "grammar.y"
11952         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11953
11954 /* Line 1009 of yacc.c  */
11955 #line 11956 "grammar.ec"
11956         break;
11957       case 206: /* "template_expression_argument" */
11958
11959 /* Line 1009 of yacc.c  */
11960 #line 269 "grammar.y"
11961         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11962
11963 /* Line 1009 of yacc.c  */
11964 #line 11965 "grammar.ec"
11965         break;
11966       case 207: /* "template_expression_parameter" */
11967
11968 /* Line 1009 of yacc.c  */
11969 #line 268 "grammar.y"
11970         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11971
11972 /* Line 1009 of yacc.c  */
11973 #line 11974 "grammar.ec"
11974         break;
11975       case 208: /* "template_parameter" */
11976
11977 /* Line 1009 of yacc.c  */
11978 #line 268 "grammar.y"
11979         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11980
11981 /* Line 1009 of yacc.c  */
11982 #line 11983 "grammar.ec"
11983         break;
11984       case 209: /* "template_parameters_list" */
11985
11986 /* Line 1009 of yacc.c  */
11987 #line 271 "grammar.y"
11988         { FreeList((yyvaluep->list), FreeTemplateParameter); };
11989
11990 /* Line 1009 of yacc.c  */
11991 #line 11992 "grammar.ec"
11992         break;
11993       case 210: /* "template_argument" */
11994
11995 /* Line 1009 of yacc.c  */
11996 #line 269 "grammar.y"
11997         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11998
11999 /* Line 1009 of yacc.c  */
12000 #line 12001 "grammar.ec"
12001         break;
12002       case 211: /* "template_arguments_list" */
12003
12004 /* Line 1009 of yacc.c  */
12005 #line 272 "grammar.y"
12006         { FreeList((yyvaluep->list), FreeTemplateArgument); };
12007
12008 /* Line 1009 of yacc.c  */
12009 #line 12010 "grammar.ec"
12010         break;
12011       case 212: /* "class_entry" */
12012
12013 /* Line 1009 of yacc.c  */
12014 #line 246 "grammar.y"
12015         { Context ctx = curContext; PopContext(ctx); FreeContext(ctx); delete ctx; };
12016
12017 /* Line 1009 of yacc.c  */
12018 #line 12019 "grammar.ec"
12019         break;
12020       case 213: /* "class_decl" */
12021
12022 /* Line 1009 of yacc.c  */
12023 #line 247 "grammar.y"
12024         { Context ctx = curContext; PopContext(ctx); FreeContext(ctx); delete ctx; };
12025
12026 /* Line 1009 of yacc.c  */
12027 #line 12028 "grammar.ec"
12028         break;
12029       case 214: /* "class" */
12030
12031 /* Line 1009 of yacc.c  */
12032 #line 248 "grammar.y"
12033         { FreeClass((yyvaluep->_class)); };
12034
12035 /* Line 1009 of yacc.c  */
12036 #line 12037 "grammar.ec"
12037         break;
12038       case 215: /* "class_head" */
12039
12040 /* Line 1009 of yacc.c  */
12041 #line 248 "grammar.y"
12042         { FreeClass((yyvaluep->_class)); };
12043
12044 /* Line 1009 of yacc.c  */
12045 #line 12046 "grammar.ec"
12046         break;
12047       case 216: /* "class_error" */
12048
12049 /* Line 1009 of yacc.c  */
12050 #line 248 "grammar.y"
12051         { FreeClass((yyvaluep->_class)); };
12052
12053 /* Line 1009 of yacc.c  */
12054 #line 12055 "grammar.ec"
12055         break;
12056       case 217: /* "identifier" */
12057
12058 /* Line 1009 of yacc.c  */
12059 #line 202 "grammar.y"
12060         { FreeIdentifier((yyvaluep->id)); };
12061
12062 /* Line 1009 of yacc.c  */
12063 #line 12064 "grammar.ec"
12064         break;
12065       case 218: /* "primary_expression" */
12066
12067 /* Line 1009 of yacc.c  */
12068 #line 204 "grammar.y"
12069         { FreeExpression((yyvaluep->exp)); };
12070
12071 /* Line 1009 of yacc.c  */
12072 #line 12073 "grammar.ec"
12073         break;
12074       case 219: /* "i18n_string" */
12075
12076 /* Line 1009 of yacc.c  */
12077 #line 204 "grammar.y"
12078         { FreeExpression((yyvaluep->exp)); };
12079
12080 /* Line 1009 of yacc.c  */
12081 #line 12082 "grammar.ec"
12082         break;
12083       case 224: /* "primary_expression_error" */
12084
12085 /* Line 1009 of yacc.c  */
12086 #line 204 "grammar.y"
12087         { FreeExpression((yyvaluep->exp)); };
12088
12089 /* Line 1009 of yacc.c  */
12090 #line 12091 "grammar.ec"
12091         break;
12092       case 225: /* "postfix_expression" */
12093
12094 /* Line 1009 of yacc.c  */
12095 #line 204 "grammar.y"
12096         { FreeExpression((yyvaluep->exp)); };
12097
12098 /* Line 1009 of yacc.c  */
12099 #line 12100 "grammar.ec"
12100         break;
12101       case 226: /* "argument_expression_list" */
12102
12103 /* Line 1009 of yacc.c  */
12104 #line 253 "grammar.y"
12105         { FreeList((yyvaluep->list), FreeExpression); };
12106
12107 /* Line 1009 of yacc.c  */
12108 #line 12109 "grammar.ec"
12109         break;
12110       case 227: /* "argument_expression_list_error" */
12111
12112 /* Line 1009 of yacc.c  */
12113 #line 253 "grammar.y"
12114         { FreeList((yyvaluep->list), FreeExpression); };
12115
12116 /* Line 1009 of yacc.c  */
12117 #line 12118 "grammar.ec"
12118         break;
12119       case 229: /* "unary_expression" */
12120
12121 /* Line 1009 of yacc.c  */
12122 #line 204 "grammar.y"
12123         { FreeExpression((yyvaluep->exp)); };
12124
12125 /* Line 1009 of yacc.c  */
12126 #line 12127 "grammar.ec"
12127         break;
12128       case 231: /* "cast_expression" */
12129
12130 /* Line 1009 of yacc.c  */
12131 #line 204 "grammar.y"
12132         { FreeExpression((yyvaluep->exp)); };
12133
12134 /* Line 1009 of yacc.c  */
12135 #line 12136 "grammar.ec"
12136         break;
12137       case 232: /* "multiplicative_expression" */
12138
12139 /* Line 1009 of yacc.c  */
12140 #line 204 "grammar.y"
12141         { FreeExpression((yyvaluep->exp)); };
12142
12143 /* Line 1009 of yacc.c  */
12144 #line 12145 "grammar.ec"
12145         break;
12146       case 233: /* "additive_expression" */
12147
12148 /* Line 1009 of yacc.c  */
12149 #line 204 "grammar.y"
12150         { FreeExpression((yyvaluep->exp)); };
12151
12152 /* Line 1009 of yacc.c  */
12153 #line 12154 "grammar.ec"
12154         break;
12155       case 234: /* "shift_expression" */
12156
12157 /* Line 1009 of yacc.c  */
12158 #line 204 "grammar.y"
12159         { FreeExpression((yyvaluep->exp)); };
12160
12161 /* Line 1009 of yacc.c  */
12162 #line 12163 "grammar.ec"
12163         break;
12164       case 236: /* "relational_expression" */
12165
12166 /* Line 1009 of yacc.c  */
12167 #line 204 "grammar.y"
12168         { FreeExpression((yyvaluep->exp)); };
12169
12170 /* Line 1009 of yacc.c  */
12171 #line 12172 "grammar.ec"
12172         break;
12173       case 237: /* "equality_expression" */
12174
12175 /* Line 1009 of yacc.c  */
12176 #line 204 "grammar.y"
12177         { FreeExpression((yyvaluep->exp)); };
12178
12179 /* Line 1009 of yacc.c  */
12180 #line 12181 "grammar.ec"
12181         break;
12182       case 238: /* "and_expression" */
12183
12184 /* Line 1009 of yacc.c  */
12185 #line 204 "grammar.y"
12186         { FreeExpression((yyvaluep->exp)); };
12187
12188 /* Line 1009 of yacc.c  */
12189 #line 12190 "grammar.ec"
12190         break;
12191       case 239: /* "exclusive_or_expression" */
12192
12193 /* Line 1009 of yacc.c  */
12194 #line 204 "grammar.y"
12195         { FreeExpression((yyvaluep->exp)); };
12196
12197 /* Line 1009 of yacc.c  */
12198 #line 12199 "grammar.ec"
12199         break;
12200       case 240: /* "inclusive_or_expression" */
12201
12202 /* Line 1009 of yacc.c  */
12203 #line 204 "grammar.y"
12204         { FreeExpression((yyvaluep->exp)); };
12205
12206 /* Line 1009 of yacc.c  */
12207 #line 12208 "grammar.ec"
12208         break;
12209       case 241: /* "logical_and_expression" */
12210
12211 /* Line 1009 of yacc.c  */
12212 #line 204 "grammar.y"
12213         { FreeExpression((yyvaluep->exp)); };
12214
12215 /* Line 1009 of yacc.c  */
12216 #line 12217 "grammar.ec"
12217         break;
12218       case 242: /* "logical_or_expression" */
12219
12220 /* Line 1009 of yacc.c  */
12221 #line 204 "grammar.y"
12222         { FreeExpression((yyvaluep->exp)); };
12223
12224 /* Line 1009 of yacc.c  */
12225 #line 12226 "grammar.ec"
12226         break;
12227       case 243: /* "conditional_expression" */
12228
12229 /* Line 1009 of yacc.c  */
12230 #line 204 "grammar.y"
12231         { FreeExpression((yyvaluep->exp)); };
12232
12233 /* Line 1009 of yacc.c  */
12234 #line 12235 "grammar.ec"
12235         break;
12236       case 244: /* "assignment_expression" */
12237
12238 /* Line 1009 of yacc.c  */
12239 #line 204 "grammar.y"
12240         { FreeExpression((yyvaluep->exp)); };
12241
12242 /* Line 1009 of yacc.c  */
12243 #line 12244 "grammar.ec"
12244         break;
12245       case 246: /* "expression" */
12246
12247 /* Line 1009 of yacc.c  */
12248 #line 253 "grammar.y"
12249         { FreeList((yyvaluep->list), FreeExpression); };
12250
12251 /* Line 1009 of yacc.c  */
12252 #line 12253 "grammar.ec"
12253         break;
12254       case 248: /* "postfix_expression_error" */
12255
12256 /* Line 1009 of yacc.c  */
12257 #line 204 "grammar.y"
12258         { FreeExpression((yyvaluep->exp)); };
12259
12260 /* Line 1009 of yacc.c  */
12261 #line 12262 "grammar.ec"
12262         break;
12263       case 250: /* "unary_expression_error" */
12264
12265 /* Line 1009 of yacc.c  */
12266 #line 204 "grammar.y"
12267         { FreeExpression((yyvaluep->exp)); };
12268
12269 /* Line 1009 of yacc.c  */
12270 #line 12271 "grammar.ec"
12271         break;
12272       case 251: /* "cast_expression_error" */
12273
12274 /* Line 1009 of yacc.c  */
12275 #line 204 "grammar.y"
12276         { FreeExpression((yyvaluep->exp)); };
12277
12278 /* Line 1009 of yacc.c  */
12279 #line 12280 "grammar.ec"
12280         break;
12281       case 252: /* "multiplicative_expression_error" */
12282
12283 /* Line 1009 of yacc.c  */
12284 #line 204 "grammar.y"
12285         { FreeExpression((yyvaluep->exp)); };
12286
12287 /* Line 1009 of yacc.c  */
12288 #line 12289 "grammar.ec"
12289         break;
12290       case 253: /* "additive_expression_error" */
12291
12292 /* Line 1009 of yacc.c  */
12293 #line 204 "grammar.y"
12294         { FreeExpression((yyvaluep->exp)); };
12295
12296 /* Line 1009 of yacc.c  */
12297 #line 12298 "grammar.ec"
12298         break;
12299       case 254: /* "shift_expression_error" */
12300
12301 /* Line 1009 of yacc.c  */
12302 #line 204 "grammar.y"
12303         { FreeExpression((yyvaluep->exp)); };
12304
12305 /* Line 1009 of yacc.c  */
12306 #line 12307 "grammar.ec"
12307         break;
12308       case 255: /* "relational_expression_error" */
12309
12310 /* Line 1009 of yacc.c  */
12311 #line 204 "grammar.y"
12312         { FreeExpression((yyvaluep->exp)); };
12313
12314 /* Line 1009 of yacc.c  */
12315 #line 12316 "grammar.ec"
12316         break;
12317       case 256: /* "equality_expression_error" */
12318
12319 /* Line 1009 of yacc.c  */
12320 #line 204 "grammar.y"
12321         { FreeExpression((yyvaluep->exp)); };
12322
12323 /* Line 1009 of yacc.c  */
12324 #line 12325 "grammar.ec"
12325         break;
12326       case 257: /* "and_expression_error" */
12327
12328 /* Line 1009 of yacc.c  */
12329 #line 204 "grammar.y"
12330         { FreeExpression((yyvaluep->exp)); };
12331
12332 /* Line 1009 of yacc.c  */
12333 #line 12334 "grammar.ec"
12334         break;
12335       case 258: /* "exclusive_or_expression_error" */
12336
12337 /* Line 1009 of yacc.c  */
12338 #line 204 "grammar.y"
12339         { FreeExpression((yyvaluep->exp)); };
12340
12341 /* Line 1009 of yacc.c  */
12342 #line 12343 "grammar.ec"
12343         break;
12344       case 259: /* "inclusive_or_expression_error" */
12345
12346 /* Line 1009 of yacc.c  */
12347 #line 204 "grammar.y"
12348         { FreeExpression((yyvaluep->exp)); };
12349
12350 /* Line 1009 of yacc.c  */
12351 #line 12352 "grammar.ec"
12352         break;
12353       case 260: /* "logical_and_expression_error" */
12354
12355 /* Line 1009 of yacc.c  */
12356 #line 204 "grammar.y"
12357         { FreeExpression((yyvaluep->exp)); };
12358
12359 /* Line 1009 of yacc.c  */
12360 #line 12361 "grammar.ec"
12361         break;
12362       case 261: /* "logical_or_expression_error" */
12363
12364 /* Line 1009 of yacc.c  */
12365 #line 204 "grammar.y"
12366         { FreeExpression((yyvaluep->exp)); };
12367
12368 /* Line 1009 of yacc.c  */
12369 #line 12370 "grammar.ec"
12370         break;
12371       case 262: /* "conditional_expression_error" */
12372
12373 /* Line 1009 of yacc.c  */
12374 #line 204 "grammar.y"
12375         { FreeExpression((yyvaluep->exp)); };
12376
12377 /* Line 1009 of yacc.c  */
12378 #line 12379 "grammar.ec"
12379         break;
12380       case 263: /* "assignment_expression_error" */
12381
12382 /* Line 1009 of yacc.c  */
12383 #line 204 "grammar.y"
12384         { FreeExpression((yyvaluep->exp)); };
12385
12386 /* Line 1009 of yacc.c  */
12387 #line 12388 "grammar.ec"
12388         break;
12389       case 264: /* "expression_error" */
12390
12391 /* Line 1009 of yacc.c  */
12392 #line 253 "grammar.y"
12393         { FreeList((yyvaluep->list), FreeExpression); };
12394
12395 /* Line 1009 of yacc.c  */
12396 #line 12397 "grammar.ec"
12397         break;
12398       case 266: /* "constant_expression" */
12399
12400 /* Line 1009 of yacc.c  */
12401 #line 204 "grammar.y"
12402         { FreeExpression((yyvaluep->exp)); };
12403
12404 /* Line 1009 of yacc.c  */
12405 #line 12406 "grammar.ec"
12406         break;
12407       case 267: /* "constant_expression_error" */
12408
12409 /* Line 1009 of yacc.c  */
12410 #line 204 "grammar.y"
12411         { FreeExpression((yyvaluep->exp)); };
12412
12413 /* Line 1009 of yacc.c  */
12414 #line 12415 "grammar.ec"
12415         break;
12416       case 268: /* "storage_class_specifier" */
12417
12418 /* Line 1009 of yacc.c  */
12419 #line 215 "grammar.y"
12420         { FreeSpecifier((yyvaluep->specifier)); };
12421
12422 /* Line 1009 of yacc.c  */
12423 #line 12424 "grammar.ec"
12424         break;
12425       case 269: /* "external_storage_class_specifier" */
12426
12427 /* Line 1009 of yacc.c  */
12428 #line 215 "grammar.y"
12429         { FreeSpecifier((yyvaluep->specifier)); };
12430
12431 /* Line 1009 of yacc.c  */
12432 #line 12433 "grammar.ec"
12433         break;
12434       case 270: /* "enumerator" */
12435
12436 /* Line 1009 of yacc.c  */
12437 #line 220 "grammar.y"
12438         { FreeEnumerator((yyvaluep->enumerator)); };
12439
12440 /* Line 1009 of yacc.c  */
12441 #line 12442 "grammar.ec"
12442         break;
12443       case 271: /* "enumerator_list" */
12444
12445 /* Line 1009 of yacc.c  */
12446 #line 254 "grammar.y"
12447         { FreeList((yyvaluep->list), FreeEnumerator); };
12448
12449 /* Line 1009 of yacc.c  */
12450 #line 12451 "grammar.ec"
12451         break;
12452       case 273: /* "enum_specifier_nocompound" */
12453
12454 /* Line 1009 of yacc.c  */
12455 #line 215 "grammar.y"
12456         { FreeSpecifier((yyvaluep->specifier)); };
12457
12458 /* Line 1009 of yacc.c  */
12459 #line 12460 "grammar.ec"
12460         break;
12461       case 274: /* "enum_specifier_compound" */
12462
12463 /* Line 1009 of yacc.c  */
12464 #line 215 "grammar.y"
12465         { FreeSpecifier((yyvaluep->specifier)); };
12466
12467 /* Line 1009 of yacc.c  */
12468 #line 12469 "grammar.ec"
12469         break;
12470       case 275: /* "enum_specifier_compound_error" */
12471
12472 /* Line 1009 of yacc.c  */
12473 #line 215 "grammar.y"
12474         { FreeSpecifier((yyvaluep->specifier)); };
12475
12476 /* Line 1009 of yacc.c  */
12477 #line 12478 "grammar.ec"
12478         break;
12479       case 277: /* "enum_class" */
12480
12481 /* Line 1009 of yacc.c  */
12482 #line 215 "grammar.y"
12483         { FreeSpecifier((yyvaluep->specifier)); };
12484
12485 /* Line 1009 of yacc.c  */
12486 #line 12487 "grammar.ec"
12487         break;
12488       case 278: /* "enum_class_error" */
12489
12490 /* Line 1009 of yacc.c  */
12491 #line 215 "grammar.y"
12492         { FreeSpecifier((yyvaluep->specifier)); };
12493
12494 /* Line 1009 of yacc.c  */
12495 #line 12496 "grammar.ec"
12496         break;
12497       case 279: /* "class_specifier" */
12498
12499 /* Line 1009 of yacc.c  */
12500 #line 215 "grammar.y"
12501         { FreeSpecifier((yyvaluep->specifier)); };
12502
12503 /* Line 1009 of yacc.c  */
12504 #line 12505 "grammar.ec"
12505         break;
12506       case 280: /* "class_specifier_error" */
12507
12508 /* Line 1009 of yacc.c  */
12509 #line 215 "grammar.y"
12510         { FreeSpecifier((yyvaluep->specifier)); };
12511
12512 /* Line 1009 of yacc.c  */
12513 #line 12514 "grammar.ec"
12514         break;
12515       case 281: /* "ext_storage" */
12516
12517 /* Line 1009 of yacc.c  */
12518 #line 215 "grammar.y"
12519         { FreeSpecifier((yyvaluep->specifier)); };
12520
12521 /* Line 1009 of yacc.c  */
12522 #line 12523 "grammar.ec"
12523         break;
12524       case 282: /* "type_qualifier" */
12525
12526 /* Line 1009 of yacc.c  */
12527 #line 215 "grammar.y"
12528         { FreeSpecifier((yyvaluep->specifier)); };
12529
12530 /* Line 1009 of yacc.c  */
12531 #line 12532 "grammar.ec"
12532         break;
12533       case 283: /* "type_qualifier_list" */
12534
12535 /* Line 1009 of yacc.c  */
12536 #line 255 "grammar.y"
12537         { FreeList((yyvaluep->list), FreeSpecifier); };
12538
12539 /* Line 1009 of yacc.c  */
12540 #line 12541 "grammar.ec"
12541         break;
12542       case 284: /* "type_specifier" */
12543
12544 /* Line 1009 of yacc.c  */
12545 #line 215 "grammar.y"
12546         { FreeSpecifier((yyvaluep->specifier)); };
12547
12548 /* Line 1009 of yacc.c  */
12549 #line 12550 "grammar.ec"
12550         break;
12551       case 285: /* "strict_type_specifier" */
12552
12553 /* Line 1009 of yacc.c  */
12554 #line 215 "grammar.y"
12555         { FreeSpecifier((yyvaluep->specifier)); };
12556
12557 /* Line 1009 of yacc.c  */
12558 #line 12559 "grammar.ec"
12559         break;
12560       case 286: /* "struct_declarator" */
12561
12562 /* Line 1009 of yacc.c  */
12563 #line 221 "grammar.y"
12564         { FreeDeclarator((yyvaluep->declarator)); };
12565
12566 /* Line 1009 of yacc.c  */
12567 #line 12568 "grammar.ec"
12568         break;
12569       case 287: /* "struct_declarator_list" */
12570
12571 /* Line 1009 of yacc.c  */
12572 #line 257 "grammar.y"
12573         { FreeList((yyvaluep->list), FreeDeclarator); };
12574
12575 /* Line 1009 of yacc.c  */
12576 #line 12577 "grammar.ec"
12577         break;
12578       case 288: /* "struct_entry" */
12579
12580 /* Line 1009 of yacc.c  */
12581 #line 215 "grammar.y"
12582         { FreeSpecifier((yyvaluep->specifier)); };
12583
12584 /* Line 1009 of yacc.c  */
12585 #line 12586 "grammar.ec"
12586         break;
12587       case 289: /* "struct_or_union_specifier_compound" */
12588
12589 /* Line 1009 of yacc.c  */
12590 #line 215 "grammar.y"
12591         { FreeSpecifier((yyvaluep->specifier)); };
12592
12593 /* Line 1009 of yacc.c  */
12594 #line 12595 "grammar.ec"
12595         break;
12596       case 290: /* "struct_or_union_specifier_compound_error" */
12597
12598 /* Line 1009 of yacc.c  */
12599 #line 215 "grammar.y"
12600         { FreeSpecifier((yyvaluep->specifier)); };
12601
12602 /* Line 1009 of yacc.c  */
12603 #line 12604 "grammar.ec"
12604         break;
12605       case 291: /* "struct_or_union_specifier_nocompound" */
12606
12607 /* Line 1009 of yacc.c  */
12608 #line 215 "grammar.y"
12609         { FreeSpecifier((yyvaluep->specifier)); };
12610
12611 /* Line 1009 of yacc.c  */
12612 #line 12613 "grammar.ec"
12613         break;
12614       case 292: /* "struct_decl" */
12615
12616 /* Line 1009 of yacc.c  */
12617 #line 215 "grammar.y"
12618         { FreeSpecifier((yyvaluep->specifier)); };
12619
12620 /* Line 1009 of yacc.c  */
12621 #line 12622 "grammar.ec"
12622         break;
12623       case 293: /* "struct_head" */
12624
12625 /* Line 1009 of yacc.c  */
12626 #line 215 "grammar.y"
12627         { FreeSpecifier((yyvaluep->specifier)); };
12628
12629 /* Line 1009 of yacc.c  */
12630 #line 12631 "grammar.ec"
12631         break;
12632       case 294: /* "struct_class" */
12633
12634 /* Line 1009 of yacc.c  */
12635 #line 215 "grammar.y"
12636         { FreeSpecifier((yyvaluep->specifier)); };
12637
12638 /* Line 1009 of yacc.c  */
12639 #line 12640 "grammar.ec"
12640         break;
12641       case 295: /* "struct_class_error" */
12642
12643 /* Line 1009 of yacc.c  */
12644 #line 215 "grammar.y"
12645         { FreeSpecifier((yyvaluep->specifier)); };
12646
12647 /* Line 1009 of yacc.c  */
12648 #line 12649 "grammar.ec"
12649         break;
12650       case 297: /* "specifier_qualifier_list" */
12651
12652 /* Line 1009 of yacc.c  */
12653 #line 255 "grammar.y"
12654         { FreeList((yyvaluep->list), FreeSpecifier); };
12655
12656 /* Line 1009 of yacc.c  */
12657 #line 12658 "grammar.ec"
12658         break;
12659       case 298: /* "guess_specifier_qualifier_list" */
12660
12661 /* Line 1009 of yacc.c  */
12662 #line 255 "grammar.y"
12663         { FreeList((yyvaluep->list), FreeSpecifier); };
12664
12665 /* Line 1009 of yacc.c  */
12666 #line 12667 "grammar.ec"
12667         break;
12668       case 299: /* "declaration_specifiers" */
12669
12670 /* Line 1009 of yacc.c  */
12671 #line 255 "grammar.y"
12672         { FreeList((yyvaluep->list), FreeSpecifier); };
12673
12674 /* Line 1009 of yacc.c  */
12675 #line 12676 "grammar.ec"
12676         break;
12677       case 300: /* "guess_declaration_specifiers" */
12678
12679 /* Line 1009 of yacc.c  */
12680 #line 255 "grammar.y"
12681         { FreeList((yyvaluep->list), FreeSpecifier); };
12682
12683 /* Line 1009 of yacc.c  */
12684 #line 12685 "grammar.ec"
12685         break;
12686       case 301: /* "external_guess_declaration_specifiers" */
12687
12688 /* Line 1009 of yacc.c  */
12689 #line 255 "grammar.y"
12690         { FreeList((yyvaluep->list), FreeSpecifier); };
12691
12692 /* Line 1009 of yacc.c  */
12693 #line 12694 "grammar.ec"
12694         break;
12695       case 302: /* "external_guess_declaration_specifiers_error" */
12696
12697 /* Line 1009 of yacc.c  */
12698 #line 255 "grammar.y"
12699         { FreeList((yyvaluep->list), FreeSpecifier); };
12700
12701 /* Line 1009 of yacc.c  */
12702 #line 12703 "grammar.ec"
12703         break;
12704       case 303: /* "_inheritance_specifiers" */
12705
12706 /* Line 1009 of yacc.c  */
12707 #line 255 "grammar.y"
12708         { FreeList((yyvaluep->list), FreeSpecifier); };
12709
12710 /* Line 1009 of yacc.c  */
12711 #line 12712 "grammar.ec"
12712         break;
12713       case 304: /* "inheritance_specifiers" */
12714
12715 /* Line 1009 of yacc.c  */
12716 #line 255 "grammar.y"
12717         { FreeList((yyvaluep->list), FreeSpecifier); };
12718
12719 /* Line 1009 of yacc.c  */
12720 #line 12721 "grammar.ec"
12721         break;
12722       case 308: /* "identifier_list_error" */
12723
12724 /* Line 1009 of yacc.c  */
12725 #line 261 "grammar.y"
12726         { FreeList((yyvaluep->list), FreeTypeName); };
12727
12728 /* Line 1009 of yacc.c  */
12729 #line 12730 "grammar.ec"
12730         break;
12731       case 309: /* "identifier_list" */
12732
12733 /* Line 1009 of yacc.c  */
12734 #line 261 "grammar.y"
12735         { FreeList((yyvaluep->list), FreeTypeName); };
12736
12737 /* Line 1009 of yacc.c  */
12738 #line 12739 "grammar.ec"
12739         break;
12740       case 310: /* "direct_declarator_nofunction_type_ok" */
12741
12742 /* Line 1009 of yacc.c  */
12743 #line 221 "grammar.y"
12744         { FreeDeclarator((yyvaluep->declarator)); };
12745
12746 /* Line 1009 of yacc.c  */
12747 #line 12748 "grammar.ec"
12748         break;
12749       case 311: /* "direct_declarator_nofunction" */
12750
12751 /* Line 1009 of yacc.c  */
12752 #line 221 "grammar.y"
12753         { FreeDeclarator((yyvaluep->declarator)); };
12754
12755 /* Line 1009 of yacc.c  */
12756 #line 12757 "grammar.ec"
12757         break;
12758       case 312: /* "direct_declarator_function_start" */
12759
12760 /* Line 1009 of yacc.c  */
12761 #line 221 "grammar.y"
12762         { FreeDeclarator((yyvaluep->declarator)); };
12763
12764 /* Line 1009 of yacc.c  */
12765 #line 12766 "grammar.ec"
12766         break;
12767       case 313: /* "direct_declarator_function" */
12768
12769 /* Line 1009 of yacc.c  */
12770 #line 221 "grammar.y"
12771         { FreeDeclarator((yyvaluep->declarator)); };
12772
12773 /* Line 1009 of yacc.c  */
12774 #line 12775 "grammar.ec"
12775         break;
12776       case 314: /* "direct_declarator_function_error" */
12777
12778 /* Line 1009 of yacc.c  */
12779 #line 221 "grammar.y"
12780         { FreeDeclarator((yyvaluep->declarator)); };
12781
12782 /* Line 1009 of yacc.c  */
12783 #line 12784 "grammar.ec"
12784         break;
12785       case 315: /* "direct_declarator" */
12786
12787 /* Line 1009 of yacc.c  */
12788 #line 221 "grammar.y"
12789         { FreeDeclarator((yyvaluep->declarator)); };
12790
12791 /* Line 1009 of yacc.c  */
12792 #line 12793 "grammar.ec"
12793         break;
12794       case 316: /* "direct_declarator_function_start_type_ok" */
12795
12796 /* Line 1009 of yacc.c  */
12797 #line 221 "grammar.y"
12798         { FreeDeclarator((yyvaluep->declarator)); };
12799
12800 /* Line 1009 of yacc.c  */
12801 #line 12802 "grammar.ec"
12802         break;
12803       case 317: /* "direct_declarator_function_type_ok" */
12804
12805 /* Line 1009 of yacc.c  */
12806 #line 221 "grammar.y"
12807         { FreeDeclarator((yyvaluep->declarator)); };
12808
12809 /* Line 1009 of yacc.c  */
12810 #line 12811 "grammar.ec"
12811         break;
12812       case 318: /* "direct_declarator_function_error_type_ok" */
12813
12814 /* Line 1009 of yacc.c  */
12815 #line 221 "grammar.y"
12816         { FreeDeclarator((yyvaluep->declarator)); };
12817
12818 /* Line 1009 of yacc.c  */
12819 #line 12820 "grammar.ec"
12820         break;
12821       case 319: /* "direct_declarator_type_ok" */
12822
12823 /* Line 1009 of yacc.c  */
12824 #line 221 "grammar.y"
12825         { FreeDeclarator((yyvaluep->declarator)); };
12826
12827 /* Line 1009 of yacc.c  */
12828 #line 12829 "grammar.ec"
12829         break;
12830       case 320: /* "ext_decl" */
12831
12832 /* Line 1009 of yacc.c  */
12833 #line 275 "grammar.y"
12834         { FreeExtDecl((yyvaluep->extDecl)); };
12835
12836 /* Line 1009 of yacc.c  */
12837 #line 12838 "grammar.ec"
12838         break;
12839       case 322: /* "attribute_word" */
12840
12841 /* Line 1009 of yacc.c  */
12842 #line 250 "grammar.y"
12843         { delete (yyvaluep->string); };
12844
12845 /* Line 1009 of yacc.c  */
12846 #line 12847 "grammar.ec"
12847         break;
12848       case 323: /* "attribute" */
12849
12850 /* Line 1009 of yacc.c  */
12851 #line 276 "grammar.y"
12852         { FreeAttribute((yyvaluep->attribute)); };
12853
12854 /* Line 1009 of yacc.c  */
12855 #line 12856 "grammar.ec"
12856         break;
12857       case 324: /* "attribs_list" */
12858
12859 /* Line 1009 of yacc.c  */
12860 #line 277 "grammar.y"
12861         { FreeList((yyvaluep->list), FreeAttribute); };
12862
12863 /* Line 1009 of yacc.c  */
12864 #line 12865 "grammar.ec"
12865         break;
12866       case 325: /* "attrib" */
12867
12868 /* Line 1009 of yacc.c  */
12869 #line 274 "grammar.y"
12870         { FreeAttrib((yyvaluep->attrib)); };
12871
12872 /* Line 1009 of yacc.c  */
12873 #line 12874 "grammar.ec"
12874         break;
12875       case 326: /* "direct_abstract_declarator" */
12876
12877 /* Line 1009 of yacc.c  */
12878 #line 221 "grammar.y"
12879         { FreeDeclarator((yyvaluep->declarator)); };
12880
12881 /* Line 1009 of yacc.c  */
12882 #line 12883 "grammar.ec"
12883         break;
12884       case 327: /* "direct_abstract_declarator_noarray" */
12885
12886 /* Line 1009 of yacc.c  */
12887 #line 221 "grammar.y"
12888         { FreeDeclarator((yyvaluep->declarator)); };
12889
12890 /* Line 1009 of yacc.c  */
12891 #line 12892 "grammar.ec"
12892         break;
12893       case 328: /* "pointer" */
12894
12895 /* Line 1009 of yacc.c  */
12896 #line 203 "grammar.y"
12897         { FreePointer((yyvaluep->pointer)); };
12898
12899 /* Line 1009 of yacc.c  */
12900 #line 12901 "grammar.ec"
12901         break;
12902       case 329: /* "abstract_declarator" */
12903
12904 /* Line 1009 of yacc.c  */
12905 #line 221 "grammar.y"
12906         { FreeDeclarator((yyvaluep->declarator)); };
12907
12908 /* Line 1009 of yacc.c  */
12909 #line 12910 "grammar.ec"
12910         break;
12911       case 330: /* "abstract_declarator_noarray" */
12912
12913 /* Line 1009 of yacc.c  */
12914 #line 221 "grammar.y"
12915         { FreeDeclarator((yyvaluep->declarator)); };
12916
12917 /* Line 1009 of yacc.c  */
12918 #line 12919 "grammar.ec"
12919         break;
12920       case 331: /* "declarator" */
12921
12922 /* Line 1009 of yacc.c  */
12923 #line 221 "grammar.y"
12924         { FreeDeclarator((yyvaluep->declarator)); };
12925
12926 /* Line 1009 of yacc.c  */
12927 #line 12928 "grammar.ec"
12928         break;
12929       case 332: /* "declarator_type_ok" */
12930
12931 /* Line 1009 of yacc.c  */
12932 #line 221 "grammar.y"
12933         { FreeDeclarator((yyvaluep->declarator)); };
12934
12935 /* Line 1009 of yacc.c  */
12936 #line 12937 "grammar.ec"
12937         break;
12938       case 333: /* "declarator_function" */
12939
12940 /* Line 1009 of yacc.c  */
12941 #line 221 "grammar.y"
12942         { FreeDeclarator((yyvaluep->declarator)); };
12943
12944 /* Line 1009 of yacc.c  */
12945 #line 12946 "grammar.ec"
12946         break;
12947       case 334: /* "declarator_function_error" */
12948
12949 /* Line 1009 of yacc.c  */
12950 #line 221 "grammar.y"
12951         { FreeDeclarator((yyvaluep->declarator)); };
12952
12953 /* Line 1009 of yacc.c  */
12954 #line 12955 "grammar.ec"
12955         break;
12956       case 335: /* "declarator_function_type_ok" */
12957
12958 /* Line 1009 of yacc.c  */
12959 #line 221 "grammar.y"
12960         { FreeDeclarator((yyvaluep->declarator)); };
12961
12962 /* Line 1009 of yacc.c  */
12963 #line 12964 "grammar.ec"
12964         break;
12965       case 336: /* "declarator_function_error_type_ok" */
12966
12967 /* Line 1009 of yacc.c  */
12968 #line 221 "grammar.y"
12969         { FreeDeclarator((yyvaluep->declarator)); };
12970
12971 /* Line 1009 of yacc.c  */
12972 #line 12973 "grammar.ec"
12973         break;
12974       case 337: /* "declarator_nofunction_type_ok" */
12975
12976 /* Line 1009 of yacc.c  */
12977 #line 221 "grammar.y"
12978         { FreeDeclarator((yyvaluep->declarator)); };
12979
12980 /* Line 1009 of yacc.c  */
12981 #line 12982 "grammar.ec"
12982         break;
12983       case 338: /* "initializer" */
12984
12985 /* Line 1009 of yacc.c  */
12986 #line 227 "grammar.y"
12987         { FreeInitializer((yyvaluep->initializer)); };
12988
12989 /* Line 1009 of yacc.c  */
12990 #line 12991 "grammar.ec"
12991         break;
12992       case 339: /* "initializer_error" */
12993
12994 /* Line 1009 of yacc.c  */
12995 #line 227 "grammar.y"
12996         { FreeInitializer((yyvaluep->initializer)); };
12997
12998 /* Line 1009 of yacc.c  */
12999 #line 13000 "grammar.ec"
13000         break;
13001       case 340: /* "initializer_condition" */
13002
13003 /* Line 1009 of yacc.c  */
13004 #line 227 "grammar.y"
13005         { FreeInitializer((yyvaluep->initializer)); };
13006
13007 /* Line 1009 of yacc.c  */
13008 #line 13009 "grammar.ec"
13009         break;
13010       case 341: /* "initializer_condition_error" */
13011
13012 /* Line 1009 of yacc.c  */
13013 #line 227 "grammar.y"
13014         { FreeInitializer((yyvaluep->initializer)); };
13015
13016 /* Line 1009 of yacc.c  */
13017 #line 13018 "grammar.ec"
13018         break;
13019       case 342: /* "initializer_list" */
13020
13021 /* Line 1009 of yacc.c  */
13022 #line 259 "grammar.y"
13023         { FreeList((yyvaluep->list), FreeInitializer); };
13024
13025 /* Line 1009 of yacc.c  */
13026 #line 13027 "grammar.ec"
13027         break;
13028       case 343: /* "init_declarator" */
13029
13030 /* Line 1009 of yacc.c  */
13031 #line 228 "grammar.y"
13032         { FreeInitDeclarator((yyvaluep->initDeclarator)); };
13033
13034 /* Line 1009 of yacc.c  */
13035 #line 13036 "grammar.ec"
13036         break;
13037       case 344: /* "init_declarator_error" */
13038
13039 /* Line 1009 of yacc.c  */
13040 #line 228 "grammar.y"
13041         { FreeInitDeclarator((yyvaluep->initDeclarator)); };
13042
13043 /* Line 1009 of yacc.c  */
13044 #line 13045 "grammar.ec"
13045         break;
13046       case 345: /* "init_declarator_list" */
13047
13048 /* Line 1009 of yacc.c  */
13049 #line 260 "grammar.y"
13050         { FreeList((yyvaluep->list), FreeInitDeclarator); };
13051
13052 /* Line 1009 of yacc.c  */
13053 #line 13054 "grammar.ec"
13054         break;
13055       case 346: /* "init_declarator_list_error" */
13056
13057 /* Line 1009 of yacc.c  */
13058 #line 260 "grammar.y"
13059         { FreeList((yyvaluep->list), FreeInitDeclarator); };
13060
13061 /* Line 1009 of yacc.c  */
13062 #line 13063 "grammar.ec"
13063         break;
13064       case 347: /* "type_name" */
13065
13066 /* Line 1009 of yacc.c  */
13067 #line 229 "grammar.y"
13068         { FreeTypeName((yyvaluep->typeName)); };
13069
13070 /* Line 1009 of yacc.c  */
13071 #line 13072 "grammar.ec"
13072         break;
13073       case 348: /* "guess_type_name" */
13074
13075 /* Line 1009 of yacc.c  */
13076 #line 229 "grammar.y"
13077         { FreeTypeName((yyvaluep->typeName)); };
13078
13079 /* Line 1009 of yacc.c  */
13080 #line 13081 "grammar.ec"
13081         break;
13082       case 349: /* "parameter_declaration" */
13083
13084 /* Line 1009 of yacc.c  */
13085 #line 229 "grammar.y"
13086         { FreeTypeName((yyvaluep->typeName)); };
13087
13088 /* Line 1009 of yacc.c  */
13089 #line 13090 "grammar.ec"
13090         break;
13091       case 350: /* "parameter_declaration_error" */
13092
13093 /* Line 1009 of yacc.c  */
13094 #line 229 "grammar.y"
13095         { FreeTypeName((yyvaluep->typeName)); };
13096
13097 /* Line 1009 of yacc.c  */
13098 #line 13099 "grammar.ec"
13099         break;
13100       case 351: /* "parameter_list" */
13101
13102 /* Line 1009 of yacc.c  */
13103 #line 261 "grammar.y"
13104         { FreeList((yyvaluep->list), FreeTypeName); };
13105
13106 /* Line 1009 of yacc.c  */
13107 #line 13108 "grammar.ec"
13108         break;
13109       case 352: /* "parameter_list_error" */
13110
13111 /* Line 1009 of yacc.c  */
13112 #line 261 "grammar.y"
13113         { FreeList((yyvaluep->list), FreeTypeName); };
13114
13115 /* Line 1009 of yacc.c  */
13116 #line 13117 "grammar.ec"
13117         break;
13118       case 353: /* "parameter_type_list" */
13119
13120 /* Line 1009 of yacc.c  */
13121 #line 261 "grammar.y"
13122         { FreeList((yyvaluep->list), FreeTypeName); };
13123
13124 /* Line 1009 of yacc.c  */
13125 #line 13126 "grammar.ec"
13126         break;
13127       case 354: /* "parameter_type_list_error" */
13128
13129 /* Line 1009 of yacc.c  */
13130 #line 261 "grammar.y"
13131         { FreeList((yyvaluep->list), FreeTypeName); };
13132
13133 /* Line 1009 of yacc.c  */
13134 #line 13135 "grammar.ec"
13135         break;
13136       case 355: /* "statement" */
13137
13138 /* Line 1009 of yacc.c  */
13139 #line 230 "grammar.y"
13140         { FreeStatement((yyvaluep->stmt)); };
13141
13142 /* Line 1009 of yacc.c  */
13143 #line 13144 "grammar.ec"
13144         break;
13145       case 356: /* "statement_error" */
13146
13147 /* Line 1009 of yacc.c  */
13148 #line 230 "grammar.y"
13149         { FreeStatement((yyvaluep->stmt)); };
13150
13151 /* Line 1009 of yacc.c  */
13152 #line 13153 "grammar.ec"
13153         break;
13154       case 360: /* "labeled_statement" */
13155
13156 /* Line 1009 of yacc.c  */
13157 #line 230 "grammar.y"
13158         { FreeStatement((yyvaluep->stmt)); };
13159
13160 /* Line 1009 of yacc.c  */
13161 #line 13162 "grammar.ec"
13162         break;
13163       case 361: /* "labeled_statement_error" */
13164
13165 /* Line 1009 of yacc.c  */
13166 #line 230 "grammar.y"
13167         { FreeStatement((yyvaluep->stmt)); };
13168
13169 /* Line 1009 of yacc.c  */
13170 #line 13171 "grammar.ec"
13171         break;
13172       case 362: /* "declaration_mode" */
13173
13174 /* Line 1009 of yacc.c  */
13175 #line 273 "grammar.y"
13176         { };
13177
13178 /* Line 1009 of yacc.c  */
13179 #line 13180 "grammar.ec"
13180         break;
13181       case 364: /* "declaration" */
13182
13183 /* Line 1009 of yacc.c  */
13184 #line 234 "grammar.y"
13185         { FreeDeclaration((yyvaluep->declaration)); };
13186
13187 /* Line 1009 of yacc.c  */
13188 #line 13189 "grammar.ec"
13189         break;
13190       case 368: /* "declaration_list" */
13191
13192 /* Line 1009 of yacc.c  */
13193 #line 258 "grammar.y"
13194         { FreeList((yyvaluep->list), FreeDeclaration); };
13195
13196 /* Line 1009 of yacc.c  */
13197 #line 13198 "grammar.ec"
13198         break;
13199       case 369: /* "declaration_list_error" */
13200
13201 /* Line 1009 of yacc.c  */
13202 #line 258 "grammar.y"
13203         { FreeList((yyvaluep->list), FreeDeclaration); };
13204
13205 /* Line 1009 of yacc.c  */
13206 #line 13207 "grammar.ec"
13207         break;
13208       case 370: /* "statement_list" */
13209
13210 /* Line 1009 of yacc.c  */
13211 #line 262 "grammar.y"
13212         { FreeList((yyvaluep->list), FreeStatement); };
13213
13214 /* Line 1009 of yacc.c  */
13215 #line 13216 "grammar.ec"
13216         break;
13217       case 371: /* "statement_list_error" */
13218
13219 /* Line 1009 of yacc.c  */
13220 #line 262 "grammar.y"
13221         { FreeList((yyvaluep->list), FreeStatement); };
13222
13223 /* Line 1009 of yacc.c  */
13224 #line 13225 "grammar.ec"
13225         break;
13226       case 372: /* "compound_inside" */
13227
13228 /* Line 1009 of yacc.c  */
13229 #line 230 "grammar.y"
13230         { FreeStatement((yyvaluep->stmt)); };
13231
13232 /* Line 1009 of yacc.c  */
13233 #line 13234 "grammar.ec"
13234         break;
13235       case 373: /* "compound_inside_error" */
13236
13237 /* Line 1009 of yacc.c  */
13238 #line 230 "grammar.y"
13239         { FreeStatement((yyvaluep->stmt)); };
13240
13241 /* Line 1009 of yacc.c  */
13242 #line 13243 "grammar.ec"
13243         break;
13244       case 374: /* "compound_start" */
13245
13246 /* Line 1009 of yacc.c  */
13247 #line 267 "grammar.y"
13248         { PopContext((yyvaluep->context)); FreeContext((yyvaluep->context)); delete (yyvaluep->context); };
13249
13250 /* Line 1009 of yacc.c  */
13251 #line 13252 "grammar.ec"
13252         break;
13253       case 375: /* "compound_statement" */
13254
13255 /* Line 1009 of yacc.c  */
13256 #line 230 "grammar.y"
13257         { FreeStatement((yyvaluep->stmt)); };
13258
13259 /* Line 1009 of yacc.c  */
13260 #line 13261 "grammar.ec"
13261         break;
13262       case 376: /* "compound_statement_error" */
13263
13264 /* Line 1009 of yacc.c  */
13265 #line 230 "grammar.y"
13266         { FreeStatement((yyvaluep->stmt)); };
13267
13268 /* Line 1009 of yacc.c  */
13269 #line 13270 "grammar.ec"
13270         break;
13271       case 377: /* "expression_statement" */
13272
13273 /* Line 1009 of yacc.c  */
13274 #line 230 "grammar.y"
13275         { FreeStatement((yyvaluep->stmt)); };
13276
13277 /* Line 1009 of yacc.c  */
13278 #line 13279 "grammar.ec"
13279         break;
13280       case 378: /* "selection_statement" */
13281
13282 /* Line 1009 of yacc.c  */
13283 #line 230 "grammar.y"
13284         { FreeStatement((yyvaluep->stmt)); };
13285
13286 /* Line 1009 of yacc.c  */
13287 #line 13288 "grammar.ec"
13288         break;
13289       case 379: /* "selection_statement_error" */
13290
13291 /* Line 1009 of yacc.c  */
13292 #line 230 "grammar.y"
13293         { FreeStatement((yyvaluep->stmt)); };
13294
13295 /* Line 1009 of yacc.c  */
13296 #line 13297 "grammar.ec"
13297         break;
13298       case 380: /* "iteration_statement" */
13299
13300 /* Line 1009 of yacc.c  */
13301 #line 230 "grammar.y"
13302         { FreeStatement((yyvaluep->stmt)); };
13303
13304 /* Line 1009 of yacc.c  */
13305 #line 13306 "grammar.ec"
13306         break;
13307       case 381: /* "iteration_statement_error" */
13308
13309 /* Line 1009 of yacc.c  */
13310 #line 230 "grammar.y"
13311         { FreeStatement((yyvaluep->stmt)); };
13312
13313 /* Line 1009 of yacc.c  */
13314 #line 13315 "grammar.ec"
13315         break;
13316       case 382: /* "jump_statement" */
13317
13318 /* Line 1009 of yacc.c  */
13319 #line 230 "grammar.y"
13320         { FreeStatement((yyvaluep->stmt)); };
13321
13322 /* Line 1009 of yacc.c  */
13323 #line 13324 "grammar.ec"
13324         break;
13325       case 383: /* "jump_statement_error" */
13326
13327 /* Line 1009 of yacc.c  */
13328 #line 230 "grammar.y"
13329         { FreeStatement((yyvaluep->stmt)); };
13330
13331 /* Line 1009 of yacc.c  */
13332 #line 13333 "grammar.ec"
13333         break;
13334       case 384: /* "function_definition" */
13335
13336 /* Line 1009 of yacc.c  */
13337 #line 235 "grammar.y"
13338         { FreeFunction((yyvaluep->function)); };
13339
13340 /* Line 1009 of yacc.c  */
13341 #line 13342 "grammar.ec"
13342         break;
13343       case 385: /* "function_definition_error" */
13344
13345 /* Line 1009 of yacc.c  */
13346 #line 235 "grammar.y"
13347         { FreeFunction((yyvaluep->function)); };
13348
13349 /* Line 1009 of yacc.c  */
13350 #line 13351 "grammar.ec"
13351         break;
13352       case 386: /* "string_literal" */
13353
13354 /* Line 1009 of yacc.c  */
13355 #line 250 "grammar.y"
13356         { delete (yyvaluep->string); };
13357
13358 /* Line 1009 of yacc.c  */
13359 #line 13360 "grammar.ec"
13360         break;
13361       case 387: /* "external_declaration" */
13362
13363 /* Line 1009 of yacc.c  */
13364 #line 236 "grammar.y"
13365         { FreeExternal((yyvaluep->external)); };
13366
13367 /* Line 1009 of yacc.c  */
13368 #line 13369 "grammar.ec"
13369         break;
13370       case 388: /* "external_declaration_error" */
13371
13372 /* Line 1009 of yacc.c  */
13373 #line 236 "grammar.y"
13374         { FreeExternal((yyvaluep->external)); };
13375
13376 /* Line 1009 of yacc.c  */
13377 #line 13378 "grammar.ec"
13378         break;
13379       case 389: /* "translation_unit_error" */
13380
13381 /* Line 1009 of yacc.c  */
13382 #line 263 "grammar.y"
13383         { if((yyvaluep->list) != ast) FreeList((yyvaluep->list), FreeExternal); };
13384
13385 /* Line 1009 of yacc.c  */
13386 #line 13387 "grammar.ec"
13387         break;
13388       case 390: /* "translation_unit" */
13389
13390 /* Line 1009 of yacc.c  */
13391 #line 263 "grammar.y"
13392         { if((yyvaluep->list) != ast) FreeList((yyvaluep->list), FreeExternal); };
13393
13394 /* Line 1009 of yacc.c  */
13395 #line 13396 "grammar.ec"
13396         break;
13397
13398       default:
13399         break;
13400     }
13401 }
13402
13403 /* Prevent warnings from -Wmissing-prototypes.  */
13404 #ifdef YYPARSE_PARAM
13405 #if defined __STDC__ || defined __cplusplus
13406 int yyparse (void *YYPARSE_PARAM);
13407 #else
13408 int yyparse ();
13409 #endif
13410 #else /* ! YYPARSE_PARAM */
13411 #if defined __STDC__ || defined __cplusplus
13412 int yyparse (void);
13413 #else
13414 int yyparse ();
13415 #endif
13416 #endif /* ! YYPARSE_PARAM */
13417
13418
13419 /* The lookahead symbol.  */
13420 int yychar;
13421
13422 /* The semantic value of the lookahead symbol.  */
13423 YYSTYPE yylval;
13424
13425 /* Location data for the lookahead symbol.  */
13426 YYLTYPE yylloc;
13427
13428 /* Number of syntax errors so far.  */
13429 int yynerrs;
13430
13431
13432
13433 /*-------------------------.
13434 | yyparse or yypush_parse.  |
13435 `-------------------------*/
13436
13437 #ifdef YYPARSE_PARAM
13438 #if (defined __STDC__ || defined __C99__FUNC__ \
13439      || defined __cplusplus || defined _MSC_VER)
13440 int
13441 yyparse (void *YYPARSE_PARAM)
13442 #else
13443 int
13444 yyparse (YYPARSE_PARAM)
13445     void *YYPARSE_PARAM;
13446 #endif
13447 #else /* ! YYPARSE_PARAM */
13448 #if (defined __STDC__ || defined __C99__FUNC__ \
13449      || defined __cplusplus || defined _MSC_VER)
13450 int
13451 yyparse (void)
13452 #else
13453 int
13454 yyparse ()
13455
13456 #endif
13457 #endif
13458 {
13459
13460
13461     int yystate;
13462     /* Number of tokens to shift before error messages enabled.  */
13463     int yyerrstatus;
13464
13465     /* The stacks and their tools:
13466        `yyss': related to states.
13467        `yyvs': related to semantic values.
13468        `yyls': related to locations.
13469
13470        Refer to the stacks thru separate pointers, to allow yyoverflow
13471        to reallocate them elsewhere.  */
13472
13473     /* The state stack.  */
13474     yytype_int16 yyssa[YYINITDEPTH];
13475     yytype_int16 *yyss;
13476     yytype_int16 *yyssp;
13477
13478     /* The semantic value stack.  */
13479     YYSTYPE yyvsa[YYINITDEPTH];
13480     YYSTYPE *yyvs;
13481     YYSTYPE *yyvsp;
13482
13483     /* The location stack.  */
13484     YYLTYPE yylsa[YYINITDEPTH];
13485     YYLTYPE *yyls;
13486     YYLTYPE *yylsp;
13487
13488     /* The locations where the error started and ended.  */
13489     YYLTYPE yyerror_range[2];
13490
13491     YYSIZE_T yystacksize;
13492
13493   int yyn;
13494   int yyresult;
13495   /* Lookahead token as an internal (translated) token number.  */
13496   int yytoken;
13497   /* The variables used to return semantic value and location from the
13498      action routines.  */
13499   YYSTYPE yyval;
13500   YYLTYPE yyloc;
13501
13502 #if YYERROR_VERBOSE
13503   /* Buffer for error messages, and its allocated size.  */
13504   char yymsgbuf[128];
13505   char *yymsg = yymsgbuf;
13506   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
13507 #endif
13508
13509 #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
13510
13511   /* The number of symbols on the RHS of the reduced rule.
13512      Keep to zero when no symbol should be popped.  */
13513   int yylen = 0;
13514
13515   yytoken = 0;
13516   yyss = yyssa;
13517   yyvs = yyvsa;
13518   yyls = yylsa;
13519   yystacksize = YYINITDEPTH;
13520
13521   YYDPRINTF ((stderr, "Starting parse\n"));
13522
13523   yystate = 0;
13524   yyerrstatus = 0;
13525   yynerrs = 0;
13526   yychar = YYEMPTY; /* Cause a token to be read.  */
13527
13528   /* Initialize stack pointers.
13529      Waste one element of value and location stack
13530      so that they stay on the same level as the state stack.
13531      The wasted elements are never initialized.  */
13532   yyssp = yyss;
13533   yyvsp = yyvs;
13534   yylsp = yyls;
13535
13536 #if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
13537   /* Initialize the default location before parsing starts.  */
13538   yylloc.first_line   = yylloc.last_line   = 1;
13539   yylloc.first_column = yylloc.last_column = 1;
13540 #endif
13541
13542   goto yysetstate;
13543
13544 /*------------------------------------------------------------.
13545 | yynewstate -- Push a new state, which is found in yystate.  |
13546 `------------------------------------------------------------*/
13547  yynewstate:
13548   /* In all cases, when you get here, the value and location stacks
13549      have just been pushed.  So pushing a state here evens the stacks.  */
13550   yyssp++;
13551
13552  yysetstate:
13553   *yyssp = yystate;
13554
13555   if (yyss + yystacksize - 1 <= yyssp)
13556     {
13557       /* Get the current used size of the three stacks, in elements.  */
13558       YYSIZE_T yysize = yyssp - yyss + 1;
13559
13560 #ifdef yyoverflow
13561       {
13562         /* Give user a chance to reallocate the stack.  Use copies of
13563            these so that the &'s don't force the real ones into
13564            memory.  */
13565         YYSTYPE *yyvs1 = yyvs;
13566         yytype_int16 *yyss1 = yyss;
13567         YYLTYPE *yyls1 = yyls;
13568
13569         /* Each stack pointer address is followed by the size of the
13570            data in use in that stack, in bytes.  This used to be a
13571            conditional around just the two extra args, but that might
13572            be undefined if yyoverflow is a macro.  */
13573         yyoverflow (YY_("memory exhausted"),
13574                     &yyss1, yysize * sizeof (*yyssp),
13575                     &yyvs1, yysize * sizeof (*yyvsp),
13576                     &yyls1, yysize * sizeof (*yylsp),
13577                     &yystacksize);
13578
13579         yyls = yyls1;
13580         yyss = yyss1;
13581         yyvs = yyvs1;
13582       }
13583 #else /* no yyoverflow */
13584 # ifndef YYSTACK_RELOCATE
13585       goto yyexhaustedlab;
13586 # else
13587       /* Extend the stack our own way.  */
13588       if (YYMAXDEPTH <= yystacksize)
13589         goto yyexhaustedlab;
13590       yystacksize *= 2;
13591       if (YYMAXDEPTH < yystacksize)
13592         yystacksize = YYMAXDEPTH;
13593
13594       {
13595         yytype_int16 *yyss1 = yyss;
13596         union yyalloc *yyptr =
13597           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
13598         if (! yyptr)
13599           goto yyexhaustedlab;
13600         YYSTACK_RELOCATE (yyss_alloc, yyss);
13601         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
13602         YYSTACK_RELOCATE (yyls_alloc, yyls);
13603 #  undef YYSTACK_RELOCATE
13604         if (yyss1 != yyssa)
13605           YYSTACK_FREE (yyss1);
13606       }
13607 # endif
13608 #endif /* no yyoverflow */
13609
13610       yyssp = yyss + yysize - 1;
13611       yyvsp = yyvs + yysize - 1;
13612       yylsp = yyls + yysize - 1;
13613
13614       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
13615                   (unsigned long int) yystacksize));
13616
13617       if (yyss + yystacksize - 1 <= yyssp)
13618         YYABORT;
13619     }
13620
13621   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
13622
13623   if (yystate == YYFINAL)
13624     YYACCEPT;
13625
13626   goto yybackup;
13627
13628 /*-----------.
13629 | yybackup.  |
13630 `-----------*/
13631 yybackup:
13632
13633   /* Do appropriate processing given the current state.  Read a
13634      lookahead token if we need one and don't already have one.  */
13635
13636   /* First try to decide what to do without reference to lookahead token.  */
13637   yyn = yypact[yystate];
13638   if (yyn == YYPACT_NINF)
13639     goto yydefault;
13640
13641   /* Not known => get a lookahead token if don't already have one.  */
13642
13643   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
13644   if (yychar == YYEMPTY)
13645     {
13646       YYDPRINTF ((stderr, "Reading a token: "));
13647       yychar = YYLEX;
13648     }
13649
13650   if (yychar <= YYEOF)
13651     {
13652       yychar = yytoken = YYEOF;
13653       YYDPRINTF ((stderr, "Now at end of input.\n"));
13654     }
13655   else
13656     {
13657       yytoken = YYTRANSLATE (yychar);
13658       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
13659     }
13660
13661   /* If the proper action on seeing token YYTOKEN is to reduce or to
13662      detect an error, take that action.  */
13663   yyn += yytoken;
13664   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
13665     goto yydefault;
13666   yyn = yytable[yyn];
13667   if (yyn <= 0)
13668     {
13669       if (yyn == 0 || yyn == YYTABLE_NINF)
13670         goto yyerrlab;
13671       yyn = -yyn;
13672       goto yyreduce;
13673     }
13674
13675   /* Count tokens shifted since error; after three, turn off error
13676      status.  */
13677   if (yyerrstatus)
13678     yyerrstatus--;
13679
13680   /* Shift the lookahead token.  */
13681   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
13682
13683   /* Discard the shifted token.  */
13684   yychar = YYEMPTY;
13685
13686   yystate = yyn;
13687   *++yyvsp = yylval;
13688   *++yylsp = yylloc;
13689   goto yynewstate;
13690
13691
13692 /*-----------------------------------------------------------.
13693 | yydefault -- do the default action for the current state.  |
13694 `-----------------------------------------------------------*/
13695 yydefault:
13696   yyn = yydefact[yystate];
13697   if (yyn == 0)
13698     goto yyerrlab;
13699   goto yyreduce;
13700
13701
13702 /*-----------------------------.
13703 | yyreduce -- Do a reduction.  |
13704 `-----------------------------*/
13705 yyreduce:
13706   /* yyn is the number of a rule to reduce with.  */
13707   yylen = yyr2[yyn];
13708
13709   /* If YYLEN is nonzero, implement the default value of the action:
13710      `$$ = $1'.
13711
13712      Otherwise, the following line sets YYVAL to garbage.
13713      This behavior is undocumented and Bison
13714      users should not rely upon it.  Assigning to YYVAL
13715      unconditionally makes the parser a bit smaller, and it avoids a
13716      GCC warning that YYVAL may be used uninitialized.  */
13717   yyval = yyvsp[1-yylen];
13718
13719   /* Default location.  */
13720   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
13721   YY_REDUCE_PRINT (yyn);
13722   switch (yyn)
13723     {
13724         case 2:
13725
13726 /* Line 1464 of yacc.c  */
13727 #line 285 "grammar.y"
13728     {
13729       (yyval.specifier) = null;
13730       _DeclClass((yyvsp[(1) - (2)].id)._class, (yyvsp[(1) - (2)].id).string);
13731
13732       FreeIdentifier((yyvsp[(1) - (2)].id));
13733
13734       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
13735       resetScannerPos(&(yylsp[(1) - (2)]).start);
13736       yyclearin;
13737
13738       YYPOPSTACK(1);
13739       yystate = *yyssp;
13740       YY_STACK_PRINT (yyss, yyssp);
13741       YYPOPSTACK(1);
13742       yystate = *yyssp;
13743       YY_STACK_PRINT (yyss, yyssp);
13744       goto yysetstate;
13745    ;}
13746     break;
13747
13748   case 3:
13749
13750 /* Line 1464 of yacc.c  */
13751 #line 304 "grammar.y"
13752     {
13753       (yyval.specifier) = null;
13754    #ifdef PRECOMPILER
13755       _DeclClass((yyvsp[(1) - (2)].id)._class, (yyvsp[(1) - (2)].id).string);
13756
13757       FreeIdentifier((yyvsp[(1) - (2)].id));
13758
13759       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
13760       resetScannerPos(&(yylsp[(1) - (2)]).start);
13761       yyclearin;
13762
13763       YYPOPSTACK(1);
13764       yystate = *yyssp;
13765       YY_STACK_PRINT (yyss, yyssp);
13766       YYPOPSTACK(1);
13767       yystate = *yyssp;
13768       YY_STACK_PRINT (yyss, yyssp);
13769       goto yysetstate;
13770    #endif
13771    ;}
13772     break;
13773
13774   case 4:
13775
13776 /* Line 1464 of yacc.c  */
13777 #line 342 "grammar.y"
13778     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); ;}
13779     break;
13780
13781   case 5:
13782
13783 /* Line 1464 of yacc.c  */
13784 #line 344 "grammar.y"
13785     {
13786    #ifdef PRECOMPILER
13787       if(!(yyvsp[(1) - (2)].id).string[0])
13788       {
13789          (yyval.specifier) = MkSpecifierName((yyvsp[(1) - (2)].id).string);
13790          FreeIdentifier((yyvsp[(1) - (2)].id));
13791          FreeIdentifier((yyvsp[(2) - (2)].id));
13792       }
13793       else
13794       {
13795          _DeclClass((yyvsp[(1) - (2)].id)._class, (yyvsp[(1) - (2)].id).string);
13796
13797          FreeIdentifier((yyvsp[(1) - (2)].id));
13798          FreeIdentifier((yyvsp[(2) - (2)].id));
13799
13800          fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
13801          resetScannerPos(&(yylsp[(1) - (2)]).start);
13802          yyclearin;
13803
13804          YYPOPSTACK(1);
13805          yystate = *yyssp;
13806          YY_STACK_PRINT (yyss, yyssp);
13807          YYPOPSTACK(1);
13808          yystate = *yyssp;
13809          YY_STACK_PRINT (yyss, yyssp);
13810          goto yysetstate;
13811    #else
13812          Location tmpLoc = yylloc; (yyval.specifier) = (yyvsp[(2) - (2)].id); yylloc = (yylsp[(1) - (2)]);
13813          Compiler_Error($"Not a type: %s\n", (yyvsp[(1) - (2)].id).string);
13814          yylloc = tmpLoc; (yyvsp[(2) - (2)].id).badID = (yyvsp[(1) - (2)].id);
13815    #endif
13816       }
13817    ;}
13818     break;
13819
13820   case 6:
13821
13822 /* Line 1464 of yacc.c  */
13823 #line 423 "grammar.y"
13824     { (yyval.specifier) = MkSpecifierName(yytext); ;}
13825     break;
13826
13827   case 7:
13828
13829 /* Line 1464 of yacc.c  */
13830 #line 427 "grammar.y"
13831     { (yyval.string) = CopyString(yytext); ;}
13832     break;
13833
13834   case 9:
13835
13836 /* Line 1464 of yacc.c  */
13837 #line 431 "grammar.y"
13838     { (yyval.specifier) = (yyvsp[(1) - (4)].specifier); SetClassTemplateArgs((yyval.specifier), (yyvsp[(3) - (4)].list)); (yyval.specifier).loc = (yyloc); ;}
13839     break;
13840
13841   case 10:
13842
13843 /* Line 1464 of yacc.c  */
13844 #line 433 "grammar.y"
13845     {
13846       (yyval.specifier) = (yyvsp[(1) - (4)].specifier);
13847       SetClassTemplateArgs((yyval.specifier), (yyvsp[(3) - (4)].list));
13848       (yyval.specifier).loc = (yyloc);
13849
13850       (yylsp[(4) - (4)]).end.pos--;
13851       fileInput.Seek((yylsp[(4) - (4)]).end.pos, start);
13852       resetScannerPos(&(yylsp[(4) - (4)]).end);
13853       yyclearin;
13854     ;}
13855     break;
13856
13857   case 11:
13858
13859 /* Line 1464 of yacc.c  */
13860 #line 472 "grammar.y"
13861     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
13862     break;
13863
13864   case 12:
13865
13866 /* Line 1464 of yacc.c  */
13867 #line 474 "grammar.y"
13868     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(1) - (1)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
13869     break;
13870
13871   case 13:
13872
13873 /* Line 1464 of yacc.c  */
13874 #line 479 "grammar.y"
13875     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (3)].list), null, null, null); (yyval.classFunction).isConstructor = true; (yyval.classFunction).loc = (yyloc); ;}
13876     break;
13877
13878   case 14:
13879
13880 /* Line 1464 of yacc.c  */
13881 #line 484 "grammar.y"
13882     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (4)].list), null, null, null); (yyval.classFunction).isDestructor = true; (yyval.classFunction).loc = (yyloc); ;}
13883     break;
13884
13885   case 15:
13886
13887 /* Line 1464 of yacc.c  */
13888 #line 489 "grammar.y"
13889     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (3)].list), null, (yyvsp[(3) - (3)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); ;}
13890     break;
13891
13892   case 16:
13893
13894 /* Line 1464 of yacc.c  */
13895 #line 491 "grammar.y"
13896     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); ;}
13897     break;
13898
13899   case 17:
13900
13901 /* Line 1464 of yacc.c  */
13902 #line 496 "grammar.y"
13903     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
13904     break;
13905
13906   case 18:
13907
13908 /* Line 1464 of yacc.c  */
13909 #line 498 "grammar.y"
13910     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(1) - (1)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
13911     break;
13912
13913   case 19:
13914
13915 /* Line 1464 of yacc.c  */
13916 #line 503 "grammar.y"
13917     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (3)].list), null, (yyvsp[(3) - (3)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); ;}
13918     break;
13919
13920   case 20:
13921
13922 /* Line 1464 of yacc.c  */
13923 #line 505 "grammar.y"
13924     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); ;}
13925     break;
13926
13927   case 21:
13928
13929 /* Line 1464 of yacc.c  */
13930 #line 510 "grammar.y"
13931     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13932     break;
13933
13934   case 22:
13935
13936 /* Line 1464 of yacc.c  */
13937 #line 512 "grammar.y"
13938     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13939     break;
13940
13941   case 23:
13942
13943 /* Line 1464 of yacc.c  */
13944 #line 514 "grammar.y"
13945     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); ;}
13946     break;
13947
13948   case 24:
13949
13950 /* Line 1464 of yacc.c  */
13951 #line 516 "grammar.y"
13952     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13953     break;
13954
13955   case 25:
13956
13957 /* Line 1464 of yacc.c  */
13958 #line 518 "grammar.y"
13959     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13960     break;
13961
13962   case 26:
13963
13964 /* Line 1464 of yacc.c  */
13965 #line 522 "grammar.y"
13966     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); ;}
13967     break;
13968
13969   case 27:
13970
13971 /* Line 1464 of yacc.c  */
13972 #line 526 "grammar.y"
13973     {
13974          if((yyvsp[(1) - (3)].classFunction).declarator)
13975          {
13976             (yyvsp[(1) - (3)].classFunction).declarator = MkStructDeclarator((yyvsp[(1) - (3)].classFunction).declarator, null);
13977             (yyvsp[(1) - (3)].classFunction).declarator.structDecl.attrib = (yyvsp[(2) - (3)].attrib);
13978          }
13979          ProcessClassFunctionBody((yyvsp[(1) - (3)].classFunction), null);
13980          (yyval.classFunction).loc = (yyloc);
13981       ;}
13982     break;
13983
13984   case 28:
13985
13986 /* Line 1464 of yacc.c  */
13987 #line 539 "grammar.y"
13988     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
13989     break;
13990
13991   case 29:
13992
13993 /* Line 1464 of yacc.c  */
13994 #line 541 "grammar.y"
13995     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13996     break;
13997
13998   case 30:
13999
14000 /* Line 1464 of yacc.c  */
14001 #line 543 "grammar.y"
14002     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
14003     break;
14004
14005   case 31:
14006
14007 /* Line 1464 of yacc.c  */
14008 #line 545 "grammar.y"
14009     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
14010     break;
14011
14012   case 32:
14013
14014 /* Line 1464 of yacc.c  */
14015 #line 547 "grammar.y"
14016     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
14017     break;
14018
14019   case 33:
14020
14021 /* Line 1464 of yacc.c  */
14022 #line 553 "grammar.y"
14023     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
14024     break;
14025
14026   case 34:
14027
14028 /* Line 1464 of yacc.c  */
14029 #line 555 "grammar.y"
14030     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, MkDeclaratorFunction((yyvsp[(2) - (2)].declarator), null), null); (yyval.classFunction).loc = (yyloc); ;}
14031     break;
14032
14033   case 35:
14034
14035 /* Line 1464 of yacc.c  */
14036 #line 560 "grammar.y"
14037     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
14038     break;
14039
14040   case 36:
14041
14042 /* Line 1464 of yacc.c  */
14043 #line 565 "grammar.y"
14044     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
14045     break;
14046
14047   case 37:
14048
14049 /* Line 1464 of yacc.c  */
14050 #line 570 "grammar.y"
14051     { 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++;;}
14052     break;
14053
14054   case 38:
14055
14056 /* Line 1464 of yacc.c  */
14057 #line 572 "grammar.y"
14058     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
14059     break;
14060
14061   case 39:
14062
14063 /* Line 1464 of yacc.c  */
14064 #line 574 "grammar.y"
14065     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
14066     break;
14067
14068   case 40:
14069
14070 /* Line 1464 of yacc.c  */
14071 #line 578 "grammar.y"
14072     { (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;;}
14073     break;
14074
14075   case 41:
14076
14077 /* Line 1464 of yacc.c  */
14078 #line 579 "grammar.y"
14079     { (yyval.memberInit) = MkMemberInit(null, (yyvsp[(1) - (1)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc);;}
14080     break;
14081
14082   case 42:
14083
14084 /* Line 1464 of yacc.c  */
14085 #line 583 "grammar.y"
14086     { (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;;}
14087     break;
14088
14089   case 43:
14090
14091 /* Line 1464 of yacc.c  */
14092 #line 585 "grammar.y"
14093     {
14094          (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), MkInitializerAssignment(MkExpDummy()));
14095          (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yyval.memberInit).initializer.loc.end = (yylsp[(2) - (3)]).end;
14096
14097          fileInput.Seek((yylsp[(2) - (3)]).end.pos, start);
14098          yyclearin;
14099          resetScannerPos(&(yylsp[(2) - (3)]).end);
14100          (yyloc).start = (yylsp[(1) - (3)]).start;
14101          (yyloc).end = (yylsp[(2) - (3)]).end;
14102       ;}
14103     break;
14104
14105   case 44:
14106
14107 /* Line 1464 of yacc.c  */
14108 #line 595 "grammar.y"
14109     { (yyval.memberInit) = MkMemberInit(null, (yyvsp[(1) - (1)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc);;}
14110     break;
14111
14112   case 45:
14113
14114 /* Line 1464 of yacc.c  */
14115 #line 599 "grammar.y"
14116     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ;}
14117     break;
14118
14119   case 46:
14120
14121 /* Line 1464 of yacc.c  */
14122 #line 601 "grammar.y"
14123     { ((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); ;}
14124     break;
14125
14126   case 47:
14127
14128 /* Line 1464 of yacc.c  */
14129 #line 603 "grammar.y"
14130     { ((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); ;}
14131     break;
14132
14133   case 48:
14134
14135 /* Line 1464 of yacc.c  */
14136 #line 607 "grammar.y"
14137     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ;}
14138     break;
14139
14140   case 49:
14141
14142 /* Line 1464 of yacc.c  */
14143 #line 609 "grammar.y"
14144     { ((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); ;}
14145     break;
14146
14147   case 50:
14148
14149 /* Line 1464 of yacc.c  */
14150 #line 611 "grammar.y"
14151     { ((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); ;}
14152     break;
14153
14154   case 51:
14155
14156 /* Line 1464 of yacc.c  */
14157 #line 614 "grammar.y"
14158     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(2) - (3)]).end;
14159          {
14160             Initializer dummy = MkInitializerAssignment(MkExpDummy());
14161             MemberInit memberInit = MkMemberInit(null, dummy);
14162             memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(2) - (3)]).end;
14163             memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(2) - (3)]).end;
14164             ListAdd((yyvsp[(1) - (3)].list), memberInit);
14165           }
14166           (yyval.list) = (yyvsp[(1) - (3)].list);
14167        ;}
14168     break;
14169
14170   case 52:
14171
14172 /* Line 1464 of yacc.c  */
14173 #line 626 "grammar.y"
14174     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(2) - (3)]).end;
14175          {
14176             Initializer dummy = MkInitializerAssignment(MkExpDummy());
14177             MemberInit memberInit = MkMemberInit(null, dummy);
14178             memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(2) - (3)]).end;
14179             memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(2) - (3)]).end;
14180             ListAdd((yyvsp[(1) - (3)].list), memberInit);
14181           }
14182           (yyval.list) = (yyvsp[(1) - (3)].list);
14183        ;}
14184     break;
14185
14186   case 53:
14187
14188 /* Line 1464 of yacc.c  */
14189 #line 637 "grammar.y"
14190     {
14191          Initializer dummy = MkInitializerAssignment(MkExpDummy());
14192          MemberInit memberInit = MkMemberInit(null, dummy);
14193          memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(1) - (1)]).start;
14194          memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(1) - (1)]).start;
14195
14196          (yyval.list) = MkList();
14197          ListAdd((yyval.list), memberInit);
14198
14199          dummy = MkInitializerAssignment(MkExpDummy());
14200          memberInit = MkMemberInit(null, dummy);
14201          memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(1) - (1)]).end;
14202          memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(1) - (1)]).end;
14203          ListAdd((yyval.list), memberInit);
14204       ;}
14205     break;
14206
14207   case 54:
14208
14209 /* Line 1464 of yacc.c  */
14210 #line 656 "grammar.y"
14211     { if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14212     break;
14213
14214   case 55:
14215
14216 /* Line 1464 of yacc.c  */
14217 #line 658 "grammar.y"
14218     { if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14219     break;
14220
14221   case 56:
14222
14223 /* Line 1464 of yacc.c  */
14224 #line 662 "grammar.y"
14225     { MembersInit members = MkMembersInitList((yyvsp[(1) - (1)].list)); (yyval.list) = MkList(); ListAdd((yyval.list), members); members.loc = (yylsp[(1) - (1)]); ;}
14226     break;
14227
14228   case 57:
14229
14230 /* Line 1464 of yacc.c  */
14231 #line 663 "grammar.y"
14232     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(1) - (1)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
14233     break;
14234
14235   case 58:
14236
14237 /* Line 1464 of yacc.c  */
14238 #line 664 "grammar.y"
14239     { MembersInit members = MkMembersInitList((yyvsp[(2) - (2)].list)); ListAdd((yyval.list), members);  members.loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14240     break;
14241
14242   case 59:
14243
14244 /* Line 1464 of yacc.c  */
14245 #line 665 "grammar.y"
14246     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14247     break;
14248
14249   case 60:
14250
14251 /* Line 1464 of yacc.c  */
14252 #line 666 "grammar.y"
14253     { MembersInit members = MkMembersInitList((yyvsp[(2) - (2)].list)); ListAdd((yyval.list), members); members.loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14254     break;
14255
14256   case 61:
14257
14258 /* Line 1464 of yacc.c  */
14259 #line 667 "grammar.y"
14260     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14261     break;
14262
14263   case 63:
14264
14265 /* Line 1464 of yacc.c  */
14266 #line 670 "grammar.y"
14267     {
14268       MembersInit members = (MembersInit)(yyval.list)->last;
14269       if(members.type == dataMembersInit)
14270          members.loc.end = (yyloc).end;
14271       else
14272       {
14273          MembersInit members = MkMembersInitList(MkList());
14274          ListAdd((yyval.list), members);
14275          members.loc = (yylsp[(2) - (2)]);
14276       }
14277       (yyval.list) = (yyvsp[(1) - (2)].list);
14278    ;}
14279     break;
14280
14281   case 64:
14282
14283 /* Line 1464 of yacc.c  */
14284 #line 682 "grammar.y"
14285     { MembersInit members = MkMembersInitList(MkList()); (yyval.list) = MkList(); ListAdd((yyval.list), members); members.loc = (yylsp[(1) - (1)]);  ;}
14286     break;
14287
14288   case 66:
14289
14290 /* Line 1464 of yacc.c  */
14291 #line 687 "grammar.y"
14292     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (1)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
14293     break;
14294
14295   case 67:
14296
14297 /* Line 1464 of yacc.c  */
14298 #line 688 "grammar.y"
14299     { ListAdd((yyvsp[(1) - (2)].list), MkMembersInitList((yyvsp[(2) - (2)].list)));   ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
14300     break;
14301
14302   case 68:
14303
14304 /* Line 1464 of yacc.c  */
14305 #line 689 "grammar.y"
14306     { ListAdd((yyvsp[(1) - (2)].list), MkMembersInitList((yyvsp[(2) - (2)].list)));   ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
14307     break;
14308
14309   case 69:
14310
14311 /* Line 1464 of yacc.c  */
14312 #line 693 "grammar.y"
14313     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(1) - (1)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
14314     break;
14315
14316   case 70:
14317
14318 /* Line 1464 of yacc.c  */
14319 #line 694 "grammar.y"
14320     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14321     break;
14322
14323   case 71:
14324
14325 /* Line 1464 of yacc.c  */
14326 #line 695 "grammar.y"
14327     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14328     break;
14329
14330   case 72:
14331
14332 /* Line 1464 of yacc.c  */
14333 #line 696 "grammar.y"
14334     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14335     break;
14336
14337   case 73:
14338
14339 /* Line 1464 of yacc.c  */
14340 #line 697 "grammar.y"
14341     { ListAdd((yyval.list), MkMembersInitList((yyvsp[(2) - (2)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14342     break;
14343
14344   case 74:
14345
14346 /* Line 1464 of yacc.c  */
14347 #line 698 "grammar.y"
14348     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (1)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
14349     break;
14350
14351   case 75:
14352
14353 /* Line 1464 of yacc.c  */
14354 #line 699 "grammar.y"
14355     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (2)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
14356     break;
14357
14358   case 76:
14359
14360 /* Line 1464 of yacc.c  */
14361 #line 704 "grammar.y"
14362     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; (yyval.instance) = (yyvsp[(1) - (2)].instance); ;}
14363     break;
14364
14365   case 77:
14366
14367 /* Line 1464 of yacc.c  */
14368 #line 706 "grammar.y"
14369     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; (yyval.instance) = (yyvsp[(1) - (3)].instance); ;}
14370     break;
14371
14372   case 78:
14373
14374 /* Line 1464 of yacc.c  */
14375 #line 711 "grammar.y"
14376     { (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++; ;}
14377     break;
14378
14379   case 79:
14380
14381 /* Line 1464 of yacc.c  */
14382 #line 713 "grammar.y"
14383     { (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++; ;}
14384     break;
14385
14386   case 80:
14387
14388 /* Line 1464 of yacc.c  */
14389 #line 715 "grammar.y"
14390     { (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++; ;}
14391     break;
14392
14393   case 81:
14394
14395 /* Line 1464 of yacc.c  */
14396 #line 717 "grammar.y"
14397     { (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++; ;}
14398     break;
14399
14400   case 82:
14401
14402 /* Line 1464 of yacc.c  */
14403 #line 719 "grammar.y"
14404     { (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++; ;}
14405     break;
14406
14407   case 83:
14408
14409 /* Line 1464 of yacc.c  */
14410 #line 749 "grammar.y"
14411     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
14412     break;
14413
14414   case 84:
14415
14416 /* Line 1464 of yacc.c  */
14417 #line 751 "grammar.y"
14418     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
14419     break;
14420
14421   case 85:
14422
14423 /* Line 1464 of yacc.c  */
14424 #line 756 "grammar.y"
14425     { (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++; ;}
14426     break;
14427
14428   case 86:
14429
14430 /* Line 1464 of yacc.c  */
14431 #line 758 "grammar.y"
14432     { (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++; ;}
14433     break;
14434
14435   case 87:
14436
14437 /* Line 1464 of yacc.c  */
14438 #line 760 "grammar.y"
14439     { (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++; ;}
14440     break;
14441
14442   case 88:
14443
14444 /* Line 1464 of yacc.c  */
14445 #line 762 "grammar.y"
14446     { (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++; ;}
14447     break;
14448
14449   case 89:
14450
14451 /* Line 1464 of yacc.c  */
14452 #line 764 "grammar.y"
14453     { (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++; ;}
14454     break;
14455
14456   case 90:
14457
14458 /* Line 1464 of yacc.c  */
14459 #line 793 "grammar.y"
14460     { (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;;}
14461     break;
14462
14463   case 91:
14464
14465 /* Line 1464 of yacc.c  */
14466 #line 795 "grammar.y"
14467     { (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;;}
14468     break;
14469
14470   case 92:
14471
14472 /* Line 1464 of yacc.c  */
14473 #line 797 "grammar.y"
14474     { (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;;}
14475     break;
14476
14477   case 93:
14478
14479 /* Line 1464 of yacc.c  */
14480 #line 802 "grammar.y"
14481     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; (yyval.instance) = (yyvsp[(1) - (2)].instance); ;}
14482     break;
14483
14484   case 94:
14485
14486 /* Line 1464 of yacc.c  */
14487 #line 804 "grammar.y"
14488     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; (yyval.instance) = (yyvsp[(1) - (3)].instance); ;}
14489     break;
14490
14491   case 95:
14492
14493 /* Line 1464 of yacc.c  */
14494 #line 809 "grammar.y"
14495     { (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++; ;}
14496     break;
14497
14498   case 96:
14499
14500 /* Line 1464 of yacc.c  */
14501 #line 811 "grammar.y"
14502     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
14503       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)); ;}
14504     break;
14505
14506   case 97:
14507
14508 /* Line 1464 of yacc.c  */
14509 #line 815 "grammar.y"
14510     { (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++; ;}
14511     break;
14512
14513   case 98:
14514
14515 /* Line 1464 of yacc.c  */
14516 #line 817 "grammar.y"
14517     { (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++; ;}
14518     break;
14519
14520   case 99:
14521
14522 /* Line 1464 of yacc.c  */
14523 #line 819 "grammar.y"
14524     { (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++; ;}
14525     break;
14526
14527   case 100:
14528
14529 /* Line 1464 of yacc.c  */
14530 #line 821 "grammar.y"
14531     { (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++;  ;}
14532     break;
14533
14534   case 101:
14535
14536 /* Line 1464 of yacc.c  */
14537 #line 826 "grammar.y"
14538     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
14539       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)); ;}
14540     break;
14541
14542   case 102:
14543
14544 /* Line 1464 of yacc.c  */
14545 #line 829 "grammar.y"
14546     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (2)]);
14547       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)); ;}
14548     break;
14549
14550   case 103:
14551
14552 /* Line 1464 of yacc.c  */
14553 #line 832 "grammar.y"
14554     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (4)]);
14555       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)); ;}
14556     break;
14557
14558   case 104:
14559
14560 /* Line 1464 of yacc.c  */
14561 #line 835 "grammar.y"
14562     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
14563       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)); ;}
14564     break;
14565
14566   case 105:
14567
14568 /* Line 1464 of yacc.c  */
14569 #line 900 "grammar.y"
14570     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
14571     break;
14572
14573   case 106:
14574
14575 /* Line 1464 of yacc.c  */
14576 #line 902 "grammar.y"
14577     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
14578     break;
14579
14580   case 107:
14581
14582 /* Line 1464 of yacc.c  */
14583 #line 907 "grammar.y"
14584     { (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++; ;}
14585     break;
14586
14587   case 108:
14588
14589 /* Line 1464 of yacc.c  */
14590 #line 909 "grammar.y"
14591     { (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++; ;}
14592     break;
14593
14594   case 109:
14595
14596 /* Line 1464 of yacc.c  */
14597 #line 911 "grammar.y"
14598     { (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++;  ;}
14599     break;
14600
14601   case 110:
14602
14603 /* Line 1464 of yacc.c  */
14604 #line 913 "grammar.y"
14605     { (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++; ;}
14606     break;
14607
14608   case 111:
14609
14610 /* Line 1464 of yacc.c  */
14611 #line 915 "grammar.y"
14612     { (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++; ;}
14613     break;
14614
14615   case 112:
14616
14617 /* Line 1464 of yacc.c  */
14618 #line 945 "grammar.y"
14619     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); ;}
14620     break;
14621
14622   case 113:
14623
14624 /* Line 1464 of yacc.c  */
14625 #line 949 "grammar.y"
14626     { (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; ;}
14627     break;
14628
14629   case 114:
14630
14631 /* Line 1464 of yacc.c  */
14632 #line 950 "grammar.y"
14633     { (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; ;}
14634     break;
14635
14636   case 115:
14637
14638 /* Line 1464 of yacc.c  */
14639 #line 951 "grammar.y"
14640     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (2)].exp), null); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); ;}
14641     break;
14642
14643   case 116:
14644
14645 /* Line 1464 of yacc.c  */
14646 #line 955 "grammar.y"
14647     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ((MemberInit)(yyval.list)->last).loc = (yyloc); ;}
14648     break;
14649
14650   case 117:
14651
14652 /* Line 1464 of yacc.c  */
14653 #line 956 "grammar.y"
14654     { ((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); ;}
14655     break;
14656
14657   case 118:
14658
14659 /* Line 1464 of yacc.c  */
14660 #line 957 "grammar.y"
14661     { ((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); ;}
14662     break;
14663
14664   case 119:
14665
14666 /* Line 1464 of yacc.c  */
14667 #line 961 "grammar.y"
14668     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ((MemberInit)(yyval.list)->last).loc = (yyloc); ;}
14669     break;
14670
14671   case 120:
14672
14673 /* Line 1464 of yacc.c  */
14674 #line 962 "grammar.y"
14675     { ((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); ;}
14676     break;
14677
14678   case 121:
14679
14680 /* Line 1464 of yacc.c  */
14681 #line 963 "grammar.y"
14682     { ((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); ;}
14683     break;
14684
14685   case 123:
14686
14687 /* Line 1464 of yacc.c  */
14688 #line 969 "grammar.y"
14689     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), null, (yyvsp[(3) - (4)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14690     break;
14691
14692   case 124:
14693
14694 /* Line 1464 of yacc.c  */
14695 #line 972 "grammar.y"
14696     { (yyval.prop) = MkProperty((yyvsp[(2) - (5)].list), (yyvsp[(3) - (5)].declarator), (yyvsp[(4) - (5)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14697     break;
14698
14699   case 125:
14700
14701 /* Line 1464 of yacc.c  */
14702 #line 975 "grammar.y"
14703     { (yyval.prop) = MkProperty((yyvsp[(2) - (3)].list), null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14704     break;
14705
14706   case 126:
14707
14708 /* Line 1464 of yacc.c  */
14709 #line 978 "grammar.y"
14710     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].declarator), null, null, null); (yyval.prop).loc = (yyloc); ;}
14711     break;
14712
14713   case 127:
14714
14715 /* Line 1464 of yacc.c  */
14716 #line 981 "grammar.y"
14717     { (yyval.prop) = MkProperty(null, null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14718     break;
14719
14720   case 129:
14721
14722 /* Line 1464 of yacc.c  */
14723 #line 987 "grammar.y"
14724     { (yyvsp[(1) - (3)].prop).setStmt = (yyvsp[(3) - (3)].stmt); ;}
14725     break;
14726
14727   case 130:
14728
14729 /* Line 1464 of yacc.c  */
14730 #line 989 "grammar.y"
14731     { (yyvsp[(1) - (3)].prop).getStmt = (yyvsp[(3) - (3)].stmt); ;}
14732     break;
14733
14734   case 131:
14735
14736 /* Line 1464 of yacc.c  */
14737 #line 991 "grammar.y"
14738     { (yyvsp[(1) - (3)].prop).issetStmt = (yyvsp[(3) - (3)].stmt); ;}
14739     break;
14740
14741   case 132:
14742
14743 /* Line 1464 of yacc.c  */
14744 #line 993 "grammar.y"
14745     { (yyvsp[(1) - (2)].prop).isWatchable = true; ;}
14746     break;
14747
14748   case 133:
14749
14750 /* Line 1464 of yacc.c  */
14751 #line 995 "grammar.y"
14752     { (yyvsp[(1) - (3)].prop).category = (yyvsp[(3) - (3)].exp); ;}
14753     break;
14754
14755   case 134:
14756
14757 /* Line 1464 of yacc.c  */
14758 #line 999 "grammar.y"
14759     { (yyvsp[(1) - (2)].prop).loc.end = (yylsp[(2) - (2)]).end; (yyval.prop) = (yyvsp[(1) - (2)].prop); ;}
14760     break;
14761
14762   case 135:
14763
14764 /* Line 1464 of yacc.c  */
14765 #line 1004 "grammar.y"
14766     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), null, (yyvsp[(3) - (4)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14767     break;
14768
14769   case 136:
14770
14771 /* Line 1464 of yacc.c  */
14772 #line 1007 "grammar.y"
14773     { (yyval.prop) = MkProperty((yyvsp[(2) - (5)].list), (yyvsp[(3) - (5)].declarator), (yyvsp[(4) - (5)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14774     break;
14775
14776   case 137:
14777
14778 /* Line 1464 of yacc.c  */
14779 #line 1010 "grammar.y"
14780     { (yyval.prop) = MkProperty((yyvsp[(2) - (3)].list), null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14781     break;
14782
14783   case 138:
14784
14785 /* Line 1464 of yacc.c  */
14786 #line 1013 "grammar.y"
14787     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].declarator), null, null, null); (yyval.prop).loc = (yyloc); ;}
14788     break;
14789
14790   case 139:
14791
14792 /* Line 1464 of yacc.c  */
14793 #line 1016 "grammar.y"
14794     { (yyval.prop) = MkProperty(null, null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14795     break;
14796
14797   case 141:
14798
14799 /* Line 1464 of yacc.c  */
14800 #line 1022 "grammar.y"
14801     { (yyvsp[(1) - (3)].prop).setStmt = (yyvsp[(3) - (3)].stmt); ;}
14802     break;
14803
14804   case 142:
14805
14806 /* Line 1464 of yacc.c  */
14807 #line 1024 "grammar.y"
14808     { (yyvsp[(1) - (3)].prop).getStmt = (yyvsp[(3) - (3)].stmt); ;}
14809     break;
14810
14811   case 143:
14812
14813 /* Line 1464 of yacc.c  */
14814 #line 1028 "grammar.y"
14815     { (yyvsp[(1) - (2)].prop).loc.end = (yylsp[(2) - (2)]).end; ;}
14816     break;
14817
14818   case 144:
14819
14820 /* Line 1464 of yacc.c  */
14821 #line 1033 "grammar.y"
14822     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].id)); ;}
14823     break;
14824
14825   case 145:
14826
14827 /* Line 1464 of yacc.c  */
14828 #line 1035 "grammar.y"
14829     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].id)); ;}
14830     break;
14831
14832   case 146:
14833
14834 /* Line 1464 of yacc.c  */
14835 #line 1040 "grammar.y"
14836     { (yyval.propertyWatch) = MkPropertyWatch((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
14837     break;
14838
14839   case 147:
14840
14841 /* Line 1464 of yacc.c  */
14842 #line 1042 "grammar.y"
14843     { (yyval.propertyWatch) = MkDeleteWatch((yyvsp[(2) - (2)].stmt)); ;}
14844     break;
14845
14846   case 148:
14847
14848 /* Line 1464 of yacc.c  */
14849 #line 1047 "grammar.y"
14850     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].propertyWatch)); ;}
14851     break;
14852
14853   case 149:
14854
14855 /* Line 1464 of yacc.c  */
14856 #line 1049 "grammar.y"
14857     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].propertyWatch)); ;}
14858     break;
14859
14860   case 150:
14861
14862 /* Line 1464 of yacc.c  */
14863 #line 1054 "grammar.y"
14864     { (yyval.propertyWatch) = MkPropertyWatch((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); ;}
14865     break;
14866
14867   case 151:
14868
14869 /* Line 1464 of yacc.c  */
14870 #line 1059 "grammar.y"
14871     { (yyval.stmt) = MkWatchStmt(null, (yyvsp[(3) - (7)].exp), (yyvsp[(6) - (7)].list)); ;}
14872     break;
14873
14874   case 152:
14875
14876 /* Line 1464 of yacc.c  */
14877 #line 1061 "grammar.y"
14878     { (yyval.stmt) = MkWatchStmt((yyvsp[(1) - (9)].exp), (yyvsp[(5) - (9)].exp), (yyvsp[(8) - (9)].list)); ;}
14879     break;
14880
14881   case 153:
14882
14883 /* Line 1464 of yacc.c  */
14884 #line 1066 "grammar.y"
14885     { (yyval.stmt) = MkStopWatchingStmt(null, (yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].list)); ;}
14886     break;
14887
14888   case 154:
14889
14890 /* Line 1464 of yacc.c  */
14891 #line 1068 "grammar.y"
14892     { (yyval.stmt) = MkStopWatchingStmt((yyvsp[(1) - (8)].exp), (yyvsp[(5) - (8)].exp), (yyvsp[(7) - (8)].list)); ;}
14893     break;
14894
14895   case 155:
14896
14897 /* Line 1464 of yacc.c  */
14898 #line 1070 "grammar.y"
14899     { (yyval.stmt) = MkStopWatchingStmt(null, (yyvsp[(3) - (4)].exp), null); ;}
14900     break;
14901
14902   case 156:
14903
14904 /* Line 1464 of yacc.c  */
14905 #line 1072 "grammar.y"
14906     { (yyval.stmt) = MkStopWatchingStmt((yyvsp[(1) - (6)].exp), (yyvsp[(5) - (6)].exp), null); ;}
14907     break;
14908
14909   case 157:
14910
14911 /* Line 1464 of yacc.c  */
14912 #line 1077 "grammar.y"
14913     { (yyval.stmt) = MkFireWatchersStmt(null, null); ;}
14914     break;
14915
14916   case 158:
14917
14918 /* Line 1464 of yacc.c  */
14919 #line 1079 "grammar.y"
14920     { (yyval.stmt) = MkFireWatchersStmt(null, (yyvsp[(2) - (2)].list)); ;}
14921     break;
14922
14923   case 159:
14924
14925 /* Line 1464 of yacc.c  */
14926 #line 1081 "grammar.y"
14927     { (yyval.stmt) = MkFireWatchersStmt((yyvsp[(1) - (3)].exp), null); ;}
14928     break;
14929
14930   case 160:
14931
14932 /* Line 1464 of yacc.c  */
14933 #line 1083 "grammar.y"
14934     { (yyval.stmt) = MkFireWatchersStmt((yyvsp[(1) - (4)].exp), (yyvsp[(4) - (4)].list)); ;}
14935     break;
14936
14937   case 161:
14938
14939 /* Line 1464 of yacc.c  */
14940 #line 1087 "grammar.y"
14941     { (yyval.classDef) = (yyvsp[(1) - (2)].classDef); (yyval.classDef).loc.end = (yylsp[(2) - (2)]).end; ;}
14942     break;
14943
14944   case 162:
14945
14946 /* Line 1464 of yacc.c  */
14947 #line 1088 "grammar.y"
14948     { (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); ;}
14949     break;
14950
14951   case 163:
14952
14953 /* Line 1464 of yacc.c  */
14954 #line 1089 "grammar.y"
14955     { (yyval.classDef) = MkClassDefFunction((yyvsp[(1) - (1)].classFunction)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14956     break;
14957
14958   case 164:
14959
14960 /* Line 1464 of yacc.c  */
14961 #line 1090 "grammar.y"
14962     { (yyval.classDef) = MkClassDefProperty((yyvsp[(1) - (1)].prop)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14963     break;
14964
14965   case 165:
14966
14967 /* Line 1464 of yacc.c  */
14968 #line 1091 "grammar.y"
14969     { (yyval.classDef) = MkClassDefFunction((yyvsp[(2) - (2)].classFunction)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14970     break;
14971
14972   case 166:
14973
14974 /* Line 1464 of yacc.c  */
14975 #line 1092 "grammar.y"
14976     { (yyval.classDef) = MkClassDefProperty((yyvsp[(2) - (2)].prop)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14977     break;
14978
14979   case 167:
14980
14981 /* Line 1464 of yacc.c  */
14982 #line 1093 "grammar.y"
14983     { (yyval.classDef) = MkClassDefClassProperty((yyvsp[(1) - (1)].prop)); (yyval.classDef).loc = (yyloc); ;}
14984     break;
14985
14986   case 168:
14987
14988 /* Line 1464 of yacc.c  */
14989 #line 1094 "grammar.y"
14990     { (yyval.classDef) = null; deleteWatchable = true; ;}
14991     break;
14992
14993   case 169:
14994
14995 /* Line 1464 of yacc.c  */
14996 #line 1095 "grammar.y"
14997     { (yyval.classDef) = MkClassDefNoExpansion(); ;}
14998     break;
14999
15000   case 170:
15001
15002 /* Line 1464 of yacc.c  */
15003 #line 1096 "grammar.y"
15004     { (yyval.classDef) = MkClassDefFixed(); ;}
15005     break;
15006
15007   case 171:
15008
15009 /* Line 1464 of yacc.c  */
15010 #line 1097 "grammar.y"
15011     { (yyval.classDef) = MkClassDefClassPropertyValue((yyvsp[(3) - (7)].id), (yyvsp[(6) - (7)].initializer)); (yyval.classDef).loc = (yyloc); ;}
15012     break;
15013
15014   case 172:
15015
15016 /* Line 1464 of yacc.c  */
15017 #line 1099 "grammar.y"
15018     { (yyval.classDef) = null; ;}
15019     break;
15020
15021   case 173:
15022
15023 /* Line 1464 of yacc.c  */
15024 #line 1100 "grammar.y"
15025     { 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; ;}
15026     break;
15027
15028   case 174:
15029
15030 /* Line 1464 of yacc.c  */
15031 #line 1102 "grammar.y"
15032     { (yyval.classDef) = MkClassDefAccessOverride((yyvsp[(1) - (4)].declMode), (yyvsp[(3) - (4)].id)); (yyval.classDef).loc = (yyloc); ;}
15033     break;
15034
15035   case 175:
15036
15037 /* Line 1464 of yacc.c  */
15038 #line 1106 "grammar.y"
15039     { (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]; ;}
15040     break;
15041
15042   case 176:
15043
15044 /* Line 1464 of yacc.c  */
15045 #line 1109 "grammar.y"
15046     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(1) - (1)].list), null, null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
15047     break;
15048
15049   case 177:
15050
15051 /* Line 1464 of yacc.c  */
15052 #line 1110 "grammar.y"
15053     { (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]; ;}
15054     break;
15055
15056   case 178:
15057
15058 /* Line 1464 of yacc.c  */
15059 #line 1111 "grammar.y"
15060     { (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); ;}
15061     break;
15062
15063   case 179:
15064
15065 /* Line 1464 of yacc.c  */
15066 #line 1112 "grammar.y"
15067     { (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); ;}
15068     break;
15069
15070   case 180:
15071
15072 /* Line 1464 of yacc.c  */
15073 #line 1113 "grammar.y"
15074     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
15075     break;
15076
15077   case 181:
15078
15079 /* Line 1464 of yacc.c  */
15080 #line 1114 "grammar.y"
15081     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
15082     break;
15083
15084   case 182:
15085
15086 /* Line 1464 of yacc.c  */
15087 #line 1115 "grammar.y"
15088     { (yyval.classDef) = MkClassDefClassData(MkStructDeclaration((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].list), null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); ;}
15089     break;
15090
15091   case 183:
15092
15093 /* Line 1464 of yacc.c  */
15094 #line 1116 "grammar.y"
15095     { (yyval.classDef) = MkClassDefPropertyWatch((yyvsp[(1) - (1)].propertyWatch)); (yyval.classDef).loc = (yyloc); ;}
15096     break;
15097
15098   case 184:
15099
15100 /* Line 1464 of yacc.c  */
15101 #line 1117 "grammar.y"
15102     { (yyval.classDef) = MkClassDefDesigner((yyvsp[(2) - (2)].id).string); FreeIdentifier((yyvsp[(2) - (2)].id)); ;}
15103     break;
15104
15105   case 185:
15106
15107 /* Line 1464 of yacc.c  */
15108 #line 1118 "grammar.y"
15109     { (yyval.classDef) = MkClassDefDesigner((yyvsp[(2) - (2)].specifier).name); FreeSpecifier((yyvsp[(2) - (2)].specifier)); ;}
15110     break;
15111
15112   case 186:
15113
15114 /* Line 1464 of yacc.c  */
15115 #line 1119 "grammar.y"
15116     { (yyval.classDef) = MkClassDefDesignerDefaultProperty((yyvsp[(2) - (2)].id)); ;}
15117     break;
15118
15119   case 187:
15120
15121 /* Line 1464 of yacc.c  */
15122 #line 1120 "grammar.y"
15123     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (1)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
15124     break;
15125
15126   case 188:
15127
15128 /* Line 1464 of yacc.c  */
15129 #line 1121 "grammar.y"
15130     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (1)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
15131     break;
15132
15133   case 189:
15134
15135 /* Line 1464 of yacc.c  */
15136 #line 1122 "grammar.y"
15137     { (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); ;}
15138     break;
15139
15140   case 190:
15141
15142 /* Line 1464 of yacc.c  */
15143 #line 1124 "grammar.y"
15144     { (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]; ;}
15145     break;
15146
15147   case 191:
15148
15149 /* Line 1464 of yacc.c  */
15150 #line 1125 "grammar.y"
15151     { (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]; ;}
15152     break;
15153
15154   case 192:
15155
15156 /* Line 1464 of yacc.c  */
15157 #line 1129 "grammar.y"
15158     { (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); ;}
15159     break;
15160
15161   case 193:
15162
15163 /* Line 1464 of yacc.c  */
15164 #line 1130 "grammar.y"
15165     { (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); ;}
15166     break;
15167
15168   case 194:
15169
15170 /* Line 1464 of yacc.c  */
15171 #line 1131 "grammar.y"
15172     { (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); ;}
15173     break;
15174
15175   case 195:
15176
15177 /* Line 1464 of yacc.c  */
15178 #line 1135 "grammar.y"
15179     { (yyval.classDef) = MkClassDefDefaultProperty((yyvsp[(1) - (1)].list)); (yyval.classDef).loc = (yyloc);  (yyval.classDef).loc.end.charPos++; (yyval.classDef).loc.end.pos++; ;}
15180     break;
15181
15182   case 196:
15183
15184 /* Line 1464 of yacc.c  */
15185 #line 1139 "grammar.y"
15186     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].classDef)); ;}
15187     break;
15188
15189   case 197:
15190
15191 /* Line 1464 of yacc.c  */
15192 #line 1140 "grammar.y"
15193     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].classDef)); ;}
15194     break;
15195
15196   case 198:
15197
15198 /* Line 1464 of yacc.c  */
15199 #line 1141 "grammar.y"
15200     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].classDef)); ;}
15201     break;
15202
15203   case 199:
15204
15205 /* Line 1464 of yacc.c  */
15206 #line 1145 "grammar.y"
15207     { yyerror(); (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].classDef)); ;}
15208     break;
15209
15210   case 202:
15211
15212 /* Line 1464 of yacc.c  */
15213 #line 1148 "grammar.y"
15214     { yyerror(); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyval.list), (yyvsp[(2) - (2)].classDef)); ;}
15215     break;
15216
15217   case 203:
15218
15219 /* Line 1464 of yacc.c  */
15220 #line 1149 "grammar.y"
15221     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyval.list), (yyvsp[(2) - (2)].classDef)); ;}
15222     break;
15223
15224   case 204:
15225
15226 /* Line 1464 of yacc.c  */
15227 #line 1153 "grammar.y"
15228     { (yyval.templateDatatype) = MkTemplateDatatype((yyvsp[(1) - (1)].list), null); ;}
15229     break;
15230
15231   case 205:
15232
15233 /* Line 1464 of yacc.c  */
15234 #line 1154 "grammar.y"
15235     { (yyval.templateDatatype) = MkTemplateDatatype((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
15236     break;
15237
15238   case 206:
15239
15240 /* Line 1464 of yacc.c  */
15241 #line 1166 "grammar.y"
15242     { (yyval.templateArgument) = MkTemplateTypeArgument(MkTemplateDatatype((yyvsp[(1) - (1)].list), null)); ;}
15243     break;
15244
15245   case 207:
15246
15247 /* Line 1464 of yacc.c  */
15248 #line 1167 "grammar.y"
15249     { (yyval.templateArgument) = MkTemplateTypeArgument(MkTemplateDatatype((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator))); ;}
15250     break;
15251
15252   case 208:
15253
15254 /* Line 1464 of yacc.c  */
15255 #line 1171 "grammar.y"
15256     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (2)].id), null, null); ;}
15257     break;
15258
15259   case 209:
15260
15261 /* Line 1464 of yacc.c  */
15262 #line 1172 "grammar.y"
15263     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (4)].id), null, (yyvsp[(4) - (4)].templateArgument)); ;}
15264     break;
15265
15266   case 210:
15267
15268 /* Line 1464 of yacc.c  */
15269 #line 1173 "grammar.y"
15270     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (4)].id), (yyvsp[(4) - (4)].templateDatatype), null); ;}
15271     break;
15272
15273   case 211:
15274
15275 /* Line 1464 of yacc.c  */
15276 #line 1174 "grammar.y"
15277     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (6)].id), (yyvsp[(4) - (6)].templateDatatype), (yyvsp[(6) - (6)].templateArgument)); ;}
15278     break;
15279
15280   case 212:
15281
15282 /* Line 1464 of yacc.c  */
15283 #line 1175 "grammar.y"
15284     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (2)].string)), null, null); delete (yyvsp[(2) - (2)].string); ;}
15285     break;
15286
15287   case 213:
15288
15289 /* Line 1464 of yacc.c  */
15290 #line 1176 "grammar.y"
15291     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (4)].string)), null, (yyvsp[(4) - (4)].templateArgument)); ;}
15292     break;
15293
15294   case 214:
15295
15296 /* Line 1464 of yacc.c  */
15297 #line 1177 "grammar.y"
15298     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (4)].string)), (yyvsp[(4) - (4)].templateDatatype), null); ;}
15299     break;
15300
15301   case 215:
15302
15303 /* Line 1464 of yacc.c  */
15304 #line 1178 "grammar.y"
15305     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (6)].string)), (yyvsp[(4) - (6)].templateDatatype), (yyvsp[(6) - (6)].templateArgument)); ;}
15306     break;
15307
15308   case 216:
15309
15310 /* Line 1464 of yacc.c  */
15311 #line 1182 "grammar.y"
15312     { (yyval.templateArgument) = MkTemplateIdentifierArgument((yyvsp[(1) - (1)].id)); ;}
15313     break;
15314
15315   case 217:
15316
15317 /* Line 1464 of yacc.c  */
15318 #line 1186 "grammar.y"
15319     { (yyval.templateParameter) = MkIdentifierTemplateParameter((yyvsp[(1) - (1)].id), dataMember, null); ;}
15320     break;
15321
15322   case 218:
15323
15324 /* Line 1464 of yacc.c  */
15325 #line 1187 "grammar.y"
15326     { (yyval.templateParameter) = MkIdentifierTemplateParameter((yyvsp[(1) - (3)].id), dataMember, (yyvsp[(3) - (3)].templateArgument)); ;}
15327     break;
15328
15329   case 219:
15330
15331 /* Line 1464 of yacc.c  */
15332 #line 1191 "grammar.y"
15333     { (yyval.templateArgument) = MkTemplateExpressionArgument((yyvsp[(1) - (1)].exp)); ;}
15334     break;
15335
15336   case 220:
15337
15338 /* Line 1464 of yacc.c  */
15339 #line 1199 "grammar.y"
15340     { (yyval.templateParameter) = MkExpressionTemplateParameter((yyvsp[(2) - (4)].id), MkTemplateDatatype((yyvsp[(1) - (4)].list), null), (yyvsp[(4) - (4)].templateArgument)); ;}
15341     break;
15342
15343   case 221:
15344
15345 /* Line 1464 of yacc.c  */
15346 #line 1200 "grammar.y"
15347     { (yyval.templateParameter) = MkExpressionTemplateParameter((yyvsp[(3) - (5)].id), MkTemplateDatatype((yyvsp[(1) - (5)].list), (yyvsp[(2) - (5)].declarator)), (yyvsp[(5) - (5)].templateArgument)); ;}
15348     break;
15349
15350   case 225:
15351
15352 /* Line 1464 of yacc.c  */
15353 #line 1210 "grammar.y"
15354     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].templateParameter)); ;}
15355     break;
15356
15357   case 226:
15358
15359 /* Line 1464 of yacc.c  */
15360 #line 1211 "grammar.y"
15361     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].templateParameter)); ;}
15362     break;
15363
15364   case 230:
15365
15366 /* Line 1464 of yacc.c  */
15367 #line 1218 "grammar.y"
15368     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
15369     break;
15370
15371   case 231:
15372
15373 /* Line 1464 of yacc.c  */
15374 #line 1219 "grammar.y"
15375     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
15376     break;
15377
15378   case 232:
15379
15380 /* Line 1464 of yacc.c  */
15381 #line 1220 "grammar.y"
15382     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
15383     break;
15384
15385   case 233:
15386
15387 /* Line 1464 of yacc.c  */
15388 #line 1260 "grammar.y"
15389     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].templateArgument)); ;}
15390     break;
15391
15392   case 234:
15393
15394 /* Line 1464 of yacc.c  */
15395 #line 1261 "grammar.y"
15396     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].templateArgument)); ;}
15397     break;
15398
15399   case 235:
15400
15401 /* Line 1464 of yacc.c  */
15402 #line 1266 "grammar.y"
15403     {
15404       if(curContext != globalContext)
15405          PopContext(curContext);
15406       (yyval.context) = PushContext();
15407    ;}
15408     break;
15409
15410   case 236:
15411
15412 /* Line 1464 of yacc.c  */
15413 #line 1273 "grammar.y"
15414     { (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; ;}
15415     break;
15416
15417   case 237:
15418
15419 /* Line 1464 of yacc.c  */
15420 #line 1275 "grammar.y"
15421     {
15422       (void)(yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClass((yyvsp[(2) - (2)].specifier).nsSpec, (yyvsp[(2) - (2)].specifier).name);
15423       (yyval.symbol).nameLoc = (yylsp[(2) - (2)]);
15424       FreeSpecifier((yyvsp[(2) - (2)].specifier));
15425       ++defaultMemberAccess;
15426       memberAccessStack[defaultMemberAccess] = privateAccess;
15427    ;}
15428     break;
15429
15430   case 238:
15431
15432 /* Line 1464 of yacc.c  */
15433 #line 1282 "grammar.y"
15434     { (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; ;}
15435     break;
15436
15437   case 239:
15438
15439 /* Line 1464 of yacc.c  */
15440 #line 1283 "grammar.y"
15441     { (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; ;}
15442     break;
15443
15444   case 240:
15445
15446 /* Line 1464 of yacc.c  */
15447 #line 1285 "grammar.y"
15448     { (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; ;}
15449     break;
15450
15451   case 241:
15452
15453 /* Line 1464 of yacc.c  */
15454 #line 1287 "grammar.y"
15455     {
15456       (void)(yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClass((yyvsp[(2) - (5)].specifier).nsSpec, (yyvsp[(2) - (5)].specifier).name);
15457       (yyval.symbol).templateParams = (yyvsp[(4) - (5)].list);
15458       (yyval.symbol).nameLoc = (yylsp[(2) - (5)]);
15459       FreeSpecifier((yyvsp[(2) - (5)].specifier));
15460       ++defaultMemberAccess;
15461       memberAccessStack[defaultMemberAccess] = privateAccess;
15462    ;}
15463     break;
15464
15465   case 242:
15466
15467 /* Line 1464 of yacc.c  */
15468 #line 1295 "grammar.y"
15469     { (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; ;}
15470     break;
15471
15472   case 243:
15473
15474 /* Line 1464 of yacc.c  */
15475 #line 1296 "grammar.y"
15476     { (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; ;}
15477     break;
15478
15479   case 244:
15480
15481 /* Line 1464 of yacc.c  */
15482 #line 1301 "grammar.y"
15483     {
15484          (yyval._class).loc = (yyloc);
15485          (yyval._class) = (yyvsp[(1) - (2)]._class);
15486       ;}
15487     break;
15488
15489   case 245:
15490
15491 /* Line 1464 of yacc.c  */
15492 #line 1308 "grammar.y"
15493     {
15494          (yyval._class) = (yyvsp[(1) - (2)]._class); (yyval._class).definitions = MkList(); (yyval._class).blockStart = (yylsp[(2) - (2)]);  (yyval._class).loc = (yyloc);
15495          POP_DEFAULT_ACCESS
15496          PopContext(curContext);
15497       ;}
15498     break;
15499
15500   case 246:
15501
15502 /* Line 1464 of yacc.c  */
15503 #line 1315 "grammar.y"
15504     {
15505          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, MkList()); (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc);
15506          POP_DEFAULT_ACCESS
15507          PopContext(curContext);
15508       ;}
15509     break;
15510
15511   case 247:
15512
15513 /* Line 1464 of yacc.c  */
15514 #line 1321 "grammar.y"
15515     {
15516          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = MkList(); (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc);
15517          POP_DEFAULT_ACCESS
15518          PopContext(curContext);
15519       ;}
15520     break;
15521
15522   case 248:
15523
15524 /* Line 1464 of yacc.c  */
15525 #line 1328 "grammar.y"
15526     {
15527          (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));
15528          POP_DEFAULT_ACCESS
15529          PopContext(curContext);
15530       ;}
15531     break;
15532
15533   case 249:
15534
15535 /* Line 1464 of yacc.c  */
15536 #line 1334 "grammar.y"
15537     {
15538          (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));
15539          POP_DEFAULT_ACCESS
15540          PopContext(curContext);
15541       ;}
15542     break;
15543
15544   case 250:
15545
15546 /* Line 1464 of yacc.c  */
15547 #line 1343 "grammar.y"
15548     {
15549          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].list), null);
15550       ;}
15551     break;
15552
15553   case 251:
15554
15555 /* Line 1464 of yacc.c  */
15556 #line 1350 "grammar.y"
15557     {
15558          (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++;
15559          POP_DEFAULT_ACCESS
15560          PopContext(curContext);
15561       ;}
15562     break;
15563
15564   case 252:
15565
15566 /* Line 1464 of yacc.c  */
15567 #line 1356 "grammar.y"
15568     {
15569          (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++;
15570          POP_DEFAULT_ACCESS
15571          PopContext(curContext);
15572       ;}
15573     break;
15574
15575   case 253:
15576
15577 /* Line 1464 of yacc.c  */
15578 #line 1362 "grammar.y"
15579     {
15580          (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++;
15581          POP_DEFAULT_ACCESS
15582          PopContext(curContext);
15583       ;}
15584     break;
15585
15586   case 254:
15587
15588 /* Line 1464 of yacc.c  */
15589 #line 1368 "grammar.y"
15590     {
15591          (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++;
15592          POP_DEFAULT_ACCESS
15593          PopContext(curContext);
15594       ;}
15595     break;
15596
15597   case 255:
15598
15599 /* Line 1464 of yacc.c  */
15600 #line 1374 "grammar.y"
15601     {
15602          (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++;
15603          POP_DEFAULT_ACCESS
15604          PopContext(curContext);
15605       ;}
15606     break;
15607
15608   case 256:
15609
15610 /* Line 1464 of yacc.c  */
15611 #line 1380 "grammar.y"
15612     {
15613          (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++;
15614          POP_DEFAULT_ACCESS
15615          PopContext(curContext);
15616       ;}
15617     break;
15618
15619   case 257:
15620
15621 /* Line 1464 of yacc.c  */
15622 #line 1391 "grammar.y"
15623     { (yyval.id) = MkIdentifier(yytext); (yyval.id).loc = (yylsp[(1) - (1)]); ;}
15624     break;
15625
15626   case 259:
15627
15628 /* Line 1464 of yacc.c  */
15629 #line 1397 "grammar.y"
15630     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (3)].list)); (yyval.exp).loc = (yyloc); ;}
15631     break;
15632
15633   case 260:
15634
15635 /* Line 1464 of yacc.c  */
15636 #line 1401 "grammar.y"
15637     { (yyval.exp) = MkExpString((yyvsp[(1) - (1)].string)); delete (yyvsp[(1) - (1)].string); (yyval.exp).loc = (yyloc); ;}
15638     break;
15639
15640   case 261:
15641
15642 /* Line 1464 of yacc.c  */
15643 #line 1402 "grammar.y"
15644     { (yyval.exp) = MkExpIntlString((yyvsp[(2) - (2)].string), null); delete (yyvsp[(2) - (2)].string); (yyval.exp).loc = (yyloc); ;}
15645     break;
15646
15647   case 262:
15648
15649 /* Line 1464 of yacc.c  */
15650 #line 1403 "grammar.y"
15651     { (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); ;}
15652     break;
15653
15654   case 263:
15655
15656 /* Line 1464 of yacc.c  */
15657 #line 1407 "grammar.y"
15658     { (yyval.exp) = MkExpConstant(yytext); (yyval.exp).loc = (yyloc); ;}
15659     break;
15660
15661   case 264:
15662
15663 /* Line 1464 of yacc.c  */
15664 #line 1411 "grammar.y"
15665     { (yyval.exp) = MkExpIdentifier((yyvsp[(1) - (1)].id)); (yyval.exp).loc = (yyloc); ;}
15666     break;
15667
15668   case 265:
15669
15670 /* Line 1464 of yacc.c  */
15671 #line 1412 "grammar.y"
15672     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (1)].instance)); (yyval.exp).loc = (yyloc); ;}
15673     break;
15674
15675   case 266:
15676
15677 /* Line 1464 of yacc.c  */
15678 #line 1413 "grammar.y"
15679     { (yyval.exp) = MkExpExtensionCompound((yyvsp[(3) - (4)].stmt)); (yyval.exp).loc = (yyloc); ;}
15680     break;
15681
15682   case 267:
15683
15684 /* Line 1464 of yacc.c  */
15685 #line 1414 "grammar.y"
15686     { (yyval.exp) = MkExpExtensionExpression((yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15687     break;
15688
15689   case 268:
15690
15691 /* Line 1464 of yacc.c  */
15692 #line 1415 "grammar.y"
15693     { (yyval.exp) = MkExpExtensionInitializer((yyvsp[(3) - (5)].typeName), (yyvsp[(5) - (5)].initializer)); (yyval.exp).loc = (yyloc); ;}
15694     break;
15695
15696   case 269:
15697
15698 /* Line 1464 of yacc.c  */
15699 #line 1416 "grammar.y"
15700     { (yyval.exp) = MkExpExtensionInitializer((yyvsp[(3) - (8)].typeName), MkInitializerAssignment(MkExpExtensionInitializer((yyvsp[(6) - (8)].typeName), (yyvsp[(8) - (8)].initializer)))); (yyval.exp).loc = (yyloc); ;}
15701     break;
15702
15703   case 270:
15704
15705 /* Line 1464 of yacc.c  */
15706 #line 1418 "grammar.y"
15707     {
15708       char * constant = (yyvsp[(1) - (2)].exp).constant;
15709       int len = strlen(constant);
15710       if(constant[len-1] == '.')
15711       {
15712          constant[len-1] = 0;
15713          (yyval.exp) = MkExpMember((yyvsp[(1) - (2)].exp), (yyvsp[(2) - (2)].id));
15714          (yyval.exp).loc = (yyloc);
15715       }
15716       else
15717          yyerror();
15718    ;}
15719     break;
15720
15721   case 271:
15722
15723 /* Line 1464 of yacc.c  */
15724 #line 1430 "grammar.y"
15725     { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
15726     break;
15727
15728   case 273:
15729
15730 /* Line 1464 of yacc.c  */
15731 #line 1432 "grammar.y"
15732     { (yyval.exp) = MkExpWideString(yytext); (yyval.exp).loc = (yyloc); ;}
15733     break;
15734
15735   case 274:
15736
15737 /* Line 1464 of yacc.c  */
15738 #line 1433 "grammar.y"
15739     { 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(); ;}
15740     break;
15741
15742   case 275:
15743
15744 /* Line 1464 of yacc.c  */
15745 #line 1434 "grammar.y"
15746     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15747     break;
15748
15749   case 276:
15750
15751 /* Line 1464 of yacc.c  */
15752 #line 1435 "grammar.y"
15753     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15754     break;
15755
15756   case 277:
15757
15758 /* Line 1464 of yacc.c  */
15759 #line 1436 "grammar.y"
15760     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15761     break;
15762
15763   case 278:
15764
15765 /* Line 1464 of yacc.c  */
15766 #line 1437 "grammar.y"
15767     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15768     break;
15769
15770   case 279:
15771
15772 /* Line 1464 of yacc.c  */
15773 #line 1438 "grammar.y"
15774     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15775     break;
15776
15777   case 280:
15778
15779 /* Line 1464 of yacc.c  */
15780 #line 1439 "grammar.y"
15781     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15782     break;
15783
15784   case 281:
15785
15786 /* Line 1464 of yacc.c  */
15787 #line 1440 "grammar.y"
15788     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15789     break;
15790
15791   case 282:
15792
15793 /* Line 1464 of yacc.c  */
15794 #line 1441 "grammar.y"
15795     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15796     break;
15797
15798   case 283:
15799
15800 /* Line 1464 of yacc.c  */
15801 #line 1442 "grammar.y"
15802     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15803     break;
15804
15805   case 284:
15806
15807 /* Line 1464 of yacc.c  */
15808 #line 1443 "grammar.y"
15809     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15810     break;
15811
15812   case 285:
15813
15814 /* Line 1464 of yacc.c  */
15815 #line 1444 "grammar.y"
15816     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15817     break;
15818
15819   case 286:
15820
15821 /* Line 1464 of yacc.c  */
15822 #line 1445 "grammar.y"
15823     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15824     break;
15825
15826   case 287:
15827
15828 /* Line 1464 of yacc.c  */
15829 #line 1446 "grammar.y"
15830     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15831     break;
15832
15833   case 288:
15834
15835 /* Line 1464 of yacc.c  */
15836 #line 1447 "grammar.y"
15837     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15838     break;
15839
15840   case 289:
15841
15842 /* Line 1464 of yacc.c  */
15843 #line 1448 "grammar.y"
15844     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15845     break;
15846
15847   case 290:
15848
15849 /* Line 1464 of yacc.c  */
15850 #line 1449 "grammar.y"
15851     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15852     break;
15853
15854   case 291:
15855
15856 /* Line 1464 of yacc.c  */
15857 #line 1450 "grammar.y"
15858     { (yyval.exp) = MkExpClass((yyvsp[(3) - (4)].list), null); (yyval.exp).loc = (yyloc); ;}
15859     break;
15860
15861   case 292:
15862
15863 /* Line 1464 of yacc.c  */
15864 #line 1451 "grammar.y"
15865     { (yyval.exp) = MkExpClass((yyvsp[(3) - (5)].list), (yyvsp[(4) - (5)].declarator)); (yyval.exp).loc = (yyloc); ;}
15866     break;
15867
15868   case 293:
15869
15870 /* Line 1464 of yacc.c  */
15871 #line 1452 "grammar.y"
15872     { (yyval.exp) = MkExpClass(MkListOne(MkSpecifierName((yyvsp[(3) - (4)].id).string)), null); FreeIdentifier((yyvsp[(3) - (4)].id)); (yyval.exp).loc = (yyloc); ;}
15873     break;
15874
15875   case 294:
15876
15877 /* Line 1464 of yacc.c  */
15878 #line 1453 "grammar.y"
15879     { (yyval.exp) = MkExpVaArg((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].typeName)); (yyval.exp).loc = (yyloc); ;}
15880     break;
15881
15882   case 295:
15883
15884 /* Line 1464 of yacc.c  */
15885 #line 1455 "grammar.y"
15886     { (yyval.exp) = MkExpClassData((yyvsp[(3) - (4)].id)); (yyval.exp).loc = (yyloc); ;}
15887     break;
15888
15889   case 300:
15890
15891 /* Line 1464 of yacc.c  */
15892 #line 1461 "grammar.y"
15893     { (yyval.exp) = MkExpArray((yyvsp[(2) - (3)].list)); (yyval.exp).loc = (yyloc); ;}
15894     break;
15895
15896   case 301:
15897
15898 /* Line 1464 of yacc.c  */
15899 #line 1462 "grammar.y"
15900     { (yyval.exp) = MkExpArray(null); (yyval.exp).loc = (yyloc); ;}
15901     break;
15902
15903   case 302:
15904
15905 /* Line 1464 of yacc.c  */
15906 #line 1466 "grammar.y"
15907     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (1)].instance)); (yyval.exp).loc = (yyloc); ;}
15908     break;
15909
15910   case 303:
15911
15912 /* Line 1464 of yacc.c  */
15913 #line 1470 "grammar.y"
15914     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
15915     break;
15916
15917   case 304:
15918
15919 /* Line 1464 of yacc.c  */
15920 #line 1474 "grammar.y"
15921     { yyerror(); (yyval.exp) = MkExpBrackets((yyvsp[(2) - (2)].list)); (yyval.exp).loc = (yyloc); ;}
15922     break;
15923
15924   case 305:
15925
15926 /* Line 1464 of yacc.c  */
15927 #line 1475 "grammar.y"
15928     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (2)].list)); (yyval.exp).loc = (yyloc); ;}
15929     break;
15930
15931   case 307:
15932
15933 /* Line 1464 of yacc.c  */
15934 #line 1481 "grammar.y"
15935     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15936     break;
15937
15938   case 308:
15939
15940 /* Line 1464 of yacc.c  */
15941 #line 1482 "grammar.y"
15942     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15943     break;
15944
15945   case 309:
15946
15947 /* Line 1464 of yacc.c  */
15948 #line 1483 "grammar.y"
15949     { (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); ;}
15950     break;
15951
15952   case 310:
15953
15954 /* Line 1464 of yacc.c  */
15955 #line 1484 "grammar.y"
15956     { (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); ;}
15957     break;
15958
15959   case 311:
15960
15961 /* Line 1464 of yacc.c  */
15962 #line 1485 "grammar.y"
15963     { (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; ;}
15964     break;
15965
15966   case 312:
15967
15968 /* Line 1464 of yacc.c  */
15969 #line 1486 "grammar.y"
15970     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15971     break;
15972
15973   case 313:
15974
15975 /* Line 1464 of yacc.c  */
15976 #line 1487 "grammar.y"
15977     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15978     break;
15979
15980   case 314:
15981
15982 /* Line 1464 of yacc.c  */
15983 #line 1488 "grammar.y"
15984     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
15985     break;
15986
15987   case 315:
15988
15989 /* Line 1464 of yacc.c  */
15990 #line 1489 "grammar.y"
15991     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
15992     break;
15993
15994   case 316:
15995
15996 /* Line 1464 of yacc.c  */
15997 #line 1491 "grammar.y"
15998     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15999     break;
16000
16001   case 317:
16002
16003 /* Line 1464 of yacc.c  */
16004 #line 1492 "grammar.y"
16005     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
16006     break;
16007
16008   case 318:
16009
16010 /* Line 1464 of yacc.c  */
16011 #line 1493 "grammar.y"
16012     { (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); ;}
16013     break;
16014
16015   case 319:
16016
16017 /* Line 1464 of yacc.c  */
16018 #line 1494 "grammar.y"
16019     { (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); ;}
16020     break;
16021
16022   case 320:
16023
16024 /* Line 1464 of yacc.c  */
16025 #line 1495 "grammar.y"
16026     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
16027     break;
16028
16029   case 321:
16030
16031 /* Line 1464 of yacc.c  */
16032 #line 1496 "grammar.y"
16033     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
16034     break;
16035
16036   case 322:
16037
16038 /* Line 1464 of yacc.c  */
16039 #line 1497 "grammar.y"
16040     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
16041     break;
16042
16043   case 323:
16044
16045 /* Line 1464 of yacc.c  */
16046 #line 1498 "grammar.y"
16047     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
16048     break;
16049
16050   case 324:
16051
16052 /* Line 1464 of yacc.c  */
16053 #line 1525 "grammar.y"
16054     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16055     break;
16056
16057   case 325:
16058
16059 /* Line 1464 of yacc.c  */
16060 #line 1526 "grammar.y"
16061     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16062     break;
16063
16064   case 326:
16065
16066 /* Line 1464 of yacc.c  */
16067 #line 1527 "grammar.y"
16068     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
16069     break;
16070
16071   case 327:
16072
16073 /* Line 1464 of yacc.c  */
16074 #line 1528 "grammar.y"
16075     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
16076     break;
16077
16078   case 328:
16079
16080 /* Line 1464 of yacc.c  */
16081 #line 1532 "grammar.y"
16082     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16083     break;
16084
16085   case 329:
16086
16087 /* Line 1464 of yacc.c  */
16088 #line 1533 "grammar.y"
16089     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16090     break;
16091
16092   case 330:
16093
16094 /* Line 1464 of yacc.c  */
16095 #line 1534 "grammar.y"
16096     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
16097     break;
16098
16099   case 331:
16100
16101 /* Line 1464 of yacc.c  */
16102 #line 1535 "grammar.y"
16103     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
16104     break;
16105
16106   case 332:
16107
16108 /* Line 1464 of yacc.c  */
16109 #line 1536 "grammar.y"
16110     { 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); ;}
16111     break;
16112
16113   case 333:
16114
16115 /* Line 1464 of yacc.c  */
16116 #line 1540 "grammar.y"
16117     { (yyval.exp) = MkExpOp(null, INC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16118     break;
16119
16120   case 334:
16121
16122 /* Line 1464 of yacc.c  */
16123 #line 1541 "grammar.y"
16124     { (yyval.exp) = MkExpOp(null, DEC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16125     break;
16126
16127   case 335:
16128
16129 /* Line 1464 of yacc.c  */
16130 #line 1542 "grammar.y"
16131     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16132     break;
16133
16134   case 336:
16135
16136 /* Line 1464 of yacc.c  */
16137 #line 1543 "grammar.y"
16138     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16139     break;
16140
16141   case 337:
16142
16143 /* Line 1464 of yacc.c  */
16144 #line 1545 "grammar.y"
16145     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16146     break;
16147
16148   case 338:
16149
16150 /* Line 1464 of yacc.c  */
16151 #line 1546 "grammar.y"
16152     { (yyval.exp) = MkExpTypeSize((yyvsp[(3) - (4)].typeName)); (yyval.exp).loc = (yyloc); ;}
16153     break;
16154
16155   case 339:
16156
16157 /* Line 1464 of yacc.c  */
16158 #line 1547 "grammar.y"
16159     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (5)].specifier)); (yyval.exp).loc = (yyloc); ;}
16160     break;
16161
16162   case 340:
16163
16164 /* Line 1464 of yacc.c  */
16165 #line 1548 "grammar.y"
16166     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (5)].specifier)); (yyval.exp).loc = (yyloc); ;}
16167     break;
16168
16169   case 341:
16170
16171 /* Line 1464 of yacc.c  */
16172 #line 1551 "grammar.y"
16173     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16174     break;
16175
16176   case 342:
16177
16178 /* Line 1464 of yacc.c  */
16179 #line 1552 "grammar.y"
16180     { (yyval.exp) = MkExpTypeAlign((yyvsp[(3) - (4)].typeName)); (yyval.exp).loc = (yyloc); ;}
16181     break;
16182
16183   case 343:
16184
16185 /* Line 1464 of yacc.c  */
16186 #line 1554 "grammar.y"
16187     { (yyval.exp) = MkExpOffsetOf((yyvsp[(3) - (6)].typeName), (yyvsp[(5) - (6)].id)); (yyval.exp).loc = (yyloc); ;}
16188     break;
16189
16190   case 346:
16191
16192 /* Line 1464 of yacc.c  */
16193 #line 1568 "grammar.y"
16194     { (yyval.i) = '&'; ;}
16195     break;
16196
16197   case 347:
16198
16199 /* Line 1464 of yacc.c  */
16200 #line 1569 "grammar.y"
16201     { (yyval.i) = '*'; ;}
16202     break;
16203
16204   case 348:
16205
16206 /* Line 1464 of yacc.c  */
16207 #line 1570 "grammar.y"
16208     { (yyval.i) = '+'; ;}
16209     break;
16210
16211   case 349:
16212
16213 /* Line 1464 of yacc.c  */
16214 #line 1571 "grammar.y"
16215     { (yyval.i) = '-'; ;}
16216     break;
16217
16218   case 350:
16219
16220 /* Line 1464 of yacc.c  */
16221 #line 1572 "grammar.y"
16222     { (yyval.i) = '~'; ;}
16223     break;
16224
16225   case 351:
16226
16227 /* Line 1464 of yacc.c  */
16228 #line 1573 "grammar.y"
16229     { (yyval.i) = '!'; ;}
16230     break;
16231
16232   case 352:
16233
16234 /* Line 1464 of yacc.c  */
16235 #line 1574 "grammar.y"
16236     { (yyval.i) = DELETE; ;}
16237     break;
16238
16239   case 353:
16240
16241 /* Line 1464 of yacc.c  */
16242 #line 1575 "grammar.y"
16243     { (yyval.i) = _INCREF; ;}
16244     break;
16245
16246   case 355:
16247
16248 /* Line 1464 of yacc.c  */
16249 #line 1580 "grammar.y"
16250     { (yyval.exp) = MkExpCast((yyvsp[(2) - (4)].typeName), (yyvsp[(4) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
16251     break;
16252
16253   case 357:
16254
16255 /* Line 1464 of yacc.c  */
16256 #line 1585 "grammar.y"
16257     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16258     break;
16259
16260   case 358:
16261
16262 /* Line 1464 of yacc.c  */
16263 #line 1586 "grammar.y"
16264     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16265     break;
16266
16267   case 359:
16268
16269 /* Line 1464 of yacc.c  */
16270 #line 1587 "grammar.y"
16271     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16272     break;
16273
16274   case 360:
16275
16276 /* Line 1464 of yacc.c  */
16277 #line 1588 "grammar.y"
16278     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16279     break;
16280
16281   case 361:
16282
16283 /* Line 1464 of yacc.c  */
16284 #line 1589 "grammar.y"
16285     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16286     break;
16287
16288   case 362:
16289
16290 /* Line 1464 of yacc.c  */
16291 #line 1590 "grammar.y"
16292     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16293     break;
16294
16295   case 364:
16296
16297 /* Line 1464 of yacc.c  */
16298 #line 1595 "grammar.y"
16299     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16300     break;
16301
16302   case 365:
16303
16304 /* Line 1464 of yacc.c  */
16305 #line 1596 "grammar.y"
16306     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16307     break;
16308
16309   case 366:
16310
16311 /* Line 1464 of yacc.c  */
16312 #line 1597 "grammar.y"
16313     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16314     break;
16315
16316   case 367:
16317
16318 /* Line 1464 of yacc.c  */
16319 #line 1598 "grammar.y"
16320     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16321     break;
16322
16323   case 369:
16324
16325 /* Line 1464 of yacc.c  */
16326 #line 1603 "grammar.y"
16327     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16328     break;
16329
16330   case 370:
16331
16332 /* Line 1464 of yacc.c  */
16333 #line 1604 "grammar.y"
16334     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16335     break;
16336
16337   case 371:
16338
16339 /* Line 1464 of yacc.c  */
16340 #line 1605 "grammar.y"
16341     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16342     break;
16343
16344   case 372:
16345
16346 /* Line 1464 of yacc.c  */
16347 #line 1606 "grammar.y"
16348     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16349     break;
16350
16351   case 373:
16352
16353 /* Line 1464 of yacc.c  */
16354 #line 1611 "grammar.y"
16355     {
16356       (yyval.exp) = (yyvsp[(1) - (2)].exp);
16357       skipErrors = true;
16358    ;}
16359     break;
16360
16361   case 375:
16362
16363 /* Line 1464 of yacc.c  */
16364 #line 1619 "grammar.y"
16365     { skipErrors = false; (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), '<', (yyvsp[(2) - (2)].exp)/*$3*/); (yyval.exp).loc = (yyloc); ;}
16366     break;
16367
16368   case 376:
16369
16370 /* Line 1464 of yacc.c  */
16371 #line 1620 "grammar.y"
16372     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16373     break;
16374
16375   case 377:
16376
16377 /* Line 1464 of yacc.c  */
16378 #line 1621 "grammar.y"
16379     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16380     break;
16381
16382   case 378:
16383
16384 /* Line 1464 of yacc.c  */
16385 #line 1622 "grammar.y"
16386     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16387     break;
16388
16389   case 379:
16390
16391 /* Line 1464 of yacc.c  */
16392 #line 1623 "grammar.y"
16393     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '<', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16394     break;
16395
16396   case 380:
16397
16398 /* Line 1464 of yacc.c  */
16399 #line 1624 "grammar.y"
16400     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16401     break;
16402
16403   case 381:
16404
16405 /* Line 1464 of yacc.c  */
16406 #line 1625 "grammar.y"
16407     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16408     break;
16409
16410   case 382:
16411
16412 /* Line 1464 of yacc.c  */
16413 #line 1626 "grammar.y"
16414     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16415     break;
16416
16417   case 384:
16418
16419 /* Line 1464 of yacc.c  */
16420 #line 1631 "grammar.y"
16421     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16422     break;
16423
16424   case 385:
16425
16426 /* Line 1464 of yacc.c  */
16427 #line 1632 "grammar.y"
16428     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16429     break;
16430
16431   case 386:
16432
16433 /* Line 1464 of yacc.c  */
16434 #line 1633 "grammar.y"
16435     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16436     break;
16437
16438   case 387:
16439
16440 /* Line 1464 of yacc.c  */
16441 #line 1634 "grammar.y"
16442     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16443     break;
16444
16445   case 388:
16446
16447 /* Line 1464 of yacc.c  */
16448 #line 1636 "grammar.y"
16449     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16450     break;
16451
16452   case 389:
16453
16454 /* Line 1464 of yacc.c  */
16455 #line 1637 "grammar.y"
16456     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16457     break;
16458
16459   case 390:
16460
16461 /* Line 1464 of yacc.c  */
16462 #line 1638 "grammar.y"
16463     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16464     break;
16465
16466   case 391:
16467
16468 /* Line 1464 of yacc.c  */
16469 #line 1639 "grammar.y"
16470     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16471     break;
16472
16473   case 393:
16474
16475 /* Line 1464 of yacc.c  */
16476 #line 1644 "grammar.y"
16477     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16478     break;
16479
16480   case 394:
16481
16482 /* Line 1464 of yacc.c  */
16483 #line 1645 "grammar.y"
16484     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16485     break;
16486
16487   case 395:
16488
16489 /* Line 1464 of yacc.c  */
16490 #line 1647 "grammar.y"
16491     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16492     break;
16493
16494   case 396:
16495
16496 /* Line 1464 of yacc.c  */
16497 #line 1648 "grammar.y"
16498     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16499     break;
16500
16501   case 398:
16502
16503 /* Line 1464 of yacc.c  */
16504 #line 1653 "grammar.y"
16505     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16506     break;
16507
16508   case 399:
16509
16510 /* Line 1464 of yacc.c  */
16511 #line 1654 "grammar.y"
16512     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16513     break;
16514
16515   case 400:
16516
16517 /* Line 1464 of yacc.c  */
16518 #line 1656 "grammar.y"
16519     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16520     break;
16521
16522   case 401:
16523
16524 /* Line 1464 of yacc.c  */
16525 #line 1657 "grammar.y"
16526     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16527     break;
16528
16529   case 403:
16530
16531 /* Line 1464 of yacc.c  */
16532 #line 1662 "grammar.y"
16533     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16534     break;
16535
16536   case 404:
16537
16538 /* Line 1464 of yacc.c  */
16539 #line 1663 "grammar.y"
16540     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16541     break;
16542
16543   case 405:
16544
16545 /* Line 1464 of yacc.c  */
16546 #line 1665 "grammar.y"
16547     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16548     break;
16549
16550   case 406:
16551
16552 /* Line 1464 of yacc.c  */
16553 #line 1666 "grammar.y"
16554     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16555     break;
16556
16557   case 408:
16558
16559 /* Line 1464 of yacc.c  */
16560 #line 1671 "grammar.y"
16561     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16562     break;
16563
16564   case 409:
16565
16566 /* Line 1464 of yacc.c  */
16567 #line 1672 "grammar.y"
16568     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16569     break;
16570
16571   case 411:
16572
16573 /* Line 1464 of yacc.c  */
16574 #line 1677 "grammar.y"
16575     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16576     break;
16577
16578   case 412:
16579
16580 /* Line 1464 of yacc.c  */
16581 #line 1678 "grammar.y"
16582     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16583     break;
16584
16585   case 414:
16586
16587 /* Line 1464 of yacc.c  */
16588 #line 1683 "grammar.y"
16589     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16590     break;
16591
16592   case 415:
16593
16594 /* Line 1464 of yacc.c  */
16595 #line 1684 "grammar.y"
16596     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16597     break;
16598
16599   case 416:
16600
16601 /* Line 1464 of yacc.c  */
16602 #line 1685 "grammar.y"
16603     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16604     break;
16605
16606   case 417:
16607
16608 /* Line 1464 of yacc.c  */
16609 #line 1686 "grammar.y"
16610     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16611     break;
16612
16613   case 418:
16614
16615 /* Line 1464 of yacc.c  */
16616 #line 1688 "grammar.y"
16617     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16618     break;
16619
16620   case 419:
16621
16622 /* Line 1464 of yacc.c  */
16623 #line 1689 "grammar.y"
16624     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16625     break;
16626
16627   case 420:
16628
16629 /* Line 1464 of yacc.c  */
16630 #line 1690 "grammar.y"
16631     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16632     break;
16633
16634   case 421:
16635
16636 /* Line 1464 of yacc.c  */
16637 #line 1691 "grammar.y"
16638     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16639     break;
16640
16641   case 422:
16642
16643 /* Line 1464 of yacc.c  */
16644 #line 1693 "grammar.y"
16645     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16646     break;
16647
16648   case 423:
16649
16650 /* Line 1464 of yacc.c  */
16651 #line 1694 "grammar.y"
16652     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16653     break;
16654
16655   case 424:
16656
16657 /* Line 1464 of yacc.c  */
16658 #line 1695 "grammar.y"
16659     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16660     break;
16661
16662   case 425:
16663
16664 /* Line 1464 of yacc.c  */
16665 #line 1696 "grammar.y"
16666     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16667     break;
16668
16669   case 426:
16670
16671 /* Line 1464 of yacc.c  */
16672 #line 1698 "grammar.y"
16673     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16674     break;
16675
16676   case 427:
16677
16678 /* Line 1464 of yacc.c  */
16679 #line 1699 "grammar.y"
16680     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16681     break;
16682
16683   case 428:
16684
16685 /* Line 1464 of yacc.c  */
16686 #line 1700 "grammar.y"
16687     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16688     break;
16689
16690   case 429:
16691
16692 /* Line 1464 of yacc.c  */
16693 #line 1701 "grammar.y"
16694     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16695     break;
16696
16697   case 431:
16698
16699 /* Line 1464 of yacc.c  */
16700 #line 1706 "grammar.y"
16701     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16702     break;
16703
16704   case 432:
16705
16706 /* Line 1464 of yacc.c  */
16707 #line 1707 "grammar.y"
16708     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16709     break;
16710
16711   case 433:
16712
16713 /* Line 1464 of yacc.c  */
16714 #line 1708 "grammar.y"
16715     { 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); ;}
16716     break;
16717
16718   case 434:
16719
16720 /* Line 1464 of yacc.c  */
16721 #line 1709 "grammar.y"
16722     { 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); ;}
16723     break;
16724
16725   case 435:
16726
16727 /* Line 1464 of yacc.c  */
16728 #line 1711 "grammar.y"
16729     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16730     break;
16731
16732   case 436:
16733
16734 /* Line 1464 of yacc.c  */
16735 #line 1712 "grammar.y"
16736     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16737     break;
16738
16739   case 437:
16740
16741 /* Line 1464 of yacc.c  */
16742 #line 1713 "grammar.y"
16743     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16744     break;
16745
16746   case 438:
16747
16748 /* Line 1464 of yacc.c  */
16749 #line 1714 "grammar.y"
16750     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16751     break;
16752
16753   case 439:
16754
16755 /* Line 1464 of yacc.c  */
16756 #line 1718 "grammar.y"
16757     { (yyval.i) = '='; ;}
16758     break;
16759
16760   case 440:
16761
16762 /* Line 1464 of yacc.c  */
16763 #line 1719 "grammar.y"
16764     { (yyval.i) = MUL_ASSIGN; ;}
16765     break;
16766
16767   case 441:
16768
16769 /* Line 1464 of yacc.c  */
16770 #line 1720 "grammar.y"
16771     { (yyval.i) = DIV_ASSIGN; ;}
16772     break;
16773
16774   case 442:
16775
16776 /* Line 1464 of yacc.c  */
16777 #line 1721 "grammar.y"
16778     { (yyval.i) = MOD_ASSIGN; ;}
16779     break;
16780
16781   case 443:
16782
16783 /* Line 1464 of yacc.c  */
16784 #line 1722 "grammar.y"
16785     { (yyval.i) = ADD_ASSIGN; ;}
16786     break;
16787
16788   case 444:
16789
16790 /* Line 1464 of yacc.c  */
16791 #line 1723 "grammar.y"
16792     { (yyval.i) = SUB_ASSIGN; ;}
16793     break;
16794
16795   case 445:
16796
16797 /* Line 1464 of yacc.c  */
16798 #line 1724 "grammar.y"
16799     { (yyval.i) = LEFT_ASSIGN; ;}
16800     break;
16801
16802   case 446:
16803
16804 /* Line 1464 of yacc.c  */
16805 #line 1725 "grammar.y"
16806     { (yyval.i) = RIGHT_ASSIGN; ;}
16807     break;
16808
16809   case 447:
16810
16811 /* Line 1464 of yacc.c  */
16812 #line 1726 "grammar.y"
16813     { (yyval.i) = AND_ASSIGN; ;}
16814     break;
16815
16816   case 448:
16817
16818 /* Line 1464 of yacc.c  */
16819 #line 1727 "grammar.y"
16820     { (yyval.i) = XOR_ASSIGN; ;}
16821     break;
16822
16823   case 449:
16824
16825 /* Line 1464 of yacc.c  */
16826 #line 1728 "grammar.y"
16827     { (yyval.i) = OR_ASSIGN; ;}
16828     break;
16829
16830   case 450:
16831
16832 /* Line 1464 of yacc.c  */
16833 #line 1732 "grammar.y"
16834     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16835     break;
16836
16837   case 451:
16838
16839 /* Line 1464 of yacc.c  */
16840 #line 1733 "grammar.y"
16841     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16842     break;
16843
16844   case 452:
16845
16846 /* Line 1464 of yacc.c  */
16847 #line 1734 "grammar.y"
16848     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16849     break;
16850
16851   case 454:
16852
16853 /* Line 1464 of yacc.c  */
16854 #line 1739 "grammar.y"
16855     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16856     break;
16857
16858   case 455:
16859
16860 /* Line 1464 of yacc.c  */
16861 #line 1740 "grammar.y"
16862     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16863     break;
16864
16865   case 456:
16866
16867 /* Line 1464 of yacc.c  */
16868 #line 1741 "grammar.y"
16869     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16870     break;
16871
16872   case 458:
16873
16874 /* Line 1464 of yacc.c  */
16875 #line 1746 "grammar.y"
16876     { (yyval.exp) = MkExpDummy(); (yyval.exp).loc = (yyloc); /*printf("Sorry, didn't mean that syntax error\n");*/ ;}
16877     break;
16878
16879   case 460:
16880
16881 /* Line 1464 of yacc.c  */
16882 #line 1748 "grammar.y"
16883     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
16884     break;
16885
16886   case 461:
16887
16888 /* Line 1464 of yacc.c  */
16889 #line 1750 "grammar.y"
16890     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16891     break;
16892
16893   case 462:
16894
16895 /* Line 1464 of yacc.c  */
16896 #line 1751 "grammar.y"
16897     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16898     break;
16899
16900   case 463:
16901
16902 /* Line 1464 of yacc.c  */
16903 #line 1753 "grammar.y"
16904     { 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++;;}
16905     break;
16906
16907   case 464:
16908
16909 /* Line 1464 of yacc.c  */
16910 #line 1754 "grammar.y"
16911     { (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++;;}
16912     break;
16913
16914   case 465:
16915
16916 /* Line 1464 of yacc.c  */
16917 #line 1759 "grammar.y"
16918     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16919     break;
16920
16921   case 466:
16922
16923 /* Line 1464 of yacc.c  */
16924 #line 1761 "grammar.y"
16925     { (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++;;}
16926     break;
16927
16928   case 467:
16929
16930 /* Line 1464 of yacc.c  */
16931 #line 1766 "grammar.y"
16932     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16933     break;
16934
16935   case 468:
16936
16937 /* Line 1464 of yacc.c  */
16938 #line 1794 "grammar.y"
16939     { (yyval.exp) = MkExpOp(null, INC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16940     break;
16941
16942   case 469:
16943
16944 /* Line 1464 of yacc.c  */
16945 #line 1795 "grammar.y"
16946     { (yyval.exp) = MkExpOp(null, DEC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16947     break;
16948
16949   case 470:
16950
16951 /* Line 1464 of yacc.c  */
16952 #line 1796 "grammar.y"
16953     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16954     break;
16955
16956   case 471:
16957
16958 /* Line 1464 of yacc.c  */
16959 #line 1797 "grammar.y"
16960     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16961     break;
16962
16963   case 472:
16964
16965 /* Line 1464 of yacc.c  */
16966 #line 1799 "grammar.y"
16967     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16968     break;
16969
16970   case 473:
16971
16972 /* Line 1464 of yacc.c  */
16973 #line 1800 "grammar.y"
16974     { (yyval.exp) = MkExpTypeSize((yyvsp[(3) - (5)].typeName)); (yyval.exp).loc = (yyloc); ;}
16975     break;
16976
16977   case 474:
16978
16979 /* Line 1464 of yacc.c  */
16980 #line 1801 "grammar.y"
16981     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (6)].specifier)); (yyval.exp).loc = (yyloc); ;}
16982     break;
16983
16984   case 475:
16985
16986 /* Line 1464 of yacc.c  */
16987 #line 1802 "grammar.y"
16988     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (6)].specifier)); (yyval.exp).loc = (yyloc); ;}
16989     break;
16990
16991   case 476:
16992
16993 /* Line 1464 of yacc.c  */
16994 #line 1804 "grammar.y"
16995     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16996     break;
16997
16998   case 477:
16999
17000 /* Line 1464 of yacc.c  */
17001 #line 1805 "grammar.y"
17002     { (yyval.exp) = MkExpTypeAlign((yyvsp[(3) - (5)].typeName)); (yyval.exp).loc = (yyloc); ;}
17003     break;
17004
17005   case 481:
17006
17007 /* Line 1464 of yacc.c  */
17008 #line 1820 "grammar.y"
17009     { (yyval.exp) = MkExpCast((yyvsp[(2) - (4)].typeName), (yyvsp[(4) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
17010     break;
17011
17012   case 483:
17013
17014 /* Line 1464 of yacc.c  */
17015 #line 1825 "grammar.y"
17016     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17017     break;
17018
17019   case 484:
17020
17021 /* Line 1464 of yacc.c  */
17022 #line 1826 "grammar.y"
17023     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17024     break;
17025
17026   case 485:
17027
17028 /* Line 1464 of yacc.c  */
17029 #line 1827 "grammar.y"
17030     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17031     break;
17032
17033   case 486:
17034
17035 /* Line 1464 of yacc.c  */
17036 #line 1828 "grammar.y"
17037     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17038     break;
17039
17040   case 487:
17041
17042 /* Line 1464 of yacc.c  */
17043 #line 1829 "grammar.y"
17044     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17045     break;
17046
17047   case 488:
17048
17049 /* Line 1464 of yacc.c  */
17050 #line 1830 "grammar.y"
17051     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17052     break;
17053
17054   case 490:
17055
17056 /* Line 1464 of yacc.c  */
17057 #line 1835 "grammar.y"
17058     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17059     break;
17060
17061   case 491:
17062
17063 /* Line 1464 of yacc.c  */
17064 #line 1839 "grammar.y"
17065     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17066     break;
17067
17068   case 492:
17069
17070 /* Line 1464 of yacc.c  */
17071 #line 1843 "grammar.y"
17072     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17073     break;
17074
17075   case 493:
17076
17077 /* Line 1464 of yacc.c  */
17078 #line 1847 "grammar.y"
17079     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17080     break;
17081
17082   case 495:
17083
17084 /* Line 1464 of yacc.c  */
17085 #line 1855 "grammar.y"
17086     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17087     break;
17088
17089   case 496:
17090
17091 /* Line 1464 of yacc.c  */
17092 #line 1856 "grammar.y"
17093     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17094     break;
17095
17096   case 497:
17097
17098 /* Line 1464 of yacc.c  */
17099 #line 1857 "grammar.y"
17100     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17101     break;
17102
17103   case 498:
17104
17105 /* Line 1464 of yacc.c  */
17106 #line 1858 "grammar.y"
17107     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17108     break;
17109
17110   case 500:
17111
17112 /* Line 1464 of yacc.c  */
17113 #line 1864 "grammar.y"
17114     {
17115       if((yyvsp[(1) - (2)].exp).type == identifierExp)
17116       {
17117          _DeclClass((yyvsp[(1) - (2)].exp).identifier._class, (yyvsp[(1) - (2)].exp).identifier.string);
17118
17119          // printf("Declaring Class %s\n", $1.identifier.string);
17120          skipErrors = false;
17121
17122          FreeExpression((yyvsp[(1) - (2)].exp));
17123          FreeExpression((yyvsp[(2) - (2)].exp));
17124
17125          fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
17126          resetScannerPos(&(yylsp[(1) - (2)]).start);
17127          yyclearin;
17128
17129          YYPOPSTACK(1);
17130          yystate = *yyssp;
17131          YY_STACK_PRINT (yyss, yyssp);
17132
17133          YYPOPSTACK(1);
17134          yystate = *yyssp;
17135          YY_STACK_PRINT (yyss, yyssp);
17136 /*
17137          YYPOPSTACK(1);
17138          yystate = *yyssp;
17139          YY_STACK_PRINT (yyss, yyssp);
17140
17141          YYPOPSTACK(1);
17142          yystate = *yyssp;
17143          YY_STACK_PRINT (yyss, yyssp);
17144 */
17145          yyerrok;
17146
17147          goto yysetstate;
17148       }
17149       else
17150       {
17151          (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), '<', (yyvsp[(2) - (2)].exp));
17152          (yyval.exp).loc = (yyloc);
17153       }
17154       skipErrors = false;
17155    ;}
17156     break;
17157
17158   case 501:
17159
17160 /* Line 1464 of yacc.c  */
17161 #line 1906 "grammar.y"
17162     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17163     break;
17164
17165   case 502:
17166
17167 /* Line 1464 of yacc.c  */
17168 #line 1907 "grammar.y"
17169     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17170     break;
17171
17172   case 503:
17173
17174 /* Line 1464 of yacc.c  */
17175 #line 1908 "grammar.y"
17176     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17177     break;
17178
17179   case 504:
17180
17181 /* Line 1464 of yacc.c  */
17182 #line 1909 "grammar.y"
17183     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '<', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17184     break;
17185
17186   case 505:
17187
17188 /* Line 1464 of yacc.c  */
17189 #line 1910 "grammar.y"
17190     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17191     break;
17192
17193   case 506:
17194
17195 /* Line 1464 of yacc.c  */
17196 #line 1911 "grammar.y"
17197     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17198     break;
17199
17200   case 507:
17201
17202 /* Line 1464 of yacc.c  */
17203 #line 1912 "grammar.y"
17204     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17205     break;
17206
17207   case 509:
17208
17209 /* Line 1464 of yacc.c  */
17210 #line 1917 "grammar.y"
17211     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17212     break;
17213
17214   case 510:
17215
17216 /* Line 1464 of yacc.c  */
17217 #line 1918 "grammar.y"
17218     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17219     break;
17220
17221   case 511:
17222
17223 /* Line 1464 of yacc.c  */
17224 #line 1919 "grammar.y"
17225     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17226     break;
17227
17228   case 512:
17229
17230 /* Line 1464 of yacc.c  */
17231 #line 1920 "grammar.y"
17232     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17233     break;
17234
17235   case 513:
17236
17237 /* Line 1464 of yacc.c  */
17238 #line 1927 "grammar.y"
17239     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17240     break;
17241
17242   case 514:
17243
17244 /* Line 1464 of yacc.c  */
17245 #line 1928 "grammar.y"
17246     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17247     break;
17248
17249   case 515:
17250
17251 /* Line 1464 of yacc.c  */
17252 #line 1929 "grammar.y"
17253     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17254     break;
17255
17256   case 516:
17257
17258 /* Line 1464 of yacc.c  */
17259 #line 1930 "grammar.y"
17260     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17261     break;
17262
17263   case 518:
17264
17265 /* Line 1464 of yacc.c  */
17266 #line 1935 "grammar.y"
17267     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17268     break;
17269
17270   case 519:
17271
17272 /* Line 1464 of yacc.c  */
17273 #line 1936 "grammar.y"
17274     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17275     break;
17276
17277   case 520:
17278
17279 /* Line 1464 of yacc.c  */
17280 #line 1938 "grammar.y"
17281     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17282     break;
17283
17284   case 521:
17285
17286 /* Line 1464 of yacc.c  */
17287 #line 1939 "grammar.y"
17288     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17289     break;
17290
17291   case 523:
17292
17293 /* Line 1464 of yacc.c  */
17294 #line 1944 "grammar.y"
17295     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17296     break;
17297
17298   case 524:
17299
17300 /* Line 1464 of yacc.c  */
17301 #line 1945 "grammar.y"
17302     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17303     break;
17304
17305   case 525:
17306
17307 /* Line 1464 of yacc.c  */
17308 #line 1947 "grammar.y"
17309     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17310     break;
17311
17312   case 526:
17313
17314 /* Line 1464 of yacc.c  */
17315 #line 1948 "grammar.y"
17316     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17317     break;
17318
17319   case 528:
17320
17321 /* Line 1464 of yacc.c  */
17322 #line 1953 "grammar.y"
17323     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17324     break;
17325
17326   case 529:
17327
17328 /* Line 1464 of yacc.c  */
17329 #line 1954 "grammar.y"
17330     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17331     break;
17332
17333   case 530:
17334
17335 /* Line 1464 of yacc.c  */
17336 #line 1956 "grammar.y"
17337     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17338     break;
17339
17340   case 531:
17341
17342 /* Line 1464 of yacc.c  */
17343 #line 1957 "grammar.y"
17344     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17345     break;
17346
17347   case 533:
17348
17349 /* Line 1464 of yacc.c  */
17350 #line 1962 "grammar.y"
17351     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17352     break;
17353
17354   case 534:
17355
17356 /* Line 1464 of yacc.c  */
17357 #line 1963 "grammar.y"
17358     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17359     break;
17360
17361   case 536:
17362
17363 /* Line 1464 of yacc.c  */
17364 #line 1968 "grammar.y"
17365     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17366     break;
17367
17368   case 537:
17369
17370 /* Line 1464 of yacc.c  */
17371 #line 1969 "grammar.y"
17372     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17373     break;
17374
17375   case 539:
17376
17377 /* Line 1464 of yacc.c  */
17378 #line 1974 "grammar.y"
17379     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17380     break;
17381
17382   case 540:
17383
17384 /* Line 1464 of yacc.c  */
17385 #line 1975 "grammar.y"
17386     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17387     break;
17388
17389   case 541:
17390
17391 /* Line 1464 of yacc.c  */
17392 #line 1976 "grammar.y"
17393     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17394     break;
17395
17396   case 542:
17397
17398 /* Line 1464 of yacc.c  */
17399 #line 1977 "grammar.y"
17400     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17401     break;
17402
17403   case 543:
17404
17405 /* Line 1464 of yacc.c  */
17406 #line 1978 "grammar.y"
17407     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17408     break;
17409
17410   case 544:
17411
17412 /* Line 1464 of yacc.c  */
17413 #line 1979 "grammar.y"
17414     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17415     break;
17416
17417   case 545:
17418
17419 /* Line 1464 of yacc.c  */
17420 #line 1980 "grammar.y"
17421     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17422     break;
17423
17424   case 546:
17425
17426 /* Line 1464 of yacc.c  */
17427 #line 1981 "grammar.y"
17428     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17429     break;
17430
17431   case 547:
17432
17433 /* Line 1464 of yacc.c  */
17434 #line 1983 "grammar.y"
17435     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17436     break;
17437
17438   case 548:
17439
17440 /* Line 1464 of yacc.c  */
17441 #line 1984 "grammar.y"
17442     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17443     break;
17444
17445   case 549:
17446
17447 /* Line 1464 of yacc.c  */
17448 #line 1985 "grammar.y"
17449     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17450     break;
17451
17452   case 550:
17453
17454 /* Line 1464 of yacc.c  */
17455 #line 1986 "grammar.y"
17456     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17457     break;
17458
17459   case 551:
17460
17461 /* Line 1464 of yacc.c  */
17462 #line 1987 "grammar.y"
17463     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17464     break;
17465
17466   case 552:
17467
17468 /* Line 1464 of yacc.c  */
17469 #line 1988 "grammar.y"
17470     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17471     break;
17472
17473   case 553:
17474
17475 /* Line 1464 of yacc.c  */
17476 #line 1989 "grammar.y"
17477     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17478     break;
17479
17480   case 554:
17481
17482 /* Line 1464 of yacc.c  */
17483 #line 1990 "grammar.y"
17484     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17485     break;
17486
17487   case 555:
17488
17489 /* Line 1464 of yacc.c  */
17490 #line 1992 "grammar.y"
17491     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17492     break;
17493
17494   case 556:
17495
17496 /* Line 1464 of yacc.c  */
17497 #line 1993 "grammar.y"
17498     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17499     break;
17500
17501   case 557:
17502
17503 /* Line 1464 of yacc.c  */
17504 #line 1994 "grammar.y"
17505     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17506     break;
17507
17508   case 558:
17509
17510 /* Line 1464 of yacc.c  */
17511 #line 1995 "grammar.y"
17512     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17513     break;
17514
17515   case 559:
17516
17517 /* Line 1464 of yacc.c  */
17518 #line 1997 "grammar.y"
17519     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17520     break;
17521
17522   case 560:
17523
17524 /* Line 1464 of yacc.c  */
17525 #line 1998 "grammar.y"
17526     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17527     break;
17528
17529   case 561:
17530
17531 /* Line 1464 of yacc.c  */
17532 #line 1999 "grammar.y"
17533     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17534     break;
17535
17536   case 562:
17537
17538 /* Line 1464 of yacc.c  */
17539 #line 2000 "grammar.y"
17540     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17541     break;
17542
17543   case 563:
17544
17545 /* Line 1464 of yacc.c  */
17546 #line 2003 "grammar.y"
17547     {
17548          yyerror();
17549          (yyval.exp) = MkExpCondition((yyvsp[(1) - (3)].exp), MkListOne(MkExpDummy()), MkExpDummy());
17550          (yyval.exp).loc = (yyloc);
17551          ((Expression)(yyval.exp).cond.exp->last).loc = (yylsp[(2) - (3)]);
17552          (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (3)]);
17553       ;}
17554     break;
17555
17556   case 564:
17557
17558 /* Line 1464 of yacc.c  */
17559 #line 2011 "grammar.y"
17560     {
17561          (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)]);
17562       ;}
17563     break;
17564
17565   case 565:
17566
17567 /* Line 1464 of yacc.c  */
17568 #line 2015 "grammar.y"
17569     {
17570          yyerror();
17571          (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)]);
17572       ;}
17573     break;
17574
17575   case 566:
17576
17577 /* Line 1464 of yacc.c  */
17578 #line 2020 "grammar.y"
17579     {
17580          (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)]);
17581       ;}
17582     break;
17583
17584   case 568:
17585
17586 /* Line 1464 of yacc.c  */
17587 #line 2027 "grammar.y"
17588     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17589     break;
17590
17591   case 569:
17592
17593 /* Line 1464 of yacc.c  */
17594 #line 2031 "grammar.y"
17595     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17596     break;
17597
17598   case 570:
17599
17600 /* Line 1464 of yacc.c  */
17601 #line 2036 "grammar.y"
17602     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17603     break;
17604
17605   case 571:
17606
17607 /* Line 1464 of yacc.c  */
17608 #line 2037 "grammar.y"
17609     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17610     break;
17611
17612   case 572:
17613
17614 /* Line 1464 of yacc.c  */
17615 #line 2041 "grammar.y"
17616     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
17617     break;
17618
17619   case 573:
17620
17621 /* Line 1464 of yacc.c  */
17622 #line 2042 "grammar.y"
17623     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].exp)); ;}
17624     break;
17625
17626   case 574:
17627
17628 /* Line 1464 of yacc.c  */
17629 #line 2043 "grammar.y"
17630     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17631     break;
17632
17633   case 575:
17634
17635 /* Line 1464 of yacc.c  */
17636 #line 2044 "grammar.y"
17637     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17638     break;
17639
17640   case 576:
17641
17642 /* Line 1464 of yacc.c  */
17643 #line 2050 "grammar.y"
17644     { yyerror(); (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17645     break;
17646
17647   case 577:
17648
17649 /* Line 1464 of yacc.c  */
17650 #line 2051 "grammar.y"
17651     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17652     break;
17653
17654   case 578:
17655
17656 /* Line 1464 of yacc.c  */
17657 #line 2052 "grammar.y"
17658     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17659     break;
17660
17661   case 579:
17662
17663 /* Line 1464 of yacc.c  */
17664 #line 2056 "grammar.y"
17665     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
17666     break;
17667
17668   case 580:
17669
17670 /* Line 1464 of yacc.c  */
17671 #line 2057 "grammar.y"
17672     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].exp)); ;}
17673     break;
17674
17675   case 581:
17676
17677 /* Line 1464 of yacc.c  */
17678 #line 2058 "grammar.y"
17679     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17680     break;
17681
17682   case 582:
17683
17684 /* Line 1464 of yacc.c  */
17685 #line 2059 "grammar.y"
17686     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17687     break;
17688
17689   case 585:
17690
17691 /* Line 1464 of yacc.c  */
17692 #line 2069 "grammar.y"
17693     { (yyval.specifier) = MkSpecifier(TYPEDEF); ;}
17694     break;
17695
17696   case 586:
17697
17698 /* Line 1464 of yacc.c  */
17699 #line 2070 "grammar.y"
17700     { (yyval.specifier) = MkSpecifier(EXTERN); ;}
17701     break;
17702
17703   case 587:
17704
17705 /* Line 1464 of yacc.c  */
17706 #line 2071 "grammar.y"
17707     { (yyval.specifier) = MkSpecifier(STATIC); ;}
17708     break;
17709
17710   case 588:
17711
17712 /* Line 1464 of yacc.c  */
17713 #line 2072 "grammar.y"
17714     { (yyval.specifier) = MkSpecifier(THREAD); ;}
17715     break;
17716
17717   case 589:
17718
17719 /* Line 1464 of yacc.c  */
17720 #line 2073 "grammar.y"
17721     { (yyval.specifier) = MkSpecifier(AUTO); ;}
17722     break;
17723
17724   case 590:
17725
17726 /* Line 1464 of yacc.c  */
17727 #line 2074 "grammar.y"
17728     { (yyval.specifier) = MkSpecifier(REGISTER); ;}
17729     break;
17730
17731   case 591:
17732
17733 /* Line 1464 of yacc.c  */
17734 #line 2075 "grammar.y"
17735     { (yyval.specifier) = MkSpecifier(RESTRICT); ;}
17736     break;
17737
17738   case 592:
17739
17740 /* Line 1464 of yacc.c  */
17741 #line 2079 "grammar.y"
17742     { (yyval.specifier) = MkSpecifier(TYPEDEF); structDeclMode = declMode = defaultAccess; ;}
17743     break;
17744
17745   case 593:
17746
17747 /* Line 1464 of yacc.c  */
17748 #line 2080 "grammar.y"
17749     { (yyval.specifier) = MkSpecifier(EXTERN); ;}
17750     break;
17751
17752   case 594:
17753
17754 /* Line 1464 of yacc.c  */
17755 #line 2081 "grammar.y"
17756     { (yyval.specifier) = MkSpecifier(STATIC); structDeclMode = declMode = staticAccess; ;}
17757     break;
17758
17759   case 595:
17760
17761 /* Line 1464 of yacc.c  */
17762 #line 2082 "grammar.y"
17763     { (yyval.specifier) = MkSpecifier(THREAD); ;}
17764     break;
17765
17766   case 596:
17767
17768 /* Line 1464 of yacc.c  */
17769 #line 2083 "grammar.y"
17770     { (yyval.specifier) = MkSpecifier(AUTO); ;}
17771     break;
17772
17773   case 597:
17774
17775 /* Line 1464 of yacc.c  */
17776 #line 2084 "grammar.y"
17777     { (yyval.specifier) = MkSpecifier(REGISTER); ;}
17778     break;
17779
17780   case 598:
17781
17782 /* Line 1464 of yacc.c  */
17783 #line 2085 "grammar.y"
17784     { (yyval.specifier) = MkSpecifier(RESTRICT); ;}
17785     break;
17786
17787   case 599:
17788
17789 /* Line 1464 of yacc.c  */
17790 #line 2089 "grammar.y"
17791     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (1)].id), null); ;}
17792     break;
17793
17794   case 600:
17795
17796 /* Line 1464 of yacc.c  */
17797 #line 2090 "grammar.y"
17798     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].exp)); ;}
17799     break;
17800
17801   case 601:
17802
17803 /* Line 1464 of yacc.c  */
17804 #line 2091 "grammar.y"
17805     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].exp)); ;}
17806     break;
17807
17808   case 602:
17809
17810 /* Line 1464 of yacc.c  */
17811 #line 2095 "grammar.y"
17812     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].enumerator)); ;}
17813     break;
17814
17815   case 603:
17816
17817 /* Line 1464 of yacc.c  */
17818 #line 2096 "grammar.y"
17819     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].enumerator)); ;}
17820     break;
17821
17822   case 605:
17823
17824 /* Line 1464 of yacc.c  */
17825 #line 2101 "grammar.y"
17826     { memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
17827     break;
17828
17829   case 606:
17830
17831 /* Line 1464 of yacc.c  */
17832 #line 2105 "grammar.y"
17833     { (yyval.specifier) = MkEnum((yyvsp[(2) - (2)].id), null); POP_DEFAULT_ACCESS ;}
17834     break;
17835
17836   case 607:
17837
17838 /* Line 1464 of yacc.c  */
17839 #line 2106 "grammar.y"
17840     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (2)].specifier).name), null); POP_DEFAULT_ACCESS ;}
17841     break;
17842
17843   case 608:
17844
17845 /* Line 1464 of yacc.c  */
17846 #line 2110 "grammar.y"
17847     { (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS (yyval.specifier) = (yyvsp[(1) - (2)].specifier); ;}
17848     break;
17849
17850   case 609:
17851
17852 /* Line 1464 of yacc.c  */
17853 #line 2111 "grammar.y"
17854     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17855     break;
17856
17857   case 610:
17858
17859 /* Line 1464 of yacc.c  */
17860 #line 2112 "grammar.y"
17861     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), null); FreeSpecifier((yyvsp[(2) - (4)].specifier)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17862     break;
17863
17864   case 611:
17865
17866 /* Line 1464 of yacc.c  */
17867 #line 2116 "grammar.y"
17868     { (yyval.specifier) = MkEnum(null, (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17869     break;
17870
17871   case 612:
17872
17873 /* Line 1464 of yacc.c  */
17874 #line 2117 "grammar.y"
17875     { (yyval.specifier) = MkEnum(null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17876     break;
17877
17878   case 613:
17879
17880 /* Line 1464 of yacc.c  */
17881 #line 2119 "grammar.y"
17882     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), (yyvsp[(4) - (4)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17883     break;
17884
17885   case 614:
17886
17887 /* Line 1464 of yacc.c  */
17888 #line 2120 "grammar.y"
17889     { (yyval.specifier) = MkEnum((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].list));  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17890     break;
17891
17892   case 615:
17893
17894 /* Line 1464 of yacc.c  */
17895 #line 2121 "grammar.y"
17896     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), null);  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17897     break;
17898
17899   case 616:
17900
17901 /* Line 1464 of yacc.c  */
17902 #line 2122 "grammar.y"
17903     { (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 ;}
17904     break;
17905
17906   case 617:
17907
17908 /* Line 1464 of yacc.c  */
17909 #line 2123 "grammar.y"
17910     { (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 ;}
17911     break;
17912
17913   case 618:
17914
17915 /* Line 1464 of yacc.c  */
17916 #line 2125 "grammar.y"
17917     { (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 ;}
17918     break;
17919
17920   case 619:
17921
17922 /* Line 1464 of yacc.c  */
17923 #line 2126 "grammar.y"
17924     { (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 ;}
17925     break;
17926
17927   case 620:
17928
17929 /* Line 1464 of yacc.c  */
17930 #line 2127 "grammar.y"
17931     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), null); (yyval.specifier).loc = (yyloc); FreeSpecifier((yyvsp[(2) - (4)].specifier)); POP_DEFAULT_ACCESS ;}
17932     break;
17933
17934   case 621:
17935
17936 /* Line 1464 of yacc.c  */
17937 #line 2128 "grammar.y"
17938     { (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 ;}
17939     break;
17940
17941   case 622:
17942
17943 /* Line 1464 of yacc.c  */
17944 #line 2129 "grammar.y"
17945     { (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 ;}
17946     break;
17947
17948   case 623:
17949
17950 /* Line 1464 of yacc.c  */
17951 #line 2131 "grammar.y"
17952     { (yyval.specifier) = MkEnum((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17953     break;
17954
17955   case 624:
17956
17957 /* Line 1464 of yacc.c  */
17958 #line 2132 "grammar.y"
17959     { (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 ;}
17960     break;
17961
17962   case 625:
17963
17964 /* Line 1464 of yacc.c  */
17965 #line 2136 "grammar.y"
17966     { (yyval.id) = (yyvsp[(2) - (2)].id); if(declMode) DeclClassAddNameSpace((yyvsp[(2) - (2)].id)._class, (yyvsp[(2) - (2)].id).string); ;}
17967     break;
17968
17969   case 626:
17970
17971 /* Line 1464 of yacc.c  */
17972 #line 2137 "grammar.y"
17973     { (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)); ;}
17974     break;
17975
17976   case 627:
17977
17978 /* Line 1464 of yacc.c  */
17979 #line 2141 "grammar.y"
17980     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
17981     break;
17982
17983   case 628:
17984
17985 /* Line 1464 of yacc.c  */
17986 #line 2142 "grammar.y"
17987     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17988     break;
17989
17990   case 629:
17991
17992 /* Line 1464 of yacc.c  */
17993 #line 2143 "grammar.y"
17994     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), null); POP_DEFAULT_ACCESS ;}
17995     break;
17996
17997   case 630:
17998
17999 /* Line 1464 of yacc.c  */
18000 #line 2147 "grammar.y"
18001     { (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 ;}
18002     break;
18003
18004   case 631:
18005
18006 /* Line 1464 of yacc.c  */
18007 #line 2148 "grammar.y"
18008     { (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 ;}
18009     break;
18010
18011   case 632:
18012
18013 /* Line 1464 of yacc.c  */
18014 #line 2149 "grammar.y"
18015     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18016     break;
18017
18018   case 633:
18019
18020 /* Line 1464 of yacc.c  */
18021 #line 2150 "grammar.y"
18022     { (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 ;}
18023     break;
18024
18025   case 634:
18026
18027 /* Line 1464 of yacc.c  */
18028 #line 2151 "grammar.y"
18029     { (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 ;}
18030     break;
18031
18032   case 635:
18033
18034 /* Line 1464 of yacc.c  */
18035 #line 2152 "grammar.y"
18036     { (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 ;}
18037     break;
18038
18039   case 636:
18040
18041 /* Line 1464 of yacc.c  */
18042 #line 2153 "grammar.y"
18043     { (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 ;}
18044     break;
18045
18046   case 637:
18047
18048 /* Line 1464 of yacc.c  */
18049 #line 2154 "grammar.y"
18050     { (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 ;}
18051     break;
18052
18053   case 638:
18054
18055 /* Line 1464 of yacc.c  */
18056 #line 2155 "grammar.y"
18057     { (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 ;}
18058     break;
18059
18060   case 639:
18061
18062 /* Line 1464 of yacc.c  */
18063 #line 2157 "grammar.y"
18064     { (yyval.specifier) = MkEnum(null, (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18065     break;
18066
18067   case 640:
18068
18069 /* Line 1464 of yacc.c  */
18070 #line 2158 "grammar.y"
18071     { (yyval.specifier) = MkEnum(null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18072     break;
18073
18074   case 641:
18075
18076 /* Line 1464 of yacc.c  */
18077 #line 2160 "grammar.y"
18078     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18079     break;
18080
18081   case 642:
18082
18083 /* Line 1464 of yacc.c  */
18084 #line 2161 "grammar.y"
18085     { (yyval.specifier) = MkEnum((yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18086     break;
18087
18088   case 643:
18089
18090 /* Line 1464 of yacc.c  */
18091 #line 2162 "grammar.y"
18092     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18093     break;
18094
18095   case 644:
18096
18097 /* Line 1464 of yacc.c  */
18098 #line 2163 "grammar.y"
18099     { (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 ;}
18100     break;
18101
18102   case 645:
18103
18104 /* Line 1464 of yacc.c  */
18105 #line 2164 "grammar.y"
18106     { (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 ;}
18107     break;
18108
18109   case 646:
18110
18111 /* Line 1464 of yacc.c  */
18112 #line 2166 "grammar.y"
18113     { (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 ;}
18114     break;
18115
18116   case 647:
18117
18118 /* Line 1464 of yacc.c  */
18119 #line 2167 "grammar.y"
18120     { (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 ;}
18121     break;
18122
18123   case 648:
18124
18125 /* Line 1464 of yacc.c  */
18126 #line 2168 "grammar.y"
18127     { (yyval.specifier) = MkEnum((yyvsp[(1) - (6)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (6)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18128     break;
18129
18130   case 649:
18131
18132 /* Line 1464 of yacc.c  */
18133 #line 2169 "grammar.y"
18134     { (yyval.specifier) = MkEnum((yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].list));  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18135     break;
18136
18137   case 654:
18138
18139 /* Line 1464 of yacc.c  */
18140 #line 2183 "grammar.y"
18141     { (yyval.specifier) = MkSpecifierExtended((yyvsp[(1) - (1)].extDecl)); ;}
18142     break;
18143
18144   case 655:
18145
18146 /* Line 1464 of yacc.c  */
18147 #line 2187 "grammar.y"
18148     { (yyval.specifier) = MkSpecifier(CONST); ;}
18149     break;
18150
18151   case 656:
18152
18153 /* Line 1464 of yacc.c  */
18154 #line 2188 "grammar.y"
18155     { (yyval.specifier) = MkSpecifier(VOLATILE); ;}
18156     break;
18157
18158   case 657:
18159
18160 /* Line 1464 of yacc.c  */
18161 #line 2189 "grammar.y"
18162     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); ;}
18163     break;
18164
18165   case 658:
18166
18167 /* Line 1464 of yacc.c  */
18168 #line 2194 "grammar.y"
18169     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18170     break;
18171
18172   case 659:
18173
18174 /* Line 1464 of yacc.c  */
18175 #line 2195 "grammar.y"
18176     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier));  ;}
18177     break;
18178
18179   case 660:
18180
18181 /* Line 1464 of yacc.c  */
18182 #line 2199 "grammar.y"
18183     { (yyval.specifier) = MkSpecifier(VOID); ;}
18184     break;
18185
18186   case 661:
18187
18188 /* Line 1464 of yacc.c  */
18189 #line 2200 "grammar.y"
18190     { (yyval.specifier) = MkSpecifier(CHAR); ;}
18191     break;
18192
18193   case 662:
18194
18195 /* Line 1464 of yacc.c  */
18196 #line 2201 "grammar.y"
18197     { (yyval.specifier) = MkSpecifier(SHORT); ;}
18198     break;
18199
18200   case 663:
18201
18202 /* Line 1464 of yacc.c  */
18203 #line 2202 "grammar.y"
18204     { (yyval.specifier) = MkSpecifier(INT); ;}
18205     break;
18206
18207   case 664:
18208
18209 /* Line 1464 of yacc.c  */
18210 #line 2203 "grammar.y"
18211     { (yyval.specifier) = MkSpecifier(UINT); ;}
18212     break;
18213
18214   case 665:
18215
18216 /* Line 1464 of yacc.c  */
18217 #line 2204 "grammar.y"
18218     { (yyval.specifier) = MkSpecifier(INT64); ;}
18219     break;
18220
18221   case 666:
18222
18223 /* Line 1464 of yacc.c  */
18224 #line 2205 "grammar.y"
18225     { (yyval.specifier) = MkSpecifier(VALIST); ;}
18226     break;
18227
18228   case 667:
18229
18230 /* Line 1464 of yacc.c  */
18231 #line 2206 "grammar.y"
18232     { (yyval.specifier) = MkSpecifier(LONG); ;}
18233     break;
18234
18235   case 668:
18236
18237 /* Line 1464 of yacc.c  */
18238 #line 2207 "grammar.y"
18239     { (yyval.specifier) = MkSpecifier(FLOAT); ;}
18240     break;
18241
18242   case 669:
18243
18244 /* Line 1464 of yacc.c  */
18245 #line 2208 "grammar.y"
18246     { (yyval.specifier) = MkSpecifier(DOUBLE); ;}
18247     break;
18248
18249   case 670:
18250
18251 /* Line 1464 of yacc.c  */
18252 #line 2209 "grammar.y"
18253     { (yyval.specifier) = MkSpecifier(SIGNED); ;}
18254     break;
18255
18256   case 671:
18257
18258 /* Line 1464 of yacc.c  */
18259 #line 2210 "grammar.y"
18260     { (yyval.specifier) = MkSpecifier(UNSIGNED); ;}
18261     break;
18262
18263   case 672:
18264
18265 /* Line 1464 of yacc.c  */
18266 #line 2211 "grammar.y"
18267     { (yyval.specifier) = MkSpecifier(EXTENSION); ;}
18268     break;
18269
18270   case 676:
18271
18272 /* Line 1464 of yacc.c  */
18273 #line 2215 "grammar.y"
18274     { (yyval.specifier) = MkSpecifierTypeOf((yyvsp[(3) - (4)].exp)); ;}
18275     break;
18276
18277   case 677:
18278
18279 /* Line 1464 of yacc.c  */
18280 #line 2216 "grammar.y"
18281     { (yyval.specifier) = MkSpecifierSubClass((yyvsp[(3) - (4)].specifier)); ;}
18282     break;
18283
18284   case 678:
18285
18286 /* Line 1464 of yacc.c  */
18287 #line 2217 "grammar.y"
18288     { _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)); ;}
18289     break;
18290
18291   case 679:
18292
18293 /* Line 1464 of yacc.c  */
18294 #line 2218 "grammar.y"
18295     { (yyval.specifier) = MkSpecifier(THISCLASS); ;}
18296     break;
18297
18298   case 680:
18299
18300 /* Line 1464 of yacc.c  */
18301 #line 2219 "grammar.y"
18302     { (yyval.specifier) = MkSpecifier(TYPED_OBJECT); ;}
18303     break;
18304
18305   case 681:
18306
18307 /* Line 1464 of yacc.c  */
18308 #line 2220 "grammar.y"
18309     { (yyval.specifier) = MkSpecifier(ANY_OBJECT); ;}
18310     break;
18311
18312   case 682:
18313
18314 /* Line 1464 of yacc.c  */
18315 #line 2221 "grammar.y"
18316     { (yyval.specifier) = MkSpecifier(_BOOL); ;}
18317     break;
18318
18319   case 683:
18320
18321 /* Line 1464 of yacc.c  */
18322 #line 2222 "grammar.y"
18323     { (yyval.specifier) = MkSpecifier(BOOL); ;}
18324     break;
18325
18326   case 684:
18327
18328 /* Line 1464 of yacc.c  */
18329 #line 2223 "grammar.y"
18330     { (yyval.specifier) = MkSpecifier(_COMPLEX); ;}
18331     break;
18332
18333   case 685:
18334
18335 /* Line 1464 of yacc.c  */
18336 #line 2224 "grammar.y"
18337     { (yyval.specifier) = MkSpecifier(_IMAGINARY); ;}
18338     break;
18339
18340   case 686:
18341
18342 /* Line 1464 of yacc.c  */
18343 #line 2228 "grammar.y"
18344     { (yyval.specifier) = MkSpecifier(VOID); ;}
18345     break;
18346
18347   case 687:
18348
18349 /* Line 1464 of yacc.c  */
18350 #line 2229 "grammar.y"
18351     { (yyval.specifier) = MkSpecifier(CHAR); ;}
18352     break;
18353
18354   case 688:
18355
18356 /* Line 1464 of yacc.c  */
18357 #line 2230 "grammar.y"
18358     { (yyval.specifier) = MkSpecifier(SHORT); ;}
18359     break;
18360
18361   case 689:
18362
18363 /* Line 1464 of yacc.c  */
18364 #line 2231 "grammar.y"
18365     { (yyval.specifier) = MkSpecifier(INT); ;}
18366     break;
18367
18368   case 690:
18369
18370 /* Line 1464 of yacc.c  */
18371 #line 2232 "grammar.y"
18372     { (yyval.specifier) = MkSpecifier(UINT); ;}
18373     break;
18374
18375   case 691:
18376
18377 /* Line 1464 of yacc.c  */
18378 #line 2233 "grammar.y"
18379     { (yyval.specifier) = MkSpecifier(INT64); ;}
18380     break;
18381
18382   case 692:
18383
18384 /* Line 1464 of yacc.c  */
18385 #line 2234 "grammar.y"
18386     { (yyval.specifier) = MkSpecifier(VALIST); ;}
18387     break;
18388
18389   case 693:
18390
18391 /* Line 1464 of yacc.c  */
18392 #line 2235 "grammar.y"
18393     { (yyval.specifier) = MkSpecifier(LONG); ;}
18394     break;
18395
18396   case 694:
18397
18398 /* Line 1464 of yacc.c  */
18399 #line 2236 "grammar.y"
18400     { (yyval.specifier) = MkSpecifier(FLOAT); ;}
18401     break;
18402
18403   case 695:
18404
18405 /* Line 1464 of yacc.c  */
18406 #line 2237 "grammar.y"
18407     { (yyval.specifier) = MkSpecifier(DOUBLE); ;}
18408     break;
18409
18410   case 696:
18411
18412 /* Line 1464 of yacc.c  */
18413 #line 2238 "grammar.y"
18414     { (yyval.specifier) = MkSpecifier(SIGNED); ;}
18415     break;
18416
18417   case 697:
18418
18419 /* Line 1464 of yacc.c  */
18420 #line 2239 "grammar.y"
18421     { (yyval.specifier) = MkSpecifier(UNSIGNED); ;}
18422     break;
18423
18424   case 698:
18425
18426 /* Line 1464 of yacc.c  */
18427 #line 2240 "grammar.y"
18428     { (yyval.specifier) = MkSpecifier(EXTENSION); ;}
18429     break;
18430
18431   case 702:
18432
18433 /* Line 1464 of yacc.c  */
18434 #line 2244 "grammar.y"
18435     { (yyval.specifier) = MkSpecifier(_BOOL); ;}
18436     break;
18437
18438   case 703:
18439
18440 /* Line 1464 of yacc.c  */
18441 #line 2245 "grammar.y"
18442     { (yyval.specifier) = MkSpecifier(BOOL); ;}
18443     break;
18444
18445   case 704:
18446
18447 /* Line 1464 of yacc.c  */
18448 #line 2246 "grammar.y"
18449     { (yyval.specifier) = MkSpecifier(_COMPLEX); ;}
18450     break;
18451
18452   case 705:
18453
18454 /* Line 1464 of yacc.c  */
18455 #line 2247 "grammar.y"
18456     { (yyval.specifier) = MkSpecifier(_IMAGINARY); ;}
18457     break;
18458
18459   case 706:
18460
18461 /* Line 1464 of yacc.c  */
18462 #line 2248 "grammar.y"
18463     { (yyval.specifier) = MkSpecifierTypeOf((yyvsp[(3) - (4)].exp)); ;}
18464     break;
18465
18466   case 707:
18467
18468 /* Line 1464 of yacc.c  */
18469 #line 2249 "grammar.y"
18470     { (yyval.specifier) = MkSpecifierSubClass((yyvsp[(3) - (4)].specifier)); ;}
18471     break;
18472
18473   case 708:
18474
18475 /* Line 1464 of yacc.c  */
18476 #line 2250 "grammar.y"
18477     { _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)); ;}
18478     break;
18479
18480   case 709:
18481
18482 /* Line 1464 of yacc.c  */
18483 #line 2251 "grammar.y"
18484     { (yyval.specifier) = MkSpecifier(THISCLASS); ;}
18485     break;
18486
18487   case 710:
18488
18489 /* Line 1464 of yacc.c  */
18490 #line 2258 "grammar.y"
18491     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.declarator).loc = (yyloc); ;}
18492     break;
18493
18494   case 711:
18495
18496 /* Line 1464 of yacc.c  */
18497 #line 2260 "grammar.y"
18498     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (2)].declarator), null); (yyval.declarator).structDecl.attrib = (yyvsp[(2) - (2)].attrib); (yyval.declarator).loc = (yyloc); ;}
18499     break;
18500
18501   case 712:
18502
18503 /* Line 1464 of yacc.c  */
18504 #line 2262 "grammar.y"
18505     { (yyval.declarator) = MkStructDeclarator(null, (yyvsp[(2) - (2)].exp));  (yyval.declarator).loc = (yyloc); ;}
18506     break;
18507
18508   case 713:
18509
18510 /* Line 1464 of yacc.c  */
18511 #line 2264 "grammar.y"
18512     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].exp));  (yyval.declarator).loc = (yyloc); ;}
18513     break;
18514
18515   case 714:
18516
18517 /* Line 1464 of yacc.c  */
18518 #line 2266 "grammar.y"
18519     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18520     break;
18521
18522   case 715:
18523
18524 /* Line 1464 of yacc.c  */
18525 #line 2268 "grammar.y"
18526     { (yyval.declarator) = MkStructDeclarator(null, (yyvsp[(2) - (2)].exp));  (yyval.declarator).loc = (yyloc); ;}
18527     break;
18528
18529   case 716:
18530
18531 /* Line 1464 of yacc.c  */
18532 #line 2270 "grammar.y"
18533     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].exp));  (yyval.declarator).loc = (yyloc); ;}
18534     break;
18535
18536   case 717:
18537
18538 /* Line 1464 of yacc.c  */
18539 #line 2272 "grammar.y"
18540     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18541     break;
18542
18543   case 718:
18544
18545 /* Line 1464 of yacc.c  */
18546 #line 2274 "grammar.y"
18547     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18548     break;
18549
18550   case 719:
18551
18552 /* Line 1464 of yacc.c  */
18553 #line 2276 "grammar.y"
18554     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18555     break;
18556
18557   case 720:
18558
18559 /* Line 1464 of yacc.c  */
18560 #line 2280 "grammar.y"
18561     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declarator)); ;}
18562     break;
18563
18564   case 721:
18565
18566 /* Line 1464 of yacc.c  */
18567 #line 2281 "grammar.y"
18568     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].declarator)); ;}
18569     break;
18570
18571   case 722:
18572
18573 /* Line 1464 of yacc.c  */
18574 #line 2286 "grammar.y"
18575     {
18576          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (2)].specifierType), (yyvsp[(2) - (2)].id), null);
18577          (yyval.specifier).addNameSpace = true;
18578          (yyval.specifier).ctx = PushContext();
18579       ;}
18580     break;
18581
18582   case 723:
18583
18584 /* Line 1464 of yacc.c  */
18585 #line 2292 "grammar.y"
18586     {
18587          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (2)].specifierType), MkIdentifier((yyvsp[(2) - (2)].specifier).name), null);
18588          (yyval.specifier).ctx = PushContext();
18589          FreeSpecifier((yyvsp[(2) - (2)].specifier));
18590       ;}
18591     break;
18592
18593   case 724:
18594
18595 /* Line 1464 of yacc.c  */
18596 #line 2298 "grammar.y"
18597     {
18598          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), (yyvsp[(3) - (3)].id), null);
18599          (yyval.specifier).extDeclStruct = (yyvsp[(2) - (3)].extDecl);
18600          (yyval.specifier).addNameSpace = true;
18601          (yyval.specifier).ctx = PushContext();
18602       ;}
18603     break;
18604
18605   case 725:
18606
18607 /* Line 1464 of yacc.c  */
18608 #line 2305 "grammar.y"
18609     {
18610          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), MkIdentifier((yyvsp[(3) - (3)].specifier).name), null);
18611          (yyval.specifier).extDeclStruct = (yyvsp[(2) - (3)].extDecl);
18612          (yyval.specifier).ctx = PushContext();
18613          FreeSpecifier((yyvsp[(3) - (3)].specifier));
18614       ;}
18615     break;
18616
18617   case 726:
18618
18619 /* Line 1464 of yacc.c  */
18620 #line 2314 "grammar.y"
18621     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
18622     break;
18623
18624   case 727:
18625
18626 /* Line 1464 of yacc.c  */
18627 #line 2315 "grammar.y"
18628     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18629     break;
18630
18631   case 728:
18632
18633 /* Line 1464 of yacc.c  */
18634 #line 2316 "grammar.y"
18635     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18636     break;
18637
18638   case 729:
18639
18640 /* Line 1464 of yacc.c  */
18641 #line 2317 "grammar.y"
18642     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, null); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18643     break;
18644
18645   case 730:
18646
18647 /* Line 1464 of yacc.c  */
18648 #line 2321 "grammar.y"
18649     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); AddStructDefinitions((yyvsp[(1) - (3)].specifier), (yyvsp[(3) - (3)].list));  POP_DEFAULT_ACCESS PopContext(curContext); ;}
18650     break;
18651
18652   case 731:
18653
18654 /* Line 1464 of yacc.c  */
18655 #line 2322 "grammar.y"
18656     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); AddStructDefinitions((yyvsp[(1) - (3)].specifier), (yyvsp[(3) - (3)].list));  POP_DEFAULT_ACCESS PopContext(curContext); ;}
18657     break;
18658
18659   case 732:
18660
18661 /* Line 1464 of yacc.c  */
18662 #line 2323 "grammar.y"
18663     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18664     break;
18665
18666   case 733:
18667
18668 /* Line 1464 of yacc.c  */
18669 #line 2325 "grammar.y"
18670     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18671     break;
18672
18673   case 734:
18674
18675 /* Line 1464 of yacc.c  */
18676 #line 2326 "grammar.y"
18677     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18678     break;
18679
18680   case 735:
18681
18682 /* Line 1464 of yacc.c  */
18683 #line 2327 "grammar.y"
18684     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18685     break;
18686
18687   case 736:
18688
18689 /* Line 1464 of yacc.c  */
18690 #line 2329 "grammar.y"
18691     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, (yyvsp[(4) - (4)].list)); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18692     break;
18693
18694   case 737:
18695
18696 /* Line 1464 of yacc.c  */
18697 #line 2330 "grammar.y"
18698     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, (yyvsp[(4) - (4)].list)); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18699     break;
18700
18701   case 738:
18702
18703 /* Line 1464 of yacc.c  */
18704 #line 2331 "grammar.y"
18705     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, null); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18706     break;
18707
18708   case 739:
18709
18710 /* Line 1464 of yacc.c  */
18711 #line 2335 "grammar.y"
18712     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18713     break;
18714
18715   case 740:
18716
18717 /* Line 1464 of yacc.c  */
18718 #line 2340 "grammar.y"
18719     {
18720         (yyval.specifier) = (yyvsp[(1) - (1)].specifier);
18721         if(declMode)
18722         {
18723            ((yyvsp[(1) - (1)].specifier).addNameSpace ? DeclClassAddNameSpace : DeclClass)((yyvsp[(1) - (1)].specifier).id._class, (yyvsp[(1) - (1)].specifier).id.string);
18724         }
18725      ;}
18726     break;
18727
18728   case 741:
18729
18730 /* Line 1464 of yacc.c  */
18731 #line 2348 "grammar.y"
18732     {
18733       Symbol symbol = ((yyvsp[(1) - (4)].specifier).addNameSpace ? DeclClassAddNameSpace : DeclClass)((yyvsp[(1) - (4)].specifier).id._class, (yyvsp[(1) - (4)].specifier).id.string);
18734       (yyval.specifier) = (yyvsp[(1) - (4)].specifier);
18735       symbol.templateParams = (yyvsp[(3) - (4)].list);
18736    ;}
18737     break;
18738
18739   case 742:
18740
18741 /* Line 1464 of yacc.c  */
18742 #line 2357 "grammar.y"
18743     {
18744       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18745       (yyval.specifier).baseSpecs = (yyvsp[(3) - (3)].list);
18746       SetupBaseSpecs(null, (yyvsp[(3) - (3)].list));
18747    ;}
18748     break;
18749
18750   case 743:
18751
18752 /* Line 1464 of yacc.c  */
18753 #line 2365 "grammar.y"
18754     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
18755     break;
18756
18757   case 744:
18758
18759 /* Line 1464 of yacc.c  */
18760 #line 2367 "grammar.y"
18761     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18762     break;
18763
18764   case 745:
18765
18766 /* Line 1464 of yacc.c  */
18767 #line 2368 "grammar.y"
18768     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18769     break;
18770
18771   case 746:
18772
18773 /* Line 1464 of yacc.c  */
18774 #line 2369 "grammar.y"
18775     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18776     break;
18777
18778   case 747:
18779
18780 /* Line 1464 of yacc.c  */
18781 #line 2374 "grammar.y"
18782     {
18783       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18784       (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18785       POP_DEFAULT_ACCESS
18786       PopContext(curContext);
18787    ;}
18788     break;
18789
18790   case 748:
18791
18792 /* Line 1464 of yacc.c  */
18793 #line 2381 "grammar.y"
18794     {
18795       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18796       (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18797       POP_DEFAULT_ACCESS
18798       PopContext(curContext);
18799    ;}
18800     break;
18801
18802   case 749:
18803
18804 /* Line 1464 of yacc.c  */
18805 #line 2388 "grammar.y"
18806     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext);;}
18807     break;
18808
18809   case 750:
18810
18811 /* Line 1464 of yacc.c  */
18812 #line 2391 "grammar.y"
18813     {
18814         PopContext(curContext);
18815         if(!declMode)
18816         {
18817            (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifier).type, (yyvsp[(1) - (3)].specifier).id, (yyvsp[(3) - (3)].list));
18818            (yyvsp[(1) - (3)].specifier).id = null;
18819            FreeSpecifier((yyvsp[(1) - (3)].specifier));
18820         }
18821         else
18822            (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18823         POP_DEFAULT_ACCESS
18824      ;}
18825     break;
18826
18827   case 751:
18828
18829 /* Line 1464 of yacc.c  */
18830 #line 2404 "grammar.y"
18831     {
18832         PopContext(curContext);
18833
18834         if(!declMode)
18835         {
18836            (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifier).type, (yyvsp[(1) - (3)].specifier).id, (yyvsp[(3) - (3)].list));
18837            (yyvsp[(1) - (3)].specifier).id = null;
18838            FreeSpecifier((yyvsp[(1) - (3)].specifier));
18839         }
18840         else
18841            (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18842         POP_DEFAULT_ACCESS
18843      ;}
18844     break;
18845
18846   case 752:
18847
18848 /* Line 1464 of yacc.c  */
18849 #line 2418 "grammar.y"
18850     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18851     break;
18852
18853   case 753:
18854
18855 /* Line 1464 of yacc.c  */
18856 #line 2421 "grammar.y"
18857     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS  ;}
18858     break;
18859
18860   case 754:
18861
18862 /* Line 1464 of yacc.c  */
18863 #line 2423 "grammar.y"
18864     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18865     break;
18866
18867   case 755:
18868
18869 /* Line 1464 of yacc.c  */
18870 #line 2425 "grammar.y"
18871     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18872     break;
18873
18874   case 756:
18875
18876 /* Line 1464 of yacc.c  */
18877 #line 2429 "grammar.y"
18878     { (yyval.specifierType) = structSpecifier; memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
18879     break;
18880
18881   case 757:
18882
18883 /* Line 1464 of yacc.c  */
18884 #line 2430 "grammar.y"
18885     { (yyval.specifierType) = unionSpecifier; memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
18886     break;
18887
18888   case 758:
18889
18890 /* Line 1464 of yacc.c  */
18891 #line 2434 "grammar.y"
18892     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18893     break;
18894
18895   case 759:
18896
18897 /* Line 1464 of yacc.c  */
18898 #line 2435 "grammar.y"
18899     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18900     break;
18901
18902   case 760:
18903
18904 /* Line 1464 of yacc.c  */
18905 #line 2436 "grammar.y"
18906     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18907     break;
18908
18909   case 761:
18910
18911 /* Line 1464 of yacc.c  */
18912 #line 2437 "grammar.y"
18913     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18914     break;
18915
18916   case 762:
18917
18918 /* Line 1464 of yacc.c  */
18919 #line 2438 "grammar.y"
18920     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18921     break;
18922
18923   case 763:
18924
18925 /* Line 1464 of yacc.c  */
18926 #line 2439 "grammar.y"
18927     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18928     break;
18929
18930   case 764:
18931
18932 /* Line 1464 of yacc.c  */
18933 #line 2440 "grammar.y"
18934     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18935     break;
18936
18937   case 765:
18938
18939 /* Line 1464 of yacc.c  */
18940 #line 2441 "grammar.y"
18941     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18942     break;
18943
18944   case 766:
18945
18946 /* Line 1464 of yacc.c  */
18947 #line 2445 "grammar.y"
18948     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18949     break;
18950
18951   case 767:
18952
18953 /* Line 1464 of yacc.c  */
18954 #line 2446 "grammar.y"
18955     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18956     break;
18957
18958   case 768:
18959
18960 /* Line 1464 of yacc.c  */
18961 #line 2447 "grammar.y"
18962     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18963     break;
18964
18965   case 769:
18966
18967 /* Line 1464 of yacc.c  */
18968 #line 2448 "grammar.y"
18969     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18970     break;
18971
18972   case 770:
18973
18974 /* Line 1464 of yacc.c  */
18975 #line 2449 "grammar.y"
18976     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18977     break;
18978
18979   case 771:
18980
18981 /* Line 1464 of yacc.c  */
18982 #line 2450 "grammar.y"
18983     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18984     break;
18985
18986   case 772:
18987
18988 /* Line 1464 of yacc.c  */
18989 #line 2451 "grammar.y"
18990     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18991     break;
18992
18993   case 773:
18994
18995 /* Line 1464 of yacc.c  */
18996 #line 2452 "grammar.y"
18997     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18998     break;
18999
19000   case 774:
19001
19002 /* Line 1464 of yacc.c  */
19003 #line 2453 "grammar.y"
19004     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19005     break;
19006
19007   case 775:
19008
19009 /* Line 1464 of yacc.c  */
19010 #line 2454 "grammar.y"
19011     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19012     break;
19013
19014   case 776:
19015
19016 /* Line 1464 of yacc.c  */
19017 #line 2458 "grammar.y"
19018     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19019     break;
19020
19021   case 777:
19022
19023 /* Line 1464 of yacc.c  */
19024 #line 2459 "grammar.y"
19025     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19026     break;
19027
19028   case 778:
19029
19030 /* Line 1464 of yacc.c  */
19031 #line 2460 "grammar.y"
19032     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19033     break;
19034
19035   case 779:
19036
19037 /* Line 1464 of yacc.c  */
19038 #line 2461 "grammar.y"
19039     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19040     break;
19041
19042   case 780:
19043
19044 /* Line 1464 of yacc.c  */
19045 #line 2462 "grammar.y"
19046     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19047     break;
19048
19049   case 781:
19050
19051 /* Line 1464 of yacc.c  */
19052 #line 2463 "grammar.y"
19053     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19054     break;
19055
19056   case 782:
19057
19058 /* Line 1464 of yacc.c  */
19059 #line 2464 "grammar.y"
19060     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19061     break;
19062
19063   case 783:
19064
19065 /* Line 1464 of yacc.c  */
19066 #line 2465 "grammar.y"
19067     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19068     break;
19069
19070   case 784:
19071
19072 /* Line 1464 of yacc.c  */
19073 #line 2466 "grammar.y"
19074     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19075     break;
19076
19077   case 785:
19078
19079 /* Line 1464 of yacc.c  */
19080 #line 2467 "grammar.y"
19081     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19082     break;
19083
19084   case 786:
19085
19086 /* Line 1464 of yacc.c  */
19087 #line 2471 "grammar.y"
19088     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19089     break;
19090
19091   case 787:
19092
19093 /* Line 1464 of yacc.c  */
19094 #line 2472 "grammar.y"
19095     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19096     break;
19097
19098   case 788:
19099
19100 /* Line 1464 of yacc.c  */
19101 #line 2473 "grammar.y"
19102     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19103     break;
19104
19105   case 789:
19106
19107 /* Line 1464 of yacc.c  */
19108 #line 2474 "grammar.y"
19109     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19110     break;
19111
19112   case 790:
19113
19114 /* Line 1464 of yacc.c  */
19115 #line 2475 "grammar.y"
19116     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19117     break;
19118
19119   case 791:
19120
19121 /* Line 1464 of yacc.c  */
19122 #line 2476 "grammar.y"
19123     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19124     break;
19125
19126   case 792:
19127
19128 /* Line 1464 of yacc.c  */
19129 #line 2477 "grammar.y"
19130     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19131     break;
19132
19133   case 793:
19134
19135 /* Line 1464 of yacc.c  */
19136 #line 2478 "grammar.y"
19137     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19138     break;
19139
19140   case 794:
19141
19142 /* Line 1464 of yacc.c  */
19143 #line 2479 "grammar.y"
19144     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19145     break;
19146
19147   case 795:
19148
19149 /* Line 1464 of yacc.c  */
19150 #line 2480 "grammar.y"
19151     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19152     break;
19153
19154   case 796:
19155
19156 /* Line 1464 of yacc.c  */
19157 #line 2481 "grammar.y"
19158     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19159     break;
19160
19161   case 797:
19162
19163 /* Line 1464 of yacc.c  */
19164 #line 2482 "grammar.y"
19165     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19166     break;
19167
19168   case 798:
19169
19170 /* Line 1464 of yacc.c  */
19171 #line 2486 "grammar.y"
19172     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19173     break;
19174
19175   case 799:
19176
19177 /* Line 1464 of yacc.c  */
19178 #line 2487 "grammar.y"
19179     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19180     break;
19181
19182   case 800:
19183
19184 /* Line 1464 of yacc.c  */
19185 #line 2488 "grammar.y"
19186     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19187     break;
19188
19189   case 801:
19190
19191 /* Line 1464 of yacc.c  */
19192 #line 2489 "grammar.y"
19193     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19194     break;
19195
19196   case 802:
19197
19198 /* Line 1464 of yacc.c  */
19199 #line 2490 "grammar.y"
19200     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19201     break;
19202
19203   case 803:
19204
19205 /* Line 1464 of yacc.c  */
19206 #line 2491 "grammar.y"
19207     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19208     break;
19209
19210   case 804:
19211
19212 /* Line 1464 of yacc.c  */
19213 #line 2492 "grammar.y"
19214     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19215     break;
19216
19217   case 805:
19218
19219 /* Line 1464 of yacc.c  */
19220 #line 2493 "grammar.y"
19221     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19222     break;
19223
19224   case 806:
19225
19226 /* Line 1464 of yacc.c  */
19227 #line 2494 "grammar.y"
19228     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19229     break;
19230
19231   case 807:
19232
19233 /* Line 1464 of yacc.c  */
19234 #line 2495 "grammar.y"
19235     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19236     break;
19237
19238   case 808:
19239
19240 /* Line 1464 of yacc.c  */
19241 #line 2499 "grammar.y"
19242     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19243     break;
19244
19245   case 809:
19246
19247 /* Line 1464 of yacc.c  */
19248 #line 2500 "grammar.y"
19249     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19250     break;
19251
19252   case 810:
19253
19254 /* Line 1464 of yacc.c  */
19255 #line 2504 "grammar.y"
19256     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifier(PRIVATE)); ;}
19257     break;
19258
19259   case 811:
19260
19261 /* Line 1464 of yacc.c  */
19262 #line 2505 "grammar.y"
19263     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifier(PUBLIC)); ;}
19264     break;
19265
19266   case 812:
19267
19268 /* Line 1464 of yacc.c  */
19269 #line 2506 "grammar.y"
19270     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19271     break;
19272
19273   case 813:
19274
19275 /* Line 1464 of yacc.c  */
19276 #line 2507 "grammar.y"
19277     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19278     break;
19279
19280   case 814:
19281
19282 /* Line 1464 of yacc.c  */
19283 #line 2508 "grammar.y"
19284     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19285     break;
19286
19287   case 815:
19288
19289 /* Line 1464 of yacc.c  */
19290 #line 2509 "grammar.y"
19291     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19292     break;
19293
19294   case 816:
19295
19296 /* Line 1464 of yacc.c  */
19297 #line 2510 "grammar.y"
19298     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19299     break;
19300
19301   case 817:
19302
19303 /* Line 1464 of yacc.c  */
19304 #line 2511 "grammar.y"
19305     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19306     break;
19307
19308   case 818:
19309
19310 /* Line 1464 of yacc.c  */
19311 #line 2513 "grammar.y"
19312     { _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)); ;}
19313     break;
19314
19315   case 819:
19316
19317 /* Line 1464 of yacc.c  */
19318 #line 2514 "grammar.y"
19319     { (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)); ;}
19320     break;
19321
19322   case 820:
19323
19324 /* Line 1464 of yacc.c  */
19325 #line 2517 "grammar.y"
19326     {
19327          _DeclClass((yyvsp[(1) - (4)].id)._class, (yyvsp[(1) - (4)].id).string);
19328
19329          (yyval.list) = MkList();
19330          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19331          FreeIdentifier((yyvsp[(1) - (4)].id));
19332       ;}
19333     break;
19334
19335   case 821:
19336
19337 /* Line 1464 of yacc.c  */
19338 #line 2525 "grammar.y"
19339     {
19340          (yyval.list) = (yyvsp[(1) - (5)].list);
19341          _DeclClass((yyvsp[(2) - (5)].id)._class, (yyvsp[(2) - (5)].id).string);
19342          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19343          FreeIdentifier((yyvsp[(2) - (5)].id));
19344       ;}
19345     break;
19346
19347   case 823:
19348
19349 /* Line 1464 of yacc.c  */
19350 #line 2535 "grammar.y"
19351     { (yyval.list) = MkListOne(MkStructOrUnion((yyvsp[(1) - (1)].specifierType), null, null)); POP_DEFAULT_ACCESS ;}
19352     break;
19353
19354   case 824:
19355
19356 /* Line 1464 of yacc.c  */
19357 #line 2539 "grammar.y"
19358     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19359     break;
19360
19361   case 825:
19362
19363 /* Line 1464 of yacc.c  */
19364 #line 2540 "grammar.y"
19365     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19366     break;
19367
19368   case 826:
19369
19370 /* Line 1464 of yacc.c  */
19371 #line 2541 "grammar.y"
19372     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19373     break;
19374
19375   case 827:
19376
19377 /* Line 1464 of yacc.c  */
19378 #line 2542 "grammar.y"
19379     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19380     break;
19381
19382   case 828:
19383
19384 /* Line 1464 of yacc.c  */
19385 #line 2543 "grammar.y"
19386     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19387     break;
19388
19389   case 829:
19390
19391 /* Line 1464 of yacc.c  */
19392 #line 2544 "grammar.y"
19393     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19394     break;
19395
19396   case 830:
19397
19398 /* Line 1464 of yacc.c  */
19399 #line 2545 "grammar.y"
19400     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
19401     break;
19402
19403   case 831:
19404
19405 /* Line 1464 of yacc.c  */
19406 #line 2546 "grammar.y"
19407     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
19408     break;
19409
19410   case 832:
19411
19412 /* Line 1464 of yacc.c  */
19413 #line 2548 "grammar.y"
19414     {
19415          _DeclClass((yyvsp[(1) - (4)].id)._class, (yyvsp[(1) - (4)].id).string);
19416
19417          (yyval.list) = MkList();
19418          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19419          FreeIdentifier((yyvsp[(1) - (4)].id));
19420       ;}
19421     break;
19422
19423   case 833:
19424
19425 /* Line 1464 of yacc.c  */
19426 #line 2556 "grammar.y"
19427     {
19428          _DeclClass((yyvsp[(2) - (5)].id)._class, (yyvsp[(2) - (5)].id).string);
19429          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19430          FreeIdentifier((yyvsp[(2) - (5)].id));
19431       ;}
19432     break;
19433
19434   case 834:
19435
19436 /* Line 1464 of yacc.c  */
19437 #line 2564 "grammar.y"
19438     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19439     break;
19440
19441   case 835:
19442
19443 /* Line 1464 of yacc.c  */
19444 #line 2565 "grammar.y"
19445     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19446     break;
19447
19448   case 836:
19449
19450 /* Line 1464 of yacc.c  */
19451 #line 2566 "grammar.y"
19452     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19453     break;
19454
19455   case 837:
19456
19457 /* Line 1464 of yacc.c  */
19458 #line 2567 "grammar.y"
19459     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19460     break;
19461
19462   case 838:
19463
19464 /* Line 1464 of yacc.c  */
19465 #line 2568 "grammar.y"
19466     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19467     break;
19468
19469   case 839:
19470
19471 /* Line 1464 of yacc.c  */
19472 #line 2569 "grammar.y"
19473     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19474     break;
19475
19476   case 840:
19477
19478 /* Line 1464 of yacc.c  */
19479 #line 2570 "grammar.y"
19480     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19481     break;
19482
19483   case 841:
19484
19485 /* Line 1464 of yacc.c  */
19486 #line 2571 "grammar.y"
19487     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19488     break;
19489
19490   case 842:
19491
19492 /* Line 1464 of yacc.c  */
19493 #line 2572 "grammar.y"
19494     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19495     break;
19496
19497   case 843:
19498
19499 /* Line 1464 of yacc.c  */
19500 #line 2573 "grammar.y"
19501     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19502     break;
19503
19504   case 844:
19505
19506 /* Line 1464 of yacc.c  */
19507 #line 2574 "grammar.y"
19508     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
19509     break;
19510
19511   case 845:
19512
19513 /* Line 1464 of yacc.c  */
19514 #line 2575 "grammar.y"
19515     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
19516     break;
19517
19518   case 846:
19519
19520 /* Line 1464 of yacc.c  */
19521 #line 2577 "grammar.y"
19522     {
19523          _DeclClass((yyvsp[(1) - (4)].id)._class, (yyvsp[(1) - (4)].id).string);
19524
19525          (yyval.list) = MkList();
19526          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19527          FreeIdentifier((yyvsp[(1) - (4)].id));
19528       ;}
19529     break;
19530
19531   case 847:
19532
19533 /* Line 1464 of yacc.c  */
19534 #line 2585 "grammar.y"
19535     {
19536          _DeclClass((yyvsp[(2) - (5)].id)._class, (yyvsp[(2) - (5)].id).string);
19537          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19538          FreeIdentifier((yyvsp[(2) - (5)].id));
19539       ;}
19540     break;
19541
19542   case 848:
19543
19544 /* Line 1464 of yacc.c  */
19545 #line 2593 "grammar.y"
19546     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19547     break;
19548
19549   case 849:
19550
19551 /* Line 1464 of yacc.c  */
19552 #line 2594 "grammar.y"
19553     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19554     break;
19555
19556   case 850:
19557
19558 /* Line 1464 of yacc.c  */
19559 #line 2595 "grammar.y"
19560     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19561     break;
19562
19563   case 851:
19564
19565 /* Line 1464 of yacc.c  */
19566 #line 2596 "grammar.y"
19567     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19568     break;
19569
19570   case 852:
19571
19572 /* Line 1464 of yacc.c  */
19573 #line 2597 "grammar.y"
19574     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19575     break;
19576
19577   case 853:
19578
19579 /* Line 1464 of yacc.c  */
19580 #line 2598 "grammar.y"
19581     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19582     break;
19583
19584   case 854:
19585
19586 /* Line 1464 of yacc.c  */
19587 #line 2599 "grammar.y"
19588     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19589     break;
19590
19591   case 855:
19592
19593 /* Line 1464 of yacc.c  */
19594 #line 2600 "grammar.y"
19595     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19596     break;
19597
19598   case 856:
19599
19600 /* Line 1464 of yacc.c  */
19601 #line 2601 "grammar.y"
19602     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19603     break;
19604
19605   case 857:
19606
19607 /* Line 1464 of yacc.c  */
19608 #line 2602 "grammar.y"
19609     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19610     break;
19611
19612   case 858:
19613
19614 /* Line 1464 of yacc.c  */
19615 #line 2603 "grammar.y"
19616     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
19617     break;
19618
19619   case 859:
19620
19621 /* Line 1464 of yacc.c  */
19622 #line 2604 "grammar.y"
19623     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
19624     break;
19625
19626   case 860:
19627
19628 /* Line 1464 of yacc.c  */
19629 #line 2606 "grammar.y"
19630     {
19631          _DeclClass((yyvsp[(1) - (4)].id)._class, (yyvsp[(1) - (4)].id).string);
19632
19633          (yyval.list) = MkList();
19634          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19635          FreeIdentifier((yyvsp[(1) - (4)].id));
19636       ;}
19637     break;
19638
19639   case 861:
19640
19641 /* Line 1464 of yacc.c  */
19642 #line 2614 "grammar.y"
19643     {
19644          _DeclClass((yyvsp[(2) - (5)].id)._class, (yyvsp[(2) - (5)].id).string);
19645          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19646          FreeIdentifier((yyvsp[(2) - (5)].id));
19647       ;}
19648     break;
19649
19650   case 862:
19651
19652 /* Line 1464 of yacc.c  */
19653 #line 2622 "grammar.y"
19654     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
19655     break;
19656
19657   case 863:
19658
19659 /* Line 1464 of yacc.c  */
19660 #line 2623 "grammar.y"
19661     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
19662     break;
19663
19664   case 864:
19665
19666 /* Line 1464 of yacc.c  */
19667 #line 2627 "grammar.y"
19668     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(1) - (1)].id)))); ;}
19669     break;
19670
19671   case 865:
19672
19673 /* Line 1464 of yacc.c  */
19674 #line 2628 "grammar.y"
19675     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19676     break;
19677
19678   case 866:
19679
19680 /* Line 1464 of yacc.c  */
19681 #line 2629 "grammar.y"
19682     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19683     break;
19684
19685   case 867:
19686
19687 /* Line 1464 of yacc.c  */
19688 #line 2630 "grammar.y"
19689     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19690     break;
19691
19692   case 868:
19693
19694 /* Line 1464 of yacc.c  */
19695 #line 2631 "grammar.y"
19696     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19697     break;
19698
19699   case 870:
19700
19701 /* Line 1464 of yacc.c  */
19702 #line 2637 "grammar.y"
19703     {
19704       char * colon = RSearchString((yyvsp[(1) - (1)].specifier).name, "::", strlen((yyvsp[(1) - (1)].specifier).name), true, false);
19705       String s = colon ? colon + 2 : (yyvsp[(1) - (1)].specifier).name;
19706       (yyval.declarator) = MkDeclaratorIdentifier(MkIdentifier(s));
19707       FreeSpecifier((yyvsp[(1) - (1)].specifier));
19708    ;}
19709     break;
19710
19711   case 871:
19712
19713 /* Line 1464 of yacc.c  */
19714 #line 2643 "grammar.y"
19715     { (yyval.declarator) = MkDeclaratorIdentifier(MkIdentifier("uint")); ;}
19716     break;
19717
19718   case 872:
19719
19720 /* Line 1464 of yacc.c  */
19721 #line 2646 "grammar.y"
19722     {
19723          Declarator decl;
19724          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19725          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19726          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19727          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19728          (yyval.declarator) = MkDeclaratorArray(decl, (yyvsp[(3) - (4)].exp));
19729       ;}
19730     break;
19731
19732   case 873:
19733
19734 /* Line 1464 of yacc.c  */
19735 #line 2655 "grammar.y"
19736     {
19737          Declarator decl;
19738          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19739          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19740          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19741          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19742          (yyval.declarator) = MkDeclaratorArray(decl, (yyvsp[(3) - (4)].exp));
19743       ;}
19744     break;
19745
19746   case 874:
19747
19748 /* Line 1464 of yacc.c  */
19749 #line 2664 "grammar.y"
19750     {
19751          Declarator decl;
19752          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19753          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19754          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19755          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19756          (yyval.declarator) = MkDeclaratorEnumArray(decl, (yyvsp[(3) - (4)].specifier));
19757       ;}
19758     break;
19759
19760   case 875:
19761
19762 /* Line 1464 of yacc.c  */
19763 #line 2673 "grammar.y"
19764     {
19765          Declarator decl;
19766          char * colon = RSearchString((yyvsp[(1) - (3)].specifier).name, "::", strlen((yyvsp[(1) - (3)].specifier).name), true, false);
19767          String s = colon ? colon + 2 : (yyvsp[(1) - (3)].specifier).name;
19768          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19769          FreeSpecifier((yyvsp[(1) - (3)].specifier));
19770          (yyval.declarator) = MkDeclaratorEnumArray(decl, null);
19771       ;}
19772     break;
19773
19774   case 876:
19775
19776 /* Line 1464 of yacc.c  */
19777 #line 2681 "grammar.y"
19778     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19779     break;
19780
19781   case 877:
19782
19783 /* Line 1464 of yacc.c  */
19784 #line 2682 "grammar.y"
19785     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19786     break;
19787
19788   case 878:
19789
19790 /* Line 1464 of yacc.c  */
19791 #line 2683 "grammar.y"
19792     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
19793     break;
19794
19795   case 879:
19796
19797 /* Line 1464 of yacc.c  */
19798 #line 2684 "grammar.y"
19799     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19800     break;
19801
19802   case 880:
19803
19804 /* Line 1464 of yacc.c  */
19805 #line 2688 "grammar.y"
19806     { (yyval.declarator) = MkDeclaratorIdentifier((yyvsp[(1) - (1)].id)); ;}
19807     break;
19808
19809   case 881:
19810
19811 /* Line 1464 of yacc.c  */
19812 #line 2689 "grammar.y"
19813     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19814     break;
19815
19816   case 882:
19817
19818 /* Line 1464 of yacc.c  */
19819 #line 2690 "grammar.y"
19820     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19821     break;
19822
19823   case 883:
19824
19825 /* Line 1464 of yacc.c  */
19826 #line 2691 "grammar.y"
19827     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19828     break;
19829
19830   case 884:
19831
19832 /* Line 1464 of yacc.c  */
19833 #line 2692 "grammar.y"
19834     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19835     break;
19836
19837   case 885:
19838
19839 /* Line 1464 of yacc.c  */
19840 #line 2693 "grammar.y"
19841     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19842     break;
19843
19844   case 886:
19845
19846 /* Line 1464 of yacc.c  */
19847 #line 2694 "grammar.y"
19848     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19849     break;
19850
19851   case 887:
19852
19853 /* Line 1464 of yacc.c  */
19854 #line 2695 "grammar.y"
19855     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
19856     break;
19857
19858   case 888:
19859
19860 /* Line 1464 of yacc.c  */
19861 #line 2696 "grammar.y"
19862     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19863     break;
19864
19865   case 890:
19866
19867 /* Line 1464 of yacc.c  */
19868 #line 2704 "grammar.y"
19869     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19870     break;
19871
19872   case 891:
19873
19874 /* Line 1464 of yacc.c  */
19875 #line 2705 "grammar.y"
19876     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19877     break;
19878
19879   case 892:
19880
19881 /* Line 1464 of yacc.c  */
19882 #line 2706 "grammar.y"
19883     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19884     break;
19885
19886   case 893:
19887
19888 /* Line 1464 of yacc.c  */
19889 #line 2707 "grammar.y"
19890     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19891     break;
19892
19893   case 894:
19894
19895 /* Line 1464 of yacc.c  */
19896 #line 2708 "grammar.y"
19897     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); ;}
19898     break;
19899
19900   case 895:
19901
19902 /* Line 1464 of yacc.c  */
19903 #line 2714 "grammar.y"
19904     {
19905          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), (yyvsp[(2) - (2)].list));
19906          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19907          yyclearin;
19908          resetScannerPos(&(yylsp[(1) - (2)]).end);
19909          (yyloc).start = (yylsp[(1) - (2)]).start;
19910          (yyloc).end = (yylsp[(1) - (2)]).end;
19911       ;}
19912     break;
19913
19914   case 896:
19915
19916 /* Line 1464 of yacc.c  */
19917 #line 2723 "grammar.y"
19918     {
19919          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null);
19920          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19921          yyclearin;
19922          resetScannerPos(&(yylsp[(1) - (2)]).end);
19923          (yyloc).start = (yylsp[(1) - (2)]).start;
19924          (yyloc).end = (yylsp[(1) - (2)]).end;
19925       ;}
19926     break;
19927
19928   case 897:
19929
19930 /* Line 1464 of yacc.c  */
19931 #line 2732 "grammar.y"
19932     {
19933          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list));
19934          fileInput.Seek((yylsp[(1) - (3)]).end.pos, start);
19935          yyclearin;
19936          resetScannerPos(&(yylsp[(1) - (3)]).end);
19937          (yyloc).start = (yylsp[(1) - (3)]).start;
19938          (yyloc).end = (yylsp[(1) - (3)]).end;
19939       ;}
19940     break;
19941
19942   case 898:
19943
19944 /* Line 1464 of yacc.c  */
19945 #line 2741 "grammar.y"
19946     {
19947          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), null);
19948          fileInput.Seek((yylsp[(1) - (4)]).end.pos, start);
19949          yyclearin;
19950          resetScannerPos(&(yylsp[(1) - (4)]).end);
19951          (yyloc).start = (yylsp[(1) - (4)]).start;
19952          (yyloc).end = (yylsp[(1) - (4)]).end;
19953          FreeList((yyvsp[(2) - (4)].list), FreeSpecifier);
19954          FreeIdentifier((yyvsp[(3) - (4)].id));
19955       ;}
19956     break;
19957
19958   case 902:
19959
19960 /* Line 1464 of yacc.c  */
19961 #line 2764 "grammar.y"
19962     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19963     break;
19964
19965   case 903:
19966
19967 /* Line 1464 of yacc.c  */
19968 #line 2765 "grammar.y"
19969     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19970     break;
19971
19972   case 904:
19973
19974 /* Line 1464 of yacc.c  */
19975 #line 2766 "grammar.y"
19976     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19977     break;
19978
19979   case 905:
19980
19981 /* Line 1464 of yacc.c  */
19982 #line 2767 "grammar.y"
19983     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19984     break;
19985
19986   case 906:
19987
19988 /* Line 1464 of yacc.c  */
19989 #line 2768 "grammar.y"
19990     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); ;}
19991     break;
19992
19993   case 907:
19994
19995 /* Line 1464 of yacc.c  */
19996 #line 2774 "grammar.y"
19997     {
19998          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), (yyvsp[(2) - (2)].list));
19999          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
20000          yyclearin;
20001          resetScannerPos(&(yylsp[(1) - (2)]).end);
20002          (yyloc).start = (yylsp[(1) - (2)]).start;
20003          (yyloc).end = (yylsp[(1) - (2)]).end;
20004       ;}
20005     break;
20006
20007   case 908:
20008
20009 /* Line 1464 of yacc.c  */
20010 #line 2783 "grammar.y"
20011     {
20012          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null);
20013          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
20014          yyclearin;
20015          resetScannerPos(&(yylsp[(1) - (2)]).end);
20016          (yyloc).start = (yylsp[(1) - (2)]).start;
20017          (yyloc).end = (yylsp[(1) - (2)]).end;
20018       ;}
20019     break;
20020
20021   case 909:
20022
20023 /* Line 1464 of yacc.c  */
20024 #line 2792 "grammar.y"
20025     {
20026          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list));
20027          fileInput.Seek((yylsp[(1) - (3)]).end.pos, start);
20028          yyclearin;
20029          resetScannerPos(&(yylsp[(1) - (3)]).end);
20030          (yyloc).start = (yylsp[(1) - (3)]).start;
20031          (yyloc).end = (yylsp[(1) - (3)]).end;
20032       ;}
20033     break;
20034
20035   case 910:
20036
20037 /* Line 1464 of yacc.c  */
20038 #line 2801 "grammar.y"
20039     {
20040          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), null);
20041          fileInput.Seek((yylsp[(1) - (4)]).end.pos, start);
20042          yyclearin;
20043          resetScannerPos(&(yylsp[(1) - (4)]).end);
20044          (yyloc).start = (yylsp[(1) - (4)]).start;
20045          (yyloc).end = (yylsp[(1) - (4)]).end;
20046          FreeList((yyvsp[(2) - (4)].list), FreeSpecifier);
20047          FreeIdentifier((yyvsp[(3) - (4)].id));
20048       ;}
20049     break;
20050
20051   case 913:
20052
20053 /* Line 1464 of yacc.c  */
20054 #line 2864 "grammar.y"
20055     { (yyval.extDecl) = MkExtDeclString(CopyString(yytext)); ;}
20056     break;
20057
20058   case 914:
20059
20060 /* Line 1464 of yacc.c  */
20061 #line 2865 "grammar.y"
20062     { (yyval.extDecl) = MkExtDeclString(CopyString(yytext)); ;}
20063     break;
20064
20065   case 915:
20066
20067 /* Line 1464 of yacc.c  */
20068 #line 2866 "grammar.y"
20069     { (yyval.extDecl) = MkExtDeclAttrib((yyvsp[(1) - (1)].attrib)); ;}
20070     break;
20071
20072   case 916:
20073
20074 /* Line 1464 of yacc.c  */
20075 #line 2868 "grammar.y"
20076     {
20077          char temp[1024];
20078          strcpy(temp, "__asm__(");
20079          strcat(temp, (yyvsp[(3) - (4)].string));
20080          strcat(temp, ")");
20081          (yyval.extDecl) = MkExtDeclString(CopyString(temp));
20082          delete (yyvsp[(3) - (4)].string);
20083       ;}
20084     break;
20085
20086   case 917:
20087
20088 /* Line 1464 of yacc.c  */
20089 #line 2879 "grammar.y"
20090     { (yyval.i) = ATTRIB; ;}
20091     break;
20092
20093   case 918:
20094
20095 /* Line 1464 of yacc.c  */
20096 #line 2880 "grammar.y"
20097     { (yyval.i) = ATTRIB_DEP; ;}
20098     break;
20099
20100   case 919:
20101
20102 /* Line 1464 of yacc.c  */
20103 #line 2881 "grammar.y"
20104     { (yyval.i) = __ATTRIB; ;}
20105     break;
20106
20107   case 920:
20108
20109 /* Line 1464 of yacc.c  */
20110 #line 2886 "grammar.y"
20111     { (yyval.string)  = CopyString(yytext); ;}
20112     break;
20113
20114   case 921:
20115
20116 /* Line 1464 of yacc.c  */
20117 #line 2887 "grammar.y"
20118     { (yyval.string)  = CopyString(yytext); ;}
20119     break;
20120
20121   case 922:
20122
20123 /* Line 1464 of yacc.c  */
20124 #line 2888 "grammar.y"
20125     { (yyval.string)  = CopyString(yytext); ;}
20126     break;
20127
20128   case 923:
20129
20130 /* Line 1464 of yacc.c  */
20131 #line 2889 "grammar.y"
20132     { (yyval.string)  = CopyString(yytext); ;}
20133     break;
20134
20135   case 924:
20136
20137 /* Line 1464 of yacc.c  */
20138 #line 2890 "grammar.y"
20139     { (yyval.string)  = CopyString(yytext); ;}
20140     break;
20141
20142   case 925:
20143
20144 /* Line 1464 of yacc.c  */
20145 #line 2894 "grammar.y"
20146     { (yyval.attribute) = MkAttribute((yyvsp[(1) - (1)].string), null); (yyval.attribute).loc = (yyloc); ;}
20147     break;
20148
20149   case 926:
20150
20151 /* Line 1464 of yacc.c  */
20152 #line 2895 "grammar.y"
20153     { (yyval.attribute) = MkAttribute((yyvsp[(1) - (4)].string), MkExpBrackets((yyvsp[(3) - (4)].list))); (yyval.attribute).loc = (yyloc); ;}
20154     break;
20155
20156   case 927:
20157
20158 /* Line 1464 of yacc.c  */
20159 #line 2899 "grammar.y"
20160     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].attribute)); ;}
20161     break;
20162
20163   case 928:
20164
20165 /* Line 1464 of yacc.c  */
20166 #line 2900 "grammar.y"
20167     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].attribute)); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
20168     break;
20169
20170   case 929:
20171
20172 /* Line 1464 of yacc.c  */
20173 #line 2901 "grammar.y"
20174     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].attribute)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
20175     break;
20176
20177   case 930:
20178
20179 /* Line 1464 of yacc.c  */
20180 #line 2905 "grammar.y"
20181     { (yyval.attrib) = MkAttrib((yyvsp[(1) - (6)].i), (yyvsp[(4) - (6)].list)); (yyval.attrib).loc = (yyloc); ;}
20182     break;
20183
20184   case 931:
20185
20186 /* Line 1464 of yacc.c  */
20187 #line 2906 "grammar.y"
20188     { (yyval.attrib) = MkAttrib((yyvsp[(1) - (5)].i), null); (yyval.attrib).loc = (yyloc); ;}
20189     break;
20190
20191   case 932:
20192
20193 /* Line 1464 of yacc.c  */
20194 #line 2910 "grammar.y"
20195     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
20196     break;
20197
20198   case 933:
20199
20200 /* Line 1464 of yacc.c  */
20201 #line 2911 "grammar.y"
20202     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
20203     break;
20204
20205   case 934:
20206
20207 /* Line 1464 of yacc.c  */
20208 #line 2912 "grammar.y"
20209     { (yyval.declarator) = MkDeclaratorArray(null, null); ;}
20210     break;
20211
20212   case 935:
20213
20214 /* Line 1464 of yacc.c  */
20215 #line 2913 "grammar.y"
20216     { (yyval.declarator) = MkDeclaratorArray(null, (yyvsp[(2) - (3)].exp)); ;}
20217     break;
20218
20219   case 936:
20220
20221 /* Line 1464 of yacc.c  */
20222 #line 2914 "grammar.y"
20223     { (yyval.declarator) = MkDeclaratorArray(null, (yyvsp[(2) - (3)].exp)); ;}
20224     break;
20225
20226   case 937:
20227
20228 /* Line 1464 of yacc.c  */
20229 #line 2915 "grammar.y"
20230     { (yyval.declarator) = MkDeclaratorEnumArray(null, (yyvsp[(2) - (3)].specifier)); ;}
20231     break;
20232
20233   case 938:
20234
20235 /* Line 1464 of yacc.c  */
20236 #line 2916 "grammar.y"
20237     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
20238     break;
20239
20240   case 939:
20241
20242 /* Line 1464 of yacc.c  */
20243 #line 2917 "grammar.y"
20244     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
20245     break;
20246
20247   case 940:
20248
20249 /* Line 1464 of yacc.c  */
20250 #line 2918 "grammar.y"
20251     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
20252     break;
20253
20254   case 941:
20255
20256 /* Line 1464 of yacc.c  */
20257 #line 2919 "grammar.y"
20258     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
20259     break;
20260
20261   case 942:
20262
20263 /* Line 1464 of yacc.c  */
20264 #line 2920 "grammar.y"
20265     { (yyval.declarator) = MkDeclaratorFunction(null, null); ;}
20266     break;
20267
20268   case 943:
20269
20270 /* Line 1464 of yacc.c  */
20271 #line 2921 "grammar.y"
20272     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
20273     break;
20274
20275   case 944:
20276
20277 /* Line 1464 of yacc.c  */
20278 #line 2922 "grammar.y"
20279     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
20280     break;
20281
20282   case 945:
20283
20284 /* Line 1464 of yacc.c  */
20285 #line 2923 "grammar.y"
20286     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), null); ;}
20287     break;
20288
20289   case 946:
20290
20291 /* Line 1464 of yacc.c  */
20292 #line 2924 "grammar.y"
20293     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
20294     break;
20295
20296   case 947:
20297
20298 /* Line 1464 of yacc.c  */
20299 #line 2925 "grammar.y"
20300     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
20301     break;
20302
20303   case 948:
20304
20305 /* Line 1464 of yacc.c  */
20306 #line 2929 "grammar.y"
20307     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
20308     break;
20309
20310   case 949:
20311
20312 /* Line 1464 of yacc.c  */
20313 #line 2930 "grammar.y"
20314     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
20315     break;
20316
20317   case 950:
20318
20319 /* Line 1464 of yacc.c  */
20320 #line 2931 "grammar.y"
20321     { (yyval.declarator) = MkDeclaratorFunction(null, null); ;}
20322     break;
20323
20324   case 951:
20325
20326 /* Line 1464 of yacc.c  */
20327 #line 2932 "grammar.y"
20328     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
20329     break;
20330
20331   case 952:
20332
20333 /* Line 1464 of yacc.c  */
20334 #line 2933 "grammar.y"
20335     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
20336     break;
20337
20338   case 953:
20339
20340 /* Line 1464 of yacc.c  */
20341 #line 2934 "grammar.y"
20342     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), null); ;}
20343     break;
20344
20345   case 954:
20346
20347 /* Line 1464 of yacc.c  */
20348 #line 2935 "grammar.y"
20349     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
20350     break;
20351
20352   case 955:
20353
20354 /* Line 1464 of yacc.c  */
20355 #line 2936 "grammar.y"
20356     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
20357     break;
20358
20359   case 956:
20360
20361 /* Line 1464 of yacc.c  */
20362 #line 2940 "grammar.y"
20363     { (yyval.pointer) = MkPointer(null, null); ;}
20364     break;
20365
20366   case 957:
20367
20368 /* Line 1464 of yacc.c  */
20369 #line 2941 "grammar.y"
20370     { (yyval.pointer) = MkPointer((yyvsp[(2) - (2)].list), null); ;}
20371     break;
20372
20373   case 958:
20374
20375 /* Line 1464 of yacc.c  */
20376 #line 2942 "grammar.y"
20377     { (yyval.pointer) = MkPointer(null, (yyvsp[(2) - (2)].pointer)); ;}
20378     break;
20379
20380   case 959:
20381
20382 /* Line 1464 of yacc.c  */
20383 #line 2943 "grammar.y"
20384     { (yyval.pointer) = MkPointer((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].pointer)); ;}
20385     break;
20386
20387   case 960:
20388
20389 /* Line 1464 of yacc.c  */
20390 #line 2947 "grammar.y"
20391     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (1)].pointer), null); ;}
20392     break;
20393
20394   case 962:
20395
20396 /* Line 1464 of yacc.c  */
20397 #line 2949 "grammar.y"
20398     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20399     break;
20400
20401   case 963:
20402
20403 /* Line 1464 of yacc.c  */
20404 #line 2950 "grammar.y"
20405     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (2)].pointer), null)); ;}
20406     break;
20407
20408   case 964:
20409
20410 /* Line 1464 of yacc.c  */
20411 #line 2951 "grammar.y"
20412     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20413     break;
20414
20415   case 965:
20416
20417 /* Line 1464 of yacc.c  */
20418 #line 2955 "grammar.y"
20419     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (1)].pointer), null); ;}
20420     break;
20421
20422   case 967:
20423
20424 /* Line 1464 of yacc.c  */
20425 #line 2957 "grammar.y"
20426     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20427     break;
20428
20429   case 968:
20430
20431 /* Line 1464 of yacc.c  */
20432 #line 2958 "grammar.y"
20433     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (2)].pointer), null)); ;}
20434     break;
20435
20436   case 969:
20437
20438 /* Line 1464 of yacc.c  */
20439 #line 2959 "grammar.y"
20440     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20441     break;
20442
20443   case 971:
20444
20445 /* Line 1464 of yacc.c  */
20446 #line 2965 "grammar.y"
20447     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20448     break;
20449
20450   case 972:
20451
20452 /* Line 1464 of yacc.c  */
20453 #line 2967 "grammar.y"
20454     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20455     break;
20456
20457   case 973:
20458
20459 /* Line 1464 of yacc.c  */
20460 #line 2969 "grammar.y"
20461     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
20462     break;
20463
20464   case 974:
20465
20466 /* Line 1464 of yacc.c  */
20467 #line 2971 "grammar.y"
20468     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
20469     break;
20470
20471   case 976:
20472
20473 /* Line 1464 of yacc.c  */
20474 #line 2977 "grammar.y"
20475     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20476     break;
20477
20478   case 977:
20479
20480 /* Line 1464 of yacc.c  */
20481 #line 2979 "grammar.y"
20482     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20483     break;
20484
20485   case 978:
20486
20487 /* Line 1464 of yacc.c  */
20488 #line 2981 "grammar.y"
20489     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
20490     break;
20491
20492   case 980:
20493
20494 /* Line 1464 of yacc.c  */
20495 #line 2986 "grammar.y"
20496     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20497     break;
20498
20499   case 981:
20500
20501 /* Line 1464 of yacc.c  */
20502 #line 2987 "grammar.y"
20503     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20504     break;
20505
20506   case 982:
20507
20508 /* Line 1464 of yacc.c  */
20509 #line 2988 "grammar.y"
20510     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20511     break;
20512
20513   case 984:
20514
20515 /* Line 1464 of yacc.c  */
20516 #line 2993 "grammar.y"
20517     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20518     break;
20519
20520   case 985:
20521
20522 /* Line 1464 of yacc.c  */
20523 #line 2994 "grammar.y"
20524     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20525     break;
20526
20527   case 986:
20528
20529 /* Line 1464 of yacc.c  */
20530 #line 2995 "grammar.y"
20531     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20532     break;
20533
20534   case 988:
20535
20536 /* Line 1464 of yacc.c  */
20537 #line 3000 "grammar.y"
20538     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20539     break;
20540
20541   case 989:
20542
20543 /* Line 1464 of yacc.c  */
20544 #line 3001 "grammar.y"
20545     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20546     break;
20547
20548   case 990:
20549
20550 /* Line 1464 of yacc.c  */
20551 #line 3002 "grammar.y"
20552     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20553     break;
20554
20555   case 992:
20556
20557 /* Line 1464 of yacc.c  */
20558 #line 3007 "grammar.y"
20559     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20560     break;
20561
20562   case 993:
20563
20564 /* Line 1464 of yacc.c  */
20565 #line 3008 "grammar.y"
20566     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20567     break;
20568
20569   case 994:
20570
20571 /* Line 1464 of yacc.c  */
20572 #line 3009 "grammar.y"
20573     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20574     break;
20575
20576   case 996:
20577
20578 /* Line 1464 of yacc.c  */
20579 #line 3014 "grammar.y"
20580     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20581     break;
20582
20583   case 997:
20584
20585 /* Line 1464 of yacc.c  */
20586 #line 3015 "grammar.y"
20587     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20588     break;
20589
20590   case 998:
20591
20592 /* Line 1464 of yacc.c  */
20593 #line 3016 "grammar.y"
20594     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20595     break;
20596
20597   case 999:
20598
20599 /* Line 1464 of yacc.c  */
20600 #line 3020 "grammar.y"
20601     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20602     break;
20603
20604   case 1000:
20605
20606 /* Line 1464 of yacc.c  */
20607 #line 3021 "grammar.y"
20608     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (3)].list)); (yyval.initializer).loc = (yyloc); ;}
20609     break;
20610
20611   case 1001:
20612
20613 /* Line 1464 of yacc.c  */
20614 #line 3023 "grammar.y"
20615     {
20616          Compiler_Warning($"extra comma\n");
20617          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (4)].list));
20618          (yyval.initializer).loc = (yyloc);
20619
20620          {
20621             Expression exp = MkExpDummy();
20622             Initializer init = MkInitializerAssignment(exp);
20623             init.loc = (yylsp[(3) - (4)]);
20624             exp.loc = (yylsp[(3) - (4)]);
20625             ListAdd((yyvsp[(2) - (4)].list), init);
20626          }
20627       ;}
20628     break;
20629
20630   case 1002:
20631
20632 /* Line 1464 of yacc.c  */
20633 #line 3039 "grammar.y"
20634     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20635     break;
20636
20637   case 1003:
20638
20639 /* Line 1464 of yacc.c  */
20640 #line 3040 "grammar.y"
20641     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (4)].list)); (yyval.initializer).loc = (yyloc); ;}
20642     break;
20643
20644   case 1004:
20645
20646 /* Line 1464 of yacc.c  */
20647 #line 3041 "grammar.y"
20648     { yyerror(); (yyval.initializer) = MkInitializerList((yyvsp[(2) - (2)].list)); (yyval.initializer).loc = (yyloc); ;}
20649     break;
20650
20651   case 1005:
20652
20653 /* Line 1464 of yacc.c  */
20654 #line 3043 "grammar.y"
20655     {
20656          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (5)].list));
20657          (yyval.initializer).loc = (yyloc);
20658
20659          {
20660             Expression exp = MkExpDummy();
20661             Initializer init = MkInitializerAssignment(exp);
20662             init.loc = (yylsp[(3) - (5)]);
20663             exp.loc = (yylsp[(3) - (5)]);
20664             ListAdd((yyvsp[(2) - (5)].list), init);
20665          }
20666       ;}
20667     break;
20668
20669   case 1006:
20670
20671 /* Line 1464 of yacc.c  */
20672 #line 3056 "grammar.y"
20673     {
20674          yyerror();
20675          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (3)].list));
20676          (yyval.initializer).loc = (yyloc);
20677
20678          {
20679             Expression exp = MkExpDummy();
20680             Initializer init = MkInitializerAssignment(exp);
20681             init.loc = (yylsp[(3) - (3)]);
20682             exp.loc = (yylsp[(3) - (3)]);
20683             ListAdd((yyvsp[(2) - (3)].list), init);
20684          }
20685       ;}
20686     break;
20687
20688   case 1007:
20689
20690 /* Line 1464 of yacc.c  */
20691 #line 3072 "grammar.y"
20692     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20693     break;
20694
20695   case 1008:
20696
20697 /* Line 1464 of yacc.c  */
20698 #line 3074 "grammar.y"
20699     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20700     break;
20701
20702   case 1009:
20703
20704 /* Line 1464 of yacc.c  */
20705 #line 3078 "grammar.y"
20706     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20707     break;
20708
20709   case 1010:
20710
20711 /* Line 1464 of yacc.c  */
20712 #line 3079 "grammar.y"
20713     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20714     break;
20715
20716   case 1011:
20717
20718 /* Line 1464 of yacc.c  */
20719 #line 3083 "grammar.y"
20720     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initializer)); ;}
20721     break;
20722
20723   case 1012:
20724
20725 /* Line 1464 of yacc.c  */
20726 #line 3084 "grammar.y"
20727     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initializer)); ;}
20728     break;
20729
20730   case 1013:
20731
20732 /* Line 1464 of yacc.c  */
20733 #line 3085 "grammar.y"
20734     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initializer)); ;}
20735     break;
20736
20737   case 1014:
20738
20739 /* Line 1464 of yacc.c  */
20740 #line 3086 "grammar.y"
20741     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initializer)); ;}
20742     break;
20743
20744   case 1015:
20745
20746 /* Line 1464 of yacc.c  */
20747 #line 3089 "grammar.y"
20748     { yyerror(); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].initializer)); ;}
20749     break;
20750
20751   case 1016:
20752
20753 /* Line 1464 of yacc.c  */
20754 #line 3090 "grammar.y"
20755     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].initializer)); ;}
20756     break;
20757
20758   case 1017:
20759
20760 /* Line 1464 of yacc.c  */
20761 #line 3094 "grammar.y"
20762     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20763     break;
20764
20765   case 1018:
20766
20767 /* Line 1464 of yacc.c  */
20768 #line 3095 "grammar.y"
20769     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20770     break;
20771
20772   case 1019:
20773
20774 /* Line 1464 of yacc.c  */
20775 #line 3096 "grammar.y"
20776     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].initializer)); (yyval.initDeclarator).loc = (yyloc); (yyval.initDeclarator).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
20777     break;
20778
20779   case 1020:
20780
20781 /* Line 1464 of yacc.c  */
20782 #line 3100 "grammar.y"
20783     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (2)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20784     break;
20785
20786   case 1021:
20787
20788 /* Line 1464 of yacc.c  */
20789 #line 3104 "grammar.y"
20790     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].initializer)); (yyval.initDeclarator).loc = (yyloc); (yyval.initDeclarator).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
20791     break;
20792
20793   case 1022:
20794
20795 /* Line 1464 of yacc.c  */
20796 #line 3108 "grammar.y"
20797     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initDeclarator)); ;}
20798     break;
20799
20800   case 1023:
20801
20802 /* Line 1464 of yacc.c  */
20803 #line 3109 "grammar.y"
20804     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20805     break;
20806
20807   case 1024:
20808
20809 /* Line 1464 of yacc.c  */
20810 #line 3110 "grammar.y"
20811     { (yyval.list) = MkList(); ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("uint")), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20812     break;
20813
20814   case 1025:
20815
20816 /* Line 1464 of yacc.c  */
20817 #line 3111 "grammar.y"
20818     { (yyval.list) = MkList(); ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("int64")), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20819     break;
20820
20821   case 1026:
20822
20823 /* Line 1464 of yacc.c  */
20824 #line 3113 "grammar.y"
20825     {
20826       char * colon = RSearchString((yyvsp[(1) - (3)].specifier).name, "::", strlen((yyvsp[(1) - (3)].specifier).name), true, false);
20827       String s = colon ? colon + 2 : (yyvsp[(1) - (3)].specifier).name;
20828       (yyval.list) = MkList();
20829       ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), null));
20830       ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator));
20831       FreeSpecifier((yyvsp[(1) - (3)].specifier));
20832    ;}
20833     break;
20834
20835   case 1027:
20836
20837 /* Line 1464 of yacc.c  */
20838 #line 3121 "grammar.y"
20839     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20840     break;
20841
20842   case 1028:
20843
20844 /* Line 1464 of yacc.c  */
20845 #line 3130 "grammar.y"
20846     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initDeclarator)); ;}
20847     break;
20848
20849   case 1029:
20850
20851 /* Line 1464 of yacc.c  */
20852 #line 3131 "grammar.y"
20853     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].initDeclarator)); ;}
20854     break;
20855
20856   case 1030:
20857
20858 /* Line 1464 of yacc.c  */
20859 #line 3132 "grammar.y"
20860     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20861     break;
20862
20863   case 1031:
20864
20865 /* Line 1464 of yacc.c  */
20866 #line 3133 "grammar.y"
20867     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20868     break;
20869
20870   case 1032:
20871
20872 /* Line 1464 of yacc.c  */
20873 #line 3137 "grammar.y"
20874     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (1)].list), null); ;}
20875     break;
20876
20877   case 1033:
20878
20879 /* Line 1464 of yacc.c  */
20880 #line 3138 "grammar.y"
20881     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20882     break;
20883
20884   case 1034:
20885
20886 /* Line 1464 of yacc.c  */
20887 #line 3142 "grammar.y"
20888     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (1)].list), null); ;}
20889     break;
20890
20891   case 1035:
20892
20893 /* Line 1464 of yacc.c  */
20894 #line 3143 "grammar.y"
20895     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20896     break;
20897
20898   case 1036:
20899
20900 /* Line 1464 of yacc.c  */
20901 #line 3148 "grammar.y"
20902     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20903     break;
20904
20905   case 1037:
20906
20907 /* Line 1464 of yacc.c  */
20908 #line 3149 "grammar.y"
20909     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20910     break;
20911
20912   case 1038:
20913
20914 /* Line 1464 of yacc.c  */
20915 #line 3150 "grammar.y"
20916     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), MkDeclaratorPointer(MkPointer(null,null), null)); ;}
20917     break;
20918
20919   case 1039:
20920
20921 /* Line 1464 of yacc.c  */
20922 #line 3151 "grammar.y"
20923     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), MkDeclaratorPointer(MkPointer(null,null), (yyvsp[(3) - (3)].declarator))); ;}
20924     break;
20925
20926   case 1040:
20927
20928 /* Line 1464 of yacc.c  */
20929 #line 3152 "grammar.y"
20930     { (yyval.typeName) = MkTypeNameGuessDecl((yyvsp[(1) - (1)].list), null); ;}
20931     break;
20932
20933   case 1041:
20934
20935 /* Line 1464 of yacc.c  */
20936 #line 3154 "grammar.y"
20937     { (yyval.typeName) = MkTypeName(MkListOne(MkSpecifier(CLASS)), null); ;}
20938     break;
20939
20940   case 1042:
20941
20942 /* Line 1464 of yacc.c  */
20943 #line 3172 "grammar.y"
20944     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator)); ;}
20945     break;
20946
20947   case 1043:
20948
20949 /* Line 1464 of yacc.c  */
20950 #line 3173 "grammar.y"
20951     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator)); ;}
20952     break;
20953
20954   case 1044:
20955
20956 /* Line 1464 of yacc.c  */
20957 #line 3177 "grammar.y"
20958     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].typeName)); ;}
20959     break;
20960
20961   case 1045:
20962
20963 /* Line 1464 of yacc.c  */
20964 #line 3178 "grammar.y"
20965     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20966     break;
20967
20968   case 1046:
20969
20970 /* Line 1464 of yacc.c  */
20971 #line 3179 "grammar.y"
20972     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20973     break;
20974
20975   case 1047:
20976
20977 /* Line 1464 of yacc.c  */
20978 #line 3180 "grammar.y"
20979     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20980     break;
20981
20982   case 1048:
20983
20984 /* Line 1464 of yacc.c  */
20985 #line 3181 "grammar.y"
20986     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20987     break;
20988
20989   case 1049:
20990
20991 /* Line 1464 of yacc.c  */
20992 #line 3182 "grammar.y"
20993     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(MkList(), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].typeName)); ;}
20994     break;
20995
20996   case 1050:
20997
20998 /* Line 1464 of yacc.c  */
20999 #line 3184 "grammar.y"
21000     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
21001     break;
21002
21003   case 1051:
21004
21005 /* Line 1464 of yacc.c  */
21006 #line 3185 "grammar.y"
21007     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
21008     break;
21009
21010   case 1052:
21011
21012 /* Line 1464 of yacc.c  */
21013 #line 3186 "grammar.y"
21014     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
21015     break;
21016
21017   case 1053:
21018
21019 /* Line 1464 of yacc.c  */
21020 #line 3187 "grammar.y"
21021     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
21022     break;
21023
21024   case 1054:
21025
21026 /* Line 1464 of yacc.c  */
21027 #line 3191 "grammar.y"
21028     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].typeName)); ;}
21029     break;
21030
21031   case 1055:
21032
21033 /* Line 1464 of yacc.c  */
21034 #line 3192 "grammar.y"
21035     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
21036     break;
21037
21038   case 1056:
21039
21040 /* Line 1464 of yacc.c  */
21041 #line 3193 "grammar.y"
21042     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
21043     break;
21044
21045   case 1057:
21046
21047 /* Line 1464 of yacc.c  */
21048 #line 3194 "grammar.y"
21049     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
21050     break;
21051
21052   case 1058:
21053
21054 /* Line 1464 of yacc.c  */
21055 #line 3195 "grammar.y"
21056     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(MkList(), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].typeName)); ;}
21057     break;
21058
21059   case 1059:
21060
21061 /* Line 1464 of yacc.c  */
21062 #line 3197 "grammar.y"
21063     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
21064     break;
21065
21066   case 1060:
21067
21068 /* Line 1464 of yacc.c  */
21069 #line 3198 "grammar.y"
21070     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
21071     break;
21072
21073   case 1061:
21074
21075 /* Line 1464 of yacc.c  */
21076 #line 3199 "grammar.y"
21077     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
21078     break;
21079
21080   case 1063:
21081
21082 /* Line 1464 of yacc.c  */
21083 #line 3204 "grammar.y"
21084     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
21085     break;
21086
21087   case 1064:
21088
21089 /* Line 1464 of yacc.c  */
21090 #line 3205 "grammar.y"
21091     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
21092     break;
21093
21094   case 1065:
21095
21096 /* Line 1464 of yacc.c  */
21097 #line 3206 "grammar.y"
21098     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
21099     break;
21100
21101   case 1066:
21102
21103 /* Line 1464 of yacc.c  */
21104 #line 3207 "grammar.y"
21105     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
21106     break;
21107
21108   case 1067:
21109
21110 /* Line 1464 of yacc.c  */
21111 #line 3208 "grammar.y"
21112     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(null, null)); ;}
21113     break;
21114
21115   case 1069:
21116
21117 /* Line 1464 of yacc.c  */
21118 #line 3213 "grammar.y"
21119     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
21120     break;
21121
21122   case 1072:
21123
21124 /* Line 1464 of yacc.c  */
21125 #line 3220 "grammar.y"
21126     { (yyval.stmt) = MkExpressionStmt(null); FreeAttrib((yyvsp[(1) - (1)].attrib)); ;}
21127     break;
21128
21129   case 1074:
21130
21131 /* Line 1464 of yacc.c  */
21132 #line 3222 "grammar.y"
21133     { (yyval.stmt) = MkExpressionStmt(null); ;}
21134     break;
21135
21136   case 1075:
21137
21138 /* Line 1464 of yacc.c  */
21139 #line 3223 "grammar.y"
21140     { (yyval.stmt) = MkExpressionStmt(null); ;}
21141     break;
21142
21143   case 1076:
21144
21145 /* Line 1464 of yacc.c  */
21146 #line 3224 "grammar.y"
21147     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21148     break;
21149
21150   case 1084:
21151
21152 /* Line 1464 of yacc.c  */
21153 #line 3235 "grammar.y"
21154     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
21155     break;
21156
21157   case 1085:
21158
21159 /* Line 1464 of yacc.c  */
21160 #line 3236 "grammar.y"
21161     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
21162     break;
21163
21164   case 1086:
21165
21166 /* Line 1464 of yacc.c  */
21167 #line 3237 "grammar.y"
21168     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
21169     break;
21170
21171   case 1087:
21172
21173 /* Line 1464 of yacc.c  */
21174 #line 3238 "grammar.y"
21175     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
21176     break;
21177
21178   case 1088:
21179
21180 /* Line 1464 of yacc.c  */
21181 #line 3239 "grammar.y"
21182     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
21183     break;
21184
21185   case 1089:
21186
21187 /* Line 1464 of yacc.c  */
21188 #line 3240 "grammar.y"
21189     { (yyval.stmt) = (yyvsp[(1) - (2)].stmt); Compiler_Error($"syntax error\n"); ;}
21190     break;
21191
21192   case 1090:
21193
21194 /* Line 1464 of yacc.c  */
21195 #line 3241 "grammar.y"
21196     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (1)].list)); Compiler_Error($"syntax error\n"); (yyval.stmt).loc = (yylsp[(1) - (1)]); ;}
21197     break;
21198
21199   case 1091:
21200
21201 /* Line 1464 of yacc.c  */
21202 #line 3245 "grammar.y"
21203     { (yyval.asmField) = MkAsmField((yyvsp[(1) - (1)].string), null, null); (yyval.asmField).loc = (yylsp[(1) - (1)]); ;}
21204     break;
21205
21206   case 1092:
21207
21208 /* Line 1464 of yacc.c  */
21209 #line 3246 "grammar.y"
21210     { (yyval.asmField) = MkAsmField((yyvsp[(1) - (4)].string), (yyvsp[(3) - (4)].exp), null); (yyval.asmField).loc = (yyloc); ;}
21211     break;
21212
21213   case 1093:
21214
21215 /* Line 1464 of yacc.c  */
21216 #line 3247 "grammar.y"
21217     { (yyval.asmField) = MkAsmField((yyvsp[(4) - (7)].string), (yyvsp[(6) - (7)].exp), (yyvsp[(2) - (7)].id)); (yyval.asmField).loc = (yyloc); ;}
21218     break;
21219
21220   case 1094:
21221
21222 /* Line 1464 of yacc.c  */
21223 #line 3251 "grammar.y"
21224     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].asmField)); ;}
21225     break;
21226
21227   case 1095:
21228
21229 /* Line 1464 of yacc.c  */
21230 #line 3252 "grammar.y"
21231     { ListAdd((yyval.list), (yyvsp[(3) - (3)].asmField)); ;}
21232     break;
21233
21234   case 1096:
21235
21236 /* Line 1464 of yacc.c  */
21237 #line 3253 "grammar.y"
21238     { (yyval.list) = null; ;}
21239     break;
21240
21241   case 1097:
21242
21243 /* Line 1464 of yacc.c  */
21244 #line 3257 "grammar.y"
21245     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (6)].specifier), (yyvsp[(4) - (6)].string), null, null, null); (yyval.stmt).loc = (yyloc); ;}
21246     break;
21247
21248   case 1098:
21249
21250 /* Line 1464 of yacc.c  */
21251 #line 3258 "grammar.y"
21252     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (8)].specifier), (yyvsp[(4) - (8)].string), (yyvsp[(6) - (8)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
21253     break;
21254
21255   case 1099:
21256
21257 /* Line 1464 of yacc.c  */
21258 #line 3259 "grammar.y"
21259     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), (yyvsp[(6) - (10)].list), (yyvsp[(8) - (10)].list), null); (yyval.stmt).loc = (yyloc); ;}
21260     break;
21261
21262   case 1100:
21263
21264 /* Line 1464 of yacc.c  */
21265 #line 3260 "grammar.y"
21266     { (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); ;}
21267     break;
21268
21269   case 1101:
21270
21271 /* Line 1464 of yacc.c  */
21272 #line 3262 "grammar.y"
21273     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (8)].specifier), (yyvsp[(4) - (8)].string), null, (yyvsp[(6) - (8)].list), null); (yyval.stmt).loc = (yyloc); ;}
21274     break;
21275
21276   case 1102:
21277
21278 /* Line 1464 of yacc.c  */
21279 #line 3263 "grammar.y"
21280     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), null, (yyvsp[(6) - (10)].list), (yyvsp[(8) - (10)].list)); (yyval.stmt).loc = (yyloc); ;}
21281     break;
21282
21283   case 1103:
21284
21285 /* Line 1464 of yacc.c  */
21286 #line 3264 "grammar.y"
21287     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), (yyvsp[(6) - (10)].list), null, (yyvsp[(8) - (10)].list)); (yyval.stmt).loc = (yyloc); ;}
21288     break;
21289
21290   case 1104:
21291
21292 /* Line 1464 of yacc.c  */
21293 #line 3266 "grammar.y"
21294     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (5)].string), null, null, null); (yyval.stmt).loc = (yyloc); ;}
21295     break;
21296
21297   case 1105:
21298
21299 /* Line 1464 of yacc.c  */
21300 #line 3267 "grammar.y"
21301     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (7)].string), (yyvsp[(5) - (7)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
21302     break;
21303
21304   case 1106:
21305
21306 /* Line 1464 of yacc.c  */
21307 #line 3268 "grammar.y"
21308     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list), null); (yyval.stmt).loc = (yyloc); ;}
21309     break;
21310
21311   case 1107:
21312
21313 /* Line 1464 of yacc.c  */
21314 #line 3269 "grammar.y"
21315     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (11)].string), (yyvsp[(5) - (11)].list), (yyvsp[(7) - (11)].list), (yyvsp[(9) - (11)].list)); (yyval.stmt).loc = (yyloc); ;}
21316     break;
21317
21318   case 1108:
21319
21320 /* Line 1464 of yacc.c  */
21321 #line 3271 "grammar.y"
21322     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (7)].string), null, (yyvsp[(5) - (7)].list), null); (yyval.stmt).loc = (yyloc); ;}
21323     break;
21324
21325   case 1109:
21326
21327 /* Line 1464 of yacc.c  */
21328 #line 3272 "grammar.y"
21329     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), null, (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list)); (yyval.stmt).loc = (yyloc); ;}
21330     break;
21331
21332   case 1110:
21333
21334 /* Line 1464 of yacc.c  */
21335 #line 3273 "grammar.y"
21336     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), (yyvsp[(5) - (9)].list), null, (yyvsp[(7) - (9)].list)); (yyval.stmt).loc = (yyloc); ;}
21337     break;
21338
21339   case 1111:
21340
21341 /* Line 1464 of yacc.c  */
21342 #line 3277 "grammar.y"
21343     { (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21344     break;
21345
21346   case 1112:
21347
21348 /* Line 1464 of yacc.c  */
21349 #line 3278 "grammar.y"
21350     { /*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; ;}
21351     break;
21352
21353   case 1113:
21354
21355 /* Line 1464 of yacc.c  */
21356 #line 3279 "grammar.y"
21357     { /*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; ;}
21358     break;
21359
21360   case 1114:
21361
21362 /* Line 1464 of yacc.c  */
21363 #line 3280 "grammar.y"
21364     { /*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; ;}
21365     break;
21366
21367   case 1115:
21368
21369 /* Line 1464 of yacc.c  */
21370 #line 3281 "grammar.y"
21371     { /*if($3.type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING);*/ (yyval.stmt) = MkCaseStmt(null, (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21372     break;
21373
21374   case 1116:
21375
21376 /* Line 1464 of yacc.c  */
21377 #line 3283 "grammar.y"
21378     { 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); ;}
21379     break;
21380
21381   case 1117:
21382
21383 /* Line 1464 of yacc.c  */
21384 #line 3284 "grammar.y"
21385     { 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; ;}
21386     break;
21387
21388   case 1118:
21389
21390 /* Line 1464 of yacc.c  */
21391 #line 3285 "grammar.y"
21392     { 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; ;}
21393     break;
21394
21395   case 1119:
21396
21397 /* Line 1464 of yacc.c  */
21398 #line 3286 "grammar.y"
21399     { 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; ;}
21400     break;
21401
21402   case 1120:
21403
21404 /* Line 1464 of yacc.c  */
21405 #line 3287 "grammar.y"
21406     { 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); ;}
21407     break;
21408
21409   case 1121:
21410
21411 /* Line 1464 of yacc.c  */
21412 #line 3291 "grammar.y"
21413     { (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21414     break;
21415
21416   case 1122:
21417
21418 /* Line 1464 of yacc.c  */
21419 #line 3292 "grammar.y"
21420     { /*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; ;}
21421     break;
21422
21423   case 1123:
21424
21425 /* Line 1464 of yacc.c  */
21426 #line 3293 "grammar.y"
21427     { /*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; ;}
21428     break;
21429
21430   case 1124:
21431
21432 /* Line 1464 of yacc.c  */
21433 #line 3294 "grammar.y"
21434     { /*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; ;}
21435     break;
21436
21437   case 1125:
21438
21439 /* Line 1464 of yacc.c  */
21440 #line 3295 "grammar.y"
21441     { (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; ;}
21442     break;
21443
21444   case 1126:
21445
21446 /* Line 1464 of yacc.c  */
21447 #line 3296 "grammar.y"
21448     { /*if($3.type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING);*/ (yyval.stmt) = MkCaseStmt(null, (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21449     break;
21450
21451   case 1127:
21452
21453 /* Line 1464 of yacc.c  */
21454 #line 3297 "grammar.y"
21455     { (yyval.stmt) = MkCaseStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21456     break;
21457
21458   case 1128:
21459
21460 /* Line 1464 of yacc.c  */
21461 #line 3299 "grammar.y"
21462     { 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); ;}
21463     break;
21464
21465   case 1129:
21466
21467 /* Line 1464 of yacc.c  */
21468 #line 3300 "grammar.y"
21469     { 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; ;}
21470     break;
21471
21472   case 1130:
21473
21474 /* Line 1464 of yacc.c  */
21475 #line 3301 "grammar.y"
21476     { 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; ;}
21477     break;
21478
21479   case 1131:
21480
21481 /* Line 1464 of yacc.c  */
21482 #line 3302 "grammar.y"
21483     { 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; ;}
21484     break;
21485
21486   case 1132:
21487
21488 /* Line 1464 of yacc.c  */
21489 #line 3303 "grammar.y"
21490     { 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); ;}
21491     break;
21492
21493   case 1133:
21494
21495 /* Line 1464 of yacc.c  */
21496 #line 3307 "grammar.y"
21497     { (yyval.declMode) = structDeclMode = declMode = publicAccess; ;}
21498     break;
21499
21500   case 1134:
21501
21502 /* Line 1464 of yacc.c  */
21503 #line 3308 "grammar.y"
21504     { (yyval.declMode) = structDeclMode = declMode = privateAccess; ;}
21505     break;
21506
21507   case 1135:
21508
21509 /* Line 1464 of yacc.c  */
21510 #line 3309 "grammar.y"
21511     { (yyval.declMode) = structDeclMode = declMode = defaultAccess; ;}
21512     break;
21513
21514   case 1136:
21515
21516 /* Line 1464 of yacc.c  */
21517 #line 3313 "grammar.y"
21518     { (yyval.declMode) = publicAccess; ;}
21519     break;
21520
21521   case 1137:
21522
21523 /* Line 1464 of yacc.c  */
21524 #line 3314 "grammar.y"
21525     { (yyval.declMode) = privateAccess; ;}
21526     break;
21527
21528   case 1138:
21529
21530 /* Line 1464 of yacc.c  */
21531 #line 3318 "grammar.y"
21532     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21533     break;
21534
21535   case 1139:
21536
21537 /* Line 1464 of yacc.c  */
21538 #line 3319 "grammar.y"
21539     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21540     break;
21541
21542   case 1140:
21543
21544 /* Line 1464 of yacc.c  */
21545 #line 3320 "grammar.y"
21546     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21547     break;
21548
21549   case 1141:
21550
21551 /* Line 1464 of yacc.c  */
21552 #line 3321 "grammar.y"
21553     { (yyval.declaration) = (yyvsp[(1) - (2)].declaration); structDeclMode = defaultDeclMode; ;}
21554     break;
21555
21556   case 1142:
21557
21558 /* Line 1464 of yacc.c  */
21559 #line 3325 "grammar.y"
21560     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); ;}
21561     break;
21562
21563   case 1143:
21564
21565 /* Line 1464 of yacc.c  */
21566 #line 3326 "grammar.y"
21567     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
21568     break;
21569
21570   case 1144:
21571
21572 /* Line 1464 of yacc.c  */
21573 #line 3327 "grammar.y"
21574     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
21575     break;
21576
21577   case 1145:
21578
21579 /* Line 1464 of yacc.c  */
21580 #line 3329 "grammar.y"
21581     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); ;}
21582     break;
21583
21584   case 1146:
21585
21586 /* Line 1464 of yacc.c  */
21587 #line 3330 "grammar.y"
21588     { (yyval.declaration) = MkDeclarationDefine((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].exp)); (yyval.declaration).loc = (yyloc); ;}
21589     break;
21590
21591   case 1147:
21592
21593 /* Line 1464 of yacc.c  */
21594 #line 3331 "grammar.y"
21595     { structDeclMode = declMode = staticAccess; (yyval.declaration) = MkDeclarationDefine((yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].exp)); (yyval.declaration).loc = (yyloc); ;}
21596     break;
21597
21598   case 1148:
21599
21600 /* Line 1464 of yacc.c  */
21601 #line 3335 "grammar.y"
21602     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); yyerrok; ;}
21603     break;
21604
21605   case 1149:
21606
21607 /* Line 1464 of yacc.c  */
21608 #line 3339 "grammar.y"
21609     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21610     break;
21611
21612   case 1150:
21613
21614 /* Line 1464 of yacc.c  */
21615 #line 3340 "grammar.y"
21616     { structDeclMode = defaultDeclMode;  ;}
21617     break;
21618
21619   case 1151:
21620
21621 /* Line 1464 of yacc.c  */
21622 #line 3342 "grammar.y"
21623     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21624     break;
21625
21626   case 1152:
21627
21628 /* Line 1464 of yacc.c  */
21629 #line 3343 "grammar.y"
21630     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21631     break;
21632
21633   case 1153:
21634
21635 /* Line 1464 of yacc.c  */
21636 #line 3344 "grammar.y"
21637     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21638     break;
21639
21640   case 1154:
21641
21642 /* Line 1464 of yacc.c  */
21643 #line 3348 "grammar.y"
21644     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declaration)); /*declMode = defaultDeclMode;*/ ;}
21645     break;
21646
21647   case 1155:
21648
21649 /* Line 1464 of yacc.c  */
21650 #line 3349 "grammar.y"
21651     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); /*declMode = defaultDeclMode; */;}
21652     break;
21653
21654   case 1156:
21655
21656 /* Line 1464 of yacc.c  */
21657 #line 3350 "grammar.y"
21658     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); /*declMode = defaultDeclMode; */;}
21659     break;
21660
21661   case 1157:
21662
21663 /* Line 1464 of yacc.c  */
21664 #line 3351 "grammar.y"
21665     { (yyval.list) = (yyvsp[(1) - (3)].list); ;}
21666     break;
21667
21668   case 1158:
21669
21670 /* Line 1464 of yacc.c  */
21671 #line 3355 "grammar.y"
21672     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declaration)); ;}
21673     break;
21674
21675   case 1159:
21676
21677 /* Line 1464 of yacc.c  */
21678 #line 3356 "grammar.y"
21679     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); ;}
21680     break;
21681
21682   case 1160:
21683
21684 /* Line 1464 of yacc.c  */
21685 #line 3360 "grammar.y"
21686     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].stmt)); ;}
21687     break;
21688
21689   case 1161:
21690
21691 /* Line 1464 of yacc.c  */
21692 #line 3361 "grammar.y"
21693     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21694     break;
21695
21696   case 1162:
21697
21698 /* Line 1464 of yacc.c  */
21699 #line 3362 "grammar.y"
21700     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21701     break;
21702
21703   case 1163:
21704
21705 /* Line 1464 of yacc.c  */
21706 #line 3366 "grammar.y"
21707     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].stmt)); ;}
21708     break;
21709
21710   case 1164:
21711
21712 /* Line 1464 of yacc.c  */
21713 #line 3367 "grammar.y"
21714     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21715     break;
21716
21717   case 1165:
21718
21719 /* Line 1464 of yacc.c  */
21720 #line 3368 "grammar.y"
21721     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21722     break;
21723
21724   case 1166:
21725
21726 /* Line 1464 of yacc.c  */
21727 #line 3369 "grammar.y"
21728     { 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;*/ ;}
21729     break;
21730
21731   case 1167:
21732
21733 /* Line 1464 of yacc.c  */
21734 #line 3370 "grammar.y"
21735     { 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;*/ ;}
21736     break;
21737
21738   case 1168:
21739
21740 /* Line 1464 of yacc.c  */
21741 #line 3371 "grammar.y"
21742     { 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;*/ ;}
21743     break;
21744
21745   case 1169:
21746
21747 /* Line 1464 of yacc.c  */
21748 #line 3372 "grammar.y"
21749     { 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;*/ ;}
21750     break;
21751
21752   case 1170:
21753
21754 /* Line 1464 of yacc.c  */
21755 #line 3376 "grammar.y"
21756     { (yyval.stmt) = MkCompoundStmt(null, (yyvsp[(1) - (1)].list)); ;}
21757     break;
21758
21759   case 1171:
21760
21761 /* Line 1464 of yacc.c  */
21762 #line 3377 "grammar.y"
21763     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (1)].list), null); ;}
21764     break;
21765
21766   case 1172:
21767
21768 /* Line 1464 of yacc.c  */
21769 #line 3378 "grammar.y"
21770     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21771     break;
21772
21773   case 1173:
21774
21775 /* Line 1464 of yacc.c  */
21776 #line 3379 "grammar.y"
21777     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21778     break;
21779
21780   case 1174:
21781
21782 /* Line 1464 of yacc.c  */
21783 #line 3383 "grammar.y"
21784     { (yyval.stmt) = MkCompoundStmt(null, (yyvsp[(1) - (1)].list)); ;}
21785     break;
21786
21787   case 1175:
21788
21789 /* Line 1464 of yacc.c  */
21790 #line 3384 "grammar.y"
21791     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (1)].list), null); ;}
21792     break;
21793
21794   case 1176:
21795
21796 /* Line 1464 of yacc.c  */
21797 #line 3385 "grammar.y"
21798     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21799     break;
21800
21801   case 1177:
21802
21803 /* Line 1464 of yacc.c  */
21804 #line 3386 "grammar.y"
21805     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21806     break;
21807
21808   case 1178:
21809
21810 /* Line 1464 of yacc.c  */
21811 #line 3390 "grammar.y"
21812     { (yyval.context) = PushContext(); ;}
21813     break;
21814
21815   case 1179:
21816
21817 /* Line 1464 of yacc.c  */
21818 #line 3394 "grammar.y"
21819     { (yyval.stmt) = (yyvsp[(1) - (2)].stmt); (yyval.stmt).loc = (yyloc); ;}
21820     break;
21821
21822   case 1180:
21823
21824 /* Line 1464 of yacc.c  */
21825 #line 3399 "grammar.y"
21826     { (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++; ;}
21827     break;
21828
21829   case 1181:
21830
21831 /* Line 1464 of yacc.c  */
21832 #line 3401 "grammar.y"
21833     { (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++; ;}
21834     break;
21835
21836   case 1182:
21837
21838 /* Line 1464 of yacc.c  */
21839 #line 3404 "grammar.y"
21840     { (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++; ;}
21841     break;
21842
21843   case 1183:
21844
21845 /* Line 1464 of yacc.c  */
21846 #line 3409 "grammar.y"
21847     { (yyval.stmt) = MkExpressionStmt(null); (yyval.stmt).loc = (yyloc); ;}
21848     break;
21849
21850   case 1184:
21851
21852 /* Line 1464 of yacc.c  */
21853 #line 3410 "grammar.y"
21854     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21855     break;
21856
21857   case 1185:
21858
21859 /* Line 1464 of yacc.c  */
21860 #line 3411 "grammar.y"
21861     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21862     break;
21863
21864   case 1186:
21865
21866 /* Line 1464 of yacc.c  */
21867 #line 3415 "grammar.y"
21868     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21869     break;
21870
21871   case 1187:
21872
21873 /* Line 1464 of yacc.c  */
21874 #line 3416 "grammar.y"
21875     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21876     break;
21877
21878   case 1188:
21879
21880 /* Line 1464 of yacc.c  */
21881 #line 3417 "grammar.y"
21882     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].stmt), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21883     break;
21884
21885   case 1189:
21886
21887 /* Line 1464 of yacc.c  */
21888 #line 3418 "grammar.y"
21889     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].stmt), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21890     break;
21891
21892   case 1190:
21893
21894 /* Line 1464 of yacc.c  */
21895 #line 3419 "grammar.y"
21896     { (yyval.stmt) = MkSwitchStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21897     break;
21898
21899   case 1191:
21900
21901 /* Line 1464 of yacc.c  */
21902 #line 3420 "grammar.y"
21903     { (yyval.stmt) = MkSwitchStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21904     break;
21905
21906   case 1192:
21907
21908 /* Line 1464 of yacc.c  */
21909 #line 3424 "grammar.y"
21910     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (3)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
21911     break;
21912
21913   case 1194:
21914
21915 /* Line 1464 of yacc.c  */
21916 #line 3429 "grammar.y"
21917     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21918     break;
21919
21920   case 1195:
21921
21922 /* Line 1464 of yacc.c  */
21923 #line 3430 "grammar.y"
21924     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21925     break;
21926
21927   case 1196:
21928
21929 /* Line 1464 of yacc.c  */
21930 #line 3431 "grammar.y"
21931     { yyerror(); (yyval.stmt) = MkWhileStmt(null, (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21932     break;
21933
21934   case 1197:
21935
21936 /* Line 1464 of yacc.c  */
21937 #line 3433 "grammar.y"
21938     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (7)].stmt), (yyvsp[(5) - (7)].list)); (yyval.stmt).loc = (yyloc); ;}
21939     break;
21940
21941   case 1198:
21942
21943 /* Line 1464 of yacc.c  */
21944 #line 3434 "grammar.y"
21945     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (6)].stmt), (yyvsp[(5) - (6)].list)); (yyval.stmt).loc = (yyloc); ;}
21946     break;
21947
21948   case 1199:
21949
21950 /* Line 1464 of yacc.c  */
21951 #line 3436 "grammar.y"
21952     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), null, (yyvsp[(6) - (6)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21953     break;
21954
21955   case 1200:
21956
21957 /* Line 1464 of yacc.c  */
21958 #line 3437 "grammar.y"
21959     { yyerror(); (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), null, null, (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21960     break;
21961
21962   case 1201:
21963
21964 /* Line 1464 of yacc.c  */
21965 #line 3438 "grammar.y"
21966     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (7)].stmt), (yyvsp[(4) - (7)].stmt), (yyvsp[(5) - (7)].list), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21967     break;
21968
21969   case 1202:
21970
21971 /* Line 1464 of yacc.c  */
21972 #line 3439 "grammar.y"
21973     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), (yyvsp[(5) - (6)].list), (yyvsp[(6) - (6)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21974     break;
21975
21976   case 1203:
21977
21978 /* Line 1464 of yacc.c  */
21979 #line 3440 "grammar.y"
21980     { yyerror(); (yyval.stmt) = MkForStmt(null, null, null, (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21981     break;
21982
21983   case 1204:
21984
21985 /* Line 1464 of yacc.c  */
21986 #line 3442 "grammar.y"
21987     { (yyval.stmt) = MkForEachStmt((yyvsp[(3) - (7)].id), (yyvsp[(5) - (7)].list), null, (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21988     break;
21989
21990   case 1205:
21991
21992 /* Line 1464 of yacc.c  */
21993 #line 3443 "grammar.y"
21994     { (yyval.stmt) = MkForEachStmt((yyvsp[(3) - (9)].id), (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list), (yyvsp[(9) - (9)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21995     break;
21996
21997   case 1206:
21998
21999 /* Line 1464 of yacc.c  */
22000 #line 3447 "grammar.y"
22001     { (yyval.stmt) = MkForStmt(null, null, null, null); (yyval.stmt).loc = (yyloc); ;}
22002     break;
22003
22004   case 1207:
22005
22006 /* Line 1464 of yacc.c  */
22007 #line 3448 "grammar.y"
22008     { (yyval.stmt) = MkForStmt(MkExpressionStmt((yyvsp[(3) - (4)].list)), null, null, null); (yyval.stmt).forStmt.init.loc = (yylsp[(3) - (4)]); (yyval.stmt).loc = (yyloc); ;}
22009     break;
22010
22011   case 1208:
22012
22013 /* Line 1464 of yacc.c  */
22014 #line 3449 "grammar.y"
22015     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (4)].stmt), null, null, null); (yyval.stmt).loc = (yyloc); ;}
22016     break;
22017
22018   case 1209:
22019
22020 /* Line 1464 of yacc.c  */
22021 #line 3450 "grammar.y"
22022     { (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)]); ;}
22023     break;
22024
22025   case 1210:
22026
22027 /* Line 1464 of yacc.c  */
22028 #line 3454 "grammar.y"
22029     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), (yyvsp[(4) - (5)].stmt), (yyvsp[(5) - (5)].list), null); (yyval.stmt).loc = (yyloc); ;}
22030     break;
22031
22032   case 1211:
22033
22034 /* Line 1464 of yacc.c  */
22035 #line 3455 "grammar.y"
22036     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), null, (yyvsp[(6) - (6)].stmt)); (yyval.stmt).loc = (yyloc); ;}
22037     break;
22038
22039   case 1212:
22040
22041 /* Line 1464 of yacc.c  */
22042 #line 3456 "grammar.y"
22043     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (7)].stmt), (yyvsp[(4) - (7)].stmt), (yyvsp[(5) - (7)].list), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
22044     break;
22045
22046   case 1213:
22047
22048 /* Line 1464 of yacc.c  */
22049 #line 3457 "grammar.y"
22050     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), (yyvsp[(5) - (6)].list), (yyvsp[(6) - (6)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
22051     break;
22052
22053   case 1214:
22054
22055 /* Line 1464 of yacc.c  */
22056 #line 3459 "grammar.y"
22057     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (6)].stmt), (yyvsp[(5) - (6)].list)); (yyval.stmt).loc = (yyloc); ;}
22058     break;
22059
22060   case 1215:
22061
22062 /* Line 1464 of yacc.c  */
22063 #line 3460 "grammar.y"
22064     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (5)].stmt), (yyvsp[(5) - (5)].list)); (yyval.stmt).loc = (yyloc); ;}
22065     break;
22066
22067   case 1216:
22068
22069 /* Line 1464 of yacc.c  */
22070 #line 3461 "grammar.y"
22071     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (5)].stmt), (yyvsp[(5) - (5)].list)); (yyval.stmt).loc = (yyloc); ;}
22072     break;
22073
22074   case 1217:
22075
22076 /* Line 1464 of yacc.c  */
22077 #line 3462 "grammar.y"
22078     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (4)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
22079     break;
22080
22081   case 1218:
22082
22083 /* Line 1464 of yacc.c  */
22084 #line 3463 "grammar.y"
22085     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (3)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
22086     break;
22087
22088   case 1219:
22089
22090 /* Line 1464 of yacc.c  */
22091 #line 3464 "grammar.y"
22092     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (2)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
22093     break;
22094
22095   case 1220:
22096
22097 /* Line 1464 of yacc.c  */
22098 #line 3465 "grammar.y"
22099     { yyerror(); (yyval.stmt) = MkDoWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
22100     break;
22101
22102   case 1221:
22103
22104 /* Line 1464 of yacc.c  */
22105 #line 3468 "grammar.y"
22106     { (yyval.stmt) = MkWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
22107     break;
22108
22109   case 1222:
22110
22111 /* Line 1464 of yacc.c  */
22112 #line 3472 "grammar.y"
22113     { (yyval.stmt) = MkWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
22114     break;
22115
22116   case 1223:
22117
22118 /* Line 1464 of yacc.c  */
22119 #line 3473 "grammar.y"
22120     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (3)].list), null); (yyval.stmt).loc = (yyloc); ;}
22121     break;
22122
22123   case 1224:
22124
22125 /* Line 1464 of yacc.c  */
22126 #line 3477 "grammar.y"
22127     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
22128     break;
22129
22130   case 1225:
22131
22132 /* Line 1464 of yacc.c  */
22133 #line 3478 "grammar.y"
22134     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
22135     break;
22136
22137   case 1226:
22138
22139 /* Line 1464 of yacc.c  */
22140 #line 3482 "grammar.y"
22141     { (yyval.stmt) = MkGotoStmt((yyvsp[(2) - (3)].id)); (yyval.stmt).loc = (yyloc); ;}
22142     break;
22143
22144   case 1227:
22145
22146 /* Line 1464 of yacc.c  */
22147 #line 3483 "grammar.y"
22148     { (yyval.stmt) = MkContinueStmt(); (yyval.stmt).loc = (yyloc); ;}
22149     break;
22150
22151   case 1228:
22152
22153 /* Line 1464 of yacc.c  */
22154 #line 3484 "grammar.y"
22155     { (yyval.stmt) = MkBreakStmt(); (yyval.stmt).loc = (yyloc); ;}
22156     break;
22157
22158   case 1229:
22159
22160 /* Line 1464 of yacc.c  */
22161 #line 3485 "grammar.y"
22162     { Expression exp = MkExpDummy(); (yyval.stmt) = MkReturnStmt(MkListOne(exp)); (yyval.stmt).loc = (yyloc); exp.loc = (yylsp[(2) - (2)]); ;}
22163     break;
22164
22165   case 1230:
22166
22167 /* Line 1464 of yacc.c  */
22168 #line 3486 "grammar.y"
22169     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (3)].list)); (yyval.stmt).loc = (yyloc); ;}
22170     break;
22171
22172   case 1231:
22173
22174 /* Line 1464 of yacc.c  */
22175 #line 3487 "grammar.y"
22176     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (3)].list)); (yyval.stmt).loc = (yyloc); ;}
22177     break;
22178
22179   case 1232:
22180
22181 /* Line 1464 of yacc.c  */
22182 #line 3488 "grammar.y"
22183     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (3)].exp))); (yyval.stmt).loc = (yyloc); ;}
22184     break;
22185
22186   case 1233:
22187
22188 /* Line 1464 of yacc.c  */
22189 #line 3489 "grammar.y"
22190     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (3)].exp))); (yyval.stmt).loc = (yyloc); ;}
22191     break;
22192
22193   case 1234:
22194
22195 /* Line 1464 of yacc.c  */
22196 #line 3493 "grammar.y"
22197     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
22198     break;
22199
22200   case 1235:
22201
22202 /* Line 1464 of yacc.c  */
22203 #line 3494 "grammar.y"
22204     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (2)].exp))); (yyval.stmt).loc = (yyloc); ;}
22205     break;
22206
22207   case 1236:
22208
22209 /* Line 1464 of yacc.c  */
22210 #line 3495 "grammar.y"
22211     { Expression exp = MkExpDummy(); (yyval.stmt) = MkReturnStmt(MkListOne(exp)); (yyval.stmt).loc = (yyloc); exp.loc.start = exp.loc.end = (yylsp[(1) - (1)]).end; ;}
22212     break;
22213
22214   case 1237:
22215
22216 /* Line 1464 of yacc.c  */
22217 #line 3496 "grammar.y"
22218     { (yyval.stmt) = MkGotoStmt(null); (yyval.stmt).loc = (yyloc); ;}
22219     break;
22220
22221   case 1238:
22222
22223 /* Line 1464 of yacc.c  */
22224 #line 3502 "grammar.y"
22225     { (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); ;}
22226     break;
22227
22228   case 1239:
22229
22230 /* Line 1464 of yacc.c  */
22231 #line 3504 "grammar.y"
22232     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
22233     break;
22234
22235   case 1240:
22236
22237 /* Line 1464 of yacc.c  */
22238 #line 3505 "grammar.y"
22239     { (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); ;}
22240     break;
22241
22242   case 1241:
22243
22244 /* Line 1464 of yacc.c  */
22245 #line 3507 "grammar.y"
22246     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
22247     break;
22248
22249   case 1242:
22250
22251 /* Line 1464 of yacc.c  */
22252 #line 3509 "grammar.y"
22253     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
22254     break;
22255
22256   case 1243:
22257
22258 /* Line 1464 of yacc.c  */
22259 #line 3510 "grammar.y"
22260     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (2)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(2) - (2)].stmt)); (yyval.function).loc = (yyloc);;}
22261     break;
22262
22263   case 1244:
22264
22265 /* Line 1464 of yacc.c  */
22266 #line 3513 "grammar.y"
22267     { (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; ;}
22268     break;
22269
22270   case 1245:
22271
22272 /* Line 1464 of yacc.c  */
22273 #line 3514 "grammar.y"
22274     { (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; ;}
22275     break;
22276
22277   case 1246:
22278
22279 /* Line 1464 of yacc.c  */
22280 #line 3515 "grammar.y"
22281     { (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; ;}
22282     break;
22283
22284   case 1247:
22285
22286 /* Line 1464 of yacc.c  */
22287 #line 3516 "grammar.y"
22288     { (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; ;}
22289     break;
22290
22291   case 1248:
22292
22293 /* Line 1464 of yacc.c  */
22294 #line 3517 "grammar.y"
22295     { (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; ;}
22296     break;
22297
22298   case 1249:
22299
22300 /* Line 1464 of yacc.c  */
22301 #line 3518 "grammar.y"
22302     { (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; ;}
22303     break;
22304
22305   case 1250:
22306
22307 /* Line 1464 of yacc.c  */
22308 #line 3522 "grammar.y"
22309     { (yyval.string) = CopyString(yytext); ;}
22310     break;
22311
22312   case 1251:
22313
22314 /* Line 1464 of yacc.c  */
22315 #line 3524 "grammar.y"
22316     {
22317       int len1 = strlen((yyvsp[(1) - (2)].string));
22318       int len2 = strlen(yytext);
22319       (yyval.string) = new byte[len1-1 + len2-1 + 1];
22320       memcpy((yyval.string), (yyvsp[(1) - (2)].string), len1-1);
22321       memcpy((yyval.string) + len1-1, yytext+1, len2);
22322       delete (yyvsp[(1) - (2)].string);
22323    ;}
22324     break;
22325
22326   case 1252:
22327
22328 /* Line 1464 of yacc.c  */
22329 #line 3535 "grammar.y"
22330     { (yyval.external) = MkExternalFunction((yyvsp[(1) - (1)].function)); (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].function).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
22331     break;
22332
22333   case 1253:
22334
22335 /* Line 1464 of yacc.c  */
22336 #line 3537 "grammar.y"
22337     { (yyval.external) = MkExternalClass((yyvsp[(1) - (1)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22338     break;
22339
22340   case 1254:
22341
22342 /* Line 1464 of yacc.c  */
22343 #line 3540 "grammar.y"
22344     { (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); ;}
22345     break;
22346
22347   case 1255:
22348
22349 /* Line 1464 of yacc.c  */
22350 #line 3543 "grammar.y"
22351     { (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
22352     break;
22353
22354   case 1256:
22355
22356 /* Line 1464 of yacc.c  */
22357 #line 3544 "grammar.y"
22358     { (yyval.external) = MkExternalImport((yyvsp[(2) - (2)].string), normalImport, (declMode != defaultAccess) ? declMode : privateAccess);  (yyval.external).loc = (yyloc); ;}
22359     break;
22360
22361   case 1257:
22362
22363 /* Line 1464 of yacc.c  */
22364 #line 3545 "grammar.y"
22365     { (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), staticImport, (declMode != defaultAccess) ? declMode : privateAccess);  (yyval.external).loc = (yyloc); ;}
22366     break;
22367
22368   case 1258:
22369
22370 /* Line 1464 of yacc.c  */
22371 #line 3547 "grammar.y"
22372     {
22373       bool isRemote = !strcmp((yyvsp[(2) - (3)].id).string, "remote");
22374       (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), isRemote ? remoteImport : normalImport, (declMode != defaultAccess) ? declMode : privateAccess);
22375       (yyval.external).loc = (yyloc);
22376       FreeIdentifier((yyvsp[(2) - (3)].id));
22377       if(!isRemote)
22378          yyerror();
22379    ;}
22380     break;
22381
22382   case 1259:
22383
22384 /* Line 1464 of yacc.c  */
22385 #line 3556 "grammar.y"
22386     { (yyval.external) = null; ;}
22387     break;
22388
22389   case 1260:
22390
22391 /* Line 1464 of yacc.c  */
22392 #line 3558 "grammar.y"
22393     { (yyval.external) = MkExternalFunction((yyvsp[(2) - (2)].function)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].function).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22394     break;
22395
22396   case 1261:
22397
22398 /* Line 1464 of yacc.c  */
22399 #line 3560 "grammar.y"
22400     { (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; ;}
22401     break;
22402
22403   case 1262:
22404
22405 /* Line 1464 of yacc.c  */
22406 #line 3561 "grammar.y"
22407     { (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22408     break;
22409
22410   case 1263:
22411
22412 /* Line 1464 of yacc.c  */
22413 #line 3562 "grammar.y"
22414     { (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; ;}
22415     break;
22416
22417   case 1264:
22418
22419 /* Line 1464 of yacc.c  */
22420 #line 3563 "grammar.y"
22421     { (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; ;}
22422     break;
22423
22424   case 1265:
22425
22426 /* Line 1464 of yacc.c  */
22427 #line 3565 "grammar.y"
22428     {
22429       bool isRemote = !strcmp((yyvsp[(3) - (4)].id).string, "remote");
22430       (yyval.external) = MkExternalImport((yyvsp[(4) - (4)].string), isRemote ? remoteImport : normalImport, ((yyvsp[(1) - (4)].declMode) != defaultAccess) ? (yyvsp[(1) - (4)].declMode) : privateAccess);
22431       (yyval.external).loc = (yyloc);
22432       FreeIdentifier((yyvsp[(3) - (4)].id));
22433       structDeclMode = declMode = defaultDeclMode;
22434       if(!isRemote)
22435          yyerror();
22436    ;}
22437     break;
22438
22439   case 1266:
22440
22441 /* Line 1464 of yacc.c  */
22442 #line 3574 "grammar.y"
22443     { defaultDeclMode = (yyvsp[(1) - (2)].declMode); (yyval.external) = null; ;}
22444     break;
22445
22446   case 1267:
22447
22448 /* Line 1464 of yacc.c  */
22449 #line 3575 "grammar.y"
22450     { defaultDeclMode = staticAccess; (yyval.external) = null; ;}
22451     break;
22452
22453   case 1268:
22454
22455 /* Line 1464 of yacc.c  */
22456 #line 3576 "grammar.y"
22457     { (yyval.external) = MkExternalNameSpace((yyvsp[(2) - (2)].id)); (yyval.external).loc = (yyloc); ;}
22458     break;
22459
22460   case 1269:
22461
22462 /* Line 1464 of yacc.c  */
22463 #line 3577 "grammar.y"
22464     { (yyval.external) = MkExternalNameSpace(MkIdentifier((yyvsp[(2) - (2)].specifier).name)); FreeSpecifier((yyvsp[(2) - (2)].specifier)); (yyval.external).loc = (yyloc); ;}
22465     break;
22466
22467   case 1270:
22468
22469 /* Line 1464 of yacc.c  */
22470 #line 3578 "grammar.y"
22471     { (yyval.external) = MkExternalDBTable((yyvsp[(1) - (1)].dbtableDef)); (yyval.external).loc = (yyloc);  (yyvsp[(1) - (1)].dbtableDef).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22472     break;
22473
22474   case 1271:
22475
22476 /* Line 1464 of yacc.c  */
22477 #line 3579 "grammar.y"
22478     { (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; ;}
22479     break;
22480
22481   case 1272:
22482
22483 /* Line 1464 of yacc.c  */
22484 #line 3583 "grammar.y"
22485     { 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; ;}
22486     break;
22487
22488   case 1273:
22489
22490 /* Line 1464 of yacc.c  */
22491 #line 3585 "grammar.y"
22492     {
22493       yyerror();
22494       FreeList((yyvsp[(1) - (2)].list), FreeSpecifier);
22495       (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));
22496       (yyval.external).loc = (yyvsp[(2) - (2)]._class).loc;
22497       (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess;
22498       structDeclMode = declMode = defaultDeclMode;
22499    ;}
22500     break;
22501
22502   case 1274:
22503
22504 /* Line 1464 of yacc.c  */
22505 #line 3593 "grammar.y"
22506     { 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; ;}
22507     break;
22508
22509   case 1275:
22510
22511 /* Line 1464 of yacc.c  */
22512 #line 3595 "grammar.y"
22513     { 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; ;}
22514     break;
22515
22516   case 1276:
22517
22518 /* Line 1464 of yacc.c  */
22519 #line 3596 "grammar.y"
22520     { 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; ;}
22521     break;
22522
22523   case 1277:
22524
22525 /* Line 1464 of yacc.c  */
22526 #line 3599 "grammar.y"
22527     { yyerror(); (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
22528     break;
22529
22530   case 1278:
22531
22532 /* Line 1464 of yacc.c  */
22533 #line 3600 "grammar.y"
22534     { yyerror(); (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22535     break;
22536
22537   case 1279:
22538
22539 /* Line 1464 of yacc.c  */
22540 #line 3604 "grammar.y"
22541     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].external)); ast = (yyval.list); ;}
22542     break;
22543
22544   case 1280:
22545
22546 /* Line 1464 of yacc.c  */
22547 #line 3605 "grammar.y"
22548     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
22549     break;
22550
22551   case 1281:
22552
22553 /* Line 1464 of yacc.c  */
22554 #line 3606 "grammar.y"
22555     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
22556     break;
22557
22558   case 1284:
22559
22560 /* Line 1464 of yacc.c  */
22561 #line 3612 "grammar.y"
22562     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].external)); ast = (yyval.list); ;}
22563     break;
22564
22565   case 1285:
22566
22567 /* Line 1464 of yacc.c  */
22568 #line 3613 "grammar.y"
22569     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
22570     break;
22571
22572   case 1286:
22573
22574 /* Line 1464 of yacc.c  */
22575 #line 3615 "grammar.y"
22576     { 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; ;}
22577     break;
22578
22579   case 1287:
22580
22581 /* Line 1464 of yacc.c  */
22582 #line 3617 "grammar.y"
22583     { 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; ;}
22584     break;
22585
22586   case 1290:
22587
22588 /* Line 1464 of yacc.c  */
22589 #line 3623 "grammar.y"
22590     { ast = MkList(); ;}
22591     break;
22592
22593   case 1291:
22594
22595 /* Line 1464 of yacc.c  */
22596 #line 3627 "grammar.y"
22597     { 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)); ;}
22598     break;
22599
22600   case 1292:
22601
22602 /* Line 1464 of yacc.c  */
22603 #line 3628 "grammar.y"
22604     { 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)); ;}
22605     break;
22606
22607   case 1293:
22608
22609 /* Line 1464 of yacc.c  */
22610 #line 3629 "grammar.y"
22611     { (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (5)].string), null, (yyvsp[(4) - (5)].list)); ;}
22612     break;
22613
22614   case 1294:
22615
22616 /* Line 1464 of yacc.c  */
22617 #line 3633 "grammar.y"
22618     { (yyval.dbtableEntry) = MkDBFieldEntry(MkTypeName((yyvsp[(1) - (4)].list), null), (yyvsp[(2) - (4)].id), (yyvsp[(3) - (4)].string)); ;}
22619     break;
22620
22621   case 1295:
22622
22623 /* Line 1464 of yacc.c  */
22624 #line 3637 "grammar.y"
22625     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(1) - (1)].id), ascending); ;}
22626     break;
22627
22628   case 1296:
22629
22630 /* Line 1464 of yacc.c  */
22631 #line 3638 "grammar.y"
22632     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(2) - (2)].id), descending); ;}
22633     break;
22634
22635   case 1297:
22636
22637 /* Line 1464 of yacc.c  */
22638 #line 3639 "grammar.y"
22639     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(2) - (2)].id), ascending); ;}
22640     break;
22641
22642   case 1298:
22643
22644 /* Line 1464 of yacc.c  */
22645 #line 3643 "grammar.y"
22646     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbindexItem)); ;}
22647     break;
22648
22649   case 1299:
22650
22651 /* Line 1464 of yacc.c  */
22652 #line 3644 "grammar.y"
22653     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].dbindexItem)); ;}
22654     break;
22655
22656   case 1300:
22657
22658 /* Line 1464 of yacc.c  */
22659 #line 3648 "grammar.y"
22660     { (yyval.dbtableEntry) = MkDBIndexEntry((yyvsp[(2) - (3)].list), null); ;}
22661     break;
22662
22663   case 1301:
22664
22665 /* Line 1464 of yacc.c  */
22666 #line 3649 "grammar.y"
22667     { (yyval.dbtableEntry) = MkDBIndexEntry((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].id)); ;}
22668     break;
22669
22670   case 1302:
22671
22672 /* Line 1464 of yacc.c  */
22673 #line 3653 "grammar.y"
22674     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbtableEntry)); ;}
22675     break;
22676
22677   case 1303:
22678
22679 /* Line 1464 of yacc.c  */
22680 #line 3654 "grammar.y"
22681     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbtableEntry)); ;}
22682     break;
22683
22684   case 1304:
22685
22686 /* Line 1464 of yacc.c  */
22687 #line 3655 "grammar.y"
22688     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].dbtableEntry)); ;}
22689     break;
22690
22691   case 1305:
22692
22693 /* Line 1464 of yacc.c  */
22694 #line 3656 "grammar.y"
22695     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].dbtableEntry)); ;}
22696     break;
22697
22698   case 1306:
22699
22700 /* Line 1464 of yacc.c  */
22701 #line 3660 "grammar.y"
22702     { (yyval.exp) = MkExpDBOpen((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].exp)); ;}
22703     break;
22704
22705   case 1307:
22706
22707 /* Line 1464 of yacc.c  */
22708 #line 3664 "grammar.y"
22709     { (yyval.exp) = MkExpDBField((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].id)); ;}
22710     break;
22711
22712   case 1308:
22713
22714 /* Line 1464 of yacc.c  */
22715 #line 3668 "grammar.y"
22716     { (yyval.exp) = MkExpDBIndex((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].id)); ;}
22717     break;
22718
22719   case 1309:
22720
22721 /* Line 1464 of yacc.c  */
22722 #line 3672 "grammar.y"
22723     { (yyval.exp) = MkExpDBTable((yyvsp[(3) - (4)].string)); ;}
22724     break;
22725
22726
22727
22728 /* Line 1464 of yacc.c  */
22729 #line 22730 "grammar.ec"
22730       default: break;
22731     }
22732   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
22733
22734   YYPOPSTACK (yylen);
22735   yylen = 0;
22736   YY_STACK_PRINT (yyss, yyssp);
22737
22738   *++yyvsp = yyval;
22739   *++yylsp = yyloc;
22740
22741   /* Now `shift' the result of the reduction.  Determine what state
22742      that goes to, based on the state we popped back to and the rule
22743      number reduced by.  */
22744
22745   yyn = yyr1[yyn];
22746
22747   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
22748   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
22749     yystate = yytable[yystate];
22750   else
22751     yystate = yydefgoto[yyn - YYNTOKENS];
22752
22753   goto yynewstate;
22754
22755
22756 /*------------------------------------.
22757 | yyerrlab -- here on detecting error |
22758 `------------------------------------*/
22759 yyerrlab:
22760   /* If not already recovering from an error, report this error.  */
22761   if (!yyerrstatus)
22762     {
22763       ++yynerrs;
22764 #if ! YYERROR_VERBOSE
22765       yyerror (YY_("syntax error"));
22766 #else
22767       {
22768         YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
22769         if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
22770           {
22771             YYSIZE_T yyalloc = 2 * yysize;
22772             if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
22773               yyalloc = YYSTACK_ALLOC_MAXIMUM;
22774             if (yymsg != yymsgbuf)
22775               YYSTACK_FREE (yymsg);
22776             yymsg = (char *) YYSTACK_ALLOC (yyalloc);
22777             if (yymsg)
22778               yymsg_alloc = yyalloc;
22779             else
22780               {
22781                 yymsg = yymsgbuf;
22782                 yymsg_alloc = sizeof yymsgbuf;
22783               }
22784           }
22785
22786         if (0 < yysize && yysize <= yymsg_alloc)
22787           {
22788             (void) yysyntax_error (yymsg, yystate, yychar);
22789             yyerror (yymsg);
22790           }
22791         else
22792           {
22793             yyerror (YY_("syntax error"));
22794             if (yysize != 0)
22795               goto yyexhaustedlab;
22796           }
22797       }
22798 #endif
22799     }
22800
22801   yyerror_range[0] = yylloc;
22802
22803   if (yyerrstatus == 3)
22804     {
22805       /* If just tried and failed to reuse lookahead token after an
22806          error, discard it.  */
22807
22808       if (yychar <= YYEOF)
22809         {
22810           /* Return failure if at end of input.  */
22811           if (yychar == YYEOF)
22812             YYABORT;
22813         }
22814       else
22815         {
22816           yydestruct ("Error: discarding",
22817                       yytoken, &yylval, &yylloc);
22818           yychar = YYEMPTY;
22819         }
22820     }
22821
22822   /* Else will try to reuse lookahead token after shifting the error
22823      token.  */
22824   goto yyerrlab1;
22825
22826
22827 /*---------------------------------------------------.
22828 | yyerrorlab -- error raised explicitly by YYERROR.  |
22829 `---------------------------------------------------*/
22830 yyerrorlab:
22831
22832   /* Pacify compilers like GCC when the user code never invokes
22833      YYERROR and the label yyerrorlab therefore never appears in user
22834      code.  */
22835   if (/*CONSTCOND*/ 0)
22836      goto yyerrorlab;
22837
22838   yyerror_range[0] = yylsp[1-yylen];
22839   /* Do not reclaim the symbols of the rule which action triggered
22840      this YYERROR.  */
22841   YYPOPSTACK (yylen);
22842   yylen = 0;
22843   YY_STACK_PRINT (yyss, yyssp);
22844   yystate = *yyssp;
22845   goto yyerrlab1;
22846
22847
22848 /*-------------------------------------------------------------.
22849 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
22850 `-------------------------------------------------------------*/
22851 yyerrlab1:
22852   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
22853
22854   for (;;)
22855     {
22856       yyn = yypact[yystate];
22857       if (yyn != YYPACT_NINF)
22858         {
22859           yyn += YYTERROR;
22860           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
22861             {
22862               yyn = yytable[yyn];
22863               if (0 < yyn)
22864                 break;
22865             }
22866         }
22867
22868       /* Pop the current state because it cannot handle the error token.  */
22869       if (yyssp == yyss)
22870         YYABORT;
22871
22872       yyerror_range[0] = *yylsp;
22873       yydestruct ("Error: popping",
22874                   yystos[yystate], yyvsp, yylsp);
22875       YYPOPSTACK (1);
22876       yystate = *yyssp;
22877       YY_STACK_PRINT (yyss, yyssp);
22878     }
22879
22880   *++yyvsp = yylval;
22881
22882   yyerror_range[1] = yylloc;
22883   /* Using YYLLOC is tempting, but would change the location of
22884      the lookahead.  YYLOC is available though.  */
22885   YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
22886   *++yylsp = yyloc;
22887
22888   /* Shift the error token.  */
22889   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
22890
22891   yystate = yyn;
22892   goto yynewstate;
22893
22894
22895 /*-------------------------------------.
22896 | yyacceptlab -- YYACCEPT comes here.  |
22897 `-------------------------------------*/
22898 yyacceptlab:
22899   yyresult = 0;
22900   goto yyreturn;
22901
22902 /*-----------------------------------.
22903 | yyabortlab -- YYABORT comes here.  |
22904 `-----------------------------------*/
22905 yyabortlab:
22906   yyresult = 1;
22907   goto yyreturn;
22908
22909 #if !defined(yyoverflow) || YYERROR_VERBOSE
22910 /*-------------------------------------------------.
22911 | yyexhaustedlab -- memory exhaustion comes here.  |
22912 `-------------------------------------------------*/
22913 yyexhaustedlab:
22914   yyerror (YY_("memory exhausted"));
22915   yyresult = 2;
22916   /* Fall through.  */
22917 #endif
22918
22919 yyreturn:
22920   if (yychar != YYEMPTY)
22921      yydestruct ("Cleanup: discarding lookahead",
22922                  yytoken, &yylval, &yylloc);
22923   /* Do not reclaim the symbols of the rule which action triggered
22924      this YYABORT or YYACCEPT.  */
22925   YYPOPSTACK (yylen);
22926   YY_STACK_PRINT (yyss, yyssp);
22927   while (yyssp != yyss)
22928     {
22929       yydestruct ("Cleanup: popping",
22930                   yystos[*yyssp], yyvsp, yylsp);
22931       YYPOPSTACK (1);
22932     }
22933 #ifndef yyoverflow
22934   if (yyss != yyssa)
22935     YYSTACK_FREE (yyss);
22936 #endif
22937 #if YYERROR_VERBOSE
22938   if (yymsg != yymsgbuf)
22939     YYSTACK_FREE (yymsg);
22940 #endif
22941   /* Make sure YYID is used.  */
22942   return YYID (yyresult);
22943 }
22944
22945
22946
22947 /* Line 1684 of yacc.c  */
22948 #line 3675 "grammar.y"
22949
22950