wip II
[sdk] / compiler / libec / src / grammar.ec
1 /* A Bison parser, made by GNU Bison 2.4.2.  */
2
3 /* Skeleton implementation for Bison's Yacc-like parsers in C
4    
5       Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software
6    Foundation, Inc.
7    
8    This program is free software: you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation, either version 3 of the License, or
11    (at your option) any later version.
12    
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17    
18    You should have received a copy of the GNU General Public License
19    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
20
21 /* As a special exception, you may create a larger work that contains
22    part or all of the Bison parser skeleton and distribute that work
23    under terms of your choice, so long as that work isn't itself a
24    parser generator using the skeleton or a modified version thereof
25    as a parser skeleton.  Alternatively, if you modify or redistribute
26    the parser skeleton itself, you may (at your option) remove this
27    special exception, which will cause the skeleton and the resulting
28    Bison output files to be licensed under the GNU General Public
29    License without this special exception.
30    
31    This special exception was added by the Free Software Foundation in
32    version 2.2 of Bison.  */
33
34 /* C LALR(1) parser skeleton written by Richard Stallman, by
35    simplifying the original so-called "semantic" parser.  */
36
37 /* All symbols defined below should begin with yy or YY, to avoid
38    infringing on user name space.  This should be done even for local
39    variables, as they might otherwise be expanded by user macros.
40    There are some unavoidable exceptions within include files to
41    define necessary library symbols; they are noted "INFRINGES ON
42    USER NAME SPACE" below.  */
43
44 /* Identify Bison output.  */
45 #define YYBISON 1
46
47 /* Bison version.  */
48 #define YYBISON_VERSION "2.4.2"
49
50 /* Skeleton name.  */
51 #define YYSKELETON_NAME "yacc.c"
52
53 /* Pure parsers.  */
54 #define YYPURE 0
55
56 /* Push parsers.  */
57 #define YYPUSH 0
58
59 /* Pull parsers.  */
60 #define YYPULL 1
61
62 /* Using locations.  */
63 #define YYLSP_NEEDED 1
64
65
66
67 /* Copy the first part of user declarations.  */
68
69 /* Line 189 of yacc.c  */
70 #line 1 "grammar.y"
71
72 import "ecdefs"
73
74 #define YYLTYPE Location
75 #include "grammar.h"
76
77 #ifndef YYLLOC_DEFAULT
78 # define YYLLOC_DEFAULT(Current, Rhs, N)         \
79   (Current).start = (Rhs)[1].start;      \
80   (Current).end = (Rhs)[N].end;
81 #endif
82
83 #define PRECOMPILER
84 extern File fileInput;
85 extern char * yytext;
86 OldList * ast;
87 int yylex();
88 int yyerror();
89 bool guess;
90 bool deleteWatchable = false;
91
92 #define MAX_STRUCT_LEVELS     256
93 AccessMode memberAccessStack[MAX_STRUCT_LEVELS];
94 int defaultMemberAccess = -1;
95
96 #define POP_DEFAULT_ACCESS    if(defaultMemberAccess > -1) defaultMemberAccess--;
97
98 #define C89_DECL_WARNING   "eC expects all declarations to precede statements in the block (C89 style)\n"
99
100 #define uint _uint
101 default:
102
103
104
105 /* Line 189 of yacc.c  */
106 #line 107 "grammar.ec"
107
108 /* Enabling traces.  */
109 #ifndef YYDEBUG
110 # define YYDEBUG 1
111 #endif
112
113 /* Enabling verbose error messages.  */
114 #ifdef YYERROR_VERBOSE
115 # undef YYERROR_VERBOSE
116 # define YYERROR_VERBOSE 1
117 #else
118 # define YYERROR_VERBOSE 0
119 #endif
120
121 /* Enabling the token table.  */
122 #ifndef YYTOKEN_TABLE
123 # define YYTOKEN_TABLE 0
124 #endif
125
126
127 /* Tokens.  */
128 #ifndef YYTOKENTYPE
129 # define YYTOKENTYPE
130    /* Put the tokens into the symbol table, so that GDB and other debuggers
131       know about them.  */
132    enum yytokentype {
133      IDENTIFIER = 258,
134      CONSTANT = 259,
135      STRING_LITERAL = 260,
136      SIZEOF = 261,
137      PTR_OP = 262,
138      INC_OP = 263,
139      DEC_OP = 264,
140      LEFT_OP = 265,
141      RIGHT_OP = 266,
142      LE_OP = 267,
143      GE_OP = 268,
144      EQ_OP = 269,
145      NE_OP = 270,
146      AND_OP = 271,
147      OR_OP = 272,
148      MUL_ASSIGN = 273,
149      DIV_ASSIGN = 274,
150      MOD_ASSIGN = 275,
151      ADD_ASSIGN = 276,
152      SUB_ASSIGN = 277,
153      LEFT_ASSIGN = 278,
154      RIGHT_ASSIGN = 279,
155      AND_ASSIGN = 280,
156      XOR_ASSIGN = 281,
157      OR_ASSIGN = 282,
158      TYPE_NAME = 283,
159      TYPEDEF = 284,
160      EXTERN = 285,
161      STATIC = 286,
162      AUTO = 287,
163      REGISTER = 288,
164      CHAR = 289,
165      SHORT = 290,
166      INT = 291,
167      UINT = 292,
168      INT64 = 293,
169      LONG = 294,
170      SIGNED = 295,
171      UNSIGNED = 296,
172      FLOAT = 297,
173      DOUBLE = 298,
174      CONST = 299,
175      VOLATILE = 300,
176      VOID = 301,
177      VALIST = 302,
178      STRUCT = 303,
179      UNION = 304,
180      ENUM = 305,
181      ELLIPSIS = 306,
182      CASE = 307,
183      DEFAULT = 308,
184      IF = 309,
185      SWITCH = 310,
186      WHILE = 311,
187      DO = 312,
188      FOR = 313,
189      GOTO = 314,
190      CONTINUE = 315,
191      BREAK = 316,
192      RETURN = 317,
193      IFX = 318,
194      ELSE = 319,
195      CLASS = 320,
196      THISCLASS = 321,
197      CLASS_NAME = 322,
198      PROPERTY = 323,
199      SETPROP = 324,
200      GETPROP = 325,
201      NEWOP = 326,
202      RENEW = 327,
203      DELETE = 328,
204      EXT_DECL = 329,
205      EXT_STORAGE = 330,
206      IMPORT = 331,
207      DEFINE = 332,
208      VIRTUAL = 333,
209      ATTRIB = 334,
210      PUBLIC = 335,
211      PRIVATE = 336,
212      TYPED_OBJECT = 337,
213      ANY_OBJECT = 338,
214      _INCREF = 339,
215      EXTENSION = 340,
216      ASM = 341,
217      TYPEOF = 342,
218      WATCH = 343,
219      STOPWATCHING = 344,
220      FIREWATCHERS = 345,
221      WATCHABLE = 346,
222      CLASS_DESIGNER = 347,
223      CLASS_NO_EXPANSION = 348,
224      CLASS_FIXED = 349,
225      ISPROPSET = 350,
226      CLASS_DEFAULT_PROPERTY = 351,
227      PROPERTY_CATEGORY = 352,
228      CLASS_DATA = 353,
229      CLASS_PROPERTY = 354,
230      SUBCLASS = 355,
231      NAMESPACE = 356,
232      NEW0OP = 357,
233      RENEW0 = 358,
234      VAARG = 359,
235      DBTABLE = 360,
236      DBFIELD = 361,
237      DBINDEX = 362,
238      DATABASE_OPEN = 363,
239      ALIGNOF = 364,
240      ATTRIB_DEP = 365,
241      __ATTRIB = 366
242    };
243 #endif
244
245
246
247 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
248 typedef union YYSTYPE
249 {
250
251 /* Line 214 of yacc.c  */
252 #line 37 "grammar.y"
253
254    SpecifierType specifierType;
255    int i;
256    AccessMode declMode;
257    Identifier id;
258    Expression exp;
259    Specifier specifier;
260    OldList * list;
261    Enumerator enumerator;
262    Declarator declarator;
263    Pointer pointer;
264    Initializer initializer;
265    InitDeclarator initDeclarator;
266    TypeName typeName;
267    Declaration declaration;
268    Statement stmt;
269    FunctionDefinition function;
270    External external;
271    Context context;
272    AsmField asmField;
273    Attrib attrib;
274    ExtDecl extDecl;
275    Attribute attribute;
276
277    Instantiation instance;
278    MembersInit membersInit;
279    MemberInit memberInit;
280    ClassFunction classFunction;
281    ClassDefinition _class;
282    ClassDef classDef;
283    PropertyDef prop;
284    char * string;
285    Symbol symbol;
286    PropertyWatch propertyWatch;
287    TemplateParameter templateParameter;
288    TemplateArgument templateArgument;
289    TemplateDatatype templateDatatype;
290    
291    DBTableEntry dbtableEntry;
292    DBIndexItem dbindexItem;
293    DBTableDef dbtableDef;
294
295
296
297 /* Line 214 of yacc.c  */
298 #line 299 "grammar.ec"
299 } YYSTYPE;
300 # define YYSTYPE_IS_TRIVIAL 1
301 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
302 # define YYSTYPE_IS_DECLARED 1
303 #endif
304
305 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
306 typedef struct YYLTYPE
307 {
308   int first_line;
309   int first_column;
310   int last_line;
311   int last_column;
312 } YYLTYPE;
313 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
314 # define YYLTYPE_IS_DECLARED 1
315 # define YYLTYPE_IS_TRIVIAL 1
316 #endif
317
318
319 /* Copy the second part of user declarations.  */
320
321
322 /* Line 264 of yacc.c  */
323 #line 324 "grammar.ec"
324
325 #ifdef short
326 # undef short
327 #endif
328
329 #ifdef YYTYPE_UINT8
330 typedef YYTYPE_UINT8 yytype_uint8;
331 #else
332 typedef unsigned char yytype_uint8;
333 #endif
334
335 #ifdef YYTYPE_INT8
336 typedef YYTYPE_INT8 yytype_int8;
337 #elif (defined __STDC__ || defined __C99__FUNC__ \
338      || defined __cplusplus || defined _MSC_VER)
339 typedef signed char yytype_int8;
340 #else
341 typedef short int yytype_int8;
342 #endif
343
344 #ifdef YYTYPE_UINT16
345 typedef YYTYPE_UINT16 yytype_uint16;
346 #else
347 typedef unsigned short int yytype_uint16;
348 #endif
349
350 #ifdef YYTYPE_INT16
351 typedef YYTYPE_INT16 yytype_int16;
352 #else
353 typedef short int yytype_int16;
354 #endif
355
356 #ifndef YYSIZE_T
357 # ifdef __SIZE_TYPE__
358 #  define YYSIZE_T __SIZE_TYPE__
359 # elif defined size_t
360 #  define YYSIZE_T size_t
361 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
362      || defined __cplusplus || defined _MSC_VER)
363 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
364 #  define YYSIZE_T size_t
365 # else
366 #  define YYSIZE_T unsigned int
367 # endif
368 #endif
369
370 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
371
372 #ifndef YY_
373 # if defined YYENABLE_NLS && YYENABLE_NLS
374 #  if ENABLE_NLS
375 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
376 #   define YY_(msgid) dgettext ("bison-runtime", msgid)
377 #  endif
378 # endif
379 # ifndef YY_
380 #  define YY_(msgid) msgid
381 # endif
382 #endif
383
384 /* Suppress unused-variable warnings by "using" E.  */
385 #if ! defined lint || defined __GNUC__
386 # define YYUSE(e) ((void) (e))
387 #else
388 # define YYUSE(e) /* empty */
389 #endif
390
391 /* Identity function, used to suppress warnings about constant conditions.  */
392 #ifndef lint
393 # define YYID(n) (n)
394 #else
395 #if (defined __STDC__ || defined __C99__FUNC__ \
396      || defined __cplusplus || defined _MSC_VER)
397 static int
398 YYID (int yyi)
399 #else
400 static int
401 YYID (yyi)
402     int yyi;
403 #endif
404 {
405   return yyi;
406 }
407 #endif
408
409 #if ! defined yyoverflow || YYERROR_VERBOSE
410
411 /* The parser invokes alloca or malloc; define the necessary symbols.  */
412
413 # ifdef YYSTACK_USE_ALLOCA
414 #  if YYSTACK_USE_ALLOCA
415 #   ifdef __GNUC__
416 #    define YYSTACK_ALLOC __builtin_alloca
417 #   elif defined __BUILTIN_VA_ARG_INCR
418 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
419 #   elif defined _AIX
420 #    define YYSTACK_ALLOC __alloca
421 #   elif defined _MSC_VER
422 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
423 #    define alloca _alloca
424 #   else
425 #    define YYSTACK_ALLOC alloca
426 #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
427      || defined __cplusplus || defined _MSC_VER)
428 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
429 #     ifndef _STDLIB_H
430 #      define _STDLIB_H 1
431 #     endif
432 #    endif
433 #   endif
434 #  endif
435 # endif
436
437 # ifdef YYSTACK_ALLOC
438    /* Pacify GCC's `empty if-body' warning.  */
439 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
440 #  ifndef YYSTACK_ALLOC_MAXIMUM
441     /* The OS might guarantee only one guard page at the bottom of the stack,
442        and a page size can be as small as 4096 bytes.  So we cannot safely
443        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
444        to allow for a few compiler-allocated temporary stack slots.  */
445 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
446 #  endif
447 # else
448 #  define YYSTACK_ALLOC YYMALLOC
449 #  define YYSTACK_FREE YYFREE
450 #  ifndef YYSTACK_ALLOC_MAXIMUM
451 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
452 #  endif
453 #  if (defined __cplusplus && ! defined _STDLIB_H \
454        && ! ((defined YYMALLOC || defined malloc) \
455              && (defined YYFREE || defined free)))
456 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
457 #   ifndef _STDLIB_H
458 #    define _STDLIB_H 1
459 #   endif
460 #  endif
461 #  ifndef YYMALLOC
462 #   define YYMALLOC malloc
463 #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
464      || defined __cplusplus || defined _MSC_VER)
465 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
466 #   endif
467 #  endif
468 #  ifndef YYFREE
469 #   define YYFREE free
470 #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
471      || defined __cplusplus || defined _MSC_VER)
472 void free (void *); /* INFRINGES ON USER NAME SPACE */
473 #   endif
474 #  endif
475 # endif
476 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
477
478
479 #if (! defined yyoverflow \
480      && (! defined __cplusplus \
481          || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
482              && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
483
484 /* A type that is properly aligned for any stack member.  */
485 union yyalloc
486 {
487   yytype_int16 yyss_alloc;
488   YYSTYPE yyvs_alloc;
489   YYLTYPE yyls_alloc;
490 };
491
492 /* The size of the maximum gap between one aligned stack and the next.  */
493 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
494
495 /* The size of an array large to enough to hold all stacks, each with
496    N elements.  */
497 # define YYSTACK_BYTES(N) \
498      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
499       + 2 * YYSTACK_GAP_MAXIMUM)
500
501 /* Copy COUNT objects from FROM to TO.  The source and destination do
502    not overlap.  */
503 # ifndef YYCOPY
504 #  if defined __GNUC__ && 1 < __GNUC__
505 #   define YYCOPY(To, From, Count) \
506       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
507 #  else
508 #   define YYCOPY(To, From, Count)              \
509       do                                        \
510         {                                       \
511           YYSIZE_T yyi;                         \
512           for (yyi = 0; yyi < (Count); yyi++)   \
513             (To)[yyi] = (From)[yyi];            \
514         }                                       \
515       while (YYID (0))
516 #  endif
517 # endif
518
519 /* Relocate STACK from its old location to the new one.  The
520    local variables YYSIZE and YYSTACKSIZE give the old and new number of
521    elements in the stack, and YYPTR gives the new location of the
522    stack.  Advance YYPTR to a properly aligned location for the next
523    stack.  */
524 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
525     do                                                                  \
526       {                                                                 \
527         YYSIZE_T yynewbytes;                                            \
528         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
529         Stack = &yyptr->Stack_alloc;                                    \
530         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
531         yyptr += yynewbytes / sizeof (*yyptr);                          \
532       }                                                                 \
533     while (YYID (0))
534
535 #endif
536
537 /* YYFINAL -- State number of the termination state.  */
538 #define YYFINAL  283
539 /* YYLAST -- Last index in YYTABLE.  */
540 #define YYLAST   38309
541
542 /* YYNTOKENS -- Number of terminals.  */
543 #define YYNTOKENS  137
544 /* YYNNTS -- Number of nonterminals.  */
545 #define YYNNTS  260
546 /* YYNRULES -- Number of rules.  */
547 #define YYNRULES  1310
548 /* YYNRULES -- Number of states.  */
549 #define YYNSTATES  2185
550
551 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
552 #define YYUNDEFTOK  2
553 #define YYMAXUTOK   366
554
555 #define YYTRANSLATE(YYX)                                                \
556   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
557
558 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
559 static const yytype_uint8 yytranslate[] =
560 {
561        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
562        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
563        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
564        2,     2,     2,   131,     2,     2,   125,   133,   128,     2,
565      115,   116,   112,   129,   120,   130,   123,   132,     2,     2,
566        2,     2,     2,     2,     2,     2,     2,     2,   124,   118,
567      113,   119,   114,   136,     2,     2,     2,     2,     2,     2,
568        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
569        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
570        2,   126,     2,   127,   134,     2,     2,     2,     2,     2,
571        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
572        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
573        2,     2,     2,   122,   135,   121,   117,     2,     2,     2,
574        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
575        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
576        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
577        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
578        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
579        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
580        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
581        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
582        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
583        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
584        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
585        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
586        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
587        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
588       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
589       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
590       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
591       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
592       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
593       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
594       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
595       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
596       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
597      105,   106,   107,   108,   109,   110,   111
598 };
599
600 #if YYDEBUG
601 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
602    YYRHS.  */
603 static const yytype_uint16 yyprhs[] =
604 {
605        0,     0,     3,     6,     9,    11,    14,    16,    18,    20,
606       25,    30,    33,    35,    39,    44,    48,    51,    54,    56,
607       60,    63,    66,    69,    72,    75,    78,    81,    84,    86,
608       89,    91,    94,    97,   100,   103,   106,   109,   111,   113,
609      117,   119,   123,   127,   129,   131,   135,   139,   141,   145,
610      149,   153,   157,   159,   162,   165,   167,   169,   172,   175,
611      178,   181,   183,   186,   189,   191,   193,   196,   199,   201,
612      204,   207,   210,   213,   215,   218,   221,   225,   230,   236,
613      241,   245,   250,   253,   257,   262,   268,   273,   277,   282,
614      288,   294,   299,   302,   306,   310,   314,   318,   321,   326,
615      330,   334,   337,   342,   346,   349,   353,   356,   360,   363,
616      365,   368,   372,   376,   380,   383,   385,   389,   393,   395,
617      399,   403,   406,   411,   417,   421,   426,   430,   432,   436,
618      440,   444,   447,   451,   454,   459,   465,   469,   474,   478,
619      480,   484,   488,   491,   493,   496,   499,   502,   504,   507,
620      513,   521,   531,   538,   547,   552,   559,   561,   564,   568,
621      573,   576,   579,   581,   583,   586,   589,   591,   593,   595,
622      597,   605,   607,   610,   615,   617,   619,   622,   626,   629,
623      632,   635,   639,   641,   644,   647,   650,   652,   654,   656,
624      659,   662,   665,   669,   673,   675,   677,   680,   683,   685,
625      688,   691,   694,   697,   699,   702,   704,   707,   710,   715,
626      720,   727,   730,   735,   740,   747,   749,   751,   755,   757,
627      762,   768,   770,   772,   774,   776,   780,   782,   784,   786,
628      790,   794,   798,   800,   804,   806,   809,   812,   816,   820,
629      826,   832,   839,   846,   849,   852,   856,   860,   864,   868,
630      872,   876,   880,   884,   888,   892,   896,   898,   900,   904,
631      906,   909,   914,   916,   918,   923,   928,   934,   943,   945,
632      947,   950,   957,   964,   970,   976,   983,   990,   996,  1002,
633     1010,  1018,  1025,  1032,  1040,  1048,  1055,  1062,  1067,  1073,
634     1078,  1085,  1090,  1092,  1094,  1096,  1098,  1102,  1104,  1107,
635     1110,  1113,  1115,  1120,  1125,  1129,  1134,  1139,  1143,  1147,
636     1150,  1153,  1158,  1163,  1167,  1172,  1176,  1180,  1183,  1186,
637     1188,  1193,  1198,  1202,  1207,  1212,  1216,  1220,  1223,  1226,
638     1231,  1236,  1240,  1245,  1249,  1253,  1256,  1259,  1261,  1263,
639     1267,  1271,  1273,  1275,  1279,  1283,  1286,  1289,  1292,  1295,
640     1298,  1303,  1306,  1311,  1317,  1323,  1328,  1331,  1336,  1338,
641     1340,  1342,  1344,  1346,  1348,  1350,  1352,  1354,  1356,  1358,
642     1360,  1362,  1367,  1369,  1373,  1377,  1381,  1385,  1389,  1393,
643     1395,  1399,  1403,  1407,  1411,  1413,  1417,  1421,  1425,  1429,
644     1432,  1434,  1437,  1441,  1445,  1449,  1453,  1457,  1461,  1465,
645     1467,  1471,  1475,  1479,  1483,  1487,  1491,  1495,  1499,  1501,
646     1505,  1509,  1513,  1517,  1519,  1523,  1527,  1531,  1535,  1537,
647     1541,  1545,  1549,  1553,  1555,  1559,  1563,  1565,  1569,  1573,
648     1575,  1581,  1587,  1593,  1599,  1605,  1611,  1617,  1623,  1629,
649     1635,  1641,  1647,  1653,  1659,  1665,  1671,  1673,  1677,  1681,
650     1685,  1689,  1693,  1697,  1701,  1705,  1707,  1709,  1711,  1713,
651     1715,  1717,  1719,  1721,  1723,  1725,  1727,  1729,  1733,  1737,
652     1740,  1742,  1746,  1750,  1752,  1754,  1757,  1760,  1764,  1768,
653     1772,  1776,  1780,  1784,  1788,  1790,  1793,  1796,  1800,  1804,
654     1808,  1812,  1816,  1820,  1824,  1827,  1830,  1833,  1836,  1840,
655     1843,  1849,  1856,  1863,  1867,  1870,  1876,  1878,  1880,  1882,
656     1884,  1886,  1891,  1893,  1897,  1901,  1905,  1909,  1913,  1917,
657     1919,  1923,  1927,  1931,  1935,  1937,  1941,  1945,  1949,  1953,
658     1955,  1958,  1962,  1966,  1970,  1974,  1978,  1982,  1986,  1988,
659     1992,  1996,  2000,  2004,  2008,  2012,  2016,  2020,  2022,  2026,
660     2030,  2034,  2038,  2040,  2044,  2048,  2052,  2056,  2058,  2062,
661     2066,  2070,  2074,  2076,  2080,  2084,  2086,  2090,  2094,  2096,
662     2102,  2108,  2114,  2120,  2125,  2130,  2135,  2140,  2146,  2152,
663     2158,  2164,  2169,  2174,  2179,  2184,  2190,  2196,  2202,  2208,
664     2214,  2220,  2226,  2232,  2236,  2240,  2243,  2246,  2248,  2252,
665     2256,  2260,  2264,  2266,  2269,  2273,  2277,  2280,  2283,  2286,
666     2288,  2291,  2295,  2299,  2301,  2303,  2305,  2307,  2309,  2311,
667     2313,  2315,  2317,  2319,  2321,  2323,  2325,  2329,  2333,  2335,
668     2339,  2342,  2344,  2347,  2350,  2353,  2358,  2363,  2367,  2371,
669     2376,  2382,  2387,  2394,  2401,  2406,  2412,  2417,  2424,  2431,
670     2434,  2437,  2440,  2446,  2450,  2456,  2463,  2469,  2477,  2485,
671     2494,  2503,  2511,  2519,  2523,  2527,  2531,  2536,  2540,  2546,
672     2552,  2554,  2556,  2558,  2560,  2562,  2564,  2566,  2568,  2570,
673     2573,  2575,  2577,  2579,  2581,  2583,  2585,  2587,  2589,  2591,
674     2593,  2595,  2597,  2599,  2601,  2603,  2605,  2610,  2615,  2620,
675     2622,  2624,  2626,  2628,  2630,  2632,  2634,  2636,  2638,  2640,
676     2642,  2644,  2646,  2648,  2650,  2652,  2654,  2656,  2658,  2663,
677     2668,  2673,  2675,  2677,  2680,  2683,  2687,  2693,  2696,  2700,
678     2706,  2712,  2718,  2720,  2724,  2727,  2730,  2734,  2738,  2741,
679     2745,  2749,  2754,  2758,  2762,  2766,  2770,  2774,  2778,  2783,
680     2788,  2793,  2795,  2797,  2802,  2806,  2809,  2813,  2817,  2821,
681     2825,  2829,  2833,  2837,  2841,  2845,  2849,  2853,  2857,  2859,
682     2861,  2863,  2866,  2868,  2871,  2873,  2876,  2878,  2881,  2883,
683     2886,  2888,  2891,  2893,  2896,  2898,  2901,  2903,  2906,  2908,
684     2911,  2913,  2916,  2918,  2921,  2923,  2926,  2928,  2931,  2933,
685     2936,  2938,  2941,  2943,  2946,  2948,  2951,  2953,  2956,  2958,
686     2961,  2963,  2966,  2968,  2971,  2973,  2976,  2978,  2981,  2983,
687     2986,  2988,  2991,  2993,  2995,  2997,  3000,  3002,  3005,  3007,
688     3010,  3012,  3015,  3020,  3026,  3028,  3030,  3032,  3035,  3037,
689     3040,  3042,  3045,  3047,  3050,  3055,  3061,  3063,  3066,  3068,
690     3071,  3073,  3076,  3078,  3081,  3083,  3086,  3088,  3091,  3096,
691     3102,  3104,  3107,  3109,  3112,  3114,  3117,  3119,  3122,  3124,
692     3127,  3129,  3132,  3137,  3143,  3147,  3151,  3153,  3157,  3161,
693     3165,  3169,  3171,  3173,  3175,  3180,  3185,  3190,  3194,  3199,
694     3204,  3209,  3213,  3215,  3219,  3224,  3228,  3233,  3238,  3243,
695     3248,  3252,  3255,  3259,  3263,  3267,  3271,  3274,  3277,  3280,
696     3284,  3289,  3291,  3293,  3296,  3300,  3304,  3308,  3312,  3315,
697     3318,  3321,  3325,  3330,  3332,  3334,  3336,  3338,  3340,  3345,
698     3347,  3349,  3351,  3353,  3355,  3357,  3359,  3361,  3363,  3368,
699     3370,  3373,  3377,  3384,  3390,  3394,  3399,  3402,  3406,  3410,
700     3414,  3418,  3423,  3428,  3433,  3436,  3440,  3444,  3448,  3453,
701     3458,  3462,  3467,  3470,  3474,  3478,  3482,  3487,  3492,  3494,
702     3497,  3500,  3504,  3506,  3508,  3511,  3514,  3518,  3520,  3522,
703     3525,  3528,  3532,  3534,  3537,  3541,  3544,  3547,  3549,  3552,
704     3556,  3559,  3561,  3564,  3568,  3572,  3574,  3577,  3581,  3585,
705     3587,  3590,  3594,  3598,  3600,  3603,  3607,  3611,  3613,  3616,
706     3620,  3624,  3626,  3630,  3635,  3637,  3642,  3645,  3651,  3655,
707     3657,  3659,  3661,  3663,  3665,  3667,  3671,  3675,  3678,  3681,
708     3683,  3685,  3689,  3692,  3696,  3698,  3702,  3706,  3710,  3714,
709     3718,  3720,  3723,  3727,  3731,  3733,  3736,  3738,  3741,  3744,
710     3747,  3750,  3754,  3756,  3758,  3762,  3766,  3768,  3772,  3777,
711     3781,  3786,  3790,  3794,  3799,  3803,  3808,  3810,  3814,  3818,
712     3823,  3827,  3831,  3835,  3840,  3842,  3846,  3850,  3854,  3858,
713     3862,  3864,  3868,  3871,  3873,  3875,  3877,  3879,  3881,  3884,
714     3886,  3888,  3890,  3892,  3895,  3898,  3901,  3903,  3905,  3907,
715     3909,  3911,  3914,  3916,  3918,  3923,  3925,  3929,  3930,  3937,
716     3946,  3957,  3970,  3979,  3990,  4001,  4007,  4015,  4025,  4037,
717     4045,  4055,  4065,  4069,  4074,  4079,  4083,  4087,  4091,  4096,
718     4101,  4105,  4108,  4112,  4115,  4117,  4119,  4121,  4123,  4125,
719     4128,  4132,  4135,  4138,  4141,  4145,  4149,  4152,  4158,  4165,
720     4168,  4171,  4174,  4177,  4180,  4183,  4185,  4188,  4191,  4195,
721     4197,  4200,  4202,  4205,  4208,  4210,  4213,  4216,  4219,  4222,
722     4225,  4228,  4230,  4232,  4235,  4238,  4240,  4242,  4245,  4248,
723     4250,  4253,  4256,  4258,  4261,  4263,  4266,  4269,  4275,  4281,
724     4289,  4297,  4303,  4309,  4313,  4316,  4322,  4327,  4332,  4340,
725     4347,  4354,  4360,  4368,  4375,  4380,  4388,  4398,  4402,  4407,
726     4412,  4418,  4424,  4431,  4439,  4446,  4453,  4459,  4465,  4470,
727     4474,  4477,  4479,  4482,  4487,  4491,  4497,  4502,  4506,  4509,
728     4512,  4515,  4519,  4523,  4527,  4531,  4534,  4537,  4539,  4541,
729     4546,  4550,  4555,  4559,  4563,  4566,  4571,  4575,  4580,  4584,
730     4588,  4591,  4593,  4596,  4598,  4600,  4603,  4605,  4608,  4612,
731     4616,  4618,  4621,  4624,  4627,  4631,  4636,  4641,  4644,  4647,
732     4650,  4653,  4655,  4658,  4660,  4663,  4665,  4668,  4671,  4673,
733     4676,  4678,  4681,  4684,  4687,  4690,  4692,  4695,  4698,  4702,
734     4704,  4706,  4707,  4714,  4721,  4727,  4732,  4734,  4737,  4740,
735     4742,  4746,  4750,  4755,  4757,  4759,  4762,  4765,  4772,  4779,
736     4786
737 };
738
739 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
740 static const yytype_int16 yyrhs[] =
741 {
742      386,     0,    -1,   209,   112,    -1,   209,   113,    -1,   142,
743       -1,   209,   209,    -1,    28,    -1,    28,    -1,   140,    -1,
744      140,   113,   203,   114,    -1,   140,   113,   203,    11,    -1,
745      295,   330,    -1,   328,    -1,   295,   115,   116,    -1,   117,
746      295,   115,   116,    -1,    78,   295,   330,    -1,    78,   328,
747       -1,   295,   331,    -1,   329,    -1,    78,   295,   331,    -1,
748       78,   329,    -1,   143,   370,    -1,   146,   370,    -1,   146,
749      118,    -1,   144,   370,    -1,   145,   370,    -1,   143,   118,
750       -1,   143,   371,    -1,   147,    -1,   146,   371,    -1,   148,
751       -1,   148,   118,    -1,   294,   330,    -1,   294,   332,    -1,
752      294,   331,    -1,   151,   370,    -1,   151,   371,    -1,   152,
753       -1,   151,    -1,   216,   119,   335,    -1,   335,    -1,   216,
754      119,   336,    -1,   216,   119,     1,    -1,   336,    -1,   155,
755       -1,   157,   120,   155,    -1,   158,   120,   155,    -1,   156,
756       -1,   157,   120,   156,    -1,   158,   120,   156,    -1,   157,
757      120,     1,    -1,   158,   120,     1,    -1,   120,    -1,   157,
758      118,    -1,   158,   118,    -1,   159,    -1,   153,    -1,   162,
759      159,    -1,   162,   153,    -1,   160,   159,    -1,   160,   153,
760       -1,   118,    -1,   162,   118,    -1,   160,   118,    -1,   160,
761       -1,   157,    -1,   160,   157,    -1,   162,   157,    -1,   154,
762       -1,   161,   154,    -1,   162,   154,    -1,   160,   154,    -1,
763      160,   158,    -1,   158,    -1,   157,     1,    -1,   164,   121,
764       -1,   164,     1,   121,    -1,   294,   209,   122,   162,    -1,
765      294,   209,   122,   161,     1,    -1,   294,   209,   122,   161,
766       -1,   294,   209,   122,    -1,   294,   209,   122,     1,    -1,
767      166,   121,    -1,   166,     1,   121,    -1,   295,   209,   122,
768      162,    -1,   295,   209,   122,   161,     1,    -1,   295,   209,
769      122,   161,    -1,   295,   209,   122,    -1,   295,   209,   122,
770        1,    -1,   296,   209,   122,   161,   121,    -1,   296,   209,
771      122,   162,   121,    -1,   296,   209,   122,   121,    -1,   169,
772      121,    -1,   169,     1,   121,    -1,   142,   122,   161,    -1,
773      209,   122,   161,    -1,   142,   122,   162,    -1,   142,   122,
774       -1,   142,   122,   161,     1,    -1,   142,   122,     1,    -1,
775      209,   122,   162,    -1,   209,   122,    -1,   209,   122,   161,
776        1,    -1,   209,   122,     1,    -1,   171,   121,    -1,   171,
777        1,   121,    -1,   122,   162,    -1,   122,   161,     1,    -1,
778      122,     1,    -1,   122,    -1,   122,   161,    -1,   216,   119,
779      335,    -1,   216,   119,   336,    -1,   216,   119,     1,    -1,
780      216,     1,    -1,   172,    -1,   174,   120,   172,    -1,   175,
781      120,   172,    -1,   173,    -1,   174,   120,   173,    -1,   175,
782      120,   173,    -1,   174,     1,    -1,    68,   300,   209,   122,
783       -1,    68,   300,   324,   209,   122,    -1,    68,   300,   122,
784       -1,    68,   300,   324,   122,    -1,    68,     1,   122,    -1,
785      176,    -1,   177,    69,   370,    -1,   177,    70,   370,    -1,
786      177,    95,   370,    -1,   177,    91,    -1,   177,    97,   211,
787       -1,   177,   121,    -1,    99,   300,   209,   122,    -1,    99,
788      300,   324,   209,   122,    -1,    99,   300,   122,    -1,    99,
789      300,   324,   122,    -1,    99,     1,   122,    -1,   179,    -1,
790      180,    69,   370,    -1,   180,    70,   370,    -1,   180,   121,
791       -1,   209,    -1,   182,   209,    -1,   182,   370,    -1,    73,
792      370,    -1,   183,    -1,   184,   183,    -1,    88,   115,   182,
793      116,   370,    -1,    88,   115,   237,   116,   122,   184,   121,
794       -1,   237,   123,    88,   115,   237,   116,   122,   184,   121,
795       -1,    89,   115,   237,   120,   182,   116,    -1,   237,   123,
796       89,   115,   237,   120,   182,   116,    -1,    89,   115,   237,
797      116,    -1,   237,   123,    89,   115,   237,   116,    -1,    90,
798       -1,    90,   182,    -1,   216,   123,    90,    -1,   237,   123,
799       90,   182,    -1,   190,   118,    -1,   174,   118,    -1,   149,
800       -1,   178,    -1,   358,   149,    -1,   358,   178,    -1,   181,
801       -1,    91,    -1,    93,    -1,    94,    -1,    99,   115,   209,
802      116,   119,   335,   118,    -1,   118,    -1,   358,   124,    -1,
803      358,   115,   209,   116,    -1,   150,    -1,   295,    -1,   295,
804      282,    -1,   358,   295,   282,    -1,   358,   295,    -1,   358,
805      168,    -1,   358,   165,    -1,    98,   295,   282,    -1,   185,
806       -1,    92,   209,    -1,    92,   142,    -1,    96,   209,    -1,
807      168,    -1,   165,    -1,   174,    -1,   166,     1,    -1,   169,
808        1,    -1,   358,   150,    -1,   358,   166,     1,    -1,   358,
809      169,     1,    -1,   175,    -1,   189,    -1,   191,   189,    -1,
810      192,   189,    -1,   190,    -1,   191,     1,    -1,   192,     1,
811       -1,   191,   190,    -1,   192,   190,    -1,   295,    -1,   295,
812      324,    -1,   295,    -1,   295,   324,    -1,    65,   209,    -1,
813       65,   209,   119,   194,    -1,    65,   209,   124,   193,    -1,
814       65,   209,   124,   193,   119,   194,    -1,    65,   141,    -1,
815       65,   141,   119,   194,    -1,    65,   141,   124,   193,    -1,
816       65,   141,   124,   193,   119,   194,    -1,   209,    -1,   209,
817       -1,   209,   119,   196,    -1,   227,    -1,   295,   209,   119,
818      198,    -1,   295,   324,   209,   119,   198,    -1,   195,    -1,
819      197,    -1,   199,    -1,   200,    -1,   201,   120,   200,    -1,
820      198,    -1,   196,    -1,   194,    -1,   209,   119,   198,    -1,
821      209,   119,   196,    -1,   209,   119,   194,    -1,   202,    -1,
822      203,   120,   202,    -1,    65,    -1,   204,   209,    -1,   204,
823      140,    -1,   209,   204,   209,    -1,   209,   204,   140,    -1,
824      204,   209,   113,   201,   114,    -1,   204,   140,   113,   201,
825      114,    -1,   209,   204,   209,   113,   201,   114,    -1,   209,
826      204,   140,   113,   201,   114,    -1,   208,   121,    -1,   207,
827      118,    -1,   205,   122,   121,    -1,   207,   122,   121,    -1,
828      204,   209,   118,    -1,   204,   139,   118,    -1,   205,   124,
829      299,    -1,   205,   122,   192,    -1,   207,   122,   192,    -1,
830      205,   122,   191,    -1,   207,   122,   191,    -1,   205,   122,
831        1,    -1,   207,   122,     1,    -1,     3,    -1,   212,    -1,
832      115,   239,   116,    -1,   381,    -1,   125,   381,    -1,   125,
833      381,   123,   381,    -1,   209,    -1,   168,    -1,    85,   115,
834      370,   116,    -1,    85,   115,   239,   116,    -1,    85,   115,
835      342,   116,   333,    -1,    85,   115,   342,   116,   115,   342,
836      116,   333,    -1,     4,    -1,   211,    -1,   115,   116,    -1,
837       71,   302,   325,   126,   261,   127,    -1,    71,   302,   325,
838      126,   262,   127,    -1,    71,   302,   126,   261,   127,    -1,
839       71,   302,   126,   262,   127,    -1,   102,   302,   325,   126,
840      261,   127,    -1,   102,   302,   325,   126,   262,   127,    -1,
841      102,   302,   126,   261,   127,    -1,   102,   302,   126,   262,
842      127,    -1,    72,   261,   301,   325,   126,   261,   127,    -1,
843       72,   261,   301,   325,   126,   262,   127,    -1,    72,   261,
844      301,   126,   261,   127,    -1,    72,   261,   301,   126,   262,
845      127,    -1,   103,   261,   301,   325,   126,   261,   127,    -1,
846      103,   261,   301,   325,   126,   262,   127,    -1,   103,   261,
847      301,   126,   261,   127,    -1,   103,   261,   301,   126,   262,
848      127,    -1,    65,   115,   294,   116,    -1,    65,   115,   294,
849      324,   116,    -1,    65,   115,   209,   116,    -1,   104,   115,
850      237,   120,   342,   116,    -1,    98,   115,   209,   116,    -1,
851      393,    -1,   394,    -1,   395,    -1,   396,    -1,   126,   218,
852      127,    -1,   170,    -1,   171,     1,    -1,   115,   239,    -1,
853      115,   259,    -1,   210,    -1,   216,   126,   239,   127,    -1,
854      216,   126,   259,   127,    -1,   216,   115,   116,    -1,   216,
855      115,   218,   116,    -1,   216,   115,   219,   116,    -1,   216,
856      123,   209,    -1,   216,     7,   209,    -1,   216,     8,    -1,
857      216,     9,    -1,   241,   126,   239,   127,    -1,   241,   126,
858      259,   127,    -1,   241,   115,   116,    -1,   241,   115,   218,
859      116,    -1,   241,   123,   209,    -1,   241,     7,   209,    -1,
860      241,     8,    -1,   241,     9,    -1,   212,    -1,   217,   126,
861      239,   127,    -1,   217,   126,   259,   127,    -1,   217,   115,
862      116,    -1,   217,   115,   218,   116,    -1,   217,   115,   219,
863      116,    -1,   217,   123,   209,    -1,   217,     7,   209,    -1,
864      217,     8,    -1,   217,     9,    -1,   242,   126,   239,   127,
865       -1,   242,   126,   259,   127,    -1,   242,   115,   116,    -1,
866      242,   115,   218,   116,    -1,   242,   123,   209,    -1,   242,
867        7,   209,    -1,   242,     8,    -1,   242,     9,    -1,   237,
868       -1,   213,    -1,   218,   120,   237,    -1,   218,   120,   213,
869       -1,   258,    -1,   214,    -1,   218,   120,   258,    -1,   218,
870      120,   214,    -1,   218,   120,    -1,     8,   221,    -1,     9,
871      221,    -1,   223,   224,    -1,   223,   213,    -1,     6,   115,
872      221,   116,    -1,     6,   222,    -1,     6,   115,   343,   116,
873       -1,     6,   115,    65,   139,   116,    -1,     6,   115,    65,
874      138,   116,    -1,   109,   115,   221,   116,    -1,   109,   222,
875       -1,   109,   115,   343,   116,    -1,   220,    -1,   216,    -1,
876      220,    -1,   217,    -1,   128,    -1,   112,    -1,   129,    -1,
877      130,    -1,   117,    -1,   131,    -1,    73,    -1,    84,    -1,
878      221,    -1,   115,   342,   116,   224,    -1,   224,    -1,   225,
879      112,   224,    -1,   225,   132,   224,    -1,   225,   133,   224,
880       -1,   247,   112,   224,    -1,   247,   132,   224,    -1,   247,
881      133,   224,    -1,   225,    -1,   226,   129,   225,    -1,   226,
882      130,   225,    -1,   248,   129,   225,    -1,   248,   130,   225,
883       -1,   226,    -1,   227,    10,   226,    -1,   227,    11,   226,
884       -1,   249,    10,   226,    -1,   249,    11,   226,    -1,   229,
885      113,    -1,   227,    -1,   228,   227,    -1,   229,   114,   227,
886       -1,   229,    12,   227,    -1,   229,    13,   227,    -1,   250,
887      113,   227,    -1,   250,   114,   227,    -1,   250,    12,   227,
888       -1,   250,    13,   227,    -1,   229,    -1,   230,    14,   229,
889       -1,   230,    15,   229,    -1,   251,    14,   229,    -1,   251,
890       15,   229,    -1,   230,    14,   213,    -1,   230,    15,   213,
891       -1,   251,    14,   213,    -1,   251,    15,   213,    -1,   230,
892       -1,   231,   128,   230,    -1,   252,   128,   230,    -1,   231,
893      128,   213,    -1,   252,   128,   213,    -1,   231,    -1,   232,
894      134,   231,    -1,   253,   134,   231,    -1,   232,   134,   213,
895       -1,   253,   134,   213,    -1,   232,    -1,   233,   135,   232,
896       -1,   254,   135,   232,    -1,   233,   135,   213,    -1,   254,
897      135,   213,    -1,   233,    -1,   234,    16,   233,    -1,   255,
898       16,   233,    -1,   234,    -1,   235,    17,   234,    -1,   256,
899       17,   234,    -1,   235,    -1,   235,   136,   239,   124,   236,
900       -1,   235,   136,   259,   124,   236,    -1,   256,   136,   239,
901      124,   236,    -1,   256,   136,   259,   124,   236,    -1,   235,
902      136,   240,   124,   236,    -1,   235,   136,   260,   124,   236,
903       -1,   256,   136,   240,   124,   236,    -1,   256,   136,   260,
904      124,   236,    -1,   235,   136,   239,   124,   213,    -1,   235,
905      136,   259,   124,   213,    -1,   256,   136,   239,   124,   213,
906       -1,   256,   136,   259,   124,   213,    -1,   235,   136,   240,
907      124,   213,    -1,   235,   136,   260,   124,   213,    -1,   256,
908      136,   240,   124,   213,    -1,   256,   136,   260,   124,   213,
909       -1,   236,    -1,   221,   238,   237,    -1,   244,   238,   237,
910       -1,   236,   238,   237,    -1,   257,   238,   237,    -1,   221,
911      238,   213,    -1,   244,   238,   213,    -1,   236,   238,   213,
912       -1,   257,   238,   213,    -1,   119,    -1,    18,    -1,    19,
913       -1,    20,    -1,    21,    -1,    22,    -1,    23,    -1,    24,
914       -1,    25,    -1,    26,    -1,    27,    -1,   237,    -1,   239,
915      120,   237,    -1,   259,   120,   237,    -1,   259,   116,    -1,
916      213,    -1,   239,   120,   213,    -1,   259,   120,   213,    -1,
917      215,    -1,     1,    -1,   216,     1,    -1,   169,     1,    -1,
918      216,     7,     1,    -1,   241,     7,     1,    -1,   216,   115,
919      218,    -1,   216,   115,   219,    -1,   216,   123,     1,    -1,
920      241,   115,   219,    -1,   241,   123,     1,    -1,     1,    -1,
921      217,     1,    -1,   169,     1,    -1,   217,     7,     1,    -1,
922      242,     7,     1,    -1,   217,   115,   218,    -1,   217,   115,
923      219,    -1,   217,   123,     1,    -1,   242,   115,   219,    -1,
924      242,   123,     1,    -1,     8,   244,    -1,     9,   244,    -1,
925      223,   246,    -1,   223,   214,    -1,     6,   115,   244,    -1,
926        6,   245,    -1,     6,   115,   343,   116,     1,    -1,     6,
927      115,    65,   139,   116,     1,    -1,     6,   115,    65,   138,
928      116,     1,    -1,   109,   115,   244,    -1,   109,   245,    -1,
929      109,   115,   343,   116,     1,    -1,   243,    -1,   241,    -1,
930      243,    -1,   242,    -1,   244,    -1,   115,   342,   116,   246,
931       -1,   246,    -1,   225,   112,   246,    -1,   225,   132,   246,
932       -1,   225,   133,   246,    -1,   247,   112,   246,    -1,   247,
933      132,   246,    -1,   247,   133,   246,    -1,   247,    -1,   226,
934      129,   247,    -1,   226,   130,   247,    -1,   248,   129,   247,
935       -1,   248,   130,   247,    -1,   248,    -1,   227,    10,   248,
936       -1,   227,    11,   248,    -1,   249,    10,   248,    -1,   249,
937       11,   248,    -1,   249,    -1,   228,   249,    -1,   229,   114,
938      249,    -1,   229,    12,   249,    -1,   229,    13,   249,    -1,
939      250,   113,   249,    -1,   250,   114,   249,    -1,   250,    12,
940      249,    -1,   250,    13,   249,    -1,   250,    -1,   230,    14,
941      250,    -1,   230,    15,   250,    -1,   251,    14,   250,    -1,
942      251,    15,   250,    -1,   230,    14,   214,    -1,   230,    15,
943      214,    -1,   251,    14,   214,    -1,   251,    15,   214,    -1,
944      251,    -1,   231,   128,   251,    -1,   252,   128,   251,    -1,
945      231,   128,   214,    -1,   252,   128,   214,    -1,   252,    -1,
946      232,   134,   252,    -1,   253,   134,   252,    -1,   232,   134,
947      214,    -1,   253,   134,   214,    -1,   253,    -1,   233,   135,
948      253,    -1,   254,   135,   253,    -1,   233,   135,   214,    -1,
949      254,   135,   214,    -1,   254,    -1,   234,    16,   254,    -1,
950      255,    16,   254,    -1,   255,    -1,   235,    17,   255,    -1,
951      256,    17,   255,    -1,   256,    -1,   235,   136,   239,   124,
952      256,    -1,   235,   136,   259,   124,   256,    -1,   256,   136,
953      239,   124,   256,    -1,   256,   136,   259,   124,   256,    -1,
954      235,   136,   239,   124,    -1,   235,   136,   259,   124,    -1,
955      256,   136,   239,   124,    -1,   256,   136,   259,   124,    -1,
956      235,   136,   240,   124,   256,    -1,   235,   136,   260,   124,
957      256,    -1,   256,   136,   240,   124,   256,    -1,   256,   136,
958      260,   124,   256,    -1,   235,   136,   240,   124,    -1,   235,
959      136,   260,   124,    -1,   256,   136,   240,   124,    -1,   256,
960      136,   260,   124,    -1,   235,   136,   239,   124,   214,    -1,
961      235,   136,   259,   124,   214,    -1,   256,   136,   239,   124,
962      214,    -1,   256,   136,   259,   124,   214,    -1,   235,   136,
963      240,   124,   214,    -1,   235,   136,   260,   124,   214,    -1,
964      256,   136,   240,   124,   214,    -1,   256,   136,   260,   124,
965      214,    -1,   235,   136,   124,    -1,   256,   136,   124,    -1,
966      235,   136,    -1,   256,   136,    -1,   257,    -1,   221,   238,
967      258,    -1,   244,   238,   258,    -1,   221,   238,   214,    -1,
968      244,   238,   214,    -1,   258,    -1,   237,     1,    -1,   239,
969      120,   258,    -1,   259,   120,   258,    -1,   239,   239,    -1,
970      259,   239,    -1,   239,   259,    -1,   214,    -1,   213,     1,
971       -1,   239,   120,   214,    -1,   259,   120,   214,    -1,   236,
972       -1,   257,    -1,    29,    -1,    30,    -1,    31,    -1,    32,
973       -1,    33,    -1,    29,    -1,    30,    -1,    31,    -1,    32,
974       -1,    33,    -1,   209,    -1,   209,   119,   261,    -1,   209,
975      119,   262,    -1,   265,    -1,   266,   120,   265,    -1,   266,
976      120,    -1,    50,    -1,   267,   209,    -1,   267,   142,    -1,
977      270,   121,    -1,   267,   209,   122,   121,    -1,   267,   142,
978      122,   121,    -1,   267,   122,   266,    -1,   267,   122,     1,
979       -1,   267,   209,   122,   266,    -1,   267,   209,   122,   266,
980        1,    -1,   267,   209,   122,     1,    -1,   267,   209,   122,
981      266,   118,   191,    -1,   267,   209,   122,   266,   118,   192,
982       -1,   267,   142,   122,   266,    -1,   267,   142,   122,   266,
983        1,    -1,   267,   142,   122,     1,    -1,   267,   142,   122,
984      266,   118,   191,    -1,   267,   142,   122,   266,   118,   192,
985       -1,   267,   209,    -1,   267,   142,    -1,   273,   121,    -1,
986      271,   124,   299,   122,   121,    -1,   271,   122,   121,    -1,
987      271,   124,   299,   122,   266,    -1,   271,   124,   299,   122,
988      266,     1,    -1,   271,   124,   299,   122,     1,    -1,   271,
989      124,   299,   122,   266,   118,   191,    -1,   271,   124,   299,
990      122,   266,   118,   192,    -1,   271,   124,   299,   122,   266,
991        1,   118,   191,    -1,   271,   124,   299,   122,   266,     1,
992      118,   192,    -1,   271,   124,   299,   122,     1,   118,   191,
993       -1,   271,   124,   299,   122,     1,   118,   192,    -1,   267,
994      122,   266,    -1,   267,   122,     1,    -1,   271,   122,   266,
995       -1,   271,   122,   266,     1,    -1,   271,   122,     1,    -1,
996      271,   122,   266,   118,   191,    -1,   271,   122,   266,   118,
997      192,    -1,   272,    -1,   289,    -1,   273,    -1,   290,    -1,
998      315,    -1,    44,    -1,    45,    -1,   276,    -1,   277,    -1,
999      278,   277,    -1,    46,    -1,    34,    -1,    35,    -1,    36,
1000       -1,    37,    -1,    38,    -1,    47,    -1,    39,    -1,    42,
1001       -1,    43,    -1,    40,    -1,    41,    -1,    85,    -1,   286,
1002       -1,   268,    -1,   139,    -1,    87,   115,   237,   116,    -1,
1003      100,   115,   139,   116,    -1,   100,   115,   209,   116,    -1,
1004       66,    -1,    82,    -1,    83,    -1,    46,    -1,    34,    -1,
1005       35,    -1,    36,    -1,    37,    -1,    38,    -1,    47,    -1,
1006       39,    -1,    42,    -1,    43,    -1,    40,    -1,    41,    -1,
1007       85,    -1,   286,    -1,   268,    -1,   142,    -1,    87,   115,
1008      237,   116,    -1,   100,   115,   139,   116,    -1,   100,   115,
1009      209,   116,    -1,    66,    -1,   332,    -1,   332,   320,    -1,
1010      124,   261,    -1,   332,   124,   261,    -1,   332,   124,   261,
1011      124,   261,    -1,   124,   262,    -1,   332,   124,   262,    -1,
1012      332,   124,   261,   124,   262,    -1,   332,   124,   262,   124,
1013      262,    -1,   332,   124,   262,   124,   261,    -1,   281,    -1,
1014      282,   120,   281,    -1,   291,   209,    -1,   291,   140,    -1,
1015      291,   315,   209,    -1,   291,   315,   140,    -1,   285,   121,
1016       -1,   283,   122,   121,    -1,   291,   122,   121,    -1,   291,
1017      315,   122,   121,    -1,   283,   122,   191,    -1,   283,   122,
1018      192,    -1,   283,   122,     1,    -1,   291,   122,   191,    -1,
1019      291,   122,   192,    -1,   291,   122,     1,    -1,   291,   315,
1020      122,   191,    -1,   291,   315,   122,   192,    -1,   291,   315,
1021      122,     1,    -1,   283,    -1,   283,    -1,   283,   113,   201,
1022      114,    -1,   287,   124,   299,    -1,   290,   121,    -1,   288,
1023      122,   121,    -1,   287,   122,   121,    -1,   291,   122,   121,
1024       -1,   288,   122,   191,    -1,   288,   122,   192,    -1,   288,
1025      122,     1,    -1,   287,   122,   191,    -1,   287,   122,   192,
1026       -1,   287,   122,     1,    -1,   291,   122,   191,    -1,   291,
1027      122,   192,    -1,   291,   122,     1,    -1,    48,    -1,    49,
1028       -1,   277,    -1,   292,   277,    -1,   279,    -1,   292,   279,
1029       -1,   269,    -1,   292,   269,    -1,   284,    -1,   292,   284,
1030       -1,   277,    -1,   293,   277,    -1,   279,    -1,   293,   279,
1031       -1,   138,    -1,   293,   138,    -1,   269,    -1,   293,   269,
1032       -1,   284,    -1,   293,   284,    -1,   263,    -1,   294,   263,
1033       -1,   277,    -1,   294,   277,    -1,   280,    -1,   294,   280,
1034       -1,   269,    -1,   294,   269,    -1,   284,    -1,   294,   284,
1035       -1,   263,    -1,   295,   263,    -1,   277,    -1,   295,   277,
1036       -1,   279,    -1,   295,   279,    -1,   138,    -1,   295,   138,
1037       -1,   284,    -1,   295,   284,    -1,   269,    -1,   295,   269,
1038       -1,   264,    -1,   296,   264,    -1,   277,    -1,   296,   277,
1039       -1,   279,    -1,   296,   279,    -1,   138,    -1,   296,   138,
1040       -1,   274,    -1,   296,   274,    -1,   275,    -1,   296,   275,
1041       -1,    81,    -1,    80,    -1,   263,    -1,   298,   263,    -1,
1042      277,    -1,   298,   277,    -1,   280,    -1,   298,   280,    -1,
1043      209,    -1,   298,   209,    -1,   209,   113,   203,   114,    -1,
1044      298,   209,   113,   203,   114,    -1,   298,    -1,   291,    -1,
1045      263,    -1,   300,   263,    -1,   277,    -1,   300,   277,    -1,
1046      280,    -1,   300,   280,    -1,   209,    -1,   300,   209,    -1,
1047      209,   113,   203,   114,    -1,   300,   209,   113,   203,   114,
1048       -1,   263,    -1,   301,   263,    -1,   277,    -1,   301,   277,
1049       -1,   280,    -1,   301,   280,    -1,   284,    -1,   301,   284,
1050       -1,   269,    -1,   301,   269,    -1,   209,    -1,   301,   209,
1051       -1,   209,   113,   203,   114,    -1,   301,   209,   113,   203,
1052      114,    -1,   263,    -1,   302,   263,    -1,   277,    -1,   302,
1053      277,    -1,   280,    -1,   302,   280,    -1,   284,    -1,   302,
1054      284,    -1,   269,    -1,   302,   269,    -1,   209,    -1,   302,
1055      209,    -1,   209,   113,   203,   114,    -1,   302,   209,   113,
1056      203,   114,    -1,   304,   120,     1,    -1,   303,   120,     1,
1057       -1,   209,    -1,   304,   120,   209,    -1,   303,   120,   209,
1058       -1,   346,   120,   209,    -1,   347,   120,   209,    -1,   306,
1059       -1,   140,    -1,    37,    -1,   140,   126,   261,   127,    -1,
1060      140,   126,   262,   127,    -1,   140,   126,   139,   127,    -1,
1061      140,   126,   127,    -1,   305,   126,   261,   127,    -1,   305,
1062      126,   262,   127,    -1,   305,   126,   139,   127,    -1,   305,
1063      126,   127,    -1,   209,    -1,   115,   326,   116,    -1,   115,
1064      315,   326,   116,    -1,   115,   327,   116,    -1,   115,   315,
1065      327,   116,    -1,   306,   126,   261,   127,    -1,   306,   126,
1066      262,   127,    -1,   306,   126,   139,   127,    -1,   306,   126,
1067      127,    -1,   306,   115,    -1,   307,   348,   116,    -1,   307,
1068      349,   116,    -1,   307,   304,   116,    -1,   307,   303,   116,
1069       -1,   307,   116,    -1,   307,   303,    -1,   307,     1,    -1,
1070      307,   346,   115,    -1,   307,   295,   209,   115,    -1,   308,
1071       -1,   306,    -1,   305,   115,    -1,   311,   348,   116,    -1,
1072      311,   349,   116,    -1,   311,   304,   116,    -1,   311,   303,
1073      116,    -1,   311,   116,    -1,   311,   303,    -1,   311,     1,
1074       -1,   311,   346,   115,    -1,   311,   295,   209,   115,    -1,
1075      312,    -1,   305,    -1,    74,    -1,    75,    -1,   320,    -1,
1076       86,   115,   381,   116,    -1,    79,    -1,   110,    -1,   111,
1077       -1,     3,    -1,    28,    -1,    75,    -1,    74,    -1,    44,
1078       -1,   317,    -1,   317,   115,   239,   116,    -1,   318,    -1,
1079      319,   318,    -1,   319,   120,   318,    -1,   316,   115,   115,
1080      319,   116,   116,    -1,   316,   115,   115,   116,   116,    -1,
1081      115,   324,   116,    -1,   115,   315,   324,   116,    -1,   126,
1082      127,    -1,   126,   261,   127,    -1,   126,   262,   127,    -1,
1083      126,   139,   127,    -1,   321,   126,   127,    -1,   321,   126,
1084      261,   127,    -1,   321,   126,   139,   127,    -1,   321,   126,
1085      262,   127,    -1,   115,   116,    -1,   115,   348,   116,    -1,
1086      115,   349,   116,    -1,   321,   115,   116,    -1,   321,   115,
1087      348,   116,    -1,   321,   115,   349,   116,    -1,   115,   325,
1088      116,    -1,   115,   315,   325,   116,    -1,   115,   116,    -1,
1089      115,   348,   116,    -1,   115,   349,   116,    -1,   322,   115,
1090      116,    -1,   322,   115,   348,   116,    -1,   322,   115,   349,
1091      116,    -1,   112,    -1,   112,   278,    -1,   112,   323,    -1,
1092      112,   278,   323,    -1,   323,    -1,   321,    -1,   323,   321,
1093       -1,   315,   323,    -1,   315,   323,   321,    -1,   323,    -1,
1094      322,    -1,   323,   322,    -1,   315,   323,    -1,   315,   323,
1095      322,    -1,   310,    -1,   323,   310,    -1,   315,   323,   310,
1096       -1,   326,   315,    -1,   332,   315,    -1,   314,    -1,   323,
1097      314,    -1,   315,   323,   314,    -1,   327,   315,    -1,   308,
1098       -1,   323,   308,    -1,   315,   323,   308,    -1,   323,   315,
1099      308,    -1,   309,    -1,   323,   309,    -1,   315,   323,   309,
1100       -1,   323,   315,   309,    -1,   312,    -1,   323,   312,    -1,
1101      315,   323,   312,    -1,   323,   315,   312,    -1,   313,    -1,
1102      323,   313,    -1,   315,   323,   313,    -1,   323,   315,   313,
1103       -1,   305,    -1,   323,   305,    -1,   315,   323,   305,    -1,
1104      323,   315,   305,    -1,   237,    -1,   122,   337,   121,    -1,
1105      122,   337,   120,   121,    -1,   258,    -1,   122,   337,   121,
1106        1,    -1,   122,   337,    -1,   122,   337,   120,   121,     1,
1107       -1,   122,   337,   120,    -1,   236,    -1,   213,    -1,   257,
1108       -1,   214,    -1,   333,    -1,   334,    -1,   337,   120,   333,
1109       -1,   337,   120,   334,    -1,   337,   333,    -1,   337,   334,
1110       -1,   326,    -1,   327,    -1,   326,   119,   333,    -1,   326,
1111        1,    -1,   326,   119,   334,    -1,   338,    -1,   340,   120,
1112      338,    -1,    37,   120,   338,    -1,    38,   120,   338,    -1,
1113      140,   120,   338,    -1,   341,   120,   338,    -1,   339,    -1,
1114      338,     1,    -1,   340,   120,   339,    -1,   341,   120,   339,
1115       -1,   292,    -1,   292,   324,    -1,   293,    -1,   293,   324,
1116       -1,   295,   327,    -1,   295,   324,    -1,   295,   128,    -1,
1117      295,   128,   327,    -1,   295,    -1,    65,    -1,   295,   327,
1118        1,    -1,   295,   324,     1,    -1,   344,    -1,   346,   120,
1119      344,    -1,   346,     1,   120,   344,    -1,   347,   120,   344,
1120       -1,   347,     1,   120,   344,    -1,     1,   120,   344,    -1,
1121      304,   120,   344,    -1,   304,     1,   120,   344,    -1,   303,
1122      120,   344,    -1,   303,     1,   120,   344,    -1,   345,    -1,
1123      346,   120,   345,    -1,   347,   120,   345,    -1,   347,     1,
1124      120,   345,    -1,     1,   120,   345,    -1,   304,   120,   345,
1125       -1,   303,   120,   345,    -1,   303,     1,   120,   345,    -1,
1126      346,    -1,   346,   120,    51,    -1,   347,   120,    51,    -1,
1127      304,   120,    51,    -1,   303,   120,    51,    -1,     1,   120,
1128       51,    -1,   347,    -1,   346,   120,     1,    -1,   347,     1,
1129       -1,   355,    -1,   320,    -1,   370,    -1,   118,    -1,   124,
1130       -1,   239,   118,    -1,   373,    -1,   375,    -1,   377,    -1,
1131      354,    -1,   188,   118,    -1,   187,   118,    -1,   186,   118,
1132       -1,   356,    -1,   376,    -1,   371,    -1,   374,    -1,   378,
1133       -1,   377,     1,    -1,   259,    -1,   381,    -1,   381,   115,
1134      237,   116,    -1,   352,    -1,   353,   120,   352,    -1,    -1,
1135       86,   277,   115,   381,   116,   118,    -1,    86,   277,   115,
1136      381,   124,   353,   116,   118,    -1,    86,   277,   115,   381,
1137      124,   353,   124,   353,   116,   118,    -1,    86,   277,   115,
1138      381,   124,   353,   124,   353,   124,   353,   116,   118,    -1,
1139       86,   277,   115,   381,     3,   353,   116,   118,    -1,    86,
1140      277,   115,   381,     3,   353,   124,   353,   116,   118,    -1,
1141       86,   277,   115,   381,   124,   353,     3,   353,   116,   118,
1142       -1,    86,   115,   381,   116,   118,    -1,    86,   115,   381,
1143      124,   353,   116,   118,    -1,    86,   115,   381,   124,   353,
1144      124,   353,   116,   118,    -1,    86,   115,   381,   124,   353,
1145      124,   353,   124,   353,   116,   118,    -1,    86,   115,   381,
1146        3,   353,   116,   118,    -1,    86,   115,   381,     3,   353,
1147      124,   353,   116,   118,    -1,    86,   115,   381,   124,   353,
1148        3,   353,   116,   118,    -1,   209,   124,   350,    -1,    52,
1149      261,   124,   350,    -1,    52,   262,   124,   350,    -1,    52,
1150      124,   350,    -1,    53,   124,   350,    -1,   209,   124,   351,
1151       -1,    52,   261,   124,   351,    -1,    52,   262,   124,   351,
1152       -1,    52,   124,   351,    -1,    52,   124,    -1,    53,   124,
1153      351,    -1,    53,   124,    -1,    80,    -1,    81,    -1,    53,
1154       -1,    80,    -1,    81,    -1,   294,   118,    -1,   294,   340,
1155      118,    -1,   163,   118,    -1,   362,   118,    -1,   296,   118,
1156       -1,   296,   340,   118,    -1,   297,   340,   118,    -1,   167,
1157      118,    -1,    77,   209,   119,   236,   118,    -1,    31,    77,
1158      209,   119,   236,   118,    -1,   296,     1,    -1,   294,     1,
1159       -1,   362,     1,    -1,   164,     1,    -1,   163,     1,    -1,
1160      294,   341,    -1,   359,    -1,   363,   359,    -1,   364,   359,
1161       -1,   363,     1,   118,    -1,   362,    -1,   363,   362,    -1,
1162      350,    -1,   365,   350,    -1,   366,   350,    -1,   351,    -1,
1163      365,   351,    -1,   366,   351,    -1,   365,   359,    -1,   366,
1164      359,    -1,   365,   362,    -1,   366,   362,    -1,   365,    -1,
1165      363,    -1,   363,   365,    -1,   364,   365,    -1,   366,    -1,
1166      364,    -1,   363,   366,    -1,   364,   366,    -1,   122,    -1,
1167      371,   121,    -1,   369,   368,    -1,   369,    -1,   369,   367,
1168       -1,   118,    -1,   239,   118,    -1,   259,   118,    -1,    54,
1169      115,   239,   116,   350,    -1,    54,   115,   259,   116,   350,
1170       -1,    54,   115,   239,   116,   350,    64,   350,    -1,    54,
1171      115,   259,   116,   350,    64,   350,    -1,    55,   115,   239,
1172      116,   350,    -1,    55,   115,   259,   116,   350,    -1,    54,
1173      115,   259,    -1,   373,     1,    -1,    56,   115,   239,   116,
1174      350,    -1,    56,   115,   259,   350,    -1,    56,   115,   116,
1175      350,    -1,    57,   350,    56,   115,   239,   116,   118,    -1,
1176       57,   350,    56,   115,   259,   118,    -1,    58,   115,   372,
1177      372,   116,   350,    -1,    58,   115,   372,   116,   350,    -1,
1178       58,   115,   372,   372,   239,   116,   350,    -1,    58,   115,
1179      372,   372,   259,   350,    -1,    58,   115,   116,   350,    -1,
1180       58,   115,   209,   124,   239,   116,   350,    -1,    58,   115,
1181      209,   124,   239,   118,   239,   116,   350,    -1,    58,   115,
1182        1,    -1,    58,   115,   259,     1,    -1,    58,   115,   372,
1183        1,    -1,    58,   115,   372,   259,     1,    -1,    58,   115,
1184      372,   372,   259,    -1,    58,   115,   372,   372,   116,   351,
1185       -1,    58,   115,   372,   372,   239,   116,   351,    -1,    58,
1186      115,   372,   372,   259,   351,    -1,    57,   350,    56,   115,
1187      239,   116,    -1,    57,   350,    56,   115,   239,    -1,    57,
1188      350,    56,   115,   259,    -1,    57,   350,    56,   115,    -1,
1189       57,   350,    56,    -1,    57,   350,    -1,    57,    -1,    56,
1190        1,    -1,    56,   115,   116,     1,    -1,    56,   115,   259,
1191       -1,    56,   115,   239,   116,   351,    -1,    56,   115,   259,
1192      351,    -1,    59,   209,   118,    -1,    60,   118,    -1,    61,
1193      118,    -1,    62,   118,    -1,    62,   239,   118,    -1,    62,
1194      259,   118,    -1,    62,   213,   118,    -1,    62,   214,   118,
1195       -1,    62,   259,    -1,    62,   214,    -1,    62,    -1,    59,
1196       -1,   296,   328,   363,   370,    -1,   296,   328,   370,    -1,
1197      296,   330,   363,   370,    -1,   296,   330,   370,    -1,   328,
1198      363,   370,    -1,   328,   370,    -1,   296,   328,   363,   371,
1199       -1,   296,   328,   371,    -1,   296,   330,   363,   371,    -1,
1200      296,   330,   371,    -1,   328,   363,   371,    -1,   328,   371,
1201       -1,     5,    -1,   381,     5,    -1,   379,    -1,   206,    -1,
1202      296,   206,    -1,   360,    -1,    76,   381,    -1,    76,    31,
1203      381,    -1,    76,   209,   381,    -1,   118,    -1,   357,   379,
1204       -1,   357,   206,    -1,   357,   360,    -1,   357,    76,   381,
1205       -1,   357,    76,    31,   381,    -1,   357,    76,   209,   381,
1206       -1,   357,   124,    -1,    31,   124,    -1,   101,   209,    -1,
1207      101,   142,    -1,   387,    -1,   357,   387,    -1,   208,    -1,
1208      296,   208,    -1,   380,    -1,   357,   208,    -1,   357,   380,
1209       -1,   361,    -1,   357,   361,    -1,   383,    -1,   385,   383,
1210       -1,   384,   383,    -1,   385,     1,    -1,   384,     1,    -1,
1211      382,    -1,   385,   382,    -1,   384,   206,    -1,   384,   357,
1212      206,    -1,   385,    -1,   384,    -1,    -1,   105,   381,   209,
1213      122,   392,   121,    -1,   105,   381,   142,   122,   392,   121,
1214       -1,   105,   381,   122,   392,   121,    -1,   295,   209,   381,
1215      118,    -1,   209,    -1,   114,   209,    -1,   113,   209,    -1,
1216      389,    -1,   390,   120,   389,    -1,   107,   390,   118,    -1,
1217      107,   390,   209,   118,    -1,   388,    -1,   391,    -1,   392,
1218      388,    -1,   392,   391,    -1,   108,   115,   237,   120,   237,
1219      116,    -1,   106,   115,   381,   120,   209,   116,    -1,   107,
1220      115,   381,   120,   209,   116,    -1,   105,   115,   381,   116,
1221       -1
1222 };
1223
1224 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1225 static const yytype_uint16 yyrline[] =
1226 {
1227        0,   278,   278,   307,   366,   367,   467,   471,   474,   475,
1228      476,   525,   527,   532,   537,   542,   544,   549,   551,   556,
1229      558,   563,   565,   567,   569,   571,   575,   580,   582,   584,
1230      586,   588,   594,   596,   601,   606,   611,   613,   615,   620,
1231      621,   625,   626,   637,   641,   642,   644,   649,   650,   652,
1232      655,   667,   678,   697,   699,   704,   705,   706,   707,   708,
1233      709,   710,   711,   712,   716,   717,   718,   719,   723,   724,
1234      725,   726,   727,   728,   729,   733,   735,   740,   742,   744,
1235      746,   748,   778,   780,   785,   787,   789,   791,   793,   822,
1236      824,   826,   831,   833,   838,   840,   844,   846,   848,   850,
1237      855,   858,   861,   864,   929,   931,   936,   938,   940,   942,
1238      944,   975,   979,   980,   981,   985,   986,   987,   991,   992,
1239      993,   994,   998,  1001,  1004,  1007,  1010,  1015,  1016,  1018,
1240     1020,  1022,  1024,  1029,  1033,  1036,  1039,  1042,  1045,  1050,
1241     1051,  1053,  1058,  1062,  1064,  1069,  1071,  1076,  1078,  1083,
1242     1088,  1090,  1095,  1097,  1099,  1101,  1106,  1108,  1110,  1112,
1243     1117,  1118,  1119,  1120,  1121,  1122,  1123,  1124,  1125,  1126,
1244     1127,  1129,  1130,  1132,  1136,  1139,  1140,  1141,  1142,  1143,
1245     1144,  1145,  1146,  1147,  1148,  1149,  1150,  1151,  1152,  1154,
1246     1155,  1159,  1160,  1161,  1165,  1169,  1170,  1171,  1175,  1176,
1247     1177,  1178,  1179,  1183,  1184,  1196,  1197,  1201,  1202,  1203,
1248     1204,  1205,  1206,  1207,  1208,  1212,  1216,  1217,  1221,  1229,
1249     1230,  1234,  1235,  1236,  1240,  1241,  1245,  1246,  1247,  1248,
1250     1249,  1250,  1290,  1291,  1295,  1303,  1304,  1312,  1313,  1315,
1251     1316,  1325,  1326,  1331,  1338,  1345,  1351,  1358,  1364,  1373,
1252     1380,  1386,  1392,  1398,  1404,  1410,  1421,  1426,  1427,  1432,
1253     1433,  1434,  1438,  1439,  1440,  1441,  1442,  1443,  1444,  1445,
1254     1446,  1447,  1448,  1449,  1450,  1451,  1452,  1453,  1454,  1455,
1255     1456,  1457,  1458,  1459,  1460,  1461,  1462,  1463,  1464,  1465,
1256     1466,  1468,  1469,  1470,  1471,  1472,  1474,  1478,  1482,  1486,
1257     1487,  1491,  1493,  1494,  1495,  1496,  1497,  1498,  1499,  1500,
1258     1501,  1503,  1504,  1505,  1506,  1507,  1508,  1509,  1510,  1514,
1259     1516,  1517,  1518,  1519,  1520,  1521,  1522,  1523,  1524,  1526,
1260     1527,  1528,  1529,  1530,  1531,  1532,  1533,  1537,  1538,  1539,
1261     1540,  1544,  1545,  1546,  1547,  1548,  1552,  1553,  1554,  1555,
1262     1556,  1557,  1558,  1559,  1560,  1562,  1563,  1564,  1568,  1569,
1263     1573,  1574,  1578,  1579,  1580,  1581,  1582,  1583,  1584,  1585,
1264     1589,  1590,  1594,  1595,  1596,  1597,  1598,  1599,  1600,  1604,
1265     1605,  1606,  1607,  1608,  1612,  1613,  1614,  1615,  1616,  1620,
1266     1628,  1629,  1630,  1631,  1632,  1633,  1634,  1635,  1636,  1640,
1267     1641,  1642,  1643,  1644,  1646,  1647,  1648,  1649,  1653,  1654,
1268     1655,  1657,  1658,  1662,  1663,  1664,  1666,  1667,  1671,  1672,
1269     1673,  1675,  1676,  1680,  1681,  1682,  1686,  1687,  1688,  1692,
1270     1693,  1694,  1695,  1696,  1698,  1699,  1700,  1701,  1703,  1704,
1271     1705,  1706,  1708,  1709,  1710,  1711,  1715,  1716,  1717,  1718,
1272     1719,  1721,  1722,  1723,  1724,  1728,  1729,  1730,  1731,  1732,
1273     1733,  1734,  1735,  1736,  1737,  1738,  1742,  1743,  1744,  1745,
1274     1749,  1750,  1751,  1755,  1756,  1757,  1758,  1760,  1761,  1763,
1275     1764,  1769,  1771,  1776,  1780,  1781,  1782,  1784,  1785,  1787,
1276     1788,  1793,  1795,  1800,  1804,  1805,  1806,  1807,  1808,  1809,
1277     1810,  1811,  1812,  1813,  1814,  1815,  1819,  1820,  1824,  1825,
1278     1830,  1831,  1835,  1836,  1837,  1838,  1839,  1840,  1841,  1845,
1279     1846,  1850,  1854,  1858,  1865,  1866,  1867,  1868,  1869,  1873,
1280     1874,  1925,  1926,  1927,  1928,  1929,  1930,  1931,  1935,  1936,
1281     1937,  1938,  1939,  1946,  1947,  1948,  1949,  1953,  1954,  1955,
1282     1957,  1958,  1962,  1963,  1964,  1966,  1967,  1971,  1972,  1973,
1283     1975,  1976,  1980,  1981,  1982,  1986,  1987,  1988,  1992,  1993,
1284     1994,  1995,  1996,  1997,  1998,  1999,  2000,  2002,  2003,  2004,
1285     2005,  2006,  2007,  2008,  2009,  2011,  2012,  2013,  2014,  2016,
1286     2017,  2018,  2019,  2021,  2028,  2032,  2036,  2043,  2044,  2048,
1287     2053,  2054,  2058,  2059,  2060,  2061,  2067,  2068,  2069,  2073,
1288     2074,  2075,  2076,  2080,  2082,  2086,  2087,  2088,  2089,  2090,
1289     2094,  2095,  2096,  2097,  2098,  2102,  2103,  2104,  2108,  2109,
1290     2110,  2114,  2118,  2119,  2123,  2124,  2125,  2129,  2130,  2132,
1291     2133,  2134,  2135,  2136,  2138,  2139,  2140,  2141,  2142,  2146,
1292     2147,  2151,  2152,  2153,  2157,  2158,  2159,  2160,  2161,  2162,
1293     2163,  2164,  2165,  2167,  2168,  2170,  2171,  2172,  2173,  2174,
1294     2178,  2179,  2183,  2184,  2188,  2192,  2193,  2194,  2199,  2200,
1295     2204,  2205,  2206,  2207,  2208,  2209,  2210,  2211,  2212,  2213,
1296     2214,  2215,  2216,  2217,  2218,  2219,  2220,  2221,  2222,  2223,
1297     2224,  2225,  2229,  2230,  2231,  2232,  2233,  2234,  2235,  2236,
1298     2237,  2238,  2239,  2240,  2241,  2242,  2243,  2244,  2245,  2246,
1299     2247,  2248,  2254,  2256,  2258,  2260,  2262,  2264,  2266,  2268,
1300     2270,  2272,  2277,  2278,  2282,  2288,  2294,  2301,  2311,  2312,
1301     2313,  2314,  2318,  2319,  2320,  2322,  2323,  2324,  2326,  2327,
1302     2328,  2332,  2336,  2344,  2353,  2362,  2363,  2365,  2366,  2370,
1303     2377,  2384,  2387,  2400,  2414,  2417,  2419,  2421,  2426,  2427,
1304     2431,  2432,  2433,  2434,  2435,  2436,  2437,  2438,  2442,  2443,
1305     2444,  2445,  2446,  2447,  2448,  2449,  2450,  2451,  2455,  2456,
1306     2457,  2458,  2459,  2460,  2461,  2462,  2463,  2464,  2468,  2469,
1307     2470,  2471,  2472,  2473,  2474,  2475,  2476,  2477,  2478,  2479,
1308     2483,  2484,  2485,  2486,  2487,  2488,  2489,  2490,  2491,  2492,
1309     2496,  2497,  2501,  2502,  2503,  2504,  2505,  2506,  2507,  2508,
1310     2509,  2511,  2513,  2531,  2549,  2550,  2554,  2555,  2556,  2557,
1311     2558,  2559,  2560,  2561,  2562,  2580,  2597,  2598,  2599,  2600,
1312     2601,  2602,  2603,  2604,  2605,  2606,  2607,  2608,  2609,  2627,
1313     2644,  2645,  2646,  2647,  2648,  2649,  2650,  2651,  2652,  2653,
1314     2654,  2655,  2656,  2674,  2691,  2692,  2696,  2697,  2698,  2699,
1315     2700,  2704,  2705,  2712,  2714,  2723,  2732,  2741,  2750,  2751,
1316     2752,  2753,  2757,  2758,  2759,  2760,  2761,  2762,  2763,  2764,
1317     2765,  2769,  2773,  2774,  2775,  2776,  2777,  2782,  2791,  2800,
1318     2809,  2823,  2824,  2829,  2833,  2834,  2835,  2836,  2837,  2842,
1319     2851,  2860,  2869,  2883,  2884,  2933,  2934,  2935,  2936,  2948,
1320     2949,  2950,  2955,  2956,  2957,  2958,  2959,  2963,  2964,  2968,
1321     2969,  2970,  2974,  2975,  2979,  2980,  2981,  2982,  2983,  2984,
1322     2985,  2986,  2987,  2988,  2989,  2990,  2991,  2992,  2993,  2994,
1323     2998,  2999,  3000,  3001,  3002,  3003,  3004,  3005,  3009,  3010,
1324     3011,  3012,  3016,  3017,  3018,  3019,  3020,  3024,  3025,  3026,
1325     3027,  3028,  3032,  3033,  3035,  3037,  3039,  3044,  3045,  3047,
1326     3049,  3054,  3055,  3056,  3057,  3061,  3062,  3063,  3064,  3068,
1327     3069,  3070,  3071,  3075,  3076,  3077,  3078,  3082,  3083,  3084,
1328     3085,  3089,  3090,  3091,  3107,  3108,  3109,  3110,  3123,  3139,
1329     3140,  3145,  3146,  3150,  3151,  3152,  3153,  3156,  3157,  3161,
1330     3162,  3163,  3167,  3171,  3175,  3176,  3177,  3178,  3179,  3188,
1331     3197,  3198,  3199,  3200,  3204,  3205,  3209,  3210,  3215,  3216,
1332     3217,  3218,  3219,  3220,  3239,  3240,  3244,  3245,  3246,  3247,
1333     3248,  3249,  3251,  3252,  3253,  3254,  3258,  3259,  3260,  3261,
1334     3262,  3264,  3265,  3266,  3270,  3271,  3272,  3273,  3274,  3275,
1335     3279,  3280,  3281,  3286,  3287,  3288,  3289,  3290,  3291,  3292,
1336     3293,  3294,  3295,  3296,  3297,  3298,  3302,  3303,  3304,  3305,
1337     3306,  3307,  3308,  3312,  3313,  3317,  3318,  3319,  3323,  3324,
1338     3325,  3326,  3328,  3329,  3330,  3332,  3333,  3334,  3335,  3337,
1339     3338,  3339,  3343,  3344,  3345,  3346,  3347,  3351,  3352,  3353,
1340     3354,  3355,  3356,  3357,  3361,  3362,  3363,  3367,  3368,  3372,
1341     3373,  3374,  3375,  3379,  3380,  3381,  3383,  3384,  3385,  3389,
1342     3393,  3394,  3396,  3397,  3398,  3402,  3403,  3404,  3405,  3409,
1343     3410,  3414,  3415,  3416,  3420,  3421,  3422,  3423,  3424,  3425,
1344     3426,  3430,  3431,  3432,  3433,  3437,  3438,  3439,  3440,  3444,
1345     3448,  3452,  3454,  3457,  3463,  3464,  3465,  3469,  3470,  3471,
1346     3472,  3473,  3474,  3478,  3479,  3483,  3484,  3485,  3487,  3488,
1347     3490,  3491,  3492,  3493,  3494,  3496,  3497,  3501,  3502,  3503,
1348     3504,  3508,  3509,  3510,  3511,  3513,  3514,  3515,  3516,  3517,
1349     3518,  3519,  3522,  3526,  3527,  3531,  3532,  3536,  3537,  3538,
1350     3539,  3540,  3541,  3542,  3543,  3547,  3548,  3549,  3550,  3556,
1351     3557,  3559,  3560,  3563,  3564,  3567,  3568,  3569,  3570,  3571,
1352     3572,  3576,  3577,  3589,  3590,  3593,  3596,  3598,  3599,  3600,
1353     3610,  3612,  3613,  3615,  3616,  3617,  3618,  3628,  3629,  3630,
1354     3631,  3632,  3633,  3637,  3638,  3646,  3648,  3649,  3651,  3653,
1355     3657,  3658,  3659,  3660,  3661,  3665,  3666,  3667,  3669,  3674,
1356     3675,  3676,  3680,  3681,  3682,  3686,  3690,  3691,  3692,  3696,
1357     3697,  3701,  3702,  3706,  3707,  3708,  3709,  3713,  3717,  3721,
1358     3725
1359 };
1360 #endif
1361
1362 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1363 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1364    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1365 static const char *const yytname[] =
1366 {
1367   "$end", "error", "$undefined", "IDENTIFIER", "CONSTANT",
1368   "STRING_LITERAL", "SIZEOF", "PTR_OP", "INC_OP", "DEC_OP", "LEFT_OP",
1369   "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP",
1370   "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "ADD_ASSIGN", "SUB_ASSIGN",
1371   "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN",
1372   "TYPE_NAME", "TYPEDEF", "EXTERN", "STATIC", "AUTO", "REGISTER", "CHAR",
1373   "SHORT", "INT", "UINT", "INT64", "LONG", "SIGNED", "UNSIGNED", "FLOAT",
1374   "DOUBLE", "CONST", "VOLATILE", "VOID", "VALIST", "STRUCT", "UNION",
1375   "ENUM", "ELLIPSIS", "CASE", "DEFAULT", "IF", "SWITCH", "WHILE", "DO",
1376   "FOR", "GOTO", "CONTINUE", "BREAK", "RETURN", "IFX", "ELSE", "CLASS",
1377   "THISCLASS", "CLASS_NAME", "PROPERTY", "SETPROP", "GETPROP", "NEWOP",
1378   "RENEW", "DELETE", "EXT_DECL", "EXT_STORAGE", "IMPORT", "DEFINE",
1379   "VIRTUAL", "ATTRIB", "PUBLIC", "PRIVATE", "TYPED_OBJECT", "ANY_OBJECT",
1380   "_INCREF", "EXTENSION", "ASM", "TYPEOF", "WATCH", "STOPWATCHING",
1381   "FIREWATCHERS", "WATCHABLE", "CLASS_DESIGNER", "CLASS_NO_EXPANSION",
1382   "CLASS_FIXED", "ISPROPSET", "CLASS_DEFAULT_PROPERTY",
1383   "PROPERTY_CATEGORY", "CLASS_DATA", "CLASS_PROPERTY", "SUBCLASS",
1384   "NAMESPACE", "NEW0OP", "RENEW0", "VAARG", "DBTABLE", "DBFIELD",
1385   "DBINDEX", "DATABASE_OPEN", "ALIGNOF", "ATTRIB_DEP", "__ATTRIB", "'*'",
1386   "'<'", "'>'", "'('", "')'", "'~'", "';'", "'='", "','", "'}'", "'{'",
1387   "'.'", "':'", "'$'", "'['", "']'", "'&'", "'+'", "'-'", "'!'", "'/'",
1388   "'%'", "'^'", "'|'", "'?'", "$accept", "guess_type", "type",
1389   "base_strict_type", "base_strict_type_name", "strict_type",
1390   "class_function_definition_start",
1391   "constructor_function_definition_start",
1392   "destructor_function_definition_start",
1393   "virtual_class_function_definition_start",
1394   "class_function_definition_start_error",
1395   "virtual_class_function_definition_start_error",
1396   "class_function_definition", "class_function_definition_error",
1397   "instance_class_function_definition_start",
1398   "instance_class_function_definition_start_error",
1399   "instance_class_function_definition",
1400   "instance_class_function_definition_error", "data_member_initialization",
1401   "data_member_initialization_error", "data_member_initialization_list",
1402   "data_member_initialization_list_error",
1403   "data_member_initialization_list_coloned",
1404   "members_initialization_list_coloned", "members_initialization_list",
1405   "members_initialization_list_error", "instantiation_named",
1406   "instantiation_named_error", "guess_instantiation_named",
1407   "guess_instantiation_named_error", "external_guess_instantiation_named",
1408   "instantiation_unnamed", "instantiation_unnamed_error",
1409   "instantiation_anon", "instantiation_anon_error", "default_property",
1410   "default_property_error", "default_property_list",
1411   "default_property_list_error", "property_start", "property_body",
1412   "property", "class_property_start", "class_property_body",
1413   "class_property", "watch_property_list", "property_watch",
1414   "property_watch_list", "self_watch_definition", "watch_definition",
1415   "stopwatching", "firewatchers", "struct_declaration",
1416   "struct_declaration_error", "struct_declaration_list",
1417   "struct_declaration_list_error", "template_datatype",
1418   "template_type_argument", "template_type_parameter",
1419   "template_identifier_argument", "template_identifier_parameter",
1420   "template_expression_argument", "template_expression_parameter",
1421   "template_parameter", "template_parameters_list", "template_argument",
1422   "template_arguments_list", "class_entry", "class_decl", "class",
1423   "class_head", "class_error", "identifier", "primary_expression",
1424   "i18n_string", "simple_primary_expression",
1425   "anon_instantiation_expression", "anon_instantiation_expression_error",
1426   "primary_expression_error", "postfix_expression",
1427   "simple_postfix_expression", "argument_expression_list",
1428   "argument_expression_list_error", "common_unary_expression",
1429   "unary_expression", "simple_unary_expression", "unary_operator",
1430   "cast_expression", "multiplicative_expression", "additive_expression",
1431   "shift_expression", "relational_expression_smaller_than",
1432   "relational_expression", "equality_expression", "and_expression",
1433   "exclusive_or_expression", "inclusive_or_expression",
1434   "logical_and_expression", "logical_or_expression",
1435   "conditional_expression", "assignment_expression", "assignment_operator",
1436   "expression", "expression_anon_inst", "postfix_expression_error",
1437   "simple_postfix_expression_error", "common_unary_expression_error",
1438   "unary_expression_error", "simple_unary_expression_error",
1439   "cast_expression_error", "multiplicative_expression_error",
1440   "additive_expression_error", "shift_expression_error",
1441   "relational_expression_error", "equality_expression_error",
1442   "and_expression_error", "exclusive_or_expression_error",
1443   "inclusive_or_expression_error", "logical_and_expression_error",
1444   "logical_or_expression_error", "conditional_expression_error",
1445   "assignment_expression_error", "expression_error",
1446   "expression_anon_inst_error", "constant_expression",
1447   "constant_expression_error", "storage_class_specifier",
1448   "external_storage_class_specifier", "enumerator", "enumerator_list",
1449   "enum_specifier", "enum_specifier_nocompound", "enum_specifier_compound",
1450   "enum_specifier_compound_error", "enum_decl", "enum_class",
1451   "enum_class_error", "class_specifier", "class_specifier_error",
1452   "ext_storage", "type_qualifier", "type_qualifier_list", "type_specifier",
1453   "strict_type_specifier", "struct_declarator", "struct_declarator_list",
1454   "struct_entry", "struct_or_union_specifier_compound",
1455   "struct_or_union_specifier_compound_error",
1456   "struct_or_union_specifier_nocompound", "struct_decl", "struct_head",
1457   "struct_class", "struct_class_error", "struct_or_union",
1458   "specifier_qualifier_list", "guess_specifier_qualifier_list",
1459   "declaration_specifiers", "guess_declaration_specifiers",
1460   "external_guess_declaration_specifiers",
1461   "external_guess_declaration_specifiers_error", "_inheritance_specifiers",
1462   "inheritance_specifiers", "property_specifiers", "renew_specifiers",
1463   "new_specifiers", "identifier_list_error", "identifier_list",
1464   "direct_declarator_nofunction_type_ok", "direct_declarator_nofunction",
1465   "direct_declarator_function_start", "direct_declarator_function",
1466   "direct_declarator_function_error", "direct_declarator",
1467   "direct_declarator_function_start_type_ok",
1468   "direct_declarator_function_type_ok",
1469   "direct_declarator_function_error_type_ok", "direct_declarator_type_ok",
1470   "ext_decl", "_attrib", "attribute_word", "attribute", "attribs_list",
1471   "attrib", "direct_abstract_declarator",
1472   "direct_abstract_declarator_noarray", "pointer", "abstract_declarator",
1473   "abstract_declarator_noarray", "declarator", "declarator_type_ok",
1474   "declarator_function", "declarator_function_error",
1475   "declarator_function_type_ok", "declarator_function_error_type_ok",
1476   "declarator_nofunction_type_ok", "initializer", "initializer_error",
1477   "initializer_condition", "initializer_condition_error",
1478   "initializer_list", "init_declarator", "init_declarator_error",
1479   "init_declarator_list", "init_declarator_list_error", "type_name",
1480   "guess_type_name", "parameter_declaration",
1481   "parameter_declaration_error", "parameter_list", "parameter_list_error",
1482   "parameter_type_list", "parameter_type_list_error", "statement",
1483   "statement_error", "asm_field", "asm_field_list", "asm_statement",
1484   "labeled_statement", "labeled_statement_error", "declaration_mode",
1485   "member_access", "declaration", "external_guess_declaration",
1486   "external_guess_declaration_error", "declaration_error",
1487   "declaration_list", "declaration_list_error", "statement_list",
1488   "statement_list_error", "compound_inside", "compound_inside_error",
1489   "compound_start", "compound_statement", "compound_statement_error",
1490   "expression_statement", "selection_statement",
1491   "selection_statement_error", "iteration_statement",
1492   "iteration_statement_error", "jump_statement", "jump_statement_error",
1493   "function_definition", "function_definition_error", "string_literal",
1494   "external_declaration", "external_declaration_error",
1495   "translation_unit_error", "translation_unit", "thefile",
1496   "dbtable_definition", "dbfield_entry", "dbindex_item",
1497   "dbindex_item_list", "dbindex_entry", "dbfield_definition_list",
1498   "database_open", "dbfield", "dbindex", "dbtable", 0
1499 };
1500 #endif
1501
1502 # ifdef YYPRINT
1503 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1504    token YYLEX-NUM.  */
1505 static const yytype_uint16 yytoknum[] =
1506 {
1507        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1508      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1509      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1510      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1511      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1512      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1513      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1514      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1515      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1516      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1517      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1518      365,   366,    42,    60,    62,    40,    41,   126,    59,    61,
1519       44,   125,   123,    46,    58,    36,    91,    93,    38,    43,
1520       45,    33,    47,    37,    94,   124,    63
1521 };
1522 # endif
1523
1524 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1525 static const yytype_uint16 yyr1[] =
1526 {
1527        0,   137,   138,   138,   139,   139,   140,   141,   142,   142,
1528      142,   143,   143,   144,   145,   146,   146,   147,   147,   148,
1529      148,   149,   149,   149,   149,   149,   149,   150,   150,   150,
1530      150,   150,   151,   151,   152,   153,   154,   154,   154,   155,
1531      155,   156,   156,   156,   157,   157,   157,   158,   158,   158,
1532      158,   158,   158,   159,   159,   160,   160,   160,   160,   160,
1533      160,   160,   160,   160,   161,   161,   161,   161,   162,   162,
1534      162,   162,   162,   162,   162,   163,   163,   164,   164,   164,
1535      164,   164,   165,   165,   166,   166,   166,   166,   166,   167,
1536      167,   167,   168,   168,   169,   169,   169,   169,   169,   169,
1537      169,   169,   169,   169,   170,   170,   171,   171,   171,   171,
1538      171,   172,   173,   173,   173,   174,   174,   174,   175,   175,
1539      175,   175,   176,   176,   176,   176,   176,   177,   177,   177,
1540      177,   177,   177,   178,   179,   179,   179,   179,   179,   180,
1541      180,   180,   181,   182,   182,   183,   183,   184,   184,   185,
1542      186,   186,   187,   187,   187,   187,   188,   188,   188,   188,
1543      189,   189,   189,   189,   189,   189,   189,   189,   189,   189,
1544      189,   189,   189,   189,   190,   190,   190,   190,   190,   190,
1545      190,   190,   190,   190,   190,   190,   190,   190,   190,   190,
1546      190,   190,   190,   190,   190,   191,   191,   191,   192,   192,
1547      192,   192,   192,   193,   193,   194,   194,   195,   195,   195,
1548      195,   195,   195,   195,   195,   196,   197,   197,   198,   199,
1549      199,   200,   200,   200,   201,   201,   202,   202,   202,   202,
1550      202,   202,   203,   203,   204,   205,   205,   205,   205,   205,
1551      205,   205,   205,   206,   206,   206,   206,   206,   206,   207,
1552      208,   208,   208,   208,   208,   208,   209,   210,   210,   211,
1553      211,   211,   212,   212,   212,   212,   212,   212,   212,   212,
1554      212,   212,   212,   212,   212,   212,   212,   212,   212,   212,
1555      212,   212,   212,   212,   212,   212,   212,   212,   212,   212,
1556      212,   212,   212,   212,   212,   212,   212,   213,   214,   215,
1557      215,   216,   216,   216,   216,   216,   216,   216,   216,   216,
1558      216,   216,   216,   216,   216,   216,   216,   216,   216,   217,
1559      217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
1560      217,   217,   217,   217,   217,   217,   217,   218,   218,   218,
1561      218,   219,   219,   219,   219,   219,   220,   220,   220,   220,
1562      220,   220,   220,   220,   220,   220,   220,   220,   221,   221,
1563      222,   222,   223,   223,   223,   223,   223,   223,   223,   223,
1564      224,   224,   225,   225,   225,   225,   225,   225,   225,   226,
1565      226,   226,   226,   226,   227,   227,   227,   227,   227,   228,
1566      229,   229,   229,   229,   229,   229,   229,   229,   229,   230,
1567      230,   230,   230,   230,   230,   230,   230,   230,   231,   231,
1568      231,   231,   231,   232,   232,   232,   232,   232,   233,   233,
1569      233,   233,   233,   234,   234,   234,   235,   235,   235,   236,
1570      236,   236,   236,   236,   236,   236,   236,   236,   236,   236,
1571      236,   236,   236,   236,   236,   236,   237,   237,   237,   237,
1572      237,   237,   237,   237,   237,   238,   238,   238,   238,   238,
1573      238,   238,   238,   238,   238,   238,   239,   239,   239,   239,
1574      240,   240,   240,   241,   241,   241,   241,   241,   241,   241,
1575      241,   241,   241,   241,   242,   242,   242,   242,   242,   242,
1576      242,   242,   242,   242,   243,   243,   243,   243,   243,   243,
1577      243,   243,   243,   243,   243,   243,   244,   244,   245,   245,
1578      246,   246,   247,   247,   247,   247,   247,   247,   247,   248,
1579      248,   248,   248,   248,   249,   249,   249,   249,   249,   250,
1580      250,   250,   250,   250,   250,   250,   250,   250,   251,   251,
1581      251,   251,   251,   251,   251,   251,   251,   252,   252,   252,
1582      252,   252,   253,   253,   253,   253,   253,   254,   254,   254,
1583      254,   254,   255,   255,   255,   256,   256,   256,   257,   257,
1584      257,   257,   257,   257,   257,   257,   257,   257,   257,   257,
1585      257,   257,   257,   257,   257,   257,   257,   257,   257,   257,
1586      257,   257,   257,   257,   257,   257,   257,   258,   258,   258,
1587      258,   258,   259,   259,   259,   259,   259,   259,   259,   260,
1588      260,   260,   260,   261,   262,   263,   263,   263,   263,   263,
1589      264,   264,   264,   264,   264,   265,   265,   265,   266,   266,
1590      266,   267,   268,   268,   269,   269,   269,   270,   270,   270,
1591      270,   270,   270,   270,   270,   270,   270,   270,   270,   271,
1592      271,   272,   272,   272,   273,   273,   273,   273,   273,   273,
1593      273,   273,   273,   273,   273,   273,   273,   273,   273,   273,
1594      274,   274,   275,   275,   276,   277,   277,   277,   278,   278,
1595      279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
1596      279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
1597      279,   279,   280,   280,   280,   280,   280,   280,   280,   280,
1598      280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
1599      280,   280,   281,   281,   281,   281,   281,   281,   281,   281,
1600      281,   281,   282,   282,   283,   283,   283,   283,   284,   284,
1601      284,   284,   285,   285,   285,   285,   285,   285,   285,   285,
1602      285,   286,   287,   287,   288,   289,   289,   289,   289,   290,
1603      290,   290,   290,   290,   290,   290,   290,   290,   291,   291,
1604      292,   292,   292,   292,   292,   292,   292,   292,   293,   293,
1605      293,   293,   293,   293,   293,   293,   293,   293,   294,   294,
1606      294,   294,   294,   294,   294,   294,   294,   294,   295,   295,
1607      295,   295,   295,   295,   295,   295,   295,   295,   295,   295,
1608      296,   296,   296,   296,   296,   296,   296,   296,   296,   296,
1609      297,   297,   298,   298,   298,   298,   298,   298,   298,   298,
1610      298,   298,   298,   298,   299,   299,   300,   300,   300,   300,
1611      300,   300,   300,   300,   300,   300,   301,   301,   301,   301,
1612      301,   301,   301,   301,   301,   301,   301,   301,   301,   301,
1613      302,   302,   302,   302,   302,   302,   302,   302,   302,   302,
1614      302,   302,   302,   302,   303,   303,   304,   304,   304,   304,
1615      304,   305,   305,   305,   305,   305,   305,   305,   305,   305,
1616      305,   305,   306,   306,   306,   306,   306,   306,   306,   306,
1617      306,   307,   308,   308,   308,   308,   308,   309,   309,   309,
1618      309,   310,   310,   311,   312,   312,   312,   312,   312,   313,
1619      313,   313,   313,   314,   314,   315,   315,   315,   315,   316,
1620      316,   316,   317,   317,   317,   317,   317,   318,   318,   319,
1621      319,   319,   320,   320,   321,   321,   321,   321,   321,   321,
1622      321,   321,   321,   321,   321,   321,   321,   321,   321,   321,
1623      322,   322,   322,   322,   322,   322,   322,   322,   323,   323,
1624      323,   323,   324,   324,   324,   324,   324,   325,   325,   325,
1625      325,   325,   326,   326,   326,   326,   326,   327,   327,   327,
1626      327,   328,   328,   328,   328,   329,   329,   329,   329,   330,
1627      330,   330,   330,   331,   331,   331,   331,   332,   332,   332,
1628      332,   333,   333,   333,   334,   334,   334,   334,   334,   335,
1629      335,   336,   336,   337,   337,   337,   337,   337,   337,   338,
1630      338,   338,   339,   339,   340,   340,   340,   340,   340,   340,
1631      341,   341,   341,   341,   342,   342,   343,   343,   344,   344,
1632      344,   344,   344,   344,   345,   345,   346,   346,   346,   346,
1633      346,   346,   346,   346,   346,   346,   347,   347,   347,   347,
1634      347,   347,   347,   347,   348,   348,   348,   348,   348,   348,
1635      349,   349,   349,   350,   350,   350,   350,   350,   350,   350,
1636      350,   350,   350,   350,   350,   350,   351,   351,   351,   351,
1637      351,   351,   351,   352,   352,   353,   353,   353,   354,   354,
1638      354,   354,   354,   354,   354,   354,   354,   354,   354,   354,
1639      354,   354,   355,   355,   355,   355,   355,   356,   356,   356,
1640      356,   356,   356,   356,   357,   357,   357,   358,   358,   359,
1641      359,   359,   359,   360,   360,   360,   360,   360,   360,   361,
1642      362,   362,   362,   362,   362,   363,   363,   363,   363,   364,
1643      364,   365,   365,   365,   366,   366,   366,   366,   366,   366,
1644      366,   367,   367,   367,   367,   368,   368,   368,   368,   369,
1645      370,   371,   371,   371,   372,   372,   372,   373,   373,   373,
1646      373,   373,   373,   374,   374,   375,   375,   375,   375,   375,
1647      375,   375,   375,   375,   375,   375,   375,   376,   376,   376,
1648      376,   376,   376,   376,   376,   376,   376,   376,   376,   376,
1649      376,   376,   376,   376,   376,   376,   376,   377,   377,   377,
1650      377,   377,   377,   377,   377,   378,   378,   378,   378,   379,
1651      379,   379,   379,   379,   379,   380,   380,   380,   380,   380,
1652      380,   381,   381,   382,   382,   382,   382,   382,   382,   382,
1653      382,   382,   382,   382,   382,   382,   382,   382,   382,   382,
1654      382,   382,   382,   383,   383,   383,   383,   383,   383,   383,
1655      384,   384,   384,   384,   384,   385,   385,   385,   385,   386,
1656      386,   386,   387,   387,   387,   388,   389,   389,   389,   390,
1657      390,   391,   391,   392,   392,   392,   392,   393,   394,   395,
1658      396
1659 };
1660
1661 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1662 static const yytype_uint8 yyr2[] =
1663 {
1664        0,     2,     2,     2,     1,     2,     1,     1,     1,     4,
1665        4,     2,     1,     3,     4,     3,     2,     2,     1,     3,
1666        2,     2,     2,     2,     2,     2,     2,     2,     1,     2,
1667        1,     2,     2,     2,     2,     2,     2,     1,     1,     3,
1668        1,     3,     3,     1,     1,     3,     3,     1,     3,     3,
1669        3,     3,     1,     2,     2,     1,     1,     2,     2,     2,
1670        2,     1,     2,     2,     1,     1,     2,     2,     1,     2,
1671        2,     2,     2,     1,     2,     2,     3,     4,     5,     4,
1672        3,     4,     2,     3,     4,     5,     4,     3,     4,     5,
1673        5,     4,     2,     3,     3,     3,     3,     2,     4,     3,
1674        3,     2,     4,     3,     2,     3,     2,     3,     2,     1,
1675        2,     3,     3,     3,     2,     1,     3,     3,     1,     3,
1676        3,     2,     4,     5,     3,     4,     3,     1,     3,     3,
1677        3,     2,     3,     2,     4,     5,     3,     4,     3,     1,
1678        3,     3,     2,     1,     2,     2,     2,     1,     2,     5,
1679        7,     9,     6,     8,     4,     6,     1,     2,     3,     4,
1680        2,     2,     1,     1,     2,     2,     1,     1,     1,     1,
1681        7,     1,     2,     4,     1,     1,     2,     3,     2,     2,
1682        2,     3,     1,     2,     2,     2,     1,     1,     1,     2,
1683        2,     2,     3,     3,     1,     1,     2,     2,     1,     2,
1684        2,     2,     2,     1,     2,     1,     2,     2,     4,     4,
1685        6,     2,     4,     4,     6,     1,     1,     3,     1,     4,
1686        5,     1,     1,     1,     1,     3,     1,     1,     1,     3,
1687        3,     3,     1,     3,     1,     2,     2,     3,     3,     5,
1688        5,     6,     6,     2,     2,     3,     3,     3,     3,     3,
1689        3,     3,     3,     3,     3,     3,     1,     1,     3,     1,
1690        2,     4,     1,     1,     4,     4,     5,     8,     1,     1,
1691        2,     6,     6,     5,     5,     6,     6,     5,     5,     7,
1692        7,     6,     6,     7,     7,     6,     6,     4,     5,     4,
1693        6,     4,     1,     1,     1,     1,     3,     1,     2,     2,
1694        2,     1,     4,     4,     3,     4,     4,     3,     3,     2,
1695        2,     4,     4,     3,     4,     3,     3,     2,     2,     1,
1696        4,     4,     3,     4,     4,     3,     3,     2,     2,     4,
1697        4,     3,     4,     3,     3,     2,     2,     1,     1,     3,
1698        3,     1,     1,     3,     3,     2,     2,     2,     2,     2,
1699        4,     2,     4,     5,     5,     4,     2,     4,     1,     1,
1700        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1701        1,     4,     1,     3,     3,     3,     3,     3,     3,     1,
1702        3,     3,     3,     3,     1,     3,     3,     3,     3,     2,
1703        1,     2,     3,     3,     3,     3,     3,     3,     3,     1,
1704        3,     3,     3,     3,     3,     3,     3,     3,     1,     3,
1705        3,     3,     3,     1,     3,     3,     3,     3,     1,     3,
1706        3,     3,     3,     1,     3,     3,     1,     3,     3,     1,
1707        5,     5,     5,     5,     5,     5,     5,     5,     5,     5,
1708        5,     5,     5,     5,     5,     5,     1,     3,     3,     3,
1709        3,     3,     3,     3,     3,     1,     1,     1,     1,     1,
1710        1,     1,     1,     1,     1,     1,     1,     3,     3,     2,
1711        1,     3,     3,     1,     1,     2,     2,     3,     3,     3,
1712        3,     3,     3,     3,     1,     2,     2,     3,     3,     3,
1713        3,     3,     3,     3,     2,     2,     2,     2,     3,     2,
1714        5,     6,     6,     3,     2,     5,     1,     1,     1,     1,
1715        1,     4,     1,     3,     3,     3,     3,     3,     3,     1,
1716        3,     3,     3,     3,     1,     3,     3,     3,     3,     1,
1717        2,     3,     3,     3,     3,     3,     3,     3,     1,     3,
1718        3,     3,     3,     3,     3,     3,     3,     1,     3,     3,
1719        3,     3,     1,     3,     3,     3,     3,     1,     3,     3,
1720        3,     3,     1,     3,     3,     1,     3,     3,     1,     5,
1721        5,     5,     5,     4,     4,     4,     4,     5,     5,     5,
1722        5,     4,     4,     4,     4,     5,     5,     5,     5,     5,
1723        5,     5,     5,     3,     3,     2,     2,     1,     3,     3,
1724        3,     3,     1,     2,     3,     3,     2,     2,     2,     1,
1725        2,     3,     3,     1,     1,     1,     1,     1,     1,     1,
1726        1,     1,     1,     1,     1,     1,     3,     3,     1,     3,
1727        2,     1,     2,     2,     2,     4,     4,     3,     3,     4,
1728        5,     4,     6,     6,     4,     5,     4,     6,     6,     2,
1729        2,     2,     5,     3,     5,     6,     5,     7,     7,     8,
1730        8,     7,     7,     3,     3,     3,     4,     3,     5,     5,
1731        1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1732        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1733        1,     1,     1,     1,     1,     1,     4,     4,     4,     1,
1734        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1735        1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
1736        4,     1,     1,     2,     2,     3,     5,     2,     3,     5,
1737        5,     5,     1,     3,     2,     2,     3,     3,     2,     3,
1738        3,     4,     3,     3,     3,     3,     3,     3,     4,     4,
1739        4,     1,     1,     4,     3,     2,     3,     3,     3,     3,
1740        3,     3,     3,     3,     3,     3,     3,     3,     1,     1,
1741        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1742        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1743        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1744        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1745        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1746        1,     2,     1,     1,     1,     2,     1,     2,     1,     2,
1747        1,     2,     4,     5,     1,     1,     1,     2,     1,     2,
1748        1,     2,     1,     2,     4,     5,     1,     2,     1,     2,
1749        1,     2,     1,     2,     1,     2,     1,     2,     4,     5,
1750        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1751        1,     2,     4,     5,     3,     3,     1,     3,     3,     3,
1752        3,     1,     1,     1,     4,     4,     4,     3,     4,     4,
1753        4,     3,     1,     3,     4,     3,     4,     4,     4,     4,
1754        3,     2,     3,     3,     3,     3,     2,     2,     2,     3,
1755        4,     1,     1,     2,     3,     3,     3,     3,     2,     2,
1756        2,     3,     4,     1,     1,     1,     1,     1,     4,     1,
1757        1,     1,     1,     1,     1,     1,     1,     1,     4,     1,
1758        2,     3,     6,     5,     3,     4,     2,     3,     3,     3,
1759        3,     4,     4,     4,     2,     3,     3,     3,     4,     4,
1760        3,     4,     2,     3,     3,     3,     4,     4,     1,     2,
1761        2,     3,     1,     1,     2,     2,     3,     1,     1,     2,
1762        2,     3,     1,     2,     3,     2,     2,     1,     2,     3,
1763        2,     1,     2,     3,     3,     1,     2,     3,     3,     1,
1764        2,     3,     3,     1,     2,     3,     3,     1,     2,     3,
1765        3,     1,     3,     4,     1,     4,     2,     5,     3,     1,
1766        1,     1,     1,     1,     1,     3,     3,     2,     2,     1,
1767        1,     3,     2,     3,     1,     3,     3,     3,     3,     3,
1768        1,     2,     3,     3,     1,     2,     1,     2,     2,     2,
1769        2,     3,     1,     1,     3,     3,     1,     3,     4,     3,
1770        4,     3,     3,     4,     3,     4,     1,     3,     3,     4,
1771        3,     3,     3,     4,     1,     3,     3,     3,     3,     3,
1772        1,     3,     2,     1,     1,     1,     1,     1,     2,     1,
1773        1,     1,     1,     2,     2,     2,     1,     1,     1,     1,
1774        1,     2,     1,     1,     4,     1,     3,     0,     6,     8,
1775       10,    12,     8,    10,    10,     5,     7,     9,    11,     7,
1776        9,     9,     3,     4,     4,     3,     3,     3,     4,     4,
1777        3,     2,     3,     2,     1,     1,     1,     1,     1,     2,
1778        3,     2,     2,     2,     3,     3,     2,     5,     6,     2,
1779        2,     2,     2,     2,     2,     1,     2,     2,     3,     1,
1780        2,     1,     2,     2,     1,     2,     2,     2,     2,     2,
1781        2,     1,     1,     2,     2,     1,     1,     2,     2,     1,
1782        2,     2,     1,     2,     1,     2,     2,     5,     5,     7,
1783        7,     5,     5,     3,     2,     5,     4,     4,     7,     6,
1784        6,     5,     7,     6,     4,     7,     9,     3,     4,     4,
1785        5,     5,     6,     7,     6,     6,     5,     5,     4,     3,
1786        2,     1,     2,     4,     3,     5,     4,     3,     2,     2,
1787        2,     3,     3,     3,     3,     2,     2,     1,     1,     4,
1788        3,     4,     3,     3,     2,     4,     3,     4,     3,     3,
1789        2,     1,     2,     1,     1,     2,     1,     2,     3,     3,
1790        1,     2,     2,     2,     3,     4,     4,     2,     2,     2,
1791        2,     1,     2,     1,     2,     1,     2,     2,     1,     2,
1792        1,     2,     2,     2,     2,     1,     2,     2,     3,     1,
1793        1,     0,     6,     6,     5,     4,     1,     2,     2,     1,
1794        3,     3,     4,     1,     1,     2,     2,     6,     6,     6,
1795        4
1796 };
1797
1798 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1799    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1800    means the default is an error.  */
1801 static const yytype_uint16 yydefact[] =
1802 {
1803     1291,   256,     6,   620,   621,   622,   623,   624,   681,   682,
1804      683,   684,   685,   687,   690,   691,   688,   689,   675,   676,
1805      680,   686,   768,   769,   631,  1136,   234,   699,   925,   926,
1806        0,     0,   929,  1134,  1135,   700,   701,   692,     0,     0,
1807        0,     0,     0,   930,   931,   968,     0,  1260,   816,   695,
1808        8,     4,     0,     0,     0,  1254,     0,  1273,   892,   810,
1809        0,   694,     0,   670,   672,   818,   820,   677,   812,   814,
1810      751,   693,     0,     0,   671,   673,     0,     0,     0,     0,
1811        0,   991,   674,     0,   927,     0,     0,     0,  1256,  1278,
1812     1253,  1275,  1285,  1280,     0,     0,     0,  1271,     0,  1268,
1813     1251,     0,     0,  1257,     0,     0,     0,     0,  1270,  1269,
1814        0,   678,   969,   674,   970,   883,   882,   892,   924,   881,
1815      911,   982,     0,   923,   987,     0,     0,     0,     0,     0,
1816        0,  1146,     0,   236,   235,     0,     0,   244,     0,   243,
1817        2,     3,     0,     5,     0,   633,   632,     0,     0,   651,
1818        0,     0,     0,     0,   755,     0,   735,   734,     0,  1149,
1819      622,   684,   685,  1143,   817,     8,  1255,  1274,   892,   811,
1820      819,   821,   813,   815,   991,   999,   674,     0,     0,  1030,
1821        0,     0,     0,  1040,     0,     0,   883,     0,   882,     0,
1822        0,   901,     0,     0,   615,   616,   617,   618,   619,  1053,
1823      906,   804,   876,   798,     0,   808,     0,   800,   802,   751,
1824      806,     0,     0,  1052,     0,     0,  1056,  1066,     0,     0,
1825        0,     0,     0,     0,   992,     0,   703,   704,   705,   706,
1826      707,   709,   712,   713,   710,   711,   702,   708,   721,   714,
1827        0,     0,  1179,   717,     0,     0,   788,   716,   794,   790,
1828      792,   796,   715,     0,  1155,     0,     0,     0,     0,  1244,
1829     1250,   622,     0,  1267,  1262,  1276,     0,  1263,  1279,  1261,
1830     1277,  1272,  1284,  1287,     0,     0,     0,     0,     0,  1282,
1831     1283,  1286,  1281,     1,     0,  1258,  1259,  1252,     0,     0,
1832      474,   268,     0,     0,     0,     0,     0,     0,   368,   369,
1833        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1834      363,     0,   366,     0,     0,   362,   364,   365,   367,     0,
1835      263,     0,   262,   301,   269,   257,   473,     0,   358,   370,
1836        0,   372,   379,   384,   390,     0,   399,   408,   413,   418,
1837      423,   426,   429,   446,     0,   507,   506,   510,   512,   519,
1838      524,   529,   538,   547,   552,   557,   562,   565,   568,     0,
1839      259,   292,   293,   294,   295,     0,     0,     0,     0,     0,
1840      679,   971,     0,   913,     0,   918,     0,     0,     0,     0,
1841        0,     0,     0,   924,   983,   988,     0,   893,   985,   895,
1842      990,   986,   692,     4,   228,   227,   226,   232,     0,   262,
1843      370,   218,   510,     0,   205,   248,     0,     0,   247,   254,
1844        0,     0,  1137,  1138,     0,   167,     0,   168,   169,     0,
1845        0,     0,     0,     0,   171,   245,     0,     0,     0,     0,
1846       28,    30,   162,   174,   187,     0,   186,     0,   115,   118,
1847        0,   194,   127,     0,   163,   139,     0,   166,   182,   195,
1848      198,     0,     0,   262,     0,     0,   175,     0,   995,   674,
1849        0,    12,    18,     0,   823,   822,   830,   824,     0,   826,
1850      828,   751,   835,   834,   249,   255,   246,     0,     0,   238,
1851      237,   664,   625,   628,   663,   667,   653,     0,     0,     0,
1852      221,   222,   223,   224,     0,   216,     0,   764,   757,     0,
1853        0,   754,   761,   756,     0,     0,   767,   758,     0,     0,
1854      737,   736,     0,     0,     0,     0,     0,   992,  1000,     0,
1855     1032,     0,     0,  1240,  1246,     0,  1242,  1248,  1041,  1144,
1856        0,     0,     0,  1145,   900,     0,   262,   613,   614,     0,
1857        0,     0,     0,   633,   632,   634,     0,   738,     0,     0,
1858      684,     0,     0,  1050,   805,     8,   892,   799,   809,   801,
1859      803,   807,   924,   881,   674,   973,   972,     0,     0,     0,
1860      905,     0,     0,   904,     0,     0,     0,  1082,     0,   902,
1861      903,   993,     0,   994,     0,     0,  1153,  1141,  1152,    75,
1862     1150,   706,   707,  1139,   892,   789,   795,   791,   793,   797,
1863      674,     0,  1154,  1151,  1142,     0,  1156,     0,  1243,  1249,
1864     1157,     0,     0,     0,     0,     0,     0,     0,     0,  1238,
1865        0,     0,     0,   714,     0,     0,     0,   156,  1086,  1087,
1866      717,     0,     0,     0,   262,     0,   370,     0,     0,   510,
1867      597,   602,     0,  1084,  1161,  1164,  1092,  1083,  1096,     0,
1868        0,     0,     0,  1183,  1181,  1085,  1098,     0,  1099,  1090,
1869     1097,     0,  1100,  1180,     0,     0,  1264,   892,     0,     0,
1870        0,  1274,     0,   881,   999,   674,     0,     0,     0,     0,
1871     1250,  1288,     0,     0,   429,     0,     0,   928,   484,     0,
1872        0,   319,     0,   360,   351,   509,   508,   499,     0,   346,
1873      494,   347,   495,     0,   870,   860,   868,   862,   864,   866,
1874        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1875        0,     0,   356,   504,   270,     0,     0,     0,   774,   770,
1876      772,   776,  1044,     0,   260,     0,   297,     0,   338,     0,
1877      337,     0,   476,    92,     0,   475,     0,   309,   310,     0,
1878        0,     0,   456,   457,   458,   459,   460,   461,   462,   463,
1879      464,   465,   455,     0,     0,   349,   497,   348,   496,     0,
1880        0,     0,     0,     0,     0,     0,   391,   530,     0,     0,
1881      389,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1882        0,   696,     0,   317,   318,     0,     0,     0,     0,     0,
1883        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1884        0,     0,     0,     0,     0,     0,     0,     0,     0,   697,
1885      698,     0,     0,     0,  1303,  1304,     0,     0,     0,   887,
1886        0,     0,     0,   891,     0,     0,     0,   917,   916,   914,
1887      915,   924,   983,   988,   894,   896,  1010,    10,     9,     0,
1888        0,     0,   674,   972,   206,     0,     0,   262,   205,     0,
1889        0,   842,   836,   838,   840,     0,     0,     0,    16,    20,
1890        0,   184,   183,   185,     0,     0,     0,     0,   363,     0,
1891      262,     0,    26,    21,    27,    24,     0,    25,    23,    22,
1892       29,    31,   189,    82,   190,   121,   161,     0,     0,     0,
1893        0,   131,     0,     0,   133,     0,     0,   142,   160,   199,
1894      196,   201,   200,   197,   202,   114,     0,     0,     0,   892,
1895      732,   176,  1007,     0,  1003,   674,     0,    11,    17,   722,
1896      908,  1052,     0,     0,     0,   996,     0,     0,   172,   164,
1897      191,   180,     0,   179,     0,   165,   892,   178,     0,   633,
1898      632,   831,   825,   827,   829,     0,     0,     0,   630,   666,
1899        0,     0,     7,   211,   207,   753,     0,     0,     0,     0,
1900     1029,  1036,  1037,  1038,    61,    52,    91,    38,    37,    56,
1901       68,    44,    47,     0,    73,    55,     0,     0,     0,  1020,
1902     1022,     0,  1019,  1021,     0,    40,    43,   924,   993,   984,
1903     1001,   989,  1010,  1002,     0,  1011,  1014,  1031,  1033,  1239,
1904     1245,  1241,  1247,  1035,  1042,  1039,  1043,   899,   897,   898,
1905     1079,  1061,  1070,   638,   637,     0,     0,   474,   739,     0,
1906        0,   474,   740,     0,     0,     0,   954,   892,     0,     0,
1907      674,   972,     0,     0,     0,   946,     0,     0,     0,     0,
1908        0,  1051,   975,     0,     0,   974,  1055,  1054,     0,   875,
1909     1078,   878,  1064,  1072,     0,   874,  1077,   877,  1062,  1071,
1910        0,  1081,  1075,   879,  1057,  1067,     0,  1076,   880,  1059,
1911     1068,   932,   933,   936,   935,   934,     0,   937,   939,     0,
1912        0,     0,     0,    76,     0,  1140,  1158,     0,     0,     0,
1913        0,     0,     0,  1222,     0,     0,     0,     0,     0,     0,
1914        0,     0,     0,     0,   262,     0,  1084,  1220,  1089,  1091,
1915        0,     0,  1228,  1229,  1230,     0,  1236,     0,     0,     0,
1916        0,     0,     0,   157,   143,  1095,  1094,  1093,     0,     0,
1917        0,   603,     0,  1088,     0,     0,     0,     0,   469,     0,
1918        0,   474,     0,     0,     0,     0,  1162,  1165,  1167,     0,
1919     1163,  1166,  1168,     0,  1194,  1101,  1265,  1266,   236,   235,
1920        0,     0,     0,  1000,     0,     0,  1246,     0,  1248,  1249,
1921        0,     0,  1147,     0,     0,   782,   262,     0,   498,   784,
1922      778,   780,   786,  1046,     0,   486,   485,     0,   327,   328,
1923        0,     0,     0,     0,   335,   336,     0,     0,     0,     0,
1924        0,     0,     0,     0,   871,   861,   869,   863,   865,   867,
1925      674,   978,   977,     0,   856,   846,   854,   848,   850,   852,
1926        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1927        0,     0,     0,     0,   503,     0,   258,     0,   775,   771,
1928      773,   777,  1045,     0,     0,   474,     0,     0,     0,   104,
1929        0,   296,   474,     0,     0,    93,   474,     0,     0,   477,
1930      308,   304,   342,   479,   480,   341,   481,   307,     0,     0,
1931      451,   447,   298,   373,   513,   374,   514,   375,   515,   380,
1932      520,   381,   521,   385,   525,   386,   526,   393,   532,   394,
1933      533,   392,   531,   404,   543,   400,   539,   405,   544,   401,
1934      540,   411,   550,   409,   548,   416,   555,   414,   553,   421,
1935      560,   419,   558,   424,   563,   427,   566,   593,     0,   609,
1936        0,     0,     0,     0,   453,   449,   478,   316,   313,     0,
1937      482,   483,   315,     0,     0,   452,   448,   376,   516,   377,
1938      517,   378,   518,   382,   522,   383,   523,   387,   527,   388,
1939      528,   397,   536,   398,   537,   395,   534,   396,   535,   406,
1940      545,   402,   541,   407,   546,   403,   542,   412,   551,   410,
1941      549,   417,   556,   415,   554,   422,   561,   420,   559,   425,
1942      564,   428,   567,   594,     0,     0,     0,     0,   454,   450,
1943        0,     0,  1296,  1299,     0,     0,  1294,  1305,  1306,     0,
1944        0,   886,   884,   885,   890,   888,   889,   233,   231,   230,
1945      229,   262,   674,   975,   240,     0,   206,   239,   126,     0,
1946      124,   843,   837,   839,   841,     0,   674,     0,    15,    19,
1947        0,   181,  1007,   674,     0,   138,     0,   136,   843,     0,
1948      262,   674,     0,    83,   116,   119,   117,   120,   128,   129,
1949      130,   132,   140,   141,   113,   111,   112,    13,   724,   727,
1950        0,     0,   920,  1052,     0,     0,     0,  1008,  1004,     0,
1951        0,   723,   892,   909,   997,   998,   892,   192,   193,   177,
1952        0,     0,     0,     0,   626,   627,   629,     0,     0,   656,
1953      652,     0,     0,     0,     0,     0,   225,   217,   215,     0,
1954        0,     0,    35,    36,    74,    53,     0,    54,     0,    63,
1955       60,    71,    66,    72,    59,    89,    38,    69,    62,    90,
1956       58,    70,    67,     0,    57,     0,   706,    32,    34,    33,
1957     1023,  1024,     0,   646,   636,     0,   641,   635,     0,   474,
1958      741,     0,     0,     0,   972,     0,   944,   955,   956,   949,
1959      947,   948,     0,   976,   957,     0,     0,   950,     0,     0,
1960        0,  1065,  1073,  1052,  1063,  1058,  1060,  1069,   943,     0,
1961        0,     0,   940,   718,   719,   720,   474,     0,     0,  1125,
1962     1130,     0,     0,  1126,  1132,     0,     0,     0,     0,     0,
1963        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1964        0,     0,     0,     0,  1219,   474,     0,  1184,   262,     0,
1965        0,     0,  1227,  1233,  1234,  1231,  1232,     0,     0,     0,
1966        0,   144,  1122,  1127,   158,   600,   598,     0,     0,     0,
1967      467,   604,   601,   599,   468,   605,     0,  1001,  1245,  1247,
1968     1148,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1969        0,   350,   783,   785,   779,   781,   787,  1047,     0,   487,
1970      326,   322,   489,   490,   491,   325,     0,     0,   488,   334,
1971      331,     0,   492,   493,   333,     0,     0,   289,   287,     0,
1972        0,   962,   674,     0,     0,     0,     0,     0,     0,   980,
1973        0,   979,     0,     0,     0,   857,   847,   855,   849,   851,
1974      853,     0,   265,     0,   264,   291,     0,     0,     0,     0,
1975        0,     0,  1310,     0,     0,     0,   355,     0,   371,   511,
1976      261,   107,   105,   340,   339,    98,   102,   305,     0,   306,
1977      302,   303,   610,     0,     0,     0,     0,     0,     0,   314,
1978      311,   312,     0,     0,     0,     0,  1298,  1297,  1301,     0,
1979        0,     0,  1293,  1292,     0,   972,   217,     0,     0,   122,
1980      125,     0,     0,     0,     0,     0,  1008,     0,   134,   137,
1981        0,    14,   474,     0,     0,   733,     0,   892,   921,  1009,
1982     1005,  1006,   725,   728,   910,   173,   832,     0,   242,   241,
1983        0,   655,     0,   212,   213,   203,   208,   209,   219,     0,
1984        0,    50,    45,    48,    51,    46,    49,    36,    42,    39,
1985       41,     0,     0,  1027,  1028,   645,     0,   640,     0,   975,
1986      974,   945,   958,   959,   952,   951,   953,  1049,  1048,     0,
1987      942,   941,    78,  1123,  1128,  1124,  1129,     0,     0,     0,
1988        0,   474,  1197,     0,     0,  1196,  1226,     0,     0,     0,
1989        0,     0,     0,     0,     0,     0,     0,     0,  1204,     0,
1990     1185,   474,  1186,   474,     0,     0,     0,  1107,   928,  1107,
1991        0,     0,   154,     0,     0,     0,   159,     0,     0,     0,
1992        0,     0,     0,     0,     0,     0,     0,   500,   323,   324,
1993      320,   321,   332,   329,   330,   288,   872,     0,   977,     0,
1994      960,   963,   964,   273,   274,     0,   981,   965,     0,     0,
1995        0,     0,     0,     0,     0,     0,     0,     0,   266,   277,
1996      278,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1997      505,   344,   343,   471,   611,   438,   585,   430,   569,   442,
1998      589,   434,   577,   472,   612,   439,   586,   431,   570,   443,
1999      590,   435,   578,   440,   587,   432,   571,   444,   591,   436,
2000      579,   441,   588,   433,   572,   445,   592,   437,   580,  1300,
2001     1302,  1295,   844,     0,   123,   149,  1009,     0,   135,    85,
2002      922,     0,     0,   833,     0,     0,     0,     0,     0,     0,
2003      204,     0,   220,     0,     0,  1025,  1026,  1015,     0,     0,
2004        0,     0,   938,  1187,  1188,  1191,  1192,  1195,  1225,     0,
2005        0,     0,     0,     0,     0,     0,  1201,   474,     0,     0,
2006        0,  1105,     0,  1103,  1115,     0,  1107,     0,  1107,     0,
2007        0,     0,     0,   502,   501,   979,   961,   873,   966,   967,
2008      271,   272,   858,   281,   282,     0,     0,     0,     0,   275,
2009      276,   285,   286,     0,     0,   290,  1308,  1309,  1307,   845,
2010        0,   726,   729,   731,   730,     0,     0,   214,   210,     0,
2011     1012,  1017,     0,     0,     0,     0,     0,     0,     0,  1215,
2012     1199,     0,     0,  1200,  1212,     0,  1203,  1214,     0,     0,
2013     1107,     0,  1107,     0,  1107,     0,  1108,     0,     0,     0,
2014      147,     0,   152,     0,   155,     0,   859,   279,   280,     0,
2015      283,   284,   170,  1013,  1189,  1190,     0,     0,  1198,  1205,
2016        0,  1202,  1213,  1119,  1106,     0,     0,     0,  1116,     0,
2017        0,  1107,  1107,     0,  1107,   146,   145,   150,   148,     0,
2018        0,   371,   511,   267,     0,     0,  1104,     0,     0,  1107,
2019     1112,     0,     0,  1109,     0,     0,   153,  1206,  1120,  1121,
2020     1117,     0,     0,     0,     0,  1107,   151,     0,  1113,  1114,
2021     1110,     0,  1118,     0,  1111
2022 };
2023
2024 /* YYDEFGOTO[NTERM-NUM].  */
2025 static const yytype_int16 yydefgoto[] =
2026 {
2027       -1,   201,    49,    50,   963,   319,   426,   427,   428,   429,
2028      430,   431,   432,   433,   977,   978,   979,   980,   981,   982,
2029      983,   984,   985,   986,   987,   988,   244,   245,   434,   435,
2030       52,   320,   321,   736,   764,   438,   439,   440,   441,   442,
2031      443,   444,   445,   446,   447,  2109,  2110,  2111,   448,   631,
2032      632,   633,   449,   450,   451,   452,  1804,   394,   490,   395,
2033      491,   396,   492,   493,   856,   397,   398,    53,    54,    55,
2034       56,    57,   322,   323,   324,   325,   989,   990,   326,   327,
2035      692,   739,  1274,   328,   636,   694,   330,   331,   332,   333,
2036      334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
2037      725,   818,   638,  1331,   345,   695,   346,   639,   697,   348,
2038      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
2039      640,   641,  1115,  1333,   539,   540,   203,    59,   483,   484,
2040      204,    61,   205,   206,    62,    63,    64,    65,    66,    67,
2041      207,   112,   208,   250,   920,   921,   209,   210,   211,    71,
2042       72,    73,    74,    75,   212,   732,  1193,   253,   456,    77,
2043       78,   473,   474,   866,  1230,   710,  1038,  1039,   118,    79,
2044      457,    81,   458,   121,   122,   123,   924,   124,   113,    83,
2045     1087,  1088,  1089,    84,   565,  1221,   460,   567,  1223,   127,
2046      179,   461,   462,   181,   928,   129,  1007,  1541,   995,   996,
2047     1542,   182,   183,   184,   185,   733,  1194,   216,   217,   218,
2048      219,   220,   221,   644,   645,  2031,  2032,   646,   647,   648,
2049       87,   463,   254,    88,    89,   255,   256,   257,   651,   652,
2050      653,   654,   258,   655,   886,  1621,  1118,   658,   659,   660,
2051     1119,   662,    90,    91,   360,    92,    93,    94,    95,    96,
2052       97,   824,  1403,  1404,   825,   826,   361,   362,   363,   364
2053 };
2054
2055 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2056    STATE-NUM.  */
2057 #define YYPACT_NINF -2029
2058 static const int yypact[] =
2059 {
2060    35291, -2029, -2029, -2029, -2029,   449, -2029, -2029, -2029, -2029,
2061    -2029, -2029, -2029, -2029, -2029, -2029, -2029, -2029, -2029, -2029,
2062    -2029, -2029, -2029, -2029, -2029, -2029, -2029, -2029, -2029, -2029,
2063     1052,   116, -2029, -2029, -2029, -2029, -2029, -2029,    13,    26,
2064      228,   753,   353, -2029, -2029,  2452,  2848, -2029, -2029, -2029,
2065      348, -2029,   356,   753,   483, -2029,   263,   390,   860, -2029,
2066      187, -2029,   730, -2029,   447, -2029, -2029, -2029, -2029, -2029,
2067      800, -2029,  1136,   514, -2029,   538,  1435, 34927,  2603,   863,
2068    35559, -2029,   562,   611, -2029,  1630, 38009, 33693, -2029, -2029,
2069    -2029, -2029, -2029, -2029, 35382, 34554,   742, -2029,   116, -2029,
2070    -2029,   353,   353,   807,   671,   353, 27291,   753, -2029, -2029,
2071      689, -2029,  2452, -2029, -2029, -2029,   716, -2029,   981,  1087,
2072    -2029, -2029, 35648, -2029, -2029,  2848,  2221,  1829,  2188,  2291,
2073    21678, -2029,   836,   947,   706, 28358, 37656, -2029, 28477, -2029,
2074    -2029, -2029,   753, -2029,  1336,  1218,  1230,   158, 37656, -2029,
2075    37401, 28596, 37656, 28715, -2029, 28834, -2029, -2029,   753, -2029,
2076    -2029,   418,   842, -2029, -2029,  1152, -2029,   390,   703, -2029,
2077    -2029, -2029, -2029, -2029,  1176,  1872,   562,  2221,  2171,  2291,
2078    38009, 38009,   122, -2029,  1370,   868,   871,   842,   918,   562,
2079     1381, -2029, 25831,   901, -2029, -2029, -2029, -2029, -2029, -2029,
2080    -2029, -2029,   956, -2029,   310, -2029,   903, -2029, -2029,   924,
2081    -2029,   960,  1546, 11690,   602,   796, -2029, -2029,   879,   907,
2082     1005,  1049,    76,  1042, -2029,    76, -2029, -2029, -2029, -2029,
2083    -2029, -2029, -2029, -2029, -2029, -2029, -2029, -2029, -2029, -2029,
2084     1060,  1063, -2029, -2029,   479,    61, -2029, -2029, -2029, -2029,
2085    -2029, -2029, -2029, 35109, -2029, 16676,  4899, 38198, 16808, -2029,
2086     1066,  1127,  1105, -2029, -2029,   390, 35018, -2029, -2029, -2029,
2087    -2029, -2029, -2029, -2029,   447,   538, 36093, 38009, 36357, -2029,
2088    -2029, -2029, -2029, -2029,  1144,   807,   807, -2029, 27291,   279,
2089    -2029, -2029, 27364, 27437, 27437,  1108, 37826, 27291, -2029, -2029,
2090     1165,  1173, 37826, 27291,  1200,  1208,  1262,  1269,  1291, 27510,
2091    -2029, 21908, -2029,   353, 25904, -2029, -2029, -2029, -2029,  1147,
2092    -2029,   100,  1239, -2029, -2029, -2029, -2029, 12095, -2029,  2625,
2093    25904, -2029,  1014,    54,   754, 27291,  1179,   990,  1286,  1302,
2094     1287,  1459,   150,  2625,  1353,   678, -2029,  2625, -2029,  1031,
2095     1119,  1470,  1221,  1497,  1359,  1393,  1412,  1534,   290,  2625,
2096      807, -2029, -2029, -2029, -2029,  1437,   217, 37486,  1442,  1458,
2097    -2029, -2029, 25977, -2029, 26050, -2029,   931,   975,  1455,  1484,
2098     2221,  2679,  2702,   981, -2029, -2029,   732, -2029, -2029, -2029,
2099    -2029, -2029,  1165,  1147, -2029, -2029, -2029, -2029,   723,  1076,
2100    -2029,   754, -2029,  1470, 33099, -2029, 21793, 37401, -2029,   875,
2101    37146, 36445, -2029, -2029,  1489, -2029,   753, -2029, -2029,   116,
2102    36621, 36269,  6728, 37741, -2029, -2029,   852,  1496,  1496,   976,
2103    -2029,  1504, -2029, -2029, -2029,   131,  1116,   148, -2029, -2029,
2104    27755,  1510, -2029,  1149, -2029, -2029,   249, -2029, -2029, -2029,
2105     1516, 27882, 28001,   421,   672,   678, 33889, 35737, -2029,   562,
2106     1630, -2029, -2029, 33791, -2029, -2029,  1524, -2029,   753, -2029,
2107    -2029, -2029,  2294, 37826, -2029,   875, -2029, 28120, 28239,  1531,
2108     1535, -2029,  1521, -2029,  1553, -2029, -2029,  2105,  1532,   755,
2109    -2029, -2029, -2029, -2029,  1062,   802, 33099,   770, -2029, 28953,
2110    29072, -2029,   770, -2029, 29191, 29310,   770, -2029, 29429, 29548,
2111    -2029, -2029,  2848,  2848,  2848, 19975,   732,  1176,  1872,   732,
2112    -2029, 26123,  4899, -2029,  1066,  4899, -2029,  1066, -2029, -2029,
2113     2848,  2848,   732, -2029, -2029,  1539,   328, -2029, -2029,  1556,
2114     1561, 37231,  1527,  1568,  1586, -2029, 29667, -2029, 29786,   372,
2115    -2029,  6244, 26196,  2848, -2029,  1096,   956, -2029, -2029, -2029,
2116    -2029, -2029,   981,  1571,   562,  1036,   157,   629,  1681,  1582,
2117    -2029, 36885,  1590, -2029, 36972,  1592, 37059,  1597, 37316, -2029,
2118    -2029, -2029,  1932, -2029, 27291,   753, -2029, -2029,  1598, -2029,
2119    -2029,   418,   842, -2029,  1600, -2029, -2029, -2029, -2029, -2029,
2120      562,  1402,   868, -2029, -2029,  1610, -2029, 16940, -2029,  1066,
2121    -2029,   559, 26269,  1615,  1623,  1633,   126, 17072,  1636,   116,
2122     1643,  1644, 17204,  1165,  2611,  1642,  1654,   116, -2029, -2029,
2123     1147,  1652,  1658,  1659,  1414, 15351,  2625, 15488, 23422,  2625,
2124     2625, -2029, 15620, 35200, -2029, -2029, -2029, -2029, -2029, 17336,
2125    17468, 17600, 17732, -2029, -2029, -2029,  1066, 17864, -2029, -2029,
2126    -2029, 17996, -2029, -2029,   353,   353,   807,   635,   753,  1453,
2127     1660, -2029,   981,   863, -2029,   562,  2221, 38009, 38009,  4899,
2128    -2029, -2029, 36181, 27291,   366,  1662,   425, -2029, -2029, 22039,
2129      236, -2029, 12232, -2029, -2029,   864, -2029, -2029, 26342, -2029,
2130    -2029, -2029, -2029, 37826,  1670, -2029, -2029, -2029, -2029, -2029,
2131    33297, 37826, 22170,   116, 33396, 37826, 27291,   353,   353,   353,
2132    27291, 22285, -2029, -2029, -2029, 12415, 12611, 12748, -2029, -2029,
2133    -2029, -2029,  8543,  1665,   113, 20106, -2029,   276, -2029,   570,
2134    -2029, 20237,  1663, -2029, 20368, -2029,  1575, -2029, -2029, 11385,
2135     1580, 27291, -2029, -2029, -2029, -2029, -2029, -2029, -2029, -2029,
2136    -2029, -2029, -2029, 25904,   284, -2029, -2029, -2029, -2029, 27291,
2137    27291, 27291, 27291, 27291, 27291, 27291,   754,  1470, 27291, 27291,
2138    -2029, 27291, 25904, 25904, 25904, 25904, 25904, 27291, 27291, 12885,
2139    25904, -2029,  1583, -2029, -2029, 23495,  1584, 27291, 25904, 27291,
2140    27291, 27291, 27291, 27291, 27291, 27291, 27291, 27291, 27291, 27291,
2141    25904, 25904, 25904, 25904, 25904, 27291, 27291, 13022, 25904, -2029,
2142    -2029,    32,   956, 37741, -2029, -2029, 34645, 37486, 37486, -2029,
2143     1661,  1667,  1671, -2029,  1672,  1677,  1687, -2029, -2029, -2029,
2144    -2029,   981, -2029, -2029, -2029, -2029,  1689, -2029, -2029, 21678,
2145    21678, 32515,   562,  1041, -2029,   580,  1118,  1256, 33099,  1154,
2146     1664,  1676, -2029, -2029, -2029,  2294, 10001, 36533, -2029, -2029,
2147      116, -2029, -2029, -2029, 33987,  1694,   116, 33198,  2754, 22416,
2148     2006, 36709, -2029, -2029,  1066, -2029,  1066, -2029, -2029, -2029,
2149     1066, -2029,  1697, -2029,  1133, -2029, -2029,  4051,  4051,  1496,
2150     1496, -2029,  1496,   106, -2029,  1496,  1496, -2029, -2029,  1077,
2151    -2029,  1516,  1077, -2029,  1516,  1120, 26415,  1869, 27291,   650,
2152    -2029,  1700,   981, 35826, -2029,   562,  2221, -2029, -2029,  1104,
2153      901, 11690, 27628,   687,    76, -2029,    76,  2848, -2029, -2029,
2154    -2029, -2029,   293, -2029,   297, -2029,   421, 33889, 21678, -2029,
2155    -2029,  1708, -2029, -2029, -2029, 37401, 37401, 27291,   116, -2029,
2156    32166,   171, -2029,  1075,  1097, -2029, 37401,   116,   826,   116,
2157     2066, -2029, -2029, -2029, -2029, -2029, -2029,  1496, -2029, -2029,
2158    -2029, -2029, -2029, 34084,  1475, -2029, 20499, 38104, 20630, -2029,
2159    -2029, 11826, -2029, -2029, 36797, -2029, -2029,   981,  1176, -2029,
2160     1872, -2029,   981, -2029, 26123, -2029, -2029, -2029, -2029, -2029,
2161     1066, -2029,  1066, -2029, -2029, -2029, -2029, -2029, -2029, -2029,
2162    -2029, -2029, -2029, -2029,  1553,   227,   296,  1701, -2029, 29905,
2163    30024,  1711, -2029, 30143, 30262, 30381, -2029,   427,   464,   523,
2164     1281,  1238,  1717,  1721,  1722, -2029,  1713,  1715,  1716,   562,
2165      732,  2291,   157, 35915, 26488,  1036, -2029, -2029, 37571, -2029,
2166    -2029,   956, -2029, -2029, 37571, -2029, -2029,   956, -2029, -2029,
2167    37571, -2029, -2029,   956, -2029, -2029, 37571, -2029,   956, -2029,
2168    -2029, -2029, -2029, -2029, -2029, -2029,  1728,  1730, -2029,  2028,
2169     1735,  1736,   318, -2029, 20761, -2029, -2029, 18128,  1731,  1732,
2170    18260, 27291, 27291, -2029, 26561, 26634,  1737,  1739,  1756,  6985,
2171     1760,   116, 23568,  2664,  1486, 23641, -2029,  1820, -2029, -2029,
2172    23714,  1761, -2029, -2029, -2029,  1762,  1764, 23787, 15752,   353,
2173     1770, 27291, 27291,   116, -2029, -2029, -2029, -2029, 22729,   750,
2174    25904, -2029,  1366, -2029, 27291, 13159, 13296, 25904, -2029, 27291,
2175    13433,  1610, 18392, 18524, 18656, 18788, -2029, -2029, -2029, 18920,
2176    -2029, -2029, -2029, 19052, -2029, -2029,   807,   807,  1774,  1775,
2177    32284, 32402,   732, -2029,   732,  4899, -2029,  4899, -2029, -2029,
2178     1771, 25904, -2029, 25904,   772, -2029,   421,  1777, -2029, -2029,
2179    -2029, -2029, -2029,  8543,  1778,  1663, -2029,  1611, -2029, -2029,
2180    23860,  1614, 27291,  1625, -2029, -2029, 23933,  1626, 27291,  1779,
2181    37910, 21678, 35470, 27291,  1786, -2029, -2029, -2029, -2029, -2029,
2182      562,  1776,  1787,  1785,  1804, -2029, -2029, -2029, -2029, -2029,
2183    33495, 24006,  1802,  1805,  1806, 27291,  1794, 33594,  1813,   589,
2184      262,   363,  1814,  1808, -2029,  1810, -2029,   116, -2029, -2029,
2185    -2029, -2029, -2029, 27291,   353,   304, 11023, 20892,  1769, -2029,
2186    25904, -2029,   314, 34178, 21023, -2029,   322, 34272, 21154, -2029,
2187    -2029, -2029, -2029,   787,  1834, -2029, -2029, -2029, 24079,  4206,
2188    -2029, -2029,  1769, -2029, -2029, -2029, -2029, -2029, -2029,  1014,
2189     1031,  1014,  1031,    54,  1119,    54,  1119,   754,  1470,   754,
2190     1470,   754,  1470, -2029, -2029,  1179,  1221, -2029, -2029,  1179,
2191     1221, -2029, -2029,   990,  1497, -2029, -2029,  1286,  1359, -2029,
2192    -2029,  1302,  1393,  1287,  1412,  1459,  1534, -2029,    42, -2029,
2193    24152,  1818,  4514,  1832, -2029, -2029, -2029, -2029, -2029,  1231,
2194    -2029, -2029, -2029, 24225,  5030, -2029, -2029, -2029, -2029, -2029,
2195    -2029, -2029, -2029,  1014,  1031,  1014,  1031,    54,  1119,    54,
2196     1119,   754,  1470,   754,  1470,   754,  1470,   754,  1470, -2029,
2197    -2029,  1179,  1221, -2029, -2029,  1179,  1221, -2029, -2029,   990,
2198     1497, -2029, -2029,  1286,  1359, -2029, -2029,  1302,  1393,  1287,
2199     1412,  1459,  1534, -2029, 24298,  1833,  8141,  1835, -2029, -2029,
2200      116,   116, -2029, -2029,   271,  1004, -2029, -2029, -2029, 34739,
2201    34833, -2029, -2029, -2029, -2029, -2029, -2029, -2029, -2029, -2029,
2202    -2029,  1579,  1826,  1041, -2029, 21678,   116, -2029, -2029, 21678,
2203    -2029,    57, -2029, -2029, -2029,   522,   562,  2221, -2029, -2029,
2204      473,  1700,  1689,   562,  2221, -2029,  1845, -2029,   953,   542,
2205     1668,  2848,  1849, -2029, -2029, -2029, -2029, -2029, -2029, -2029,
2206    -2029, -2029, -2029, -2029,  3501, -2029, -2029, -2029, -2029, -2029,
2207    21285,  1308,   901, 11690, 19844,   785,   732,   981, -2029,   732,
2208    27291, -2029,   628, -2029, -2029, -2029,  1850,  1697,  1663,  1700,
2209     1162, 21678,  1169,  1171, -2029, -2029, -2029, 30500, 30619,  1854,
2210    -2029,  3033, 37741, 37741, 37741, 37741, -2029, -2029, -2029, 27291,
2211     1855, 26707, -2029,  1066, -2029, -2029, 26780, -2029, 26853, -2029,
2212    -2029, -2029,  1523,  1475, -2029, -2029,  1496, -2029, -2029, -2029,
2213    -2029, -2029,  1523,  1475, -2029, 26926,  4785, -2029, -2029, -2029,
2214    -2029, -2029, 19184, -2029, -2029,   130, -2029, -2029,   233,  1852,
2215    -2029, 30738, 30857,   562,  1238,  1861, -2029, -2029, -2029, -2029,
2216    -2029, -2029,   732,  1036, -2029,  1862,  1871, -2029,  1873,  1876,
2217     1878, -2029, -2029, 11690, -2029, -2029, -2029, -2029, -2029, 27291,
2218     1896,   974, -2029, -2029, -2029, -2029,   346, 34366, 21416, -2029,
2219    -2029, 22729, 22729, -2029, -2029, 24371, 15884, 24444, 24517, 22820,
2220    24590, 16016,  6985,  1864,  1865,  6985, 27291, 26999,  1957, 24663,
2221     1764,  7577,   353,  6985,  1902, 32904,  6985, -2029,  1548, 24736,
2222     8398, 24809, -2029, -2029, -2029, -2029, -2029,   192,   353,  1904,
2223     1246, -2029, -2029, -2029, -2029, -2029, -2029,  1903,  1906,   116,
2224    -2029, -2029, -2029, -2029, -2029, -2029, 37401, -2029, -2029, -2029,
2225    -2029, 24882,  1899, 10409,  1900, 24955,  1901, 11519,  1905,  1910,
2226     1911, -2029, -2029, -2029, -2029, -2029, -2029, -2029, 13570, -2029,
2227    -2029, -2029,  1354,  1916, -2029, -2029, 25028, 22911, -2029, -2029,
2228    -2029,  1380, -2029, -2029, -2029, 25101, 22984, -2029, -2029,  1921,
2229     1206, -2029,  2782,  1927,  1928,  1929,  1919,  1920, 21678,  1787,
2230    36004,  1776, 27291, 21678, 27291,  1936, -2029, -2029, -2029, -2029,
2231    -2029,  1924, -2029, 27072, -2029, -2029,  1926,  1931, 27291, 27291,
2232     1925,  5921, -2029,   116,   116, 27291, -2029, 13707, -2029, -2029,
2233      807, -2029, -2029, -2029, -2029, -2029, -2029, -2029, 13844, -2029,
2234    -2029, -2029, -2029, 25904, 13981, 14118, 25904, 14255, 14392, -2029,
2235    -2029, -2029, 14529, 14666, 14803, 14940, -2029, -2029, -2029,    32,
2236     1941,   502, -2029, -2029,   562,  1041,  2049,  1245, 21678, -2029,
2237    -2029,  1940,   732,   732,  1496,   732,  1689,  1945, -2029, -2029,
2238     1943, -2029,   377, 34460, 21547, -2029,   562,   930, -2029,   981,
2239    -2029, -2029,  1942,  1944, -2029, -2029, -2029,  1265, -2029, -2029,
2240    32166,  1949, 32166, -2029,  1950, 33099, -2029,  1951, -2029, 27291,
2241    26123,  1796, -2029, -2029,  1796, -2029, -2029, -2029,  1796, -2029,
2242    -2029, 19316, 19448, -2029, -2029, -2029, 32166, -2029, 32166,   157,
2243     1036, -2029, -2029, -2029, -2029, -2029, -2029, -2029,  2291, 25174,
2244    -2029, -2029, -2029, -2029, -2029, -2029, -2029,  6985, 22547,  6985,
2245    22547, 32613, -2029, 22729, 16148, -2029, -2029,  6985,  6985, 25247,
2246     6985, 25320, 22638,  1958, 23057, 25393,   196, 19580, -2029, 27291,
2247    -2029, 32710, -2029, 33001,  6985, 23130, 27145,   353,  1956,   353,
2248      240,  1962, -2029,   116, 27291, 27291,   116, 25904, 25904, 25904,
2249    25904, 25904, 25904, 25904, 25904, 15077, 15214, -2029, -2029, -2029,
2250    -2029, -2029, -2029, -2029, -2029, -2029, -2029,   562,  1787,  1963,
2251    -2029, -2029, -2029, -2029, -2029,  1288,  1776, -2029,  1971,  1973,
2252     1969,  1970,  1297,  1972,  1977, 21678, 27291, 21908, -2029, -2029,
2253    -2029,  1980,  1983,  1986,  1987, 27291,  1982,  1984,  2004,  2008,
2254    -2029, -2029, -2029, -2029, -2029, -2029, -2029, -2029,   425, -2029,
2255    -2029, -2029,   425, -2029, -2029, -2029, -2029, -2029,   425, -2029,
2256    -2029, -2029,   425, -2029, -2029, -2029,   425, -2029, -2029, -2029,
2257      425, -2029, -2029, -2029,   425, -2029, -2029, -2029,   425, -2029,
2258    -2029, -2029, -2029,  1325, -2029, -2029,  1689, 25904, -2029, -2029,
2259    -2029, 27291, 27291, -2029, 30976, 31095, 32166, 31214, 31333, 37741,
2260    -2029, 37741, -2029, 23203, 19712, -2029, -2029, -2029, 31452, 31571,
2261    31690, 31809, -2029,  2058,  2062, -2029, -2029, -2029, -2029,  6985,
2262    27291, 27218,  1956, 16280, 16412, 23276, -2029, 32807, 22729, 25466,
2263    16544, -2029,  1184,   214, -2029,   206,   353,  2012,   353,    90,
2264      603,  2015,  1397, -2029, -2029,  1776, -2029, -2029, -2029, -2029,
2265    -2029, -2029, -2029, -2029, -2029,  1332,  2007,  2009,  2019, -2029,
2266    -2029, -2029, -2029,  2010,  2024, -2029, -2029, -2029, -2029, -2029,
2267     2035, -2029, -2029, -2029, -2029, 31928, 32047, -2029, -2029, 25539,
2268    -2029, -2029,  6985,  6985, 25612, 23349,  6985, 25685, 22638,  2038,
2269    -2029,  6985, 27291, -2029, -2029, 22729, -2029, -2029,  2039,   353,
2270      353, 27291,   353,  2040,   353,  1205, -2029,   220,  1496,   574,
2271    -2029,   292, -2029,  2042, -2029,   116, -2029, -2029, -2029, 26707,
2272    -2029, -2029, -2029, -2029, -2029, -2029,  2038,  6985, -2029, -2029,
2273    25758, -2029, -2029, -2029, -2029,  1428,  2050,  1439, -2029,  1279,
2274     2051,   353,   353,  2053,   353, -2029, -2029, -2029, -2029,    90,
2275      643, -2029, -2029, -2029,  6985,  2055, -2029,  2057,  2063,   353,
2276    -2029,  1440,  1447, -2029,  1413,   433, -2029, -2029, -2029, -2029,
2277    -2029,  1449,  2068,  2074,  2075,   353, -2029,  2078, -2029, -2029,
2278    -2029,  1450, -2029,  2079, -2029
2279 };
2280
2281 /* YYPGOTO[NTERM-NUM].  */
2282 static const yytype_int16 yypgoto[] =
2283 {
2284    -2029,  1558,   -35,  9542, -2029,  2052, -2029, -2029, -2029, -2029,
2285    -2029, -2029,  1704,  1705,  -939, -2029,  -975,  -922,   133,   168,
2286     -954,  -880,  -778, -2029,  -579,  -530, -2029, -2029,  1707,  1720,
2287    -2029,  4257,  2672, -2029,   -24,   691,   797, -2029, -2029, -2029,
2288    -2029,  1743, -2029, -2029, -2029,  -626, -2028,    50, -2029, -2029,
2289    -2029, -2029,  -245,  2436,  -115,   -82,   693,  -833, -2029,  -834,
2290    -2029,  -846, -2029,  1242,  -142,  1360,  -862,   -29,  1934,    77,
2291     1935,    28,     0, -2029,  1310,    60, 10040,  3081, -2029,  3454,
2292    -2029,  -725,  -703,    87,  4883,  1912, -2029,  -278,   213,   553,
2293      -79, -2029,   561,  -672,  -171,  -139,  -117,    -8,  -229,  7363,
2294     3269,    65,  8305,  -791,  5406, -2029,   539,  5421,  1922,  -242,
2295      655,   673,   524,   651,   181,    75,   198,   221,   212,  -213,
2296     1898,  -424,  7210,  -780,   359,  1355, 10099,   -27,  1261,  -127,
2297     2189, 10167,  8039, -2029, -2029, -2029,   -80,    25,   -20, -2029,
2298     6924, -2029,   350,  2263,   743,  -256,  2335,  8683, -2029, 10826,
2299    -2029, -2029, -2029,   -49,  2576, -2029, -2029,  2065,  6335,    22,
2300    -2029, -2029,   982,  1807,  1514,  1933,   -59,   -55,  9552,  9266,
2301     5497,  2318,  -364,  -123,  -357,  1519,  -844,    49,  3266, -2029,
2302    -2029, -1080, -2029,  5862,  -466, -1215,  7242,   413,  -675,   110,
2303     1085,   193,  1819,  -195,  -825,  -412,  -818,  -511,  -910,  -914,
2304      424,   929,  1195,   -50,  1985,  -707,  1515,  -303,  -398,  -435,
2305    -2029,   -33,   -31,  9525,     6,   138,   215, -2029, -2029, -2029,
2306     2145, -2029,   -40,  2154,   -60,   331,   -77,  1990,  1065,  1082,
2307    -2029, -2029, -2029,   -67,   816, -1492,  -211, -2029, -2029, -2029,
2308     -203, -2029,  2155,   -54,    19,  2148,  1639, -2029, -2029, -2029,
2309     2165,  -814,   495, -2029,  -811,   909, -2029, -2029, -2029, -2029
2310 };
2311
2312 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
2313    positive, shift that token.  If negative, reduce the rule which
2314    number is the opposite.  If zero, do what YYDEFACT says.
2315    If YYTABLE_NINF, syntax error.  */
2316 #define YYTABLE_NINF -1291
2317 static const yytype_int16 yytable[] =
2318 {
2319       58,  1133,  1466,   384,  1420,  1232,  1465,  1701,   494,  1582,
2320     1008,  1520,  1407,  1530,   274,  1408,  1419,  1418,   132,   259,
2321      487,   214,   933,   477,  1273,   215,  1395,   268,   190,   142,
2322      102,   104,  1522,   270,  1532,     1,   499,  1397,   504,  1236,
2323      508,   109,  1439,  1742,   929,   275,   117,   657,  1526,   103,
2324      169,   401,   767,   134,   384,   661,   478,   171,   143,   684,
2325      146,   110,   588,   376,  1521,  1527,  1531,   377,   684,   500,
2326     1339,   505,   365,   509,   684,   686,   157,   168,   117,     1,
2327      202,   678,  1478,  2148,   686,   117,  1490,    58,   768,   378,
2328      686,   379,  1340,     1,    58,    58,   935,  1006,   284,   923,
2329     1055,   742,   170,   522,   525,   167,  1523,   366,  1533,   266,
2330      369,   100,  1313,   523,   526,   265,   276,  1865,   287,     1,
2331      285,   286,   202,   528,   289,   117,   117,  1103,   105,  1876,
2332      399,  1825,   892,  1507,   143,   453,   466,  2148,   453,   142,
2333     1379,   106,   480,  1022,   482,  1400,  1401,   482,   466,   894,
2334      495,   453,   466,   453,   166,   453,  1256,   535,   511,   485,
2335        1,     1,  1263,  2108,   264,  1267,  -470,   788,   143,  1538,
2336     1768,   273,  1499,  1063,     1,   385,  1069,   117,  1075,  1769,
2337     1080,   649,   589,   772,   773,     2,  1540,   178,   178,   608,
2338        1,    46,   536,    86,   115,  1877,   274,   287,   274,  1877,
2339      679,   287,   143,   601,   544,  1257,   910,   913,  1524,  2102,
2340     1534,  1264,   157,   556,  1268,     2,   606,   610,   268,   287,
2341        1,   743,   117,  2142,   270,   117,   385,   275,  1543,   275,
2342        1,   313,   910,   913,  1827,   381,  1254,  1195,  1021,   169,
2343    -1034,  1104, -1034,  2036,  1440,   287,   171,   668,  1826,   169,
2344      958,  -644,   893,   594,   910,   913,   776,   842,   634,   910,
2345      913,   927,   665,   910,   913,   859,   667,   287,  1062,   743,
2346      180,  1068,   551,  1074,     1,  1079,    58,  1258,    58,   486,
2347       86,   666,  1530,   552,   287,  1282,   789,   277,    86,  1530,
2348      737,   170,  1500,  1530,  1487,     1,   704,  1546,  1488,     1,
2349      682,   170,   704,  1532,   671,  -108,   265,   816,  1878,   144,
2350     1532,   536,  2022,     1,  1532,   -99,  1879,  1526,   905,   906,
2351     1879,     1,  2103,  -103,  1526,  1275,  2099,   401,  1526,  2101,
2352     2104,     1,   734,   820,  1527,  1531,  2143,   830,     2,   834,
2353     2099,  1527,  1531,   107,  2144,  1527,  1531,   -81,  1544,  1690,
2354       69,  1828,   691,   958,  -639,   681,  2037,   743,   100,   883,
2355      885,   887,   889,   178,  2038,  2108,   143,   822,   287,   691,
2356      907,  1275,   536,  2021,   536,     1,   178,  1533,   -88,   693,
2357      117,   137,  1723,   788,  1533,   138,   117,  1055,  1533,  1758,
2358     1652,  1759,  1656,   999,   763,   687,   693,  1259,   932,   143,
2359        2,  1654,   215,  1658,   822,  1259,   857,   495,   790,   999,
2360      861,   556,   798,  2147,   893,  1024,   872,  1547,   743,   873,
2361      822,   861,   880,   822,     1,  -108,   817,   173,  -876,   843,
2362        1,  1029,   542,  1033,  1585,   -99,     1,    69,   657,   657,
2363      657,   657,   816,  -103,    69,    69,   661,   661,   661,   661,
2364      744,   453,   453,   143,   684,  1009,   919,   202,  1011,   180,
2365      117,   130,   929,   946,  1030,   569,  1034,   -81,   950,   677,
2366      686,   277,   157,   951,   131,  1672,     1,   453,   453,  1534,
2367      586,  1681,   606,  1724,  1916,   606,  1534,   678,  1475,   964,
2368     1534,  1283,  1285,  1287,  1035,   143,   968,  1673,   -88,   453,
2369      453,  1841,  1181,  1682,   453,   453,  2108,   287,   453,   453,
2370      923,   139,   117,   117,   117,  1587,   117,  1046,  1043,   117,
2371     1044,  1347,  1349,  1351,   572,     1,    98,  1284,  1286,  1288,
2372      117,   117,   117,   140,   141,   929,   143,  1693,   512,   140,
2373      141,   822,   482,   744,  -883,     1,   453,  -876,   453,   511,
2374     1091,  1037,   536,   117,  2176,  1711,   143,  1348,  1350,  1352,
2375      603,  1183,  1720,   560,  1588,  1001,   117,  1767,   149,   923,
2376     1484,  1061,  1485,    99,  1067,  1055,  1073,     1,  1078,  1420,
2377     1006,  1001,  1539,     1,   571,  1092,  1563,   607,   611,  1774,
2378      923,  1766,  1418,  1478,   287,  1407,  1407,   587,  1408,  1408,
2379     1175,  1177,   274,   569,   868,   135,     1,   136,   962,   606,
2380      610,  1158,  1162,  1530,  1317,   385,   173,  1114,  1441,  1121,
2381     1981,  1820,   970,   970,   970,  1819,   173,  1134,    69,  1797,
2382     1056,     1,  1790,   275,  1532,  1791,   153,   923,     1,   606,
2383      178,   178,  1383,   574,  1770,  1233,     1,  1321,  1526,   634,
2384      634,   634,   634,     1,   403,   169,   711,  1157,  1161,   154,
2385     1572,   730,   715,  1808,  1779,  1527,  1531,   143,  1169,  1803,
2386     1323,  1806,  1438,   915,    45,  1387,   117,   604,  1577,   746,
2387      747,   748,   556,  1166,  1167,   792,   793,   794,   575,  1186,
2388     1260,  1489,     1,  2045,   287,   703,   242,  1261,  1389,  1297,
2389     1299,  1140,  1301,  1209,  1147,  1722,     1,   170,  1533,     1,
2390     1214,  1224,   536,  1234,  1214,  1224,  1636,     2,   570,  2112,
2391     1641,  1186,   571,  1643,  1823,  1645,   223,  1361,  1363,  1365,
2392     1367,   831,  1247,   835,   847,     1,  1239,  1240,  1241,   737,
2393      140,   141,   283,  1794, -1049, -1049,  1270,   140,   141, -1049,
2394     1277,  1276,   927,     1,   560,  1571,     1,   515,     1,  2166,
2395        2,  1574,   140,   141,   774,   775,   737,  1575,    26,   115,
2396      401,   401,  1470,  1576,   737,     1,  1275,  -474,  -474,  -474,
2397     1325,     2,  1275,   962,   910,   913,   575,   749,   910,   913,
2398      288,   916,  1337,   795,   737,   750,  1342,   572,   751,  1537,
2399        2,   796,  1483, -1074,   797,     1,   560,   576,  1391,  1530,
2400     1534,   367,   287,  1492,  1493,   140,   141,   854,  1043,   407,
2401     1044,  1402,   143,  1405,   408,   515,   822,   822,   822,     1,
2402     1532,   696,  1458,  1459,  1501,  1460,  1915,   848,  1462,  1463,
2403     1634,  1922,   372,   849,  1526,  1497,   560,    46,   696,   399,
2404     1421,   202,   147,   607,   148,   964,   607,   143,   968,   777,
2405     1318,  1527,  1531,     1,  1474,   157,  1431,   556,   377,   401,
2406     1134,  1203,  1204,  1205,   556,   677,  1446,  1448,  1498,  1450,
2407      575,   822,  -474,  -474,  -474,  -474,   657,   703,  1384,   657,
2408      378,  1783,   379,  -474,   661,  1928,  -474,   661,  1545,  1548,
2409     1788, -1074,   260,  1737,  1533,   576,  1983,  1738,   577,   969,
2410     1512,  1047,   573,   150,   140,   141,   574,   117,   384,   143,
2411     1551,   967,  -752,   202,  -752,    26,   117,   657,  1790,  1791,
2412      403,  1482,   569,     1,   117,   661,   117,  1486,   140,   141,
2413     1784,   657,   657,   657,   657,  1509,   143,   919,   399,   661,
2414      661,   661,   661,  1552,   405,   495,   495,  1563,   482,     1,
2415      453,   482,   513,  2002,  1042,  1314,   495,  1508,   143,  1510,
2416      882,  1098,   140,   141,   242,  1728,   572,  1081,   191,  1206,
2417      607,   611,  1159,  1163,  1322,  1289,  1291,  1207,   531,   192,
2418     1208,   512,  1540,  1380,   117, -1074,   524,   527,  -474,   576,
2419     1326,  -474,  1082,  2005,   782,   783,  1534,     1,  1324,   100,
2420      607,  1729,  1388,  1886,  1936,  1353,  1355,  1909,  1083,  1568,
2421     1565,   541,  1566, -1080,   545,   482,   482,   578,  1392,   453,
2422      453,  1824,   173,   453,   453,   453,  1390,   143,   514,  1191,
2423      117,   117,   140,   141,   372,  1990,   546,   837,  1084,  1085,
2424      117,   571,   117,   202,   536,     1,   477,   100,   822,   929,
2425      406,   143,   730,  2055,   822,    -8,  1768,   143,   140,   141,
2426      822,  1191,   609,   143,   656,  1778,   822,  2070,   143,     1,
2427      923,   547,  1250,   101,  -474,  -474,  -474,  -215,  1830,   478,
2428      385,   838,   143,   680,   888,   574,   373,   634,   242,   385,
2429      634,  1001,  -882,  1590,  -882,  -882,  1594,   374,     1,  1114,
2430      100,  1121,  1158,  1162,  1158,  1162,   140,   141,  1006,   923,
2431     1618,   579,   923,  -263,  -263,  -263,   769,  -475,  -475,  -475,
2432      488,   128,   401,  1631,   501,   606,   664,   606,   634,  1277,
2433     -476,  -476,  -476,   799,  1633,  1252,   770,   771,  1627,  1660,
2434      381,  1053,   634,   634,   634,   634,   851,   582,  1157,  1161,
2435     1157,  1161,  1054,   800,   801,   580,  2077,   552,  2078,  -882,
2436      453,   453,   117,   560,   117,   584,   965,  -911,   585,  1694,
2437     -882,  1695,   966,    32,   822,  1823,   143,   663,   140,   141,
2438     -215,   778,   779,   822,  1502,   850,  -215,  1670,   744,  1503,
2439     -474,  1675,   191,  1679,    98,  -882,  -912,  1684,   560,   130,
2440      382,   399,   202,   192,    43,    44,  1504,   560,   899,   900,
2441     2058,  1505,   372,   703,   560,  -882,  -882,  -882,  1480,   730,
2442     1705,   560,  1424,   806,   807,  -263,   737,  1705,   966,  -263,
2443      901,     1,   884,  -475,   902,   890,   903,   143,   802,   803,
2444     -911,  -911,   910,   913,  1265,  -911,  -476,  2040,   151,     1,
2445      152,  2005,  -911,   683,  1042,   130,     2,  -215,  1427,   741,
2446      904,  1426,   514,  1730,   966,   115,  1796,  1468,   372,  1435,
2447      712,   560,   849,  1798,     1,  1799,  -911,  -911,   713,   966,
2448     1449,   966,   780,   781,  -911,  -911,  -911,   560,   568,  1830,
2449     2098,  2153,  1298,  1300,  2099,  1302,   910,   913,  2100,     2,
2450     2006,     1,    28,    29,  1942,   716,  1494,    32,   115,  1641,
2451     1906,  2140,  1645,   717,    38,  2099,   849,  1293,  1295,  2141,
2452     1362,  1364,  1366,  1368,   808,   809,     2,   481,  1010,     1,
2453     -650,  1012,  -650,  1305,  1309,   115,   401,  1749,    43,    44,
2454      401,  1738,  -649,   551,  -649,    28,    29,  1357,  1359,  1982,
2455       32,   744,  1882,  1563,   552,   849,  1883,    38,   140,   141,
2456     -215,  1371,  1375,   403,   403,  1425,  -215,   718,   744,  1993,
2457      657,   657,    28,    29,   719,   849,  1006,    32,   661,   661,
2458      657,    43,    44,    45,    38,  2158,   551,  1006,   661,  2099,
2459     1756,  1757,  2047,  2159,  1760,   143,   720,   552,   849,   822,
2460      822,  2052,   401,  1569,   784,   923,   923,   849,    43,    44,
2461       45,   143,   786,    46,  1761,  1421,  1510,  1290,  1292,   399,
2462      401,   842,   918,  1306,  1310,  1771,   785,   117,     1,  2069,
2463     1631,   971,   972,   973,   117,   849,  2116,  1294,  1296,  1780,
2464      143,   117,   849,  1555,  1637,  1638,  1639,  1354,  1356,  1013,
2465     1015,  1372,  1376,     2,  1603,   656,   656,   656,   656,   791,
2466     1898,   117,   403,  1787,  1738,   787,   117,  1358,  1360,   117,
2467      804,   805,   143,  1159,  1163,  1159,  1163,   812,   529,  2150,
2468      530,   399,  1824,  1176,  1178,  1179,  1902,   453,   453,   533,
2469     1738,   530,   822,   822,   822,   822,   607,   128,   607,    28,
2470       29,   810,   811,  2114,    32,   684,   684,  2115,   684,   684,
2471     1095,    38,   530,   684,   684,   684,   684,   813,  1023,  2174,
2472        1,  1948,  1952,  2099,  1958,  1962,   744,  2175,  1138,  1966,
2473     1970,  1974,  1978,  1665,  2155,    43,    44,   814,  2099,     1,
2474      815,   453,   453,   819,   117,  2157,  2172,   155,    48,  2099,
2475     2099,   381,   117,  2173,   827,  2177,  2183,  2099,  2006,  2099,
2476     2099,   839,  1696,   556,     2,  1170,  1269,   136,     1,  1006,
2477      828,  1276,     1,     1,  1336,  1341,     1,     1,  1454,  1456,
2478     -215,   634,   634,  1517,  1716,  1518,   175,  1844,  1846,  1114,
2479      840,   634,  1114,   843,   870,  1114,  1667,  1856,   744,  1618,
2480     1613,  1001,  1669,  1114,     1,  1674,  1114,     1,   242,   401,
2481       28,    29,   891,  1689,   401,    32,  1678,  1683,     1,     1,
2482      898,  1866,    38,     1,   908,   164,   128,   948,  1051,  1134,
2483      957,  1515,   657,  1516,   955,    48,   495,  1880,   956,  1812,
2484      661,  1815,    48,    48,   961,  1006,    43,    44,   684,   684,
2485      684,   684,   684,   684,   684,   684,  1017,  1918,   548,  1919,
2486      744,     1,  1869,   958,   686,   686,   686,   686,   686,   686,
2487      686,   686,  1057,  1018,  1813,  1994,  1816,  1997,  1019,   401,
2488     1025,   140,   141,  -215,  1455,  1457,   518,   192,   399,  -215,
2489      202,   744,  1058,   399,    28,    29,   999,  1985,  1026,    32,
2490     1064,  2008,  1070,  2010,  1152,  1154,    38,  1076,  1995,  1093,
2491     1998,  1247,  1094,  1937,  1938,  1014,  1016,   832,  1096,   836,
2492      401,  1153,  1155,   279,   282,   403,  1409,  1410,  1101,  1100,
2493       43,    44,  -892,  -892,  2009,    46,  2011,  -892,  1102,   910,
2494      913,  1120,   910,   913,  -892,    28,    29,  1131,   684,  1402,
2495       32,  1122,  1123,   910,   913,   910,   913,    38,   399,  1132,
2496     1135,   554,   117,   117,   686,   117,  1136,  1137,  -892,  -892,
2497     1182,  1253,  1171,  1211,  1265,   175,  1428,   143,  1411,  1429,
2498      744,    43,    44,  1513,  1412,   674, -1048, -1048,  1413,  1414,
2499      453, -1048,   453,  -474,  1415,   822,  -474,  -474,  -474,  -474,
2500     -474,  -474,  -474,  -474,  1416,   374,  1445,   657,  1453,   657,
2501     1471,  1491,  -744,   560,   164,   661,   453,   661,   453,   117,
2502      910,   913,  -747,  1556,   164,  1555,    48,  1557,  1558,  1792,
2503     1559,  2151,  1560,  1561,  1578,  1579,   401,  1114,  1114,  1114,
2504     1114,  1583,  1584,   634,  1606,  1591,  1592,  1114,  1114,  2018,
2505     1114,  1605,  1114,   737,   737,   737,   737,   737,   737,   737,
2506      737,  1607,     1,  -923,  1114,  1609,  1614,  2152,  1001,  1622,
2507     1623,  2075,  1624,  1134,   657,  1628,  1631,  1646,   407,  1650,
2508     1732,  1700,   661,  1661,  1668,  1687,  2033,     2,  2033,  1698,
2509       28,    29,  1212,    28,    29,    32,   115,  1048,    32,  -474,
2510     -474,  1702,    38,   656,  2076,    38,   656,  1703,  1713,  -474,
2511     1718,  1714,  1715,   560,  1726,   399,  1727,   536,  -474,  -474,
2512     -474,  -474,  -474,  1721,  1725,  1081,    43,    44,    45,    43,
2513       44,   851,  1745,    28,    29,   387,  -923,  -923,    32,   403,
2514     1739,  -923,   552,   403,   656,    38,  1748,  1753,  -923,  1755,
2515     1082,  1777,   554,   737,   128,  1781,  1795,  1099,   656,   656,
2516      656,   656,  1800,  -750,  1809,   674,  1083,  1831,  1832,    43,
2517       44,    45,  -923,  -923,    46,  1467,  1837,  1833,  1857,  1858,
2518     -923,  1648,  -923,  1649,   453,   453,   453,   453,   453,   822,
2519     1834,   822,   128,  1835,   359,  1836,  1084,  1085,   453,   453,
2520      453,   453,  1840,  1863,   554,   403,   568,  1867,  1884,  1114,
2521     1881,  1885,   128,  1888,  1890,  1892,  1895,  1896,   634,  1894,
2522      634,  1081,  1899,   403,  2094,  1000,  2097,  1905,  1003,  1134,
2523     1631,  2145,  2146,  1910,  1911,  1912,  1913,  1914,  1086,  1925,
2524     1926,  1935,    51,  1929,   554,  2033,  1082,  2033,  1930,  1980,
2525     -230,  1920,  1984,  1923,  1987,  1988,  1991,  1996,  1992,  1999,
2526     2001,   730,  1083,  2020,  2034,   453,   453,  1931,  1933,  2046,
2527     -892,  -892,  1114,  1114,  2039,  -892,  1114,  2048,  1114,  2049,
2528      538,  1114,  -892,   108,  2035,   634,  2050,  2051,  2065,  2053,
2529     2066,  2132,  1084,  1085,  2054,    51,   959,  2059,  -665,  1631,
2530     2060,  1134,   145,  2061,  2062,  1134,  -892,  -892,  2033,  2033,
2531     2067,  2033,  2082,  2033,  2068,   382,  2083,  1114,   744,    51,
2532     2106,  2113,    51,  -665,  2117,  2119,  2118,  2120,   243,    51,
2533       28,    29,  -665,  -665,  1580,    32,    51,    51,  1581,  1134,
2534     1631,  2121,    38,  2122,  1114,   560,  2128,  2133,  2138,    51,
2535     2033,  2033,   368,  2033,  2149,  1134,  2156,   939,   940,  2160,
2536      941,  2163,   520,  2168,    51,  2169,    43,    44,  2033,  -665,
2537     -665,  2170,   393,   942,  -665,  1511,  2178,   393,   243,    60,
2538      393,  -665,  2179,  2180,  2033,  1173,  2182,  2184,  1807,  2165,
2539      243,   674,    51,   393,   243,   393,   945,   393,  1506,  1417,
2540      669,   670,   359,  1461,  1785,  -665,  -665,  -665,  2000,  1496,
2541     -665,   722,   403,   960,     1,   958,  -665,   403,   877,  1237,
2542      869,   723,   243,   243,  2003,   714,  1245,  2134,   602,   278,
2543      164,   267,   269,   281,   393,    28,    29,  1185,   650,     2,
2544       32,  2105,   271,  2107,  1979,     0,   543,    38,   115,     0,
2545        0,     0,    28,    29,     0,    51,    60,    32,     0,     0,
2546      538,     0,   538,  1469,    38,     0,    60,   730,     0,  1185,
2547        0,    43,    44,    60,    60,  2056,     0,     0,     0, -1029,
2548      521, -1029,   403,     0,  2063,    28,    29,     1,    43,    44,
2549       32,     0,     0,     0,   389,   243,     0,    38,   243,   243,
2550      630,     0,  1495,     0,     0,  2135,     0,  2137,    51,  2139,
2551        0,     0,     2,     0,     0,   468,     0,     0,    51,   243,
2552       51,    43,    44,   403,     0,    70,    46,   468,     0,     0,
2553        0,   468,  1817,     0,     0,     0,     0,     0,   243,     0,
2554     2071,  2073,     0,     0,   243,     0,  2161,  2162,     0,  2164,
2555        0,     0,     0,   393,   120,    28,    29,     0,    28,    29,
2556       32,     0,     0,    32,  2171,     0,     0,    38,     0,     0,
2557       38,   554,     0,     0,     0,     0,   674,     0,     0,     0,
2558     2181,     0,     0,     0,     0,   174,   120,     0,     0,   470,
2559        0,    43,    44,   224,    43,    44,     0,   656,   656,  1570,
2560        0,   470,    70,   993,     0,   470,   554,   656,     0,    51,
2561        0,     0,    70,     0,   393,   554,   393,     0,     0,    70,
2562       70,     0,   554,     0,     0,     0,     0,     0,     0,   554,
2563        0,     0,     0,   120,   120,  1173,     0,     0,     0,   403,
2564      538,     0,     0,     0,     0,    60,    51,     0,   393,    51,
2565     1604,     0,   243,    51,     0,    60,   674,    60,   871,     0,
2566        0,   471,    51,   243,     0,    51,     0,     0,     0,     0,
2567        0,     0,   359,   471,     0,     0,     0,   471,     0,   554,
2568        0,     0,     0,     0,     0,   517,    18,    19,     0,     0,
2569        0,     0,     0,   393,   393,   554,     0,     0,    51,    51,
2570      538,     0,     0,   674,     0,   393,   598,     0,     0,     0,
2571      949,     0,     0,     0,     0,   243,    28,    29,     0,   393,
2572      393,    32,     0,     0,     0,     0,   382,     0,    38,     0,
2573      581,     0,     0,   583,     0,     0,     0,     0,    51,     0,
2574        0,   393,   393,     0,     0,     0,   393,   393,   568,   708,
2575      393,   393,    43,    44,    45,   708,     0,   630,  1697,     0,
2576        0,   120,     0,     0,   243,     0,    76,   243,     0,     0,
2577      994,     0,     0,     0,   174,     0,     0,     0,     0,     0,
2578     1717,     0,     0,    51,     0,     0,     0,     0,   393,   468,
2579      393,    70,     0,    51,   393,     0,     1,     0,     0,     0,
2580      468,    70,     0,    70,   359,     0,     0,     0,   359,     0,
2581        0,     0,     0,    51,     0,     0,    51,     0,    51,     0,
2582       51,     2,     0,   993,     0,     0,     0,    51,     0,   993,
2583      186,   187,   993,   752,   753,   754,   755,   756,   757,   758,
2584      759,   760,   761,    76,     0,    18,    19,     0,  1838,     0,
2585        0,   359,   468,    76,     0,     0,     0,     0,     0,   656,
2586       76,    76,     0,   864,     0,     0,     0,    28,    29,     0,
2587        0,     0,    32,     0,   864,    28,    29,     0,   359,    38,
2588       32,  1647,     0,  1003,     0,     0,   359,    38,   120,     0,
2589        0,   630,   630,   630,   630,     0,     0,     0,    18,    19,
2590        0,     0,   472,    43,    44,    45,   359,     0,    46,     0,
2591        0,    43,    44,     0,   472,     0,  1129,     0,   472,   243,
2592      243,   243,     0,     0,    51,     0,   954,     0,    28,    29,
2593      120,   393,  1659,    32,   762,   471,     0,     0,     0,     0,
2594       38,  1662,     0,    28,    29,   243,   471,     0,    32,     0,
2595        0,     0,   243,   243,   393,    38,   243,   243,  1210,     0,
2596        0,     0,     0,   393,    43,    44,    28,    29,   224,  1612,
2597        0,    32,     0,     0,    51,     0,     0,   630,    38,    43,
2598       44,  -968,     0,   630,     0,   844,   630,     0,    18,    19,
2599      994,     0,     0,     0,     0,     0,   994,   437,   471,   994,
2600      437,     0,    43,    44,   993,     0,   538,     0,   845,     0,
2601        0,     0,     0,   437,     0,   437,     0,   437,    28,    29,
2602      120,   120,   120,    32,   998,  1793,     0,   583,     0,     0,
2603       38,     0,    76,     0,   656,     0,   656,     0,   120,   120,
2604      120,     1,    76,     0,    76,   538,    28,    29,     0,     0,
2605        0,    32,     0,     0,    43,    44,    45,     0,    38,   120,
2606        0,    60,     0,     0,     0,    51,     2,     0,    51,    51,
2607       51,     0,     0,     0,   993,   115,   993,   911,   914,     0,
2608        0,     0,    43,    44,    45,     0,     0,  1212,     0,     0,
2609        0,   393,   393,    51,     0,     0,     0,     0,     0,     0,
2610       51,   656,     0,   911,   914,     0,     0,     0,   243,    51,
2611        0,     0,    28,    29,     0,     0,    51,    32,     0,   243,
2612        0,   393,     0,    51,    38,   911,   914,     0,     0,     0,
2613      911,   914,     0,     0,   911,   914,     0,     0,     0,     0,
2614        0,     0,   538,     0,     0,     0,  1173,     0,    43,    44,
2615       45,     0,     0,    46,   690,     0,     0,     0,     0,     0,
2616        0,     0,     0,  1218,  1228,    51,     0,  1218,  1228,     0,
2617        0,   690,     0,    51,     0,     0,   865,     0,     0,     0,
2618        0,     0,   993,     0,   224,  1647,     0,   865,  1003,    51,
2619      393,     0,     0,   538,     0,     0,     0,    51,    51,     0,
2620        0,     0,   393,     0,     0,     0,     0,    70,    51,     0,
2621        0,     0,     0,     0,     0,     0,     0,     0,     0,   359,
2622      359,   554,     0,     0,  1801,     0,  -654,     0,   630,   243,
2623      630,     0,     0,     0,     0,     0,   243,     0,     0,   865,
2624        0,   994,   994,   994,     0,   468,     0,  1921,     0,  1924,
2625        0,  -654,     0,     0,     0,     0,   468,     0,     0,     0,
2626     -654,  -654,     0,  1932,  1934,     0,     0,     0,     0,     0,
2627        0,   393,   393,     0,     0,   393,   393,   393,     0,     0,
2628        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2629        0,     0,     0,     0,     0,    51,   393,  -654,  -654,     0,
2630       51,   538,  -654,     0,     0,     0,    51,     0,     0,  -654,
2631        0,     0,    51,   437,   437,     0,     0,     0,    51,  1434,
2632        0,   554,     0,   538,     0,   944,     0,     0,     0,     0,
2633     1434,     0,     0,  -654,  -654,  -654,   630,     0,  -654,   437,
2634      437,  1802,     0,   958,  -654,   993,     0,     0,   359,   994,
2635        0,     0,   993,     0,     0,     0,   993,     0,     0,     0,
2636        0,   437,   437,     0,     0,     0,   437,   437,     0,     0,
2637      437,   437,     0,     0,     0,     0,     0,     0,     0,     0,
2638        0,     0,     0,     0,     0,     0,     0,   120,     0,     0,
2639        0,   471,     0,     0,   630,   630,   630,   630,     0,     0,
2640        0,     0,   471,     0,     0,     0,     0,     0,   437,     0,
2641      437,     0,   393,   393,     0,     0,     0,   243,     0,   243,
2642        0,     0,     0,     0,     0,   120,    51,     0,     0,     0,
2643        0,     0,     0,     0,     0,    51,     0,     0,     0,     0,
2644        0,     0,   581,     0,   583,   120,     0,   598,    76,     0,
2645        0,     0,   243,   393,    51,     0,    82,     0,     0,     0,
2646        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2647        0,  2057,   243,     0,     0,     0,     0,     0,     0,   243,
2648     2064,  1647,  1003,     0,     0,     0,     0,     0,     0,     0,
2649        0,     0,     0,     0,     0,     0,     0,     0,   243,   630,
2650        0,     0,   125,     0,     0,   243,   630,     0,     0,   243,
2651      630,   994,   994,     0,     0,     0,     0,     0,   994,   994,
2652        0,     0,   994,   994,     0,     0,     0,     0,     0,     0,
2653        0,     0,   158,   176,   189,     0,  2072,  2074,     0,     0,
2654        0,   225,     0,    82,     0,     0,     0,     0,   120,   120,
2655       82,    82,     0,   554,     0,     0,     0,     0,   993,     0,
2656        0,     0,     0,     0,     0,   344,     0,     0,   538,     0,
2657        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2658        0,   189,   386,   388,   390,   391,     0,     0,     0,     0,
2659        0,   459,     0,     0,   459,     0,     0,     0,     0,   359,
2660        0,   766,     0,     0,   993,     0,   993,   459,     0,   459,
2661        0,   459,     0,     0,     0,     0,     0,     0,     0,     0,
2662        0,     0,     0,   993,     0,     0,     0,     0,     0,     0,
2663        0,     0,   865,   519,   388,   390,     0,     0,     0,     0,
2664        0,     0,     0,   865,     0,     0,     0,     0,     0,     0,
2665        0,    51,    51,     0,     0,   911,   914,     0,     0,   911,
2666      914,     0,     0,   598,     0,     0,     0,   393,   549,   564,
2667        0,   393,     0,     0,     0,     0,   993,     0,     0,     0,
2668      581,     0,   583,  1709,     0,     0,     0,     0,     0,     0,
2669     1709,     0,     0,     0,     0,     0,     0,     0,  -474,  -474,
2670     -474,  -474,  -474,  -474,  -474,  -474,  -474,  -474,  -474,   600,
2671        0,     0,   630,     0,     0,    51,     0,   637,     0,     0,
2672        0,     0,   176,     0,     0,   994,     0,     0,     0,     0,
2673        0,     0,   675,   393,    82,     0,     0,     0,     0,   393,
2674      393,     0,     0,     0,    51,    51,    51,    51,     0,     0,
2675        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2676        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2677        0,     0,     0,   740,     0,     0,     0,     0,     0,   454,
2678        0,     0,   454,     0,     0,     0,     0,     0,     0,     0,
2679      538,     0,   538,   393,   393,   454,     0,   454,     0,   454,
2680        0,   359,     0,     0,  -474,  -474,   538,   538,     0,     0,
2681        0,     0,     0,   359,  -474,    51,     0,     0,     0,  -474,
2682     -474,  -474,   437,  -474,  -474,  -474,  -474,  -474,     0,   243,
2683      630,     0,     0,     0,     0,     0,   386,   388,   390,     0,
2684        0,     0,   994,   994,     0,     0,     0,     0,     0,     0,
2685        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2686      852,     0,     0,     0,     0,     0,     0,   459,     0,     0,
2687        0,     0,   993,     0,     0,     0,     0,     0,   125,     0,
2688        0,     0,     0,     0,     0,     0,     0,     0,    51,     0,
2689        0,   437,   437,  1126,     0,   437,   437,   437,     0,     0,
2690        0,     0,   635,     0,     0,     0,     0,   459,   459,     0,
2691        0,     0,   925,     0,     0,     0,   936,     0,     0,   459,
2692        0,     0,     0,     0,     0,     0,     0,     0,   158,     0,
2693        0,     0,     0,   459,   459,     0,     0,     0,     0,     0,
2694      393,     0,    51,     0,     0,   393,     0,     0,     0,     0,
2695        0,     0,   852,     0,     0,   459,   459,     0,     0,   120,
2696      459,   459,     0,    51,   459,   459,     0,     0,   189,   189,
2697      189,     0,   359,   359,     0,     0,     0,     0,     0,     0,
2698     1005,     0,     0,     0,     0,     0,   189,   189,     0,     0,
2699        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2700        0,     0,   459,     0,   459,     0,     0,  1040,     0,  1049,
2701      393,     0,     0,     0,   538,     0,     0,     0,     0,     0,
2702     1272,     0,     0,   538,   390,   243,   630,     0,     0,     0,
2703        0,     0,   437,   437,     0,     0,     0,     0,   994,   994,
2704        0,     0,   393,  1090,   393,     0,     0,    51,     0,     0,
2705        0,     0,     0,  1304,  1308,  1312,  1316,  1320,     0,     0,
2706     1329,     0,   120,     0,     0,     0,  1272,     0,   393,     0,
2707      393,     0,     0,     0,     0,     0,   637,     0,     0,   538,
2708      538,  1370,  1374,  1378,  1382,  1386,     0,     0,  1329,     0,
2709        0,     0,     0,     0,     0,   454,   454,     0,     0,     0,
2710        0,     0,     0,     0,     0,     0,     0,     0,   637,   637,
2711      637,   637,     0,     0,     0,     0,     0,     0,     0,     0,
2712        0,   454,   454,   911,   914,     0,     0,     0,     0,     0,
2713        0,     0,  1174,     0,     0,     0,     0,     0,   675,     0,
2714        0,     0,     0,   454,   454,     0,     0,     0,   454,   454,
2715        0,     0,   454,   454,     0,     0,     0,     0,     0,   991,
2716        0,     0,     0,     0,     0,     0,  1220,   393,     0,   393,
2717     1220,     0,     0,     0,     0,  1238,     0,   911,   914,  1242,
2718        0,     0,     0,     0,     0,     0,     0,     0,   852,   359,
2719      454,     0,   454,     0,     0,     0,     0,     0,     0,     0,
2720        0,     0,     0,     0,     0,     0,     0,   359,   740,     0,
2721        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2722        0,     0,  1281,     0,     0,     0,     0,     0,     0,     0,
2723        0,     0,     0,     0,     0,     0,   393,   393,   393,   393,
2724      393,    51,   290,    51,     1,   291,   100,     0,     0,  1335,
2725      393,   393,   393,   393,   740,     0,     0,  1346,     0,     0,
2726        0,   635,     0,     0,     0,     0,     0,     0,     0,     2,
2727        0,     0,     0,     0,     0,     0,     0,  1399,     0,     0,
2728        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2729        0,     0,     0,   635,   635,   635,   635,     0,     0,     0,
2730        0,     0,     0,     0,     0,     0,   295,  1422,     0,     0,
2731        0,     0,   296,   297,   852,     0,     0,   393,   393,     0,
2732        0,   158,   852,  1436,     0,     0,   300,     0,     0,     0,
2733     1443,     0,     0,   852,     0,  1451,     0,   120,     0,   301,
2734        0,     0,     0,   302,   303,   304,   305,   306,   307,   308,
2735        0,     0,     0,     0,     0,     0,   698,     0,     0,   437,
2736      437,     0,     0,     0,     0,     0,   313,   314,     0,     0,
2737        0,     0,     0,   125,     0,     0,     0,     0,     0,   991,
2738        0,     0,  1479,  1610,     0,   991,     0,   564,   991,     0,
2739        0,     0,     0,   125,     0,     0,     0,   290,     0,     1,
2740      291,   100,   292,   925,   293,   294,     0,     0,     0,     0,
2741        0,  1635,     0,   437,   437,     0,   459,     0,  1642,     0,
2742        0,     0,     0,     0,     2,     0,   388,     0,     0,     0,
2743        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2744        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2745      925,     0,  1329,     0,  1329,     0,     0,     0,     0,     0,
2746        0,   295,     0,  1005,     0,     0,     0,   296,   297,   298,
2747        0,  1272,     0,     0,     0,     0,     0,  1272,     0,     0,
2748      299,   300,     0,     0,     0,   459,   459,     0,     0,   459,
2749      459,   459,     0,     0,   301,     0,  1553,   386,   302,   303,
2750      304,   305,   306,   307,   308,   309,     0,   390,   310,     0,
2751        0,   311,  1148,   312,     0,     0,  1149,     0,     0,     0,
2752        0,   313,   314,  1741,   315,   316,   317,   318,     0,     0,
2753        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2754        0,   454,   454,     0,     0,     0,     0,     0,     0,     0,
2755        0,     0,     0,     0,     0,     0,   637,     0,     0,   637,
2756        0,     0,     0,     0,     0,     0,     0,     0,   637,     0,
2757        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2758        0,     0,   436,     0,     0,   436,     0,     0,     0,     0,
2759     1629,  1630,     0,     0,     0,     0,     0,   637,   436,  1281,
2760      436,     0,   436,  1640,   454,     0,  1346,     0,  1644,     0,
2761        0,   637,   637,   637,   637,     0,     0,     0,     0,     0,
2762      911,   914,     0,   911,   914,     0,   459,   459,     0,     0,
2763      991,     0,   991,     0,   911,   914,   911,   914,     0,     0,
2764        0,     0,     0,     0,     0,     0,     0,     0,     0,   852,
2765        0,     0,     0,     0,     0,     0,     0,     0,     0,   740,
2766        0,     0,   437,     0,   437,   740,   852,     0,  1692,     0,
2767        0,     0,     0,   454,   454,     0,     0,   454,   454,   454,
2768        0,     0,     0,     0,     0,     0,  1220,     0,   437,     0,
2769      437,     0,     0,  1220,     0,     0,     0,     0,     0,     0,
2770        0,   911,   914,     0,     0,   290,     0,     1,   291,   100,
2771      292,     0,   293,   294,     0,     0,     0,     0,     0,  1734,
2772        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2773        0,     0,     2,     0,     0,     0,     0,     0,   991,     0,
2774        0,   635,     0,     0,   635,     0,     0,     0,     0,     0,
2775        0,     0,     0,   635,     0,     0,     0,     0,     0,     0,
2776        0,     0,     0,     0,     0,     0,     0,     0,     0,   295,
2777        0,     0,     0,     0,     0,   296,   297,   298,     0,     0,
2778        0,     0,   635,     0,     0,     0,     0,     0,   299,   300,
2779        0,     0,     0,     0,     0,     0,   635,   635,   635,   635,
2780        0,     0,   301,     0,     0,     0,   302,   303,   304,   305,
2781      306,   307,   308,   309,   454,   454,   310,     0,     0,   311,
2782     1148,   312,     0,     0,  1746,     0,     0,     0,  1747,   313,
2783      314,     0,   315,   316,   317,   318,     0,     0,     0,     0,
2784        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2785        0,     0,     0,     0,     0,     0,   437,   437,   437,   437,
2786      437,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2787      437,   437,   437,   437,     0,     0,     0,     0,  1764,     0,
2788        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2789        0,     0,     0,  1773,     0,     0,     0,     0,   436,   436,
2790      386,   991,     0,     0,     0,     0,     0,   189,   991,     0,
2791      943,     0,   991,     0,     0,     0,     0,     0,     0,     0,
2792        0,     0,     0,     0,   436,   436,     0,  1786,     0,   564,
2793        0,     0,     0,     0,     0,     0,     0,   437,   437,     0,
2794        0,     0,     0,     0,     0,     0,   436,   436,     0,     0,
2795        0,   436,   436,   459,   459,   436,   436,     0,     0,     0,
2796        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2797     1005,     0,     0,     0,     0,     0,  -883,     0,     0,  -883,
2798     -883,  -883,     0,  -883,  -883,     0,     0,     0,     0,     0,
2799        0,     0,     0,   436,     0,   436,     0,     0,     0,     0,
2800        0,  1005,     0,     0,     0,     0,     0,   459,   459,  1941,
2801      386,     0,     0,     0,  1944,  1946,  1950,  1954,  1956,  1960,
2802        0,     0,     0,  1964,  1968,  1972,  1976,     0,     0,   564,
2803        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2804     -883,     0,     0,     0,     0,     0,  -883,  -883,  -883,     0,
2805      637,   637,     0,     0,     0,     0,     0,     0,   637,  -883,
2806      637,   637,     0,     0,   637,     0,     0,     0,     0,     0,
2807        0,     0,   637,  -883,     0,   637,     0,  -883,  -883,  -883,
2808     -883,  -883,  -883,  -883,  -883,     0,     0,     0,     0,     0,
2809      605,     0,  -883,  -883,     0,  -883,  -883,  -883,     0,     0,
2810     -883,  -883,     0,  -883,  -883,  -883,  -883,     0,     0,     0,
2811        0,     0,     0,     0,   991,     0,     0,     2,   194,   195,
2812      196,   197,   198,   226,   227,   228,   229,   230,   231,   232,
2813      233,   234,   235,    18,    19,   236,   237,    22,    23,    24,
2814        0,   454,   454,     0,     0,     0,     0,     0,  1907,     0,
2815        0,     0,     0,     0,     0,   238,     0,     0,     0,     0,
2816      991,     0,   991,    28,    29,     0,     0,     0,    32,     0,
2817        0,     0,  1005,     0,   239,    38,   240,     0,     0,   329,
2818        0,     0,     0,     0,  1939,     0,     0,     0,     0,   241,
2819        0,     0,     0,     0,     0,   454,   454,  1734,     0,    43,
2820       44,     0,  1640,   400,     0,  1644,     0,     0,     0,     0,
2821        0,   242,     0,     0,     0,     0,     0,     0,     0,     0,
2822        0,   290,     0,     1,   291,   100,   292,     0,   293,   294,
2823        0,     0,   991,     0,     0,   635,   635,     0,     0,     0,
2824        0,     0,     0,   635,     0,   635,   635,     0,     2,   635,
2825        0,     0,     0,     0,     0,     0,   459,   635,   459,     0,
2826      635,   852,     0,     0,     0,   400,     0,     0,     0,  1005,
2827        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2828     1005,     0,   459,     0,   459,   295,     0,     0,     0,     0,
2829        0,   296,   297,   298,   390,     0,     0,     0,     0,     0,
2830        0,     0,     0,     0,   299,   300,   637,   637,   637,   637,
2831        0,     0,   637,     0,     0,     0,   637,   637,   301,   637,
2832        0,   637,   302,   303,   304,   305,   306,   307,   308,   309,
2833        0,     0,   310,   637,     0,   311,  1148,   312,     0,     0,
2834     1149,     0,     0,  2041,  2042,   313,   314,  1751,   315,   316,
2835      317,   318,     0,     0,     0,     0,     0,     0,     0,     0,
2836        0,   400,     0,     0,     0,     0,   699,   701,     0,     0,
2837      400,     0,     0,     0,     0,     0,   400,     0,     0,     0,
2838        0,     0,     0,     0,     0,     0,     0,   329,     0,     0,
2839        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2840        0,     0,     0,   400,     0,     0,     0,   436,   400,     0,
2841        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2842        0,     0,     0,     0,     0,     0,     0,     0,   991,     0,
2843        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2844        0,     0,     0,     0,   454,   400,   454,   400,     0,     0,
2845      459,   459,   459,   459,   459,     0,     0,     0,     0,     0,
2846        0,     0,  1005,     0,   459,   459,   459,   459,     0,     0,
2847      454,     0,   454,     0,     0,     0,   436,   436,   637,   400,
2848      436,   436,   436,     0,     0,     0,     0,   637,     0,   637,
2849        0,   635,   635,   635,   635,     0,     0,   635,     0,     0,
2850        0,   635,   635,     0,   635,     0,   635,     0,     0,     0,
2851        0,     0,     0,     0,     0,     0,     0,     0,   635,     0,
2852        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2853        0,   459,   459,     0,     0,     0,     0,     0,  1005,     0,
2854        0,   637,   637,     0,     0,   637,     0,   637,     0,     0,
2855      637,     0,     0,     0,   637,     0,     0,     0,     0,     0,
2856     2136,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2857        0,     0,     0,     0,     0,     0,     0,     0,  1005,     0,
2858        0,     0,     0,     0,     0,     0,   637,     0,   400,     0,
2859        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2860        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2861        0,     0,     0,   637,     0,     0,     0,   436,   436,     0,
2862        0,     0,     0,     0,     0,   400,     0,     0,     0,     0,
2863        0,     0,     0,     0,     0,     0,     0,     0,   454,   454,
2864      454,   454,   454,     0,     0,     0,     0,     0,     0,     0,
2865        0,     0,   454,   454,   454,   454,     0,   329,     0,     0,
2866        0,     0,     0,   635,     0,     0,     0,     0,     0,     0,
2867        0,     0,   635,     0,   635,     0,     0,     0,     0,     0,
2868        0,     0,     0,     0,     0,   400,     0,    80,     0,     0,
2869        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2870        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2871        0,     0,     0,     0,     0,     0,     0,   347,     0,   454,
2872      454,     0,     0,     0,     0,     0,   635,   635,     0,     0,
2873      635,   455,   635,    80,   455,   635,     0,     0,     0,   635,
2874        0,   402,     0,     0,     0,     0,     0,   455,     0,   455,
2875        0,   455,     0,     0,     0,     0,   400,     0,     0,     0,
2876        0,     0,  1187,     0,    80,    80,     0,     0,     0,     0,
2877        0,   635,    80,     0,    80,     0,     0,     0,     0,     0,
2878        0,    80,    80,     0,     0,     0,     0,     0,     0,   329,
2879        0,     0,     0,   329,  1243,     0,     0,     0,   635,     0,
2880        0,     0,     0,   402,     0,     0,     0,     0,   400,     0,
2881        0,     0,    80,    80,   400,     0,     0,   400,     0,     0,
2882        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2883        0,     0,     0,     0,     0,     0,   329,     0,     0,     0,
2884        0,     0,   400,   400,   400,   400,   400,   400,   400,     0,
2885        0,   400,   400,     0,   400,   400,   400,   400,   400,   400,
2886      400,   400,     0,   329,    80,     0,     0,     0,     0,     0,
2887        0,   329,   400,   400,   400,   400,   400,   400,   400,   400,
2888      400,   400,   400,   400,   400,   400,   400,   400,   400,   400,
2889        0,   329,     0,     0,     0,     0,     0,     0,     0,   402,
2890        0,     0,     0,     0,   700,   702,     0,     0,   402,    80,
2891        0,     0,    80,     0,   402,     0,     0,     0,     0,     0,
2892        0,     0,   400,   400,     0,   347,     0,     0,     0,     0,
2893        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2894       80,   402,     0,     0,   436,   436,   402,     0,     0,     0,
2895        0,     0,     0,    80,     0,     0,     0,     0,     0,     0,
2896        0,     0,     0,    80,     0,    80,     0,     0,     0,     0,
2897        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2898        0,     0,     0,   402,     0,   402,     0,     0,     0,   400,
2899        0,   400,     0,     0,     0,     0,     0,     0,   436,   436,
2900        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2901        0,     0,     0,     0,     0,     0,     0,   402,     0,     0,
2902        0,   400,     0,     0,     0,     0,     0,     0,     0,     0,
2903      400,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2904        0,     0,     0,     0,     0,     0,     0,   455,   455,     0,
2905        0,     0,     0,     0,     0,     0,     0,     0,     0,   400,
2906        0,   400,     0,     0,     0,     0,     0,    80,     0,     0,
2907        0,     0,     0,   455,   455,     0,     0,     0,     0,     0,
2908        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2909        0,     0,     0,     0,     0,   455,   455,     0,     0,     0,
2910      455,   455,     0,     0,   455,   455,     0,     0,     0,    80,
2911        0,     0,     0,     0,     1,     0,     0,     0,     0,     0,
2912        0,     0,     0,     0,     0,     0,   402,   400,     0,     0,
2913        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
2914        0,     0,   455,     0,   455,     8,     9,    10,    11,    12,
2915       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
2916       23,    24,     0,   402,     0,     0,     0,   400,     0,     0,
2917        0,     0,     0,     0,     0,     0,     0,    27,   400,     0,
2918        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
2919       32,     0,     0,    35,    36,   347,    37,    38,    39,    80,
2920       80,    80,     0,    80,   329,   329,    80,     0,     0,     0,
2921        0,    40,     0,     0,     0,     0,     0,    80,    80,    80,
2922        0,    43,    44,   402,     0,     0,     0,     0,     0,     0,
2923        0,     0,     0,     0,     0,     0,     0,     0,    80,     0,
2924        0,     0,     0,     0,     0,     0,     0,   436,     0,   436,
2925        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2926        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2927        0,     0,     0,   436,     0,   436,     0,     0,     0,     0,
2928        0,     0,     0,     0,   400,     0,   400,     0,     0,     0,
2929        0,     0,     0,     0,   402,     0,     0,     0,     0,     0,
2930     1188,     0,     0,     0,     0,     0,     0,     0,   400,     0,
2931      643,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2932        0,     0,     0,     0,     0,     0,   400,   347,     0,     0,
2933      400,   347,  1244,   329,     0,     0,     0,   400,     0,     0,
2934        0,   400,     0,     0,     0,     0,   402,     0,     0,     0,
2935        0,     0,   402,     0,     0,   402,     0,     0,     0,     0,
2936        0,     0,     0,    80,     0,     0,     0,     0,     0,    80,
2937        0,     0,     0,     0,   347,     0,     0,     0,     0,     0,
2938      402,   402,   402,   402,   402,   402,   402,     0,     0,   402,
2939      402,     0,   402,   402,   402,   402,   402,   402,   402,   402,
2940        0,   347,     0,     0,     0,     0,     0,     0,     0,   347,
2941      402,   402,   402,   402,   402,   402,   402,   402,   402,   402,
2942      402,   402,   402,   402,   402,   402,   402,   402,     0,   347,
2943        0,     0,     0,     0,     0,   193,     0,     1,     0,     0,
2944        0,   436,   436,   436,   436,   436,     0,     0,     0,     0,
2945        0,     0,     0,     0,     0,   436,   436,   436,   436,     0,
2946      402,   402,     2,   194,   195,   196,   197,   198,     8,     9,
2947       10,   550,    12,    13,    14,    15,    16,    17,    18,    19,
2948       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
2949        0,     0,     0,   455,   455,     0,     0,     0,   400,   199,
2950       27,     0,   400,     0,     0,     0,     0,     0,    28,    29,
2951        0,     0,     0,    32,     0,     0,    35,    36,     0,    37,
2952       38,    39,   436,   436,     0,     0,     0,   402,     0,   402,
2953        0,     0,     0,     0,    40,     0,     0,     0,     0,     0,
2954        0,     0,     0,   400,    43,    44,    45,     0,     0,   551,
2955     1036,     0,     0,   400,     0,     0,   455,     0,     0,   402,
2956      552,     0,     0,     0,   400,     0,    80,     0,   402,     0,
2957        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2958        0,     0,   400,     0,   329,     0,     0,     0,     0,   400,
2959        0,   400,     0,     0,     0,     0,     0,   402,     0,   402,
2960        0,     0,     0,     0,    80,   213,     0,     0,   400,     0,
2961        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2962        0,     0,     0,     0,    80,   455,   455,     0,     0,   455,
2963      455,   455,     0,     0,     0,     0,     0,     0,     0,     0,
2964        0,     0,     0,     0,     0,     0,     0,   213,     0,     0,
2965        0,     0,     0,     0,     0,   404,     0,     0,     0,     0,
2966        0,   400,     0,     0,     0,   402,     0,     0,     0,  1116,
2967        0,     0,     0,     0,     0,   496,     0,     0,     0,     0,
2968        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2969        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2970        0,   643,   643,   643,   643,   402,     0,     0,     0,     0,
2971        0,     0,     0,     0,     0,     0,   402,     0,     0,     0,
2972        0,     0,     0,     0,     0,     0,     0,    80,    80,     0,
2973        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2974        0,     0,   347,   347,     0,     0,     0,     0,     0,     0,
2975        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2976        0,     0,     0,     0,     0,     0,   455,   455,     0,     0,
2977        0,   400,     0,     0,     0,   400,   400,   400,     0,     0,
2978        0,     0,     0,     0,     0,     0,   329,     0,     0,     0,
2979        0,   400,   400,     0,     0,     0,     0,     0,   329,     0,
2980        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2981        0,     0,     0,     0,     0,     0,     0,   400,   400,     0,
2982      400,   400,   402,     0,   402,   400,   400,   400,   400,     0,
2983        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2984        0,   400,     0,     0,     0,     0,   402,     0,     0,     0,
2985        0,     0,     0,     0,     0,     0,     0,   400,     0,    80,
2986        0,    80,     0,     0,   402,     0,     0,     0,   402,     0,
2987        0,   347,     0,     0,     0,   402,     0,     0,     0,   402,
2988        0,     0,   400,     0,     0,     0,     0,     0,     0,     0,
2989        0,     0,   823,     0,     0,     0,     0,     0,     0,     0,
2990        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2991        0,     0,     0,     0,     0,     0,     0,     0,     0,   290,
2992        0,     1,   291,   100,   292,     0,   293,   294,     0,     0,
2993        0,   858,   496,     0,     0,     0,   867,     0,     0,     0,
2994        0,     0,     0,     0,     0,   874,     2,     0,   881,     0,
2995        0,     0,     0,     0,     0,   115,     0,   329,   329,     0,
2996      400,   400,   400,   400,   400,   400,   400,   400,     0,     0,
2997        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2998        0,  1481,   931,   295,     0,     0,     0,     0,   947,   296,
2999      297,   298,    28,    29,     0,     0,     0,    32,   400,   400,
3000        0,     0,   299,   300,    38,     0,     0,     0,   400,     0,
3001        0,     0,     0,     0,     0,     0,   301,     0,     0,     0,
3002      302,   303,   304,   305,   306,   307,   308,   309,    43,    44,
3003      878,     0,     0,   879,   724,   312,   402,     0,     0,     0,
3004      402,     0,     0,   313,   314,     0,   315,   316,   317,   318,
3005        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3006      400,     0,     0,     0,   400,   400,   213,     0,     0,     0,
3007        0,     0,     0,     0,     0,     0,   213,     0,     0,     0,
3008        0,   402,     0,     0,     0,     0,     0,     0,     0,     0,
3009        0,   402,     0,   455,   455,     0,   213,     0,     0,   213,
3010        0,   213,   402,   213,     0,     0,     0,     0,     0,     0,
3011        0,     0,     0,     0,    68,     0,     0,     0,     0,     0,
3012      402,     0,   347,     0,     0,     0,     0,   402,     0,   402,
3013        0,     0,     0,     0,     0,     0,     0,     0,    80,     0,
3014        0,     0,     0,     0,     0,     0,   402,   455,   455,  1116,
3015        0,     0,  1116,     0,     0,     0,     0,     0,     0,   111,
3016        0,  1116,     0,     0,     0,     0,     0,     0,     0,     0,
3017        0,     0,     0,     0,   329,     0,   290,     0,     1,   291,
3018      100,   292,     0,   293,   294,     0,     0,     0,     0,     0,
3019     1116,   172,   329,     0,     0,     0,     0,     0,     0,   402,
3020      249,    68,     0,     2,   643,   643,   643,   643,    68,    68,
3021        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3022        0,     0,     0,     0,     0,     0,   370,  1105,  1106,  1107,
3023      615,  1108,  1109,  1110,  1111,   620,   621,  1112,     0,     0,
3024      295,    80,     0,     0,     0,     0,   296,   297,   298,     0,
3025      469,     0,     0,     0,    32,     0,     0,     0,     0,   299,
3026      300,  1113,   469,   625,   626,   627,   469,     0,     0,     0,
3027        0,     0,     0,   301,     0,     0,     0,   302,   303,   304,
3028      305,   306,   307,   308,   309,    43,    44,   310,     0,     0,
3029      311,     0,   312,   628,   249,   249,     0,   242,     0,   629,
3030      313,   314,     0,   315,   316,   317,   318,     0,     0,   402,
3031        0,     0,     0,   402,   402,   402,     0,     0,     0,     0,
3032        0,     0,     0,     0,   347,     0,     0,   559,     0,   402,
3033      402,     0,     0,     0,     0,     0,   347,     0,     0,     0,
3034        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3035        0,   823,   823,   823,     0,   402,   402,     0,   402,   402,
3036        0,     0,     0,   402,   402,   402,   402,   597,     0,     0,
3037      249,   249,   249,     0,   404,   404,   213,     0,     0,   402,
3038      172,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3039      172,   249,    68,     0,     0,   402,   455,     0,   455,     0,
3040        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3041      707,     0,     0,     0,     0,     0,   707,     0,     0,     0,
3042      402,     0,   455,     0,   455,   729,     0,     0,     0,     0,
3043        0,     0,    85,     0,     0,     0,     0,     0,     0,     0,
3044        0,     0,     0,     0,     0,     0,     0,     0,  1473,     0,
3045        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3046        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3047        0,     0,     0,   404,     0,     0,     0,   114,   126,     0,
3048      496,   496,     0,     0,     0,     0,     0,     0,     0,     0,
3049        0,   496,     0,     0,     0,   347,   347,     0,   402,   402,
3050      402,   402,   402,   402,   402,   402,     0,     0,     0,   177,
3051      126,     0,     0,     0,   222,     0,    80,     0,   559,    85,
3052        0,     0,     0,     0,   863,     0,    85,    85,     0,     0,
3053        0,     0,     0,     0,     0,   863,   402,   402,     0,     0,
3054        0,     0,     0,     0,   371,     0,   402,     0,     0,     0,
3055        0,     0,     0,     0,     0,     0,     0,   380,     0,     0,
3056        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3057      559,     0,     0,     0,     0,     0,     0,     0,   213,     0,
3058        0,     0,     0,   213,     0,     0,     0,   953,     0,  1573,
3059      455,   455,   455,   455,   455,  1573,     0,     0,   402,     0,
3060        0,   213,   402,   402,   455,   455,   455,   455,   516,     0,
3061      559,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3062        0,   532,     0,     0,     0,     0,     0,     0,     0,   249,
3063        0,     0,     0,     0,     0,     0,   249,     0,     0,   249,
3064        0,     0,     0,  1116,  1116,   566,     0,     0,     0,     0,
3065        0,  1116,     0,  1116,  1116,     0,     0,  1116,   642,     0,
3066        0,     0,     0,     0,     0,  1116,     0,     0,  1116,     0,
3067        0,   455,   455,     0,     0,     0,     0,     0,     0,     0,
3068        0,     0,     0,     0,     0,   126,     0,     0,     0,     0,
3069        0,     0,     0,     0,     0,     0,     0,     0,   177,     0,
3070        0,     0,     0,     0,     0,     0,     0,     0,   676,     0,
3071       85,   727,   347,     0,     0,     0,     0,     0,     0,     0,
3072        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3073      347,     0,     0,     0,     0,     0,   404,   213,  1130,     0,
3074        0,     0,     0,     0,     0,   537,     0,     0,     0,     0,
3075        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3076        0,     0,     0,   249,   249,   249,   249,     0,   290,     0,
3077        1,   291,   100,   292,     0,   293,   294,     0,     0,     0,
3078        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3079        0,   249,   249,   249,     0,     2,   172,     0,     0,     0,
3080        0,     0,     0,  1190,     0,     0,     0,     0,     0,     0,
3081        0,     0,     0,     0,     0,     0,     0,   249,     0,     0,
3082        0,     0,   727,     0,  1217,  1227,   729,     0,  1217,  1227,
3083        0,     0,   295,     0,     0,  1190,   853,     0,   296,   297,
3084      298,   685,     0,     0,     0,     0,  1249,     0,     0,   249,
3085      537,   299,   300,     0,   126,   249,   537,     0,   249,     0,
3086        0,     0,     0,     0,     0,   301,     0,     0,     0,   302,
3087      303,   304,   305,   306,   307,   308,   309,     0,     0,   310,
3088        0,     0,   311,  1148,   312,  1626,     0,  1149,   926,     0,
3089        0,   934,   313,   314,     0,   315,   316,   317,   318,  1116,
3090     1116,  1116,  1116,     0,     0,  1116,     0,     0,     0,  1116,
3091     1116,     0,  1116,     0,  1116,     0,     0,     0,     0,     0,
3092        0,     0,     0,     0,     0,   537,  1116,   537,   853,     0,
3093        0,     0,     0,     0,   823,   823,     0,   559,     0,     0,
3094        0,     0,     0,     0,   126,   126,   126,     0,     0,     0,
3095      404,     0,     0,     0,   404,     0,     0,     0,     0,     0,
3096        0,     0,   126,   126,     0,     0,     0,     0,     0,     0,
3097        0,     0,   559,     0,     0,     0,     0,     0,     0,     0,
3098     1433,   559,     0,  1041,     0,  1050,     0,     0,   559,     0,
3099        0,  1433,   111,   729,     0,   559,  1052,     0,     0,     0,
3100        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3101        0,     0,     0,     0,     0,     0,   404,     0,     0,     0,
3102        0,     0,  1128,     0,     0,     0,     0,   404,  1805,   404,
3103     1805,     0,   532,     0,     0,     0,     0,     0,  1146,     0,
3104        0,     0,     0,     0,     0,   559,     0,     0,     0,   642,
3105      642,   642,   642,     0,     0,     0,     0,     0,     0,     0,
3106        0,   559,     0,     0,     0,     0,     0,     0,   992,     0,
3107        0,  1116,     0,     0,     0,     0,     0,     0,     0,     0,
3108     1116,     0,  1116,     0,     0,     0,     0,     0,     0,     0,
3109        0,     0,     0,     0,     0,     0,     0,     0,   727,     0,
3110      249,   249,   249,     0,     0,   537,     0,  1172,   597,     0,
3111        0,     0,     0,     0,   676,     0,     0,     0,     0,     0,
3112        0,     0,     0,     0,     0,     0,  1146,     0,     0,     0,
3113        0,     0,     0,     0,  1116,  1116,     0,     0,  1116,     0,
3114     1116,     0,  1222,  1116,     0,     0,  1222,  1116,     0,     0,
3115        0,  1279,     0,     0,     0,     0,     0,     0,     0,     0,
3116        0,     0,     0,     0,   853,   537,     0,     0,     0,     0,
3117        0,   496,     0,     0,     0,     0,     0,     0,     0,  1116,
3118        0,     0,     0,     0,     0,     0,     0,     0,     0,  1332,
3119        0,     0,     0,     0,     0,     0,     0,  1344,     0,     0,
3120        0,     0,     0,     0,     0,     0,  1116,     0,   249,     0,
3121        0,     0,     0,     0,     0,     0,     0,  1396,     0,     0,
3122        0,     0,     0,   404,     0,   213,     0,  1130,   404,     0,
3123        0,     0,     0,     0,     0,     0,  1180,     0,     0,     0,
3124        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3125        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3126        0,     0,     0,     0,     0,     0,   249,   249,   249,   249,
3127        0,     0,     0,     0,     0,     0,     0,     0,     0,   727,
3128        0,     0,     0,   853,  1423,     0,     0,     0,   992,   249,
3129      853,   249,     0,   404,   992,     0,     0,   992,   853,  1437,
3130        0,     0,     0,     0,     0,     0,  1444,  1664,     0,   853,
3131      114,   126,     0,     0,     0,   248,     0,     0,     0,     0,
3132        0,     0,     0,     0,   597,     0,     0,     0,     0,     0,
3133        0,     0,   290,     0,     1,   291,   100,   292,     0,   293,
3134      294,     0,     0,     0,  1708,     0,     0,     0,     0,   126,
3135        0,  1708,     0,     0,     0,     0,     0,  1476,     0,     2,
3136        0,     0,     0,   566,     0,     0,     0,     0,     0,   126,
3137      249,   249,     0,     0,     0,     0,     0,   249,   249,   926,
3138        0,   249,   249,     0,     0,     0,     0,     0,     0,     0,
3139        0,     0,     0,     0,     0,     0,   295,     0,     0,     0,
3140        0,     0,   296,   297,   298,     0,     0,     0,     0,   248,
3141      248,     0,     0,     0,     0,   299,   300,     0,     0,     0,
3142        0,     0,     0,     0,     0,     0,   926,     0,     0,   301,
3143        0,     0,     0,   302,   303,   304,   305,   306,   307,   308,
3144      309,     0,   558,   310,     0,     0,   311,  1148,   312,     0,
3145      404,  1746,     0,     0,     0,  1754,   313,   314,     0,   315,
3146      316,   317,   318,     0,     0,     0,     0,     0,     0,   992,
3147        0,   537,  1554,     0,     0,     0,     0,     0,     0,     0,
3148        0,  1562,   596,     0,     0,   248,   248,   248,     0,     0,
3149        0,     0,     0,     0,     0,     0,     0,   642,     0,     0,
3150      642,  1596,  1598,     0,  1601,     0,   248,     0,     0,     0,
3151      537,     0,  1611,     0,     0,     0,     0,     0,     0,     0,
3152     1620,     0,     0,     0,   404,   706,   404,  1146,     0,     0,
3153        0,   706,     0,     0,     0,     0,     0,     0,   642,   992,
3154      728,   992,     0,     0,     0,  1146,     0,     0,     0,     0,
3155     1146,     0,   642,   642,   642,   642,     0,     0,     0,     0,
3156        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3157        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3158        0,  1653,     0,  1657,   249,     0,     0,   559,     0,  1871,
3159        0,     1,   291,   100,   292,     0,   293,   294,     0,     0,
3160        0,     0,  1677,     0,     0,     0,     0,   537,  1686,     0,
3161        0,     0,     0,     0,     0,     0,     2,     0,     0,     0,
3162        0,     0,     0,     0,     0,   853,     0,     0,     0,     0,
3163        0,  1146,     0,   558,     0,     0,     0,     0,     0,     0,
3164        0,     0,   853,     0,  1222,     0,     0,   992,     0,     0,
3165        0,     0,  1699,   295,     0,     0,     0,     0,   537,   296,
3166      297,   298,  1222,     0,     0,     0,     0,     0,     0,  1222,
3167        0,     0,   299,   300,     0,     0,     0,     0,  1146,     0,
3168        0,     0,     0,     0,     0,   558,   301,   559,     0,     0,
3169      302,   303,   304,   305,   306,   307,   308,   309,     0,     0,
3170      310,   249,   249,   311,  1148,   312,  1872,     0,  1149,     0,
3171        0,     0,     0,   313,   314,     0,   315,   316,   317,   318,
3172        0,     0,     0,     0,     0,   558,     0,     0,     0,     0,
3173     1146,     0,     0,     0,     0,     0,     1,     0,     0,     0,
3174        0,     0,     0,  1146,   248,     0,     0,     0,     0,     0,
3175        0,   248,     0,     0,   248,     0,     0,     0,     0,     0,
3176        0,     2,     0,     0,     0,     0,   537,     8,     9,    10,
3177       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
3178       21,    22,    23,    24,     0,     0,     0,     0,   537,     0,
3179        0,     0,     0,     0,  1146,     0,     0,     0,     0,    27,
3180        0,     0,     0,     0,     0,     0,   726,    28,    29,     0,
3181      992,     0,    32,     0,     0,    35,    36,   992,    37,    38,
3182       39,   992,     0,     0,     0,     0,     0,     0,     0,     0,
3183        0,     0,     0,    40,     0,   729,     0,     0,     0,     0,
3184        0,     0,     0,    43,    44,    45,     0,     0,   851,     0,
3185        0,     0,     0,     0,  1765,     0,     0,     0,     0,   552,
3186        0,     0,     0,     0,     0,     0,     0,     0,  1772,     0,
3187        0,     0,     0,     0,     0,  1775,     0,     0,   248,   248,
3188      248,   248,     0,   380,     0,     0,     0,     0,     0,     0,
3189        0,     0,     0,     0,     0,     0,     0,   249,   249,     0,
3190        0,     0,     0,  1444,     0,   566,   248,   248,   248,     0,
3191        0,     0,     0,     0,     0,     0,     0,   726,  1189,   559,
3192        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3193        0,     0,   248,     0,     0,     0,     0,     0,     0,  1216,
3194     1226,   728,     0,  1216,  1226,     0,     0,     0,     0,     0,
3195     1189,     0,     0,     0,     0,     0,     0,     0,     0,   251,
3196        0,  1248,     0,     0,   248,     0,     0,     0,     0,     0,
3197      248,     0,     0,   248,     0,     0,     0,     0,     0,     0,
3198        0,     0,     0,     0,     0,  1829,     0,     0,     0,     0,
3199        0,   642,   642,     0,     0,  1146,     0,  1146,     0,     0,
3200     1146,   642,     0,     0,     0,   566,  1859,  1862,     0,  1864,
3201        0,     0,     0,     0,     0,     0,     0,     0,     0,  1146,
3202        0,  1875,     0,   992,     0,     0,     0,     0,     0,     0,
3203        0,     0,     0,   537,     0,     0,     0,     0,     0,     0,
3204        0,   729,     0,     0,     0,     0,     0,     0,     0,     0,
3205        0,  1146,   558,   251,   251,  1146,     0,     0,     0,     0,
3206        0,     0,     0,     0,     0,     0,     0,     0,     0,   992,
3207        0,   992,     0,     0,     0,     0,  1146,     0,     0,     0,
3208        0,     0,     0,     0,     0,  1146,   561,   558,   992,     0,
3209        0,     0,     0,     0,     0,     0,   558,     0,     0,     0,
3210        0,     0,     0,   558,     0,     0,     0,     0,   728,     0,
3211      558,     0,     0,     0,     0,     0,     0,  1127,     0,     0,
3212        0,     0,     0,     0,  1908,     0,   599,     0,     0,   251,
3213      251,   251,     0,  1145,     0,     0,     0,  1150,     0,     0,
3214        0,   992,     0,     0,     0,     0,     0,     0,     0,     0,
3215      251,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3216      558,     0,     0,     0,     0,     0,     0,     0,     0,   709,
3217        0,     0,     0,     0,     0,   709,   558,     0,     0,     0,
3218        0,     0,     0,     0,   731,     0,     0,     0,     0,     0,
3219        0,     0,     0,   726,     0,     0,  1423,     0,     0,     0,
3220        0,     0,     0,     0,     0,     0,     0,  1231,     0,     0,
3221        0,     0,     0,     0,     0,   248,   248,   248,  1775,     0,
3222        0,  1145,  1150,   596,     0,     0,     0,     0,     0,     0,
3223        0,     0,     0,     0,     0,     0,     0,   853,     0,  1146,
3224        0,     0,     0,     0,     0,     0,  1278,     0,     0,     0,
3225        0,     0,     0,   642,  1146,   537,     0,   537,     0,     0,
3226        0,  1146,     0,     0,     0,  1864,     0,  2024,     0,     0,
3227        0,   537,   537,     0,     0,     0,  2030,   561,     0,     0,
3228        0,     0,     0,     0,  1330,     0,     0,     0,     0,     0,
3229        0,     0,  1343,     0,     0,     0,     0,  1947,  1951,     0,
3230     1957,  1961,     0,     0,     0,  1965,  1969,  1973,  1977,     0,
3231        0,     0,  1394,     0,     0,     0,     0,     0,     0,     0,
3232        0,     0,     0,   248,     0,     0,     0,   727,     0,   561,
3233        0,     0,     0,     0,     0,     0,     0,   992,     0,  1699,
3234        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3235        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3236        0,     0,     0,     0,     0,     0,     0,     0,     0,   561,
3237        0,     0,     0,     0,   726,     0,     0,     0,     0,     0,
3238        0,   248,   248,   248,   248,     0,     0,     0,   251,     0,
3239        0,     0,     0,     0,     0,   251,     0,     0,   251,     0,
3240        0,     0,     0,     0,   248,     0,   248,     0,     0,     0,
3241        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3242     2085,  2088,  1663,  1146,     0,  1146,     0,     0,   642,  1146,
3243      642,     0,     0,     0,     0,     0,     0,     0,     0,   596,
3244     1947,  1951,  1957,  1961,  1965,  1969,  1973,  1977,     0,     0,
3245        0,     0,     0,     0,     0,     0,     0,     0,     0,  1707,
3246        0,     0,     0,     0,     0,     0,  1707,     0,     0,     0,
3247        0,     0,     0,     0,     0,     0,     0,     0,     0,   537,
3248        0,     0,     0,     0,  1146,   248,   248,  1146,   537,     0,
3249        0,     0,   248,   248,     0,   642,   248,   248,     0,     0,
3250        0,     0,   119,     0,     0,     0,     0,     0,     0,     0,
3251        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3252        0,     0,   251,   251,   251,   251,     0,     0,     0,     0,
3253     1146,     0,     0,   119,   119,     0,     0,     0,     0,     0,
3254      992,     0,     0,     0,   537,   537,     0,     0,     0,     0,
3255      251,   251,   251,     0,     0,     0,     0,     0,     0,     0,
3256        0,     0,  1192,     0,     0,     0,     0,     0,     0,     0,
3257        0,     0,     0,     0,     0,     0,   251,     0,     0,     0,
3258        0,   119,   119,  1219,  1229,   731,     0,  1219,  1229,     0,
3259        0,     0,     0,     0,  1192,     0,  1595,  1597,     0,  1600,
3260        0,     0,     0,     0,     0,  1251,     0,  1127,   251,     0,
3261     1150,     0,     0,     0,   251,  1619,     0,   251,     0,     0,
3262        0,     0,  1145,  1150,     0,     0,     0,     0,     0,     0,
3263        0,     0,     0,   119,     0,     0,     0,     0,     0,     0,
3264     1145,  1150,     0,     0,     0,  1145,     0,     0,     0,     0,
3265        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3266        0,     0,     0,     0,     0,     0,     0,     0,     0,   563,
3267        0,     0,     0,     0,     0,     0,  1651,     0,  1655,     0,
3268        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3269        0,     0,     0,     0,     0,     0,   561,  1676,     0,   248,
3270        0,     0,   558,  1685,     0,     0,     0,     0,     0,   119,
3271        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3272        0,     0,   119,     0,     0,     0,  1145,     0,     0,     0,
3273        0,   561,   673,     0,     0,     0,     0,     0,     0,     0,
3274      561,     0,     0,     0,     0,     0,     0,   561,     0,     0,
3275        0,     0,   731,     0,   561,     0,     0,     0,     0,     0,
3276        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3277        0,     0,     0,  1145,  1150,     0,     0,     0,   116,     0,
3278        0,     0,     0,     0,     0,   133,     0,     0,     0,     0,
3279        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3280        0,     0,   558,     0,   561,     0,     0,     0,   156,   165,
3281      188,     0,     0,     0,     0,     0,   248,   248,     0,     0,
3282      561,     0,     0,     0,     0,  1145,     0,  1150,     0,     0,
3283        0,     0,     0,     0,     0,     0,   119,     0,  1145,  1150,
3284        0,     0,   563,     0,     0,     0,     0,     0,     0,     0,
3285        0,     0,     0,     0,     0,     0,     0,   116,   116,   251,
3286      251,   251,     0,     0,     0,     0,     0,   599,   383,     0,
3287        0,     0,     0,     0,   479,     0,     0,     0,   119,     0,
3288        0,     0,     0,     0,     0,     0,     0,     0,     0,  1145,
3289      510,  1150,     0,     0,     0,     0,     0,     0,     0,     0,
3290        0,     0,     0,     0,     0,     0,     0,     0,     0,   116,
3291        0,     0,   563,     0,     0,     0,     0,     0,     0,   383,
3292        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3293        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3294        0,     0,     0,     0,   156,   555,     0,     0,     0,     0,
3295      728,     0,     0,     0,     0,   562,     0,     0,     0,     0,
3296        0,     0,     0,     0,     0,     0,     0,   251,   119,   119,
3297      119,     0,   119,     0,     0,   673,     0,     0,     0,     0,
3298        0,     0,     0,     0,     0,   165,   119,   119,   119,     0,
3299        0,     0,     0,     0,     0,     0,     0,     0,   165,     0,
3300        0,     0,     0,     0,     0,     0,     0,   119,   555,   563,
3301        0,     0,   248,   248,     0,     0,     0,     0,   672,     0,
3302        0,     0,   563,     0,     0,   251,   251,   251,   251,     0,
3303        0,     0,     0,     0,   558,     0,     0,     0,     0,     0,
3304        0,     0,     0,     0,     0,     0,     0,     0,   251,     0,
3305      251,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3306        0,     0,     0,     0,     0,     0,  1666,     0,     0,     0,
3307        0,     0,     0,     0,  1839,     0,     0,     0,     0,     0,
3308        0,     0,     0,   599,     0,     0,     0,     0,     0,     0,
3309     1145,  1150,  1145,  1150,     0,  1145,  1854,     0,     0,     0,
3310        0,  1595,  1861,  1710,  1619,     0,  1150,     0,     0,     0,
3311     1710,     0,   116,     0,  1145,  1150,  1619,     0,   116,     0,
3312        0,     0,   841,     0,     0,     0,     0,     0,   846,   251,
3313      251,     0,   673,     0,     0,     0,   251,   251,   673,     0,
3314      251,   251,     0,     0,     0,     0,  1145,     0,  1150,     0,
3315     1145,     0,  1150,     0,   555,     0,   728,     0,     0,     0,
3316        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3317        0,  1145,  1150,     0,     0,     0,     0,     0,     0,     0,
3318     1145,  1150,     0,     0,     0,     0,     0,     0,   555,     0,
3319        0,     0,     0,     0,     1,     0,     0,     0,   922,     0,
3320        0,     0,     0,     0,   156,     0,     0,     0,     0,     0,
3321        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
3322      194,   195,   196,   197,   198,   226,   227,   228,   229,   230,
3323      231,   232,   233,   234,   235,    18,    19,   236,   237,    22,
3324       23,    24,     0,     0,   116,   116,   116,     0,   116,     0,
3325        0,   116,     0,     0,     0,     0,     0,   238,   997,     0,
3326        0,  1002,   116,   116,   116,    28,    29,     0,     0,     0,
3327       32,     0,     0,     0,   997,     0,   239,    38,   240,     0,
3328        0,   510,     0,   555,     0,   116,     0,     0,     0,     0,
3329        0,   241,     0,     0,     0,   562,     0,     0,   116,     0,
3330        0,    43,    44,    45,     0,     0,   851,     0,   562,     0,
3331        0,     0,     0,  1430,     0,     0,     0,   552,     0,     0,
3332        0,     0,     0,   563,     0,     0,     0,     0,     0,     0,
3333      563,     0,  1117,     0,  1145,   119,     0,     0,     0,     0,
3334        0,     0,     0,   251,     0,     0,   561,     0,     0,  1145,
3335        0,     0,     0,     0,  1150,     0,  1145,  1854,     0,  1150,
3336     1619,     0,  2023,     0,  2025,     0,  1156,  1160,     0,     0,
3337     1150,  2029,     0,   119,     0,   246,     0,     0,     0,     0,
3338        0,     0,   563,     0,     0,     0,     0,   563,     0,     0,
3339        0,     0,     0,   119,     0,     0,     0,     0,     0,     0,
3340     1168,     0,     0,   563,     0,     0,     0,     0,   116,     0,
3341        0,     0,     0,     0,   555,     0,     0,     0,   672,     0,
3342        0,     0,   726,     0,   672,   467,     0,     0,     0,     0,
3343        0,     0,     0,     0,     0,     0,     0,   467,     0,     0,
3344        0,   467,     0,   247,     0,     0,   561,     0,     0,     0,
3345      563,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3346      251,   251,     0,     0,     0,     0,     0,     0,     0,   246,
3347      246,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3348        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3349        0,     0,     0,   247,     0,     0,   119,   119,     0,     0,
3350        0,     0,   557,     0,     0,   247,   563,     0,   563,   247,
3351        0,     0,     0,     0,     0,  2084,  2087,     0,  1145,  1150,
3352     1145,     0,     0,     0,  1145,  1854,     0,     0,     0,     0,
3353        0,     0,     0,     0,     0,     0,     0,   247,   247,     0,
3354        0,     0,   595,     0,   738,   246,   246,   246,     0,     0,
3355        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3356      765,     0,     0,     0,     0,     0,   246,     0,     0,     0,
3357        0,     0,     0,     0,     0,     0,     0,     0,     0,  1145,
3358     1150,     0,  1145,  1854,     0,   705,     0,  2130,     0,     0,
3359        0,   705,     0,     0,   731,     0,     0,   156,     0,   555,
3360      290,     0,     1,   291,   100,   292,   555,   293,   294,   672,
3361      247,   555,     0,   247,   247,   247,  1442,     0,     0,     0,
3362        0,     0,     0,     0,     0,  1145,     0,     2,   673,     0,
3363      673,     0,     0,     0,   247,     0,     0,     0,     0,     0,
3364        0,     0,     0,     0,     0,     0,     0,     0,     0,   116,
3365        0,     0,     0,   247,     0,     0,   251,   251,   116,   247,
3366        0,     0,     0,   555,   295,     0,     0,     0,  1477,   116,
3367      296,   297,   298,   562,     0,     0,     0,     0,   561,   555,
3368        0,     0,     0,   299,   300,     0,     0,     0,     0,   922,
3369        0,     0,     0,   557,     0,     0,     0,   301,     0,   862,
3370        0,   302,   303,   304,   305,   306,   307,   308,   309,     0,
3371      862,   310,     0,     0,   311,  1148,   312,     0,     0,  1746,
3372        0,     0,     0,  1889,   313,   314,   555,   315,   316,   317,
3373      318,     0,     0,     0,     0,     0,   922,     0,     0,     0,
3374        0,     0,     0,     0,     0,   557,     0,     0,     0,     0,
3375        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3376        0,     0,   952,     0,     0,     0,     0,   247,     0,     0,
3377        0,     0,   116,   116,     0,     0,     0,     0,   247,     0,
3378        0,     0,   116,   383,   116,   557,     0,     0,     0,     0,
3379        0,     0,   562,     0,   562,     0,     0,     0,     0,     0,
3380      731,     0,     0,     0,   246,     0,     0,     0,     0,     0,
3381        0,   246,  1589,     0,   246,  1593,     0,     0,     0,     0,
3382        0,     0,     0,     0,  1608,     0,     0,     0,     0,     0,
3383      247,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3384        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3385        0,     0,  1125,  1632,     0,     0,     0,     0,     0,     0,
3386        0,     0,     0,     0,     0,     0,     0,  1156,  1160,  1156,
3387     1160,     0,   247,     0,     0,     0,     0,     0,     0,   247,
3388        0,     0,   247,     0,     0,     0,     0,     0,     0,     0,
3389        0,     0,     0,   563,     0,     0,     0,     0,     0,     0,
3390      563,     0,     0,     0,   116,     0,   116,   119,     0,     0,
3391        0,     0,     0,     0,   672,     0,   672,     0,     0,     0,
3392        0,     0,     0,     0,     0,     0,     0,   563,     0,   563,
3393        0,     0,   563,     0,     0,   563,     0,     0,   246,   246,
3394      246,   246,     0,     0,     0,     0,     0,     0,     0,     0,
3395        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3396        0,     0,     0,     0,     0,     0,   246,   246,   246,     0,
3397        0,     0,     0,     0,     0,     0,     0,     0,     0,   738,
3398        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3399        0,     0,   246,  1280,     0,     0,     0,     0,     0,  1215,
3400     1225,     0,     0,  1215,  1225,     0,   247,   247,   247,   247,
3401      119,     0,  1303,  1307,  1311,  1315,  1319,     0,   563,  1328,
3402     1334,     0,     0,     0,   246,   738,     0,     0,  1345,   563,
3403      246,     0,     0,   246,   247,   247,   247,     0,     0,     0,
3404     1369,  1373,  1377,  1381,  1385,     0,     0,  1328,  1398,     0,
3405        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3406      247,     0,     0,     0,     0,     0,     0,   247,   247,     0,
3407        0,   247,   247,     0,     0,     0,     0,     0,     0,     0,
3408        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3409        0,     0,   247,     0,     0,     0,     0,     0,   247,     0,
3410        0,   247,   252,     0,     0,     0,     0,     0,     0,     0,
3411        0,     0,   557,     0,     0,     0,     0,     0,     0,     0,
3412        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3413        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3414        0,     0,     0,     0,     0,     0,     0,   557,     0,     0,
3415        0,     0,   252,     0,     0,  1432,   557,     0,     0,     0,
3416        0,     0,     0,   557,   252,     0,  1432,     0,   252,   116,
3417      557,     0,     0,     0,     0,     0,   116,     0,     0,   672,
3418        0,     0,     0,   116,     0,     0,  1776,     0,     0,     0,
3419        0,     0,     0,     0,     0,     0,   252,   252,     0,     0,
3420        0,     0,     0,   116,     0,   555,     0,     0,   116,     0,
3421        0,   116,     0,  1442,  1731,   562,     0,     0,  1789,     0,
3422      557,  1002,     0,   247,     0,     0,     0,     0,   563,   563,
3423        0,   563,     0,     0,   247,     0,   557,     0,     0,     0,
3424        0,     2,   194,   195,   196,   197,   198,   226,   227,   228,
3425      229,   230,   231,   232,   233,   234,   235,    18,    19,   236,
3426      237,    22,    23,    24,     0,     0,     0,     0,     0,   252,
3427        0,     0,   252,   252,   252,   246,   246,   246,     0,   238,
3428        0,     0,     0,   595,     0,   119,   116,    28,    29,     0,
3429        0,     0,    32,   252,   116,     0,   841,     0,   239,    38,
3430      240,     0,     0,     0,   562,   555,  1843,  1845,     0,     0,
3431        0,     0,   252,   241,  1852,   562,  1855,  1589,   252,     0,
3432     1593,     0,     0,    43,    44,     0,     0,     0,  1632,     0,
3433        0,  1868,     0,     0,  -110,     0,     0,     0,     0,     0,
3434        0,     0,  1125,   247,   247,   247,     0,     0,     0,     0,
3435        0,   247,     0,     0,     0,     0,     0,     0,     0,     0,
3436        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3437     1280,     0,     0,     0,     0,     0,     0,  1345,     0,     0,
3438        0,     0,     0,   246,     0,     0,     0,     0,     0,     0,
3439        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3440        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3441        0,  1328,     0,  1328,     0,     0,     0,     0,     0,     0,
3442        0,     0,     0,     0,     0,     0,   252,     0,     0,     0,
3443      738,     0,     0,     0,     0,     0,   738,   252,     0,     0,
3444        0,   246,   246,   246,   246,     0,     0,     0,     0,     0,
3445        0,   247,     0,     0,     0,     0,     0,     0,     0,     0,
3446        0,     0,     0,     0,   246,     0,   246,     0,     0,     0,
3447        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3448        0,     0,     0,     0,     0,     0,     0,     0,     0,   252,
3449     1733,     0,     0,     0,     0,     0,     0,     0,     0,   595,
3450        0,     0,     0,     0,   116,   116,     0,   116,     0,   247,
3451      247,   247,   247,     0,   672,   672,     0,  1986,     0,  1706,
3452        0,     0,     0,     0,     0,     0,  1706,     0,     0,     0,
3453        0,   252,   247,     0,   247,     0,     0,     0,   252,     0,
3454        0,   252,     0,     0,     0,   246,   246,     0,     0,     0,
3455        0,     0,   246,   246,     0,     0,   246,   246,     0,     0,
3456        0,   116,  2013,  2014,  2015,  2016,     0,   247,  2017,     0,
3457        0,   997,  1843,  1845,     0,  1852,   290,  1855,     1,   291,
3458      100,   292,     0,   293,   294,     0,     0,   247,     0,  2026,
3459        0,     0,     0,     0,   247,     0,     0,     0,     0,     0,
3460        0,     0,     0,     2,     0,     0,     0,     0,     0,     0,
3461        0,     0,     0,   247,   247,     0,     0,     0,     0,     0,
3462      247,   247,     0,     0,   247,   247,     0,     0,     0,     0,
3463        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3464      295,     0,     0,     0,     0,     0,   296,   297,   298,     0,
3465        0,     0,     0,     0,     0,     0,     0,     0,     0,   299,
3466      300,     0,     0,     0,     0,   252,   252,   252,   252,     0,
3467        0,     0,     0,   301,     0,     0,     0,   302,   303,   304,
3468      305,   306,   307,   308,   309,     0,     0,   310,     0,     0,
3469      311,  1271,   312,   252,   252,   252,     0,   735,     0,     0,
3470      313,   314,     0,   315,   316,   317,   318,     0,     0,     0,
3471      290,     0,     1,   291,   100,   292,     0,   293,   294,   252,
3472        0,     0,     0,     0,     0,     0,   252,   252,     0,     0,
3473      252,   252,     0,     0,  2017,     0,     0,     2,     0,     0,
3474        0,     0,     0,  2093,     0,  2096,     0,     0,     0,     0,
3475        0,   252,     0,     0,     0,     0,     0,   252,     0,   246,
3476      252,     0,   557,     0,     0,     0,     0,     0,     0,     0,
3477        0,     0,     0,     0,   295,     0,     0,     0,     0,     0,
3478      296,   297,   298,     0,     0,     0,     0,     0,     0,     0,
3479        0,     0,     0,   299,   300,     0,     0,  2124,  2125,     0,
3480        0,  2093,     0,  2096,     0,     0,  2129,   301,     0,     0,
3481     2131,   302,   303,   304,   305,   306,   307,   308,   309,     0,
3482        0,   310,     0,     0,   311,  1148,   312,   247,     0,  1746,
3483        0,     0,     0,  1893,   313,   314,     0,   315,   316,   317,
3484      318,     0,  2131,     0,     0,     0,     0,     0,     0,     0,
3485        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3486        0,     0,   557,     0,     0,     0,     0,     0,     0,  2167,
3487        0,     0,     0,     0,     0,     0,   246,   246,     0,     0,
3488        0,     0,   252,     1,     0,     0,     0,     0,     0,     0,
3489        0,     0,     0,   252,     0,     0,     0,     0,     0,     0,
3490        0,     0,     0,     0,     0,     0,     0,     0,     2,   194,
3491      195,   196,   197,   198,     8,     9,    10,   550,    12,    13,
3492       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
3493       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3494        0,     0,     0,     0,   247,   247,    27,     0,     0,     0,
3495        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
3496        0,     0,    35,    36,     0,    37,    38,    39,  1733,     0,
3497        0,     0,     0,  1943,  1945,  1949,  1953,  1955,  1959,     0,
3498       40,     0,  1963,  1967,  1971,  1975,     0,     0,     0,     0,
3499       43,    44,    45,     0,     0,   551,     0,     0,     0,     0,
3500        0,     0,   252,   252,   252,     0,   552,     0,   553,     0,
3501      252,     0,     0,     0,     0,     0,     0,   745,     0,     0,
3502        0,     0,     0,   746,   747,   748,  -359,  -359,  -359,  -359,
3503     -359,  -359,  -359,  -359,     0,     0,     0,     0,     0,     0,
3504        0,     0,     0,     0,  -359,  -359,  -359,  -359,  -359,  -359,
3505     -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,
3506     -359,  -359,  -359,  -359,  -359,  -359,  -359,     0,     0,     0,
3507        0,     0,   246,   246,     0,     0,     0,     0,     0,     0,
3508        0,     0,  -359,     0,     0,     0,     0,     0,     0,     0,
3509     -359,  -359,     0,     0,   557,  -359,     0,     0,     0,     0,
3510        0,  -359,  -359,  -359,     0,     0,     0,     0,     0,     0,
3511      252,     0,     0,     0,     0,     0,  -359,  1945,  1949,  1955,
3512     1959,  1963,  1967,  1971,  1975,     0,  -359,  -359,  -359,  -359,
3513     -359,   749,     0,     0,  -359,  1535,  -359,  -359,     0,   750,
3514      247,   247,   751,     0,  -359,  -359,  -359,     0,  -359,  -359,
3515     -359,  -359,  -359,     0,     0,     0,     0,     0,     0,     0,
3516        0,     0,     0,     0,     0,     0,     0,     0,   252,   252,
3517      252,   252,     0,     0,     0,     0,     0,     0,     0,     0,
3518        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3519        0,   252,     0,   252,     0,     0,     0,     0,     0,     0,
3520        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3521        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3522        0,     0,     0,     0,     0,     0,   252,     0,     0,     0,
3523        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3524        0,     0,     0,     0,     0,     0,   252,     0,     0,     0,
3525        0,     0,     0,   252,     0,     0,     0,     0,     0,     0,
3526        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3527        0,     0,   252,   252,     0,     0,     0,     0,     0,   252,
3528      252,     0,     0,   252,   252,  -359,   745,     0,  -359,  -359,
3529     -359,  -359,   746,   747,   748,  -359,  -359,  -359,  -359,  -359,
3530     -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,
3531     -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,
3532     -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,
3533     -359,  -359,  -359,  -359,  -359,  -359,     0,  -359,  -359,  -359,
3534     -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,     0,     0,
3535     -359,  -359,     0,  -359,     0,     0,  -359,  -359,  -359,  -359,
3536     -359,     0,     0,  -359,  -359,  -359,  -359,  -359,  -359,  -359,
3537     -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,
3538        0,  -359,     0,  -359,  -359,  -359,     0,  -359,  -359,  -359,
3539     -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,
3540      749,  -359,  -359,  -359,  -359,  -359,  -359,  -359,   750,  -359,
3541     -359,   751,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,
3542     -359,  -359,  -361,  1196,     0,  -361,  -361,  -361,  -361,  1197,
3543     1198,  1199,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
3544     -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
3545     -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
3546     -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
3547     -361,  -361,  -361,     0,  -361,  -361,  -361,  -361,  -361,  -361,
3548     -361,  -361,  -361,  -361,  -361,     0,   252,  -361,  -361,     0,
3549     -361,     0,     0,  -361,  -361,  -361,  -361,  -361,     0,     0,
3550     -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
3551     -361,  -361,  -361,  -361,  -361,  -361,  -361,     0,  -361,     0,
3552     -361,  -361,  -361,     0,  -361,  -361,  -361,  -361,  -361,  -361,
3553     -361,  -361,  -361,  -361,  -361,  -361,  -361,  1200,  -361,  -361,
3554     -361,  -361,  -361,  -361,  -361,  1201,  -361,  -361,  1202,  -361,
3555     -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,     0,
3556        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3557        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3558        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3559        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3560        0,     0,     0,   252,   252,  -466,  1141,     0,  -466,  -466,
3561     -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,
3562     -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,
3563     -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,
3564     -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,
3565     -466,  -466,  -466,  -466,  -466,  -466,     0,  -466,  -466,  -466,
3566     -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,     0,     0,
3567     -466,  -466,     0,  -466,     0,     0,  -466,  -466,  -466,  -466,
3568     -466,     0,     0,  -466,  -466,  -466,  -466,  -466,  -466,  -466,
3569     -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,
3570        0,  -466,     0,  -466,  -466,  -466,     0,  -466,  -466,  -466,
3571     -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,
3572     -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,
3573     -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,
3574     -466,  -466,     0,     0,     0,     0,     0,     0,     0,     0,
3575        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3576        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3577        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3578        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3579        0,     0,     0,     0,     0,     0,     0,     0,     0,   252,
3580      252,  -299,   290,     0,     1,   291,   100,   292,  -299,   293,
3581      294,  -299,  -299,  -299,  -299,  -299,  -299,  -299,  -299,  -299,
3582     -299,  -299,  -299,  -299,  -299,  -299,  -299,  -299,  -299,     2,
3583     -299,  -299,  -299,  -299,  -299,  -299,  -299,  -299,  -299,  -299,
3584     -299,  -299,  -299,  -299,  -299,  -299,  -299,  -299,  -299,  -299,
3585     -299,  -299,     0,  -299,  -299,  -299,  -299,  -299,  -299,  -299,
3586     -299,  -299,  -299,  -299,     0,     0,   295,  -299,     0,  -299,
3587        0,     0,   296,   297,   298,  -299,  -299,     0,     0,  -299,
3588     -299,  -299,  -299,  -299,  -299,   299,   300,  -299,  -299,  -299,
3589     -299,  -299,  -299,  -299,  -299,  -299,     0,  -299,     0,   301,
3590     -299,  -299,     0,   302,   303,   304,   305,   306,   307,   308,
3591      309,  -299,  -299,   310,  -299,  -299,   311,  1246,   312,  -299,
3592     -299,  1144,  -299,  -299,  -299,  -299,   313,   314,  -299,   315,
3593      316,   317,   318,  -299,  -299,  -299,  -299,  -299,  -300,   290,
3594        0,     1,   291,   100,   292,  -300,   293,   294,  -300,  -300,
3595     -300,  -300,  -300,  -300,  -300,  -300,  -300,  -300,  -300,  -300,
3596     -300,  -300,  -300,  -300,  -300,  -300,     2,  -300,  -300,  -300,
3597     -300,  -300,  -300,  -300,  -300,  -300,  -300,  -300,  -300,  -300,
3598     -300,  -300,  -300,  -300,  -300,  -300,  -300,  -300,  -300,     0,
3599     -300,  -300,  -300,  -300,  -300,  -300,  -300,  -300,  -300,  -300,
3600     -300,     0,     0,   295,  -300,     0,  -300,     0,     0,   296,
3601      297,   298,  -300,  -300,     0,     0,  -300,  -300,  -300,  -300,
3602     -300,  -300,   299,   300,  -300,  -300,  -300,  -300,  -300,  -300,
3603     -300,  -300,  -300,     0,  -300,     0,   301,  -300,  -300,     0,
3604      302,   303,   304,   305,   306,   307,   308,   309,  -300,  -300,
3605      310,  -300,  -300,   311,  1148,   312,  -300,  -300,  1149,  -300,
3606     -300,  -300,  -300,   313,   314,  -300,   315,   316,   317,   318,
3607     -300,  -300,  -300,  -300,  -300,  -595,   290,     0,     1,   291,
3608      100,   292,  -595,   293,   294,  -595,  -595,  -595,  -595,  -595,
3609     -595,  -595,  -595,  -595,  -595,  -595,  -595,  -595,  -595,  -595,
3610     -595,  -595,  -595,     2,  -595,  -595,  -595,  -595,  -595,  -595,
3611     -595,  -595,  -595,  -595,  -595,  -595,  -595,  -595,  -595,  -595,
3612     -595,  -595,  -595,  -595,  -595,  -595,     0,  -595,  -595,  -595,
3613     -595,  -595,  -595,  -595,  -595,  -595,  -595,  -595,     0,     0,
3614      295,  -595,     0,  -595,     0,     0,   296,   297,   298,  -595,
3615     -595,     0,     0,  -595,  -595,  -595,  -595,  -595,  -595,   299,
3616      300,  -595,  -595,  -595,  -595,  -595,  -595,  -595,  -595,  -595,
3617        0,  -595,     0,   301,  -595,  -595,     0,   302,   303,   304,
3618      305,   306,   307,   308,   309,  -595,  -595,   310,  -595,  -595,
3619      311,  -595,   312,  -595,  -595,  -595,  -595,   735,  -595,  1327,
3620      313,   314,  -595,   315,   316,   317,   318,  -595,  -595,  -595,
3621     -595,  -595,  -596,   290,     0,     1,   291,   100,   292,  -596,
3622      293,   294,  -596,  -596,  -596,  -596,  -596,  -596,  -596,  -596,
3623     -596,  -596,  -596,  -596,  -596,  -596,  -596,  -596,  -596,  -596,
3624        2,  -596,  -596,  -596,  -596,  -596,  -596,  -596,  -596,  -596,
3625     -596,  -596,  -596,  -596,  -596,  -596,  -596,  -596,  -596,  -596,
3626     -596,  -596,  -596,     0,  -596,  -596,  -596,  -596,  -596,  -596,
3627     -596,  -596,  -596,  -596,  -596,     0,     0,   295,  -596,     0,
3628     -596,     0,     0,   296,   297,   298,  -596,  -596,     0,     0,
3629     -596,  -596,  -596,  -596,  -596,  -596,   299,   300,  -596,  -596,
3630     -596,  -596,  -596,  -596,  -596,  -596,  -596,     0,  -596,     0,
3631      301,  -596,  -596,     0,   302,   303,   304,   305,   306,   307,
3632      308,   309,  -596,  -596,   310,  -596,  -596,   311,  -596,   312,
3633     -596,  -596,  -596,  -596,   735,  -596,  1393,   313,   314,  -596,
3634      315,   316,   317,   318,  -596,  -596,  -596,  -596,  -596,  -606,
3635      290,     0,     1,   291,   100,   292,  -606,   293,   294,  -606,
3636     -606,  -606,  -606,  -606,  -606,  -606,  -606,  -606,  -606,  -606,
3637     -606,  -606,  -606,  -606,  -606,  -606,  -606,     2,  -606,  -606,
3638     -606,  -606,  -606,  -606,  -606,  -606,  -606,  -606,  -606,  -606,
3639     -606,  -606,  -606,  -606,  -606,  -606,  -606,  -606,  -606,  -606,
3640        0,  -606,  -606,  -606,  -606,  -606,  -606,  -606,  -606,  -606,
3641     -606,  -606,     0,     0,   295,  -606,     0,  -606,     0,     0,
3642      296,   297,   298,  -606,  -606,     0,     0,  -606,  -606,  -606,
3643     -606,  -606,  -606,   299,   300,  -606,  -606,  -606,  -606,  -606,
3644     -606,  -606,  -606,  -606,     0,  -606,     0,   301,  -606,  -606,
3645        0,   302,   303,   304,   305,   306,   307,   308,   309,  -606,
3646     -606,   310,  -606,  -606,   311,  -606,   312,  -606,  -606,  1144,
3647     -606,  -606,  -606,  -606,   313,   314,  -606,   315,   316,   317,
3648      318,  -606,  -606,  -606,  -606,  -606,  -608,   290,     0,     1,
3649      291,   100,   292,  -608,   293,   294,  -608,  -608,  -608,  -608,
3650     -608,  -608,  -608,  -608,  -608,  -608,  -608,  -608,  -608,  -608,
3651     -608,  -608,  -608,  -608,     2,  -608,  -608,  -608,  -608,  -608,
3652     -608,  -608,  -608,  -608,  -608,  -608,  -608,  -608,  -608,  -608,
3653     -608,  -608,  -608,  -608,  -608,  -608,  -608,     0,  -608,  -608,
3654     -608,  -608,  -608,  -608,  -608,  -608,  -608,  -608,  -608,     0,
3655        0,   295,  -608,     0,  -608,     0,     0,   296,   297,   298,
3656     -608,  -608,     0,     0,  -608,  -608,  -608,  -608,  -608,  -608,
3657      299,   300,  -608,  -608,  -608,  -608,  -608,  -608,  -608,  -608,
3658     -608,     0,  -608,     0,   301,  -608,  -608,     0,   302,   303,
3659      304,   305,   306,   307,   308,   309,  -608,  -608,   310,  -608,
3660     -608,   311,  1148,   312,  -608,  -608,  1149,  -608,  -608,  -608,
3661     -608,   313,   314,  -608,   315,   316,   317,   318,  -608,  -608,
3662     -608,  -608,  -608,  -607,   290,     0,     1,   291,   100,   292,
3663     -607,   293,   294,  -607,  -607,  -607,  -607,  -607,  -607,  -607,
3664     -607,  -607,  -607,  -607,  -607,  -607,  -607,  -607,  -607,  -607,
3665     -607,     2,  -607,  -607,  -607,  -607,  -607,  -607,  -607,  -607,
3666     -607,  -607,  -607,  -607,  -607,  -607,  -607,  -607,  -607,  -607,
3667     -607,  -607,  -607,  -607,     0,  -607,  -607,  -607,  -607,  -607,
3668     -607,  -607,  -607,  -607,  -607,  -607,     0,     0,   295,  -607,
3669        0,  -607,     0,     0,   296,   297,   298,  -607,  -607,     0,
3670        0,  -607,  -607,  -607,  -607,  -607,  -607,   299,   300,  -607,
3671     -607,  -607,  -607,  -607,  -607,  -607,  -607,  -607,     0,  -607,
3672        0,   301,  -607,  -607,     0,   302,   303,   304,   305,   306,
3673      307,   308,   309,  -607,  -607,   310,  -607,  -607,   311,  -607,
3674      312,  -607,  -607,  1144,  -607,  -607,  -607,  -607,   313,   314,
3675     -607,   315,   316,   317,   318,  -607,  -607,  -607,  -607,  -607,
3676     -352,  1897,     0,  -352,  -352,  -352,  -352,  -352,  -352,  -352,
3677     -352,  -352,  -352,  -352,  -352,  -352,  -352,  -352,  -352,  -352,
3678     -352,  -352,  -352,  -352,  -352,  -352,  -352,  -352,  -352,  -352,
3679     -352,  -352,  -352,  -352,  -352,  -352,  -352,  -352,  -352,  -352,
3680     -352,  -352,  -352,  -352,  -352,  -352,  -352,  -352,  -352,  -352,
3681     -352,     0,  -352,  -352,  -352,  -352,  -352,  -352,  -352,  -352,
3682     -352,  -352,  -352,     0,     0,  -352,  -352,     0,  -352,     0,
3683        0,  -352,  -352,  -352,  -352,  -352,     0,     0,  -352,  -352,
3684     -352,  -352,  -352,  -352,  -352,  -352,  -352,  -352,  -352,  -352,
3685     -352,  -352,  -352,  -352,  -352,     0,  -352,     0,  -352,  -352,
3686     -352,     0,  -352,  -352,  -352,  -352,  -352,  -352,  -352,  -352,
3687     -352,  -352,  -352,  -352,  -352,  -352,  -352,  -352,  -352,  -352,
3688     -352,  -352,  -352,  -352,  -352,  -352,  -352,  -352,  -352,  -352,
3689     -352,  -352,  -352,  -352,  -352,  -352,  -352,  -357,  1940,     0,
3690     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3691     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3692     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3693     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3694     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,     0,  -357,
3695     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3696        0,     0,  -357,  -357,     0,  -357,     0,     0,  -357,  -357,
3697     -357,  -357,  -357,     0,     0,  -357,  -357,  -357,  -357,  -357,
3698     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3699     -357,  -357,     0,  -357,     0,  -357,  -357,  -357,     0,  -357,
3700     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3701     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3702     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3703     -357,  -357,  -357,  -357,  -345,   290,     0,     1,   291,   100,
3704      292,  -345,   293,   294,  -345,  -345,  -345,  -345,  -345,  -345,
3705     -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
3706     -345,  -345,     2,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
3707     -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
3708     -345,  -345,  -345,  -345,  -345,     0,  -345,  -345,  -345,  -345,
3709     -345,  -345,  -345,  -345,  -345,  -345,  -345,     0,     0,   295,
3710     -345,     0,  -345,     0,     0,   296,   297,   298,  -345,  -345,
3711        0,     0,  -345,  -345,  -345,  -345,  -345,  -345,   299,   300,
3712     -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,     0,
3713     -345,     0,   301,  -345,  -345,     0,   302,   303,   304,   305,
3714      306,   307,   308,   309,  -345,  -345,   310,  -345,  -345,   311,
3715     -345,   312,  -345,  -345,  -345,  -345,   735,  -345,  -345,   313,
3716      314,  -345,   315,   316,   317,   318,  -345,  -345,  -345,  -345,
3717     -345,  -573,   290,     0,     1,   291,   100,   292,  -573,   293,
3718      294,  -573,  -573,  -573,  -573,  -573,  -573,  -573,  -573,  -573,
3719     -573,  -573,  -573,  -573,  -573,  -573,  -573,  -573,  -573,     2,
3720     -573,  -573,  -573,  -573,  -573,  -573,  -573,  -573,  -573,  -573,
3721     -573,  -573,  -573,  -573,  -573,  -573,  -573,  -573,  -573,  -573,
3722     -573,  -573,     0,  -573,  -573,  -573,  -573,  -573,  -573,  -573,
3723     -573,  -573,  -573,  -573,     0,     0,   295,  -573,     0,  -573,
3724        0,     0,   296,   297,   298,  -573,  -573,     0,     0,  -573,
3725     -573,  -573,  -573,  -573,  -573,   299,   300,  -573,  -573,  -573,
3726     -573,  -573,  -573,  -573,  -573,  -573,     0,  -573,     0,   301,
3727     -573,  -573,     0,   302,   303,   304,   305,   306,   307,   308,
3728      309,  -573,  -573,   310,  -573,  -573,   311,  -573,   312,  -573,
3729     -573,  -573,  -573,   735,  -573,  -573,   313,   314,  -573,   315,
3730      316,   317,   318,  -573,  -573,  -573,  -573,  -573,  -581,   290,
3731        0,     1,   291,   100,   292,  -581,   293,   294,  -581,  -581,
3732     -581,  -581,  -581,  -581,  -581,  -581,  -581,  -581,  -581,  -581,
3733     -581,  -581,  -581,  -581,  -581,  -581,     2,  -581,  -581,  -581,
3734     -581,  -581,  -581,  -581,  -581,  -581,  -581,  -581,  -581,  -581,
3735     -581,  -581,  -581,  -581,  -581,  -581,  -581,  -581,  -581,     0,
3736     -581,  -581,  -581,  -581,  -581,  -581,  -581,  -581,  -581,  -581,
3737     -581,     0,     0,   295,  -581,     0,  -581,     0,     0,   296,
3738      297,   298,  -581,  -581,     0,     0,  -581,  -581,  -581,  -581,
3739     -581,  -581,   299,   300,  -581,  -581,  -581,  -581,  -581,  -581,
3740     -581,  -581,  -581,     0,  -581,     0,   301,  -581,  -581,     0,
3741      302,   303,   304,   305,   306,   307,   308,   309,  -581,  -581,
3742      310,  -581,  -581,   311,  -581,   312,  -581,  -581,  -581,  -581,
3743      735,  -581,  -581,   313,   314,  -581,   315,   316,   317,   318,
3744     -581,  -581,  -581,  -581,  -581,  -574,   290,     0,     1,   291,
3745      100,   292,  -574,   293,   294,  -574,  -574,  -574,  -574,  -574,
3746     -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,
3747     -574,  -574,  -574,     2,  -574,  -574,  -574,  -574,  -574,  -574,
3748     -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,
3749     -574,  -574,  -574,  -574,  -574,  -574,     0,  -574,  -574,  -574,
3750     -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,     0,     0,
3751      295,  -574,     0,  -574,     0,     0,   296,   297,   298,  -574,
3752     -574,     0,     0,  -574,  -574,  -574,  -574,  -574,  -574,   299,
3753      300,  -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,
3754        0,  -574,     0,   301,  -574,  -574,     0,   302,   303,   304,
3755      305,   306,   307,   308,   309,  -574,  -574,   310,  -574,  -574,
3756      311,  -574,   312,  -574,  -574,  -574,  -574,   735,  -574,  -574,
3757      313,   314,  -574,   315,   316,   317,   318,  -574,  -574,  -574,
3758     -574,  -574,  -582,   290,     0,     1,   291,   100,   292,  -582,
3759      293,   294,  -582,  -582,  -582,  -582,  -582,  -582,  -582,  -582,
3760     -582,  -582,  -582,  -582,  -582,  -582,  -582,  -582,  -582,  -582,
3761        2,  -582,  -582,  -582,  -582,  -582,  -582,  -582,  -582,  -582,
3762     -582,  -582,  -582,  -582,  -582,  -582,  -582,  -582,  -582,  -582,
3763     -582,  -582,  -582,     0,  -582,  -582,  -582,  -582,  -582,  -582,
3764     -582,  -582,  -582,  -582,  -582,     0,     0,   295,  -582,     0,
3765     -582,     0,     0,   296,   297,   298,  -582,  -582,     0,     0,
3766     -582,  -582,  -582,  -582,  -582,  -582,   299,   300,  -582,  -582,
3767     -582,  -582,  -582,  -582,  -582,  -582,  -582,     0,  -582,     0,
3768      301,  -582,  -582,     0,   302,   303,   304,   305,   306,   307,
3769      308,   309,  -582,  -582,   310,  -582,  -582,   311,  -582,   312,
3770     -582,  -582,  -582,  -582,   735,  -582,  -582,   313,   314,  -582,
3771      315,   316,   317,   318,  -582,  -582,  -582,  -582,  -582,  -575,
3772      290,     0,     1,   291,   100,   292,  -575,   293,   294,  -575,
3773     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3774     -575,  -575,  -575,  -575,  -575,  -575,  -575,     2,  -575,  -575,
3775     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3776     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3777        0,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3778     -575,  -575,     0,     0,   295,  -575,     0,  -575,     0,     0,
3779      296,   297,   298,  -575,  -575,     0,     0,  -575,  -575,  -575,
3780     -575,  -575,  -575,   299,   300,  -575,  -575,  -575,  -575,  -575,
3781     -575,  -575,  -575,  -575,     0,  -575,     0,   301,  -575,  -575,
3782        0,   302,   303,   304,   305,   306,   307,   308,   309,  -575,
3783     -575,   310,  -575,  -575,   311,  -575,   312,  -575,  -575,  -575,
3784     -575,   735,  -575,  -575,   313,   314,  -575,   315,   316,   317,
3785      318,  -575,  -575,  -575,  -575,  -575,  -583,   290,     0,     1,
3786      291,   100,   292,  -583,   293,   294,  -583,  -583,  -583,  -583,
3787     -583,  -583,  -583,  -583,  -583,  -583,  -583,  -583,  -583,  -583,
3788     -583,  -583,  -583,  -583,     2,  -583,  -583,  -583,  -583,  -583,
3789     -583,  -583,  -583,  -583,  -583,  -583,  -583,  -583,  -583,  -583,
3790     -583,  -583,  -583,  -583,  -583,  -583,  -583,     0,  -583,  -583,
3791     -583,  -583,  -583,  -583,  -583,  -583,  -583,  -583,  -583,     0,
3792        0,   295,  -583,     0,  -583,     0,     0,   296,   297,   298,
3793     -583,  -583,     0,     0,  -583,  -583,  -583,  -583,  -583,  -583,
3794      299,   300,  -583,  -583,  -583,  -583,  -583,  -583,  -583,  -583,
3795     -583,     0,  -583,     0,   301,  -583,  -583,     0,   302,   303,
3796      304,   305,   306,   307,   308,   309,  -583,  -583,   310,  -583,
3797     -583,   311,  -583,   312,  -583,  -583,  -583,  -583,   735,  -583,
3798     -583,   313,   314,  -583,   315,   316,   317,   318,  -583,  -583,
3799     -583,  -583,  -583,  -576,   290,     0,     1,   291,   100,   292,
3800     -576,   293,   294,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3801     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3802     -576,     2,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3803     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3804     -576,  -576,  -576,  -576,     0,  -576,  -576,  -576,  -576,  -576,
3805     -576,  -576,  -576,  -576,  -576,  -576,     0,     0,   295,  -576,
3806        0,  -576,     0,     0,   296,   297,   298,  -576,  -576,     0,
3807        0,  -576,  -576,  -576,  -576,  -576,  -576,   299,   300,  -576,
3808     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,     0,  -576,
3809        0,   301,  -576,  -576,     0,   302,   303,   304,   305,   306,
3810      307,   308,   309,  -576,  -576,   310,  -576,  -576,   311,  -576,
3811      312,  -576,  -576,  -576,  -576,   735,  -576,  -576,   313,   314,
3812     -576,   315,   316,   317,   318,  -576,  -576,  -576,  -576,  -576,
3813     -584,   290,     0,     1,   291,   100,   292,  -584,   293,   294,
3814     -584,  -584,  -584,  -584,  -584,  -584,  -584,  -584,  -584,  -584,
3815     -584,  -584,  -584,  -584,  -584,  -584,  -584,  -584,     2,  -584,
3816     -584,  -584,  -584,  -584,  -584,  -584,  -584,  -584,  -584,  -584,
3817     -584,  -584,  -584,  -584,  -584,  -584,  -584,  -584,  -584,  -584,
3818     -584,     0,  -584,  -584,  -584,  -584,  -584,  -584,  -584,  -584,
3819     -584,  -584,  -584,     0,     0,   295,  -584,     0,  -584,     0,
3820        0,   296,   297,   298,  -584,  -584,     0,     0,  -584,  -584,
3821     -584,  -584,  -584,  -584,   299,   300,  -584,  -584,  -584,  -584,
3822     -584,  -584,  -584,  -584,  -584,     0,  -584,     0,   301,  -584,
3823     -584,     0,   302,   303,   304,   305,   306,   307,   308,   309,
3824     -584,  -584,   310,  -584,  -584,   311,  -584,   312,  -584,  -584,
3825     -584,  -584,   735,  -584,  -584,   313,   314,  -584,   315,   316,
3826      317,   318,  -584,  -584,  -584,  -584,  -584,  -354,  2043,     0,
3827     -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,
3828     -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,
3829     -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,
3830     -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,
3831     -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,     0,  -354,
3832     -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,
3833        0,     0,  -354,  -354,     0,  -354,     0,     0,  -354,  -354,
3834     -354,  -354,  -354,     0,     0,  -354,  -354,  -354,  -354,  -354,
3835     -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,
3836     -354,  -354,     0,  -354,     0,  -354,  -354,  -354,     0,  -354,
3837     -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,
3838     -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,
3839     -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,
3840     -354,  -354,  -354,  -354,  -353,  2044,     0,  -353,  -353,  -353,
3841     -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,
3842     -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,
3843     -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,
3844     -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,
3845     -353,  -353,  -353,  -353,  -353,     0,  -353,  -353,  -353,  -353,
3846     -353,  -353,  -353,  -353,  -353,  -353,  -353,     0,     0,  -353,
3847     -353,     0,  -353,     0,     0,  -353,  -353,  -353,  -353,  -353,
3848        0,     0,  -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,
3849     -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,     0,
3850     -353,     0,  -353,  -353,  -353,     0,  -353,  -353,  -353,  -353,
3851     -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,
3852     -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,
3853     -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,  -353,
3854     -353,  -359,   745,     0,  -359,  -359,  -359,  -359,   746,   747,
3855      748,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,
3856     -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,
3857     -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,
3858     -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,
3859     -359,  -359,     0,  -359,  -359,  -359,  -359,  -359,  -359,  -359,
3860     -359,  -359,  -359,  -359,     0,     0,  -359,  -359,     0,  -359,
3861        0,     0,  -359,  -359,  -359,  -359,  -359,     0,     0,  -359,
3862     -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,
3863     -359,  -359,  -359,  -359,  -359,  -359,     0,  -359,     0,  -359,
3864     -359,  -359,     0,  -359,  -359,  -359,  -359,  -359,  -359,  -359,
3865     -359,  -359,  -359,  -359,  -359,  -359,   749,  -359,  -359,  -359,
3866     -359,  -359,  -359,  -359,  1139,  -359,  -359,   751,     0,  -359,
3867     -359,  -359,  -359,  -359,  -359,  -359,  -359,  -359,  -466,  1141,
3868        0,  -466,  -466,  -466,  -466,     0,  -466,  -466,     0,     0,
3869        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3870        0,     0,     0,     0,     0,     0,  -466,  -466,  -466,  -466,
3871     -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,
3872     -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,     0,
3873     -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,
3874     -466,     0,     0,  -466,  -466,     0,  -466,     0,     0,  -466,
3875     -466,  -466,  -466,  -466,     0,     0,  -466,  -466,  -466,  -466,
3876     -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,
3877     -466,  -466,  -466,     0,  -466,     0,  -466,  -466,  -466,     0,
3878     -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,  -466,
3879     -466,     0,     0,  -466,  -466,  -466,  -466,     0,  -466,  -466,
3880     -466,  1142,  -466,  -466,  -466,     0,  -466,  -466,  -466,  -466,
3881    -1102,   290,     0,     1,   291,   100,   292,     0,   293,   294,
3882        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3883        0,     0,     0,     0,     0,     0,     0,     0,     2, -1102,
3884    -1102, -1102, -1102, -1102, -1102, -1102, -1102, -1102, -1102, -1102,
3885    -1102, -1102, -1102, -1102, -1102, -1102, -1102, -1102, -1102, -1102,
3886    -1102,     0, -1102, -1102, -1102, -1102, -1102, -1102, -1102, -1102,
3887    -1102, -1102, -1102,     0,     0,   295, -1102,     0, -1102,     0,
3888        0,   296,   297,   298, -1102, -1102,     0,     0, -1102, -1102,
3889    -1102, -1102, -1102, -1102,   299,   300, -1102, -1102, -1102, -1102,
3890    -1102, -1102, -1102, -1102, -1102,     0, -1102,     0,   301, -1102,
3891    -1102,     0,   302,   303,   304,   305,   306,   307,   308,   309,
3892    -1102, -1102,   310,     0,     0,   311,  1148,   312, -1102,     0,
3893     1149, -1102, -1102,     0, -1102,   313,   314,     0,   315,   316,
3894      317,   318, -1235,   290,     0,     1,   291,   100,   292,     0,
3895      293,   294,     0,     0,     0,     0,     0,     0,     0,     0,
3896        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3897        2, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235,
3898    -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235,
3899    -1235, -1235, -1235,     0, -1235, -1235, -1235, -1235, -1235, -1235,
3900    -1235, -1235, -1235, -1235, -1235,     0,     0,   295, -1235,     0,
3901    -1235,     0,     0,   296,   297,   298, -1235, -1235,     0,     0,
3902    -1235, -1235, -1235, -1235, -1235, -1235,   299,   300, -1235, -1235,
3903    -1235, -1235, -1235, -1235, -1235, -1235, -1235,     0, -1235,     0,
3904      301, -1235, -1235,     0,   302,   303,   304,   305,   306,   307,
3905      308,   309, -1235, -1235,   310,     0,     0,   311,  1148,   312,
3906     1626,     0,  1149, -1235, -1235,     0, -1235,   313,   314,     0,
3907      315,   316,   317,   318, -1193,   290,     0,     1,   291,   100,
3908      292,     0,   293,   294,     0,     0,     0,     0,     0,     0,
3909        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3910        0,     0,     2, -1193, -1193, -1193, -1193, -1193, -1193, -1193,
3911    -1193, -1193, -1193, -1193, -1193, -1193, -1193, -1193, -1193, -1193,
3912    -1193, -1193, -1193, -1193, -1193,     0, -1193, -1193, -1193, -1193,
3913    -1193, -1193, -1193, -1193, -1193, -1193, -1193,     0,     0,   295,
3914    -1193,     0, -1193,     0,     0,   296,   297,   298, -1193, -1193,
3915        0,     0, -1193, -1193, -1193, -1193, -1193, -1193,   299,   300,
3916    -1193, -1193, -1193, -1193, -1193, -1193, -1193, -1193, -1193,     0,
3917    -1193,     0,   301, -1193, -1193,     0,   302,   303,   304,   305,
3918      306,   307,   308,   309, -1193, -1193,   310,     0,     0,   311,
3919     1848,   312, -1193,     0,  1149, -1193, -1193,     0, -1193,   313,
3920      314,     0,   315,   316,   317,   318, -1224,   290,     0,     1,
3921      291,   100,   292,     0,   293,   294,     0,     0,     0,     0,
3922        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3923        0,     0,     0,     0,     2, -1224, -1224, -1224, -1224, -1224,
3924    -1224, -1224, -1224, -1224, -1224, -1224, -1224, -1224, -1224, -1224,
3925    -1224, -1224, -1224, -1224, -1224, -1224, -1224,     0,   612,   613,
3926      614,   615,   616,   617,   618,   619,   620,   621,   622,     0,
3927        0,   295, -1224,     0, -1224,     0,     0,   296,   297,   298,
3928    -1224, -1224,     0,     0, -1224,    32, -1224, -1224, -1224, -1224,
3929      299,   300,  1113, -1224,   625,   626,   627, -1224, -1224, -1224,
3930    -1224,     0, -1224,     0,   301, -1224, -1224,     0,   302,   303,
3931      304,   305,   306,   307,   308,   309,    43,    44,   310,     0,
3932        0,   311,  1148,   312,   628,     0,  1149, -1224,   242,     0,
3933      629,   313,   314,     0,   315,   316,   317,   318,  -607,   290,
3934        0,     1,   291,   100,   292,     0,   293,   294,     0,     0,
3935        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3936        0,     0,     0,     0,     0,     0,     2,  -607,  -607,  -607,
3937     -607,  -607,  -607,  -607,  -607,  -607,  -607,  -607,  -607,  -607,
3938     -607,  -607,  -607,  -607,  -607,  -607,  -607,  -607,  -607,     0,
3939     -607,  -607,  -607,  -607,  -607,  -607,  -607,  -607,  -607,  -607,
3940     -607,     0,     0,   295,  -607,     0,  -607,     0,     0,   296,
3941      297,   298,  -607,  -607,     0,     0,  -607,  -607,  -607,  -607,
3942     -607,  -607,   299,   300,  -607,  -607,  -607,  -607,  -607,  -607,
3943     -607,  -607,  -607,     0,  -607,     0,   301,  -607,  -607,     0,
3944      302,   303,   304,   305,   306,   307,   308,   309,  -607,  -607,
3945      310,     0,     0,   311,  -607,   312,  1143,     0,  1144,  -607,
3946     -607,     0,  -607,   313,   314,     0,   315,   316,   317,   318,
3947    -1216,   290,     0,     1,   291,   100,   292,     0,   293,   294,
3948        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3949        0,     0,     0,     0,     0,     0,     0,     0,     2, -1216,
3950    -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216,
3951    -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216,
3952    -1216,     0, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216,
3953    -1216, -1216, -1216,     0,     0,   295, -1216,     0, -1216,     0,
3954        0,   296,   297,   298, -1216, -1216,     0,     0, -1216, -1216,
3955    -1216, -1216, -1216, -1216,   299,   300, -1216, -1216, -1216, -1216,
3956    -1216, -1216, -1216, -1216, -1216,     0, -1216,     0,   301, -1216,
3957    -1216,     0,   302,   303,   304,   305,   306,   307,   308,   309,
3958    -1216, -1216,   310,     0,     0,   311,  2089,   312, -1216,     0,
3959     1144, -1216, -1216,     0, -1216,   313,   314,     0,   315,   316,
3960      317,   318, -1217,   290,     0,     1,   291,   100,   292,     0,
3961      293,   294,     0,     0,     0,     0,     0,     0,     0,     0,
3962        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3963        2, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217,
3964    -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217,
3965    -1217, -1217, -1217,     0, -1217, -1217, -1217, -1217, -1217, -1217,
3966    -1217, -1217, -1217, -1217, -1217,     0,     0,   295, -1217,     0,
3967    -1217,     0,     0,   296,   297,   298, -1217, -1217,     0,     0,
3968    -1217, -1217, -1217, -1217, -1217, -1217,   299,   300, -1217, -1217,
3969    -1217, -1217, -1217, -1217, -1217, -1217, -1217,     0, -1217,     0,
3970      301, -1217, -1217,     0,   302,   303,   304,   305,   306,   307,
3971      308,   309, -1217, -1217,   310,     0,     0,   311,  1148,   312,
3972     2090,     0,  1149, -1217, -1217,     0, -1217,   313,   314,     0,
3973      315,   316,   317,   318, -1211,   290,     0,     1,   291,   100,
3974      292,     0,   293,   294,     0,     0,     0,     0,     0,     0,
3975        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3976        0,     0,     2, -1211, -1211, -1211, -1211, -1211, -1211, -1211,
3977    -1211, -1211, -1211, -1211, -1211, -1211, -1211, -1211, -1211, -1211,
3978    -1211, -1211, -1211, -1211, -1211,     0,   612,   613,   614,   615,
3979      616,   617,   618,   619,   620,   621,   622,     0,     0,   295,
3980    -1211,     0, -1211,     0,     0,   296,   297,   298, -1211, -1211,
3981        0,     0, -1211,    32, -1211, -1211, -1211, -1211,   299,   300,
3982     1113, -1211,   625,   626,   627, -1211, -1211, -1211, -1211,     0,
3983    -1211,     0,   301, -1211, -1211,     0,   302,   303,   304,   305,
3984      306,   307,   308,   309,    43,    44,   310,     0,     0,   311,
3985     1148,   312,   628,     0,  1149, -1211,   242,     0,   629,   313,
3986      314,     0,   315,   316,   317,   318, -1159,   603,     0, -1159,
3987    -1159, -1159, -1159,     0, -1159, -1159,     0,     0,     0,     0,
3988        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3989        0,     0,     0,     0, -1159, -1159, -1159, -1159, -1159, -1159,
3990    -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159,
3991    -1159, -1159, -1159, -1159, -1159, -1159, -1159,     0, -1159, -1159,
3992    -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159,     0,
3993        0, -1159, -1159,     0, -1159,     0,     0, -1159, -1159, -1159,
3994    -1159, -1159,     0,     0, -1159, -1159, -1159, -1159, -1159, -1159,
3995    -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159,
3996    -1159,     0, -1159,     0, -1159, -1159, -1159,     0, -1159, -1159,
3997    -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159, -1159,     0,
3998        0, -1159,     0, -1159,   604,     0, -1159, -1159, -1159,     0,
3999    -1159, -1159, -1159,     0, -1159, -1159, -1159, -1159, -1182,   290,
4000        0,     1,   291,   100,   292,     0,   293,   294,     0,     0,
4001        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4002        0,     0,     0,     0,     0,     0,     2,   194,   195,   196,
4003      197,   198,   226,   227,   228,   229,   230,   231,   232,   233,
4004      234,   235,    18,    19,   236,   237,    22,    23,    24,     0,
4005      612,   613,   614,   615,   616,   617,   618,   619,   620,   621,
4006      622,     0,     0,   295,   238,     0, -1182,     0,     0,   296,
4007      297,   298,    28,    29,     0,     0, -1182,    32, -1182, -1182,
4008    -1182, -1182,   299,   623,   624,   240,   625,   626,   627, -1182,
4009    -1182, -1182, -1182,     0, -1182,     0,   301, -1182,   241,     0,
4010      302,   303,   304,   305,   306,   307,   308,   309,    43,    44,
4011      310,     0,     0,   311,     0,   312,   628,     0, -1182, -1182,
4012      242,     0,   629,   313,   314,     0,   315,   316,   317,   318,
4013    -1160,   603,     0, -1160, -1160, -1160, -1160,     0, -1160, -1160,
4014        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4015        0,     0,     0,     0,     0,     0,     0,     0, -1160, -1160,
4016    -1160, -1160, -1160, -1160, -1160, -1160, -1160, -1160, -1160, -1160,
4017    -1160, -1160, -1160, -1160, -1160, -1160, -1160, -1160, -1160, -1160,
4018    -1160,     0, -1160, -1160, -1160, -1160, -1160, -1160, -1160, -1160,
4019    -1160, -1160, -1160,     0,     0, -1160, -1160,     0, -1160,     0,
4020        0, -1160, -1160, -1160, -1160, -1160,     0,     0, -1160, -1160,
4021    -1160, -1160, -1160, -1160, -1160, -1160, -1160, -1160, -1160, -1160,
4022    -1160, -1160, -1160, -1160, -1160,     0, -1160,     0, -1160, -1160,
4023    -1160,     0, -1160, -1160, -1160, -1160, -1160, -1160, -1160, -1160,
4024    -1160, -1160, -1160,     0,     0, -1160,     0, -1160,   604,     0,
4025    -1160, -1160, -1160,     0, -1160, -1160, -1160,     0, -1160, -1160,
4026    -1160, -1160, -1221,   290,     0,     1,   291,   100,   292,     0,
4027      293,   294,     0,     0,     0,     0,     0,     0,     0,     0,
4028        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4029        2, -1221, -1221, -1221, -1221, -1221, -1221, -1221, -1221, -1221,
4030    -1221, -1221, -1221, -1221, -1221, -1221, -1221, -1221, -1221, -1221,
4031    -1221, -1221, -1221,     0,  1105,  1106,  1107,   615,  1108,  1109,
4032     1110,  1111,   620,   621,  1112,     0,     0,   295, -1221,     0,
4033    -1221,     0,     0,   296,   297,   298, -1221, -1221,     0,     0,
4034    -1221,    32, -1221, -1221, -1221, -1221,   299,   300,  1113, -1221,
4035      625,   626,   627, -1221, -1221, -1221, -1221,     0, -1221,     0,
4036      301, -1221, -1221,     0,   302,   303,   304,   305,   306,   307,
4037      308,   309,    43,    44,   310,     0,     0,   311,     0,   312,
4038      628,     0, -1221, -1221,   242,     0,   629,   313,   314,     0,
4039      315,   316,   317,   318, -1237,   290,     0,     1,   291,   100,
4040      292,     0,   293,   294,     0,     0,     0,     0,     0,     0,
4041        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4042        0,     0,     2, -1237, -1237, -1237, -1237, -1237, -1237, -1237,
4043    -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237,
4044    -1237, -1237, -1237, -1237, -1237,     0, -1237, -1237, -1237, -1237,
4045    -1237, -1237, -1237, -1237, -1237, -1237, -1237,     0,     0,   295,
4046    -1237,     0, -1237,     0,     0,   296,   297,   298, -1237, -1237,
4047        0,     0, -1237, -1237, -1237, -1237, -1237, -1237,   299,   300,
4048    -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237,     0,
4049    -1237,     0,   301, -1237, -1237,     0,   302,   303,   304,   305,
4050      306,   307,   308,   309, -1237, -1237,   310,     0,     0,   311,
4051        0,   312,  1124,     0, -1237, -1237,   735,     0, -1237,   313,
4052      314,     0,   315,   316,   317,   318, -1172,  1151,     0,     1,
4053      291,   100,   292,     0,   293,   294,     0,     0,     0,     0,
4054        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4055        0,     0,     0,     0,     2,   194,   195,   196,   197,   198,
4056      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
4057       18,    19,   236,   237,    22,    23,    24,     0,   612,   613,
4058      614,   615,   616,   617,   618,   619,   620,   621,   622,     0,
4059        0,   295,   238,     0, -1172,     0,     0,   296,   297,   298,
4060       28,    29,     0,     0, -1172,    32, -1172, -1172, -1172, -1172,
4061      299,   623,   624,   240,   625,   626,   627, -1172, -1172, -1172,
4062    -1172,     0, -1172,     0,   301, -1172,   241,     0,   302,   303,
4063      304,   305,   306,   307,   308,   309,    43,    44,   310,     0,
4064        0,   311,     0,   312,   628,     0, -1172, -1172,   242,     0,
4065      629,   313,   314,     0,   315,   316,   317,   318, -1176,   290,
4066        0,     1,   291,   100,   292,     0,   293,   294,     0,     0,
4067        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4068        0,     0,     0,     0,     0,     0,     2,   194,   195,   196,
4069      197,   198,   226,   227,   228,   229,   230,   231,   232,   233,
4070      234,   235,    18,    19,   236,   237,    22,    23,    24,     0,
4071      612,   613,   614,   615,   616,   617,   618,   619,   620,   621,
4072      622,     0,     0,   295,   238,     0, -1176,     0,     0,   296,
4073      297,   298,    28,    29,     0,     0, -1176,    32, -1176, -1176,
4074    -1176, -1176,   299,   623,   624,   240,   625,   626,   627, -1176,
4075    -1176, -1176, -1176,     0, -1176,     0,   301, -1176,   241,     0,
4076      302,   303,   304,   305,   306,   307,   308,   309,    43,    44,
4077      310,     0,     0,   311,     0,   312,   628,     0, -1176, -1176,
4078      242,     0,   629,   313,   314,     0,   315,   316,   317,   318,
4079    -1171,   290,     0,     1,   291,   100,   292,     0,   293,   294,
4080        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4081        0,     0,     0,     0,     0,     0,     0,     0,     2,   194,
4082      195,   196,   197,   198,   226,   227,   228,   229,   230,   231,
4083      232,   233,   234,   235,    18,    19,   236,   237,    22,    23,
4084       24,     0,   612,   613,   614,   615,   616,   617,   618,   619,
4085      620,   621,   622,     0,     0,   295,   238,     0, -1171,     0,
4086        0,   296,   297,   298,    28,    29,     0,     0, -1171,    32,
4087    -1171, -1171, -1171, -1171,   299,   623,   624,   240,   625,   626,
4088      627, -1171, -1171, -1171, -1171,     0, -1171,     0,   301, -1171,
4089      241,     0,   302,   303,   304,   305,   306,   307,   308,   309,
4090       43,    44,   310,     0,     0,   311,     0,   312,   628,     0,
4091    -1171, -1171,   242,     0,   629,   313,   314,     0,   315,   316,
4092      317,   318, -1175,   290,     0,     1,   291,   100,   292,     0,
4093      293,   294,     0,     0,     0,     0,     0,     0,     0,     0,
4094        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4095        2,   194,   195,   196,   197,   198,   226,   227,   228,   229,
4096      230,   231,   232,   233,   234,   235,    18,    19,   236,   237,
4097       22,    23,    24,     0,   612,   613,   614,   615,   616,   617,
4098      618,   619,   620,   621,   622,     0,     0,   295,   238,     0,
4099    -1175,     0,     0,   296,   297,   298,    28,    29,     0,     0,
4100    -1175,    32, -1175, -1175, -1175, -1175,   299,   623,   624,   240,
4101      625,   626,   627, -1175, -1175, -1175, -1175,     0, -1175,     0,
4102      301, -1175,   241,     0,   302,   303,   304,   305,   306,   307,
4103      308,   309,    43,    44,   310,     0,     0,   311,     0,   312,
4104      628,     0, -1175, -1175,   242,     0,   629,   313,   314,     0,
4105      315,   316,   317,   318, -1089,  1164,     0, -1089, -1089, -1089,
4106    -1089,     0, -1089, -1089,     0,     0,     0,     0,     0,     0,
4107        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4108        0,     0, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089,
4109    -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089,
4110    -1089, -1089, -1089, -1089, -1089,     0, -1089, -1089, -1089, -1089,
4111    -1089, -1089, -1089, -1089, -1089, -1089, -1089,     0,     0, -1089,
4112    -1089,     0, -1089,     0,     0, -1089, -1089, -1089, -1089, -1089,
4113        0,     0, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089,
4114    -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089,     0,
4115    -1089,     0, -1089, -1089, -1089,     0, -1089, -1089, -1089, -1089,
4116    -1089, -1089, -1089, -1089, -1089, -1089, -1089,     0,     0, -1089,
4117        0, -1089, -1089,     0, -1089, -1089, -1089,     0, -1089, -1089,
4118    -1089,     0, -1089, -1089, -1089, -1089, -1091,  1165,     0, -1091,
4119    -1091, -1091, -1091,     0, -1091, -1091,     0,     0,     0,     0,
4120        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4121        0,     0,     0,     0, -1091, -1091, -1091, -1091, -1091, -1091,
4122    -1091, -1091, -1091, -1091, -1091, -1091, -1091, -1091, -1091, -1091,
4123    -1091, -1091, -1091, -1091, -1091, -1091, -1091,     0, -1091, -1091,
4124    -1091, -1091, -1091, -1091, -1091, -1091, -1091, -1091, -1091,     0,
4125        0, -1091, -1091,     0, -1091,     0,     0, -1091, -1091, -1091,
4126    -1091, -1091,     0,     0, -1091, -1091, -1091, -1091, -1091, -1091,
4127    -1091, -1091, -1091, -1091, -1091, -1091, -1091, -1091, -1091, -1091,
4128    -1091,     0, -1091,     0, -1091, -1091, -1091,     0, -1091, -1091,
4129    -1091, -1091, -1091, -1091, -1091, -1091, -1091, -1091, -1091,     0,
4130        0, -1091,     0, -1091, -1091,     0, -1091, -1091, -1091,     0,
4131    -1091, -1091, -1091,     0, -1091, -1091, -1091, -1091, -1131,   290,
4132        0,     1,   291,   100,   292,     0,   293,   294,     0,     0,
4133        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4134        0,     0,     0,     0,     0,     0,     2, -1131, -1131, -1131,
4135    -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131,
4136    -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131,     0,
4137      612,   613,   614,   615,   616,   617,   618,   619,   620,   621,
4138      622,     0,     0,   295, -1131,     0, -1131,     0,     0,   296,
4139      297,   298, -1131, -1131,     0,     0, -1131,    32, -1131, -1131,
4140    -1131, -1131,   299,   300,  1113, -1131,   625,   626,   627, -1131,
4141    -1131, -1131, -1131,     0, -1131,     0,   301, -1131, -1131,     0,
4142      302,   303,   304,   305,   306,   307,   308,   309,    43,    44,
4143      310,     0,     0,   311,     0,   312,   628,     0, -1131, -1131,
4144      242,     0,   629,   313,   314,     0,   315,   316,   317,   318,
4145    -1133,   290,     0,     1,   291,   100,   292,     0,   293,   294,
4146        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4147        0,     0,     0,     0,     0,     0,     0,     0,     2, -1133,
4148    -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133,
4149    -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133,
4150    -1133,     0,   612,   613,   614,   615,   616,   617,   618,   619,
4151      620,   621,   622,     0,     0,   295, -1133,     0, -1133,     0,
4152        0,   296,   297,   298, -1133, -1133,     0,     0, -1133,    32,
4153    -1133, -1133, -1133, -1133,   299,   300,  1113, -1133,   625,   626,
4154      627, -1133, -1133, -1133, -1133,     0, -1133,     0,   301, -1133,
4155    -1133,     0,   302,   303,   304,   305,   306,   307,   308,   309,
4156       43,    44,   310,     0,     0,   311,     0,   312,   628,     0,
4157    -1133, -1133,   242,     0,   629,   313,   314,     0,   315,   316,
4158      317,   318, -1173,   290,     0,     1,   291,   100,   292,     0,
4159      293,   294,     0,     0,     0,     0,     0,     0,     0,     0,
4160        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4161        2,   194,   195,   196,   197,   198,   226,   227,   228,   229,
4162      230,   231,   232,   233,   234,   235,    18,    19,   236,   237,
4163       22,    23,    24,     0,   612,   613,   614,   615,   616,   617,
4164      618,   619,   620,   621,   622,     0,     0,   295,   238,     0,
4165    -1173,     0,     0,   296,   297,   298,    28,    29,     0,     0,
4166    -1173,    32, -1173, -1173, -1173, -1173,   299,   623,   624,   240,
4167      625,   626,   627, -1173, -1173, -1173, -1173,     0, -1173,     0,
4168      301, -1173,   241,     0,   302,   303,   304,   305,   306,   307,
4169      308,   309,    43,    44,   310,     0,     0,   311,     0,   312,
4170      628,     0, -1173, -1173,   242,     0,   629,   313,   314,     0,
4171      315,   316,   317,   318, -1177,   290,     0,     1,   291,   100,
4172      292,     0,   293,   294,     0,     0,     0,     0,     0,     0,
4173        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4174        0,     0,     2,   194,   195,   196,   197,   198,   226,   227,
4175      228,   229,   230,   231,   232,   233,   234,   235,    18,    19,
4176      236,   237,    22,    23,    24,     0,   612,   613,   614,   615,
4177      616,   617,   618,   619,   620,   621,   622,     0,     0,   295,
4178      238,     0, -1177,     0,     0,   296,   297,   298,    28,    29,
4179        0,     0, -1177,    32, -1177, -1177, -1177, -1177,   299,   623,
4180      624,   240,   625,   626,   627, -1177, -1177, -1177, -1177,     0,
4181    -1177,     0,   301, -1177,   241,     0,   302,   303,   304,   305,
4182      306,   307,   308,   309,    43,    44,   310,     0,     0,   311,
4183        0,   312,   628,     0, -1177, -1177,   242,     0,   629,   313,
4184      314,     0,   315,   316,   317,   318, -1174,   290,     0,     1,
4185      291,   100,   292,     0,   293,   294,     0,     0,     0,     0,
4186        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4187        0,     0,     0,     0,     2,   194,   195,   196,   197,   198,
4188      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
4189       18,    19,   236,   237,    22,    23,    24,     0,   612,   613,
4190      614,   615,   616,   617,   618,   619,   620,   621,   622,     0,
4191        0,   295,   238,     0, -1174,     0,     0,   296,   297,   298,
4192       28,    29,     0,     0, -1174,    32, -1174, -1174, -1174, -1174,
4193      299,   623,   624,   240,   625,   626,   627, -1174, -1174, -1174,
4194    -1174,     0, -1174,     0,   301, -1174,   241,     0,   302,   303,
4195      304,   305,   306,   307,   308,   309,    43,    44,   310,     0,
4196        0,   311,     0,   312,   628,     0, -1174, -1174,   242,     0,
4197      629,   313,   314,     0,   315,   316,   317,   318, -1178,   290,
4198        0,     1,   291,   100,   292,     0,   293,   294,     0,     0,
4199        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4200        0,     0,     0,     0,     0,     0,     2,   194,   195,   196,
4201      197,   198,   226,   227,   228,   229,   230,   231,   232,   233,
4202      234,   235,    18,    19,   236,   237,    22,    23,    24,     0,
4203      612,   613,   614,   615,   616,   617,   618,   619,   620,   621,
4204      622,     0,     0,   295,   238,     0, -1178,     0,     0,   296,
4205      297,   298,    28,    29,     0,     0, -1178,    32, -1178, -1178,
4206    -1178, -1178,   299,   623,   624,   240,   625,   626,   627, -1178,
4207    -1178, -1178, -1178,     0, -1178,     0,   301, -1178,   241,     0,
4208      302,   303,   304,   305,   306,   307,   308,   309,    43,    44,
4209      310,     0,     0,   311,     0,   312,   628,     0, -1178, -1178,
4210      242,     0,   629,   313,   314,     0,   315,   316,   317,   318,
4211    -1169,   603,     0, -1169, -1169, -1169, -1169,     0, -1169, -1169,
4212        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4213        0,     0,     0,     0,     0,     0,     0,     0, -1169, -1169,
4214    -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169,
4215    -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169,
4216    -1169,     0, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169,
4217    -1169, -1169, -1169,     0,     0, -1169, -1169,     0, -1169,     0,
4218        0, -1169, -1169, -1169, -1169, -1169,     0,     0, -1169, -1169,
4219    -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169,
4220    -1169, -1169, -1169, -1169, -1169,     0, -1169,     0, -1169, -1169,
4221    -1169,     0, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169,
4222    -1169, -1169, -1169,     0,     0, -1169,     0, -1169,   604,     0,
4223    -1169, -1169, -1169,     0, -1169, -1169, -1169,     0, -1169, -1169,
4224    -1169, -1169, -1170,   603,     0, -1170, -1170, -1170, -1170,     0,
4225    -1170, -1170,     0,     0,     0,     0,     0,     0,     0,     0,
4226        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4227    -1170, -1170, -1170, -1170, -1170, -1170, -1170, -1170, -1170, -1170,
4228    -1170, -1170, -1170, -1170, -1170, -1170, -1170, -1170, -1170, -1170,
4229    -1170, -1170, -1170,     0, -1170, -1170, -1170, -1170, -1170, -1170,
4230    -1170, -1170, -1170, -1170, -1170,     0,     0, -1170, -1170,     0,
4231    -1170,     0,     0, -1170, -1170, -1170, -1170, -1170,     0,     0,
4232    -1170, -1170, -1170, -1170, -1170, -1170, -1170, -1170, -1170, -1170,
4233    -1170, -1170, -1170, -1170, -1170, -1170, -1170,     0, -1170,     0,
4234    -1170, -1170, -1170,     0, -1170, -1170, -1170, -1170, -1170, -1170,
4235    -1170, -1170, -1170, -1170, -1170,     0,     0, -1170,     0, -1170,
4236      604,     0, -1170, -1170, -1170,     0, -1170, -1170, -1170,     0,
4237    -1170, -1170, -1170, -1170, -1016,   290,     0,     1,   291,   100,
4238      292,     0,   293,   294,     0,     0,     0,     0,     0,     0,
4239        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4240        0,     0,     2, -1016, -1016, -1016, -1016, -1016, -1016, -1016,
4241    -1016, -1016, -1016, -1016, -1016, -1016, -1016, -1016, -1016, -1016,
4242    -1016, -1016, -1016, -1016, -1016,     0, -1016, -1016, -1016, -1016,
4243    -1016, -1016, -1016, -1016, -1016, -1016, -1016,     0,     0,   295,
4244    -1016,     0, -1016,     0,     0,   296,   297,   298, -1016, -1016,
4245        0,     0, -1016, -1016, -1016, -1016, -1016, -1016,   299,   300,
4246    -1016, -1016, -1016, -1016, -1016, -1016, -1016, -1016, -1016,     0,
4247    -1016,     0,   301, -1016, -1016,     0,   302,   303,   304,   305,
4248      306,   307,   308,   309, -1016, -1016,   310,     0,     0,   311,
4249        0,   312, -1016,     0,  1821,  1822,  1004,     0, -1016,   313,
4250      314,     0,   315,   316,   317,   318, -1018,   290,     0,     1,
4251      291,   100,   292,     0,   293,   294,     0,     0,     0,     0,
4252        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4253        0,     0,     0,     0,     2, -1018, -1018, -1018, -1018, -1018,
4254    -1018, -1018, -1018, -1018, -1018, -1018, -1018, -1018, -1018, -1018,
4255    -1018, -1018, -1018, -1018, -1018, -1018, -1018,     0, -1018, -1018,
4256    -1018, -1018, -1018, -1018, -1018, -1018, -1018, -1018, -1018,     0,
4257        0,   295, -1018,     0, -1018,     0,     0,   296,   297,   298,
4258    -1018, -1018,     0,     0, -1018, -1018, -1018, -1018, -1018, -1018,
4259      299,   300, -1018, -1018, -1018, -1018, -1018, -1018, -1018, -1018,
4260    -1018,     0, -1018,     0,   301, -1018, -1018,     0,   302,   303,
4261      304,   305,   306,   307,   308,   309, -1018, -1018,   310,     0,
4262        0,   311,     0,   312, -1018,     0, -1018,  2004,  1004,     0,
4263    -1018,   313,   314,     0,   315,   316,   317,   318, -1012,  2007,
4264        0, -1012, -1012, -1012, -1012,     0, -1012, -1012,     0,     0,
4265        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4266        0,     0,     0,     0,     0,     0, -1012, -1012, -1012, -1012,
4267    -1012, -1012, -1012, -1012, -1012, -1012, -1012, -1012, -1012, -1012,
4268    -1012, -1012, -1012, -1012, -1012, -1012, -1012, -1012, -1012,     0,
4269    -1012, -1012, -1012, -1012, -1012, -1012, -1012, -1012, -1012, -1012,
4270    -1012,     0,     0, -1012, -1012,     0, -1012,     0,     0, -1012,
4271    -1012, -1012, -1012, -1012,     0,     0, -1012, -1012, -1012, -1012,
4272    -1012, -1012, -1012, -1012, -1012, -1012, -1012, -1012, -1012, -1012,
4273    -1012, -1012, -1012,     0, -1012,     0, -1012, -1012, -1012,     0,
4274    -1012, -1012, -1012, -1012, -1012, -1012, -1012, -1012, -1012, -1012,
4275    -1012,     0,     0, -1012,     0, -1012, -1012,     0, -1012, -1012,
4276    -1012,     0, -1012, -1012, -1012,     0, -1012, -1012, -1012, -1012,
4277    -1218,   290,     0,     1,   291,   100,   292,     0,   293,   294,
4278        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4279        0,     0,     0,     0,     0,     0,     0,     0,     2, -1218,
4280    -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218,
4281    -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218,
4282    -1218,     0, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218,
4283    -1218, -1218, -1218,     0,     0,   295, -1218,     0, -1218,     0,
4284        0,   296,   297,   298, -1218, -1218,     0,     0, -1218, -1218,
4285    -1218, -1218, -1218, -1218,   299,   300, -1218, -1218, -1218, -1218,
4286    -1218, -1218, -1218, -1218, -1218,     0, -1218,     0,   301, -1218,
4287    -1218,     0,   302,   303,   304,   305,   306,   307,   308,   309,
4288    -1218, -1218,   310,     0,     0,   311,     0,   312, -1218,     0,
4289    -1218, -1218, -1218,     0, -1218,   313,   314,     0,   315,   316,
4290      317,   318, -1013,  2081,     0, -1013, -1013, -1013, -1013,     0,
4291    -1013, -1013,     0,     0,     0,     0,     0,     0,     0,     0,
4292        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4293    -1013, -1013, -1013, -1013, -1013, -1013, -1013, -1013, -1013, -1013,
4294    -1013, -1013, -1013, -1013, -1013, -1013, -1013, -1013, -1013, -1013,
4295    -1013, -1013, -1013,     0, -1013, -1013, -1013, -1013, -1013, -1013,
4296    -1013, -1013, -1013, -1013, -1013,     0,     0, -1013, -1013,     0,
4297    -1013,     0,     0, -1013, -1013, -1013, -1013, -1013,     0,     0,
4298    -1013, -1013, -1013, -1013, -1013, -1013, -1013, -1013, -1013, -1013,
4299    -1013, -1013, -1013, -1013, -1013, -1013, -1013,     0, -1013,     0,
4300    -1013, -1013, -1013,     0, -1013, -1013, -1013, -1013, -1013, -1013,
4301    -1013, -1013, -1013, -1013, -1013,     0,     0, -1013,     0, -1013,
4302    -1013,     0, -1013, -1013, -1013,     0, -1013, -1013, -1013,     0,
4303    -1013, -1013, -1013, -1013,  -919,   569,     0,  -919,  -919,  -919,
4304     -919,     0,  -919,  -919,     0,     0,     0,     0,     0,     0,
4305        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4306        0,     0,  -919,  -919,  -919,  -919,  -919,  -919,  -919,  -919,
4307     -919,  -919,  -919,  -919,  -919,  -919,  -919,  -919,  -919,  -919,
4308     -919,  -919,  -919,  -919,  -919,     0,     0,  -919,     0,     0,
4309        0,     0,     0,     0,     0,     0,     0,     0,     0,  -919,
4310     -919,     0,  -919,     0,     0,  -919,  -919,  -919,  -919,  -919,
4311        0,     0,  -919,  -919,  -919,  -919,  -919,  -919,  -919,  -919,
4312     -919,  -919,  -919,     0,     0,  -919,  -919,  -919,  -919,     0,
4313     -919,     0,  -919,  -919,  -919,     0,  -919,  -919,  -919,  -919,
4314     -919,  -919,  -919,  -919,  -919,  -919,  -919,     0,     0,  -919,
4315      837,  -919,  -919,     0,   571,  -919,  -919,     0,     0,  -919,
4316     -919,     0,  -919,  -919,  -919,  -919,   290,     0,     1,   291,
4317      100,   292,     0,   293,   294,     0,     0,     0,     0,     0,
4318        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4319        0,     0,     0,     2,   194,   195,   196,   197,   198,   226,
4320      227,   228,   229,   230,   231,   232,   233,   234,   235,    18,
4321       19,   236,   237,    22,    23,    24,     0,     0,     0,     0,
4322        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4323      295,   238,     0,     0,     0,     0,   296,   297,   298,    28,
4324       29,     0,     0,     0,    32,     0,     0,     0,     0,   299,
4325      623,    38,   240,     0,     0,     0,     0,     0,     0,     0,
4326        0,     0,     0,   301,     0,   241,     0,   302,   303,   304,
4327      305,   306,   307,   308,   309,    43,    44,   310,     0,     0,
4328      311,     0,   312,   974,     0,   975,   976,   735,     0,     0,
4329      313,   314,     0,   315,   316,   317,   318,  1255,     0,     1,
4330      291,   100,   292,     0,   293,   294,     0,     0,     0,     0,
4331        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4332        0,     0,     0,     0,     2,   194,   195,   196,   197,   198,
4333      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
4334       18,    19,   236,   237,    22,    23,    24,     0,     0,     0,
4335        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4336        0,   295,   238,     0,     0,     0,     0,   296,   297,   298,
4337       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
4338      299,   623,    38,   240,     0,     0,     0,     0,     0,     0,
4339        0,     0,     0,     0,   301,     0,   241,     0,   302,   303,
4340      304,   305,   306,   307,   308,   309,    43,    44,   310,     0,
4341        0,   311,     0,   312,   974,     0,   975,  -109,   735,     0,
4342        0,   313,   314,     0,   315,   316,   317,   318,  1262,     0,
4343        1,   291,   100,   292,     0,   293,   294,     0,     0,     0,
4344        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4345        0,     0,     0,     0,     0,     2,   194,   195,   196,   197,
4346      198,   226,   227,   228,   229,   230,   231,   232,   233,   234,
4347      235,    18,    19,   236,   237,    22,    23,    24,     0,     0,
4348        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4349        0,     0,   295,   238,     0,     0,     0,     0,   296,   297,
4350      298,    28,    29,     0,     0,     0,    32,     0,     0,     0,
4351        0,   299,   623,    38,   240,     0,     0,     0,     0,     0,
4352        0,     0,     0,     0,     0,   301,     0,   241,     0,   302,
4353      303,   304,   305,   306,   307,   308,   309,    43,    44,   310,
4354        0,     0,   311,     0,   312,   974,     0,   975,   -97,   735,
4355        0,     0,   313,   314,     0,   315,   316,   317,   318,  1266,
4356        0,     1,   291,   100,   292,     0,   293,   294,     0,     0,
4357        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4358        0,     0,     0,     0,     0,     0,     2,   194,   195,   196,
4359      197,   198,   226,   227,   228,   229,   230,   231,   232,   233,
4360      234,   235,    18,    19,   236,   237,    22,    23,    24,     0,
4361        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4362        0,     0,     0,   295,   238,     0,     0,     0,     0,   296,
4363      297,   298,    28,    29,     0,     0,     0,    32,     0,     0,
4364        0,     0,   299,   623,    38,   240,     0,     0,     0,     0,
4365        0,     0,     0,     0,     0,     0,   301,     0,   241,     0,
4366      302,   303,   304,   305,   306,   307,   308,   309,    43,    44,
4367      310,     0,     0,   311,     0,   312,   974,     0,   975,  -101,
4368      735,     0,     0,   313,   314,     0,   315,   316,   317,   318,
4369      290,     0,     1,   291,   100,   292,     0,   293,   294,     0,
4370        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4371        0,     0,     0,     0,     0,     0,     0,     2,   194,   195,
4372      196,   197,   198,   226,   227,   228,   229,   230,   231,   232,
4373      233,   234,   235,    18,    19,   236,   237,    22,    23,    24,
4374        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4375        0,     0,     0,     0,   295,   238,     0,     0,     0,     0,
4376      296,   297,   298,    28,    29,     0,     0,     0,    32,     0,
4377        0,     0,     0,   299,   623,    38,   240,     0,     0,     0,
4378        0,     0,     0,     0,     0,     0,     0,   301,     0,   241,
4379        0,   302,   303,   304,   305,   306,   307,   308,   309,    43,
4380       44,   310,     0,     0,   311,     0,   312,  1519,     0,   975,
4381      -64,   735,     0,     0,   313,   314,     0,   315,   316,   317,
4382      318,   290,     0,     1,   291,   100,   292,     0,   293,   294,
4383        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4384        0,     0,     0,     0,     0,     0,     0,     0,     2,   194,
4385      195,   196,   197,   198,   226,   227,   228,   229,   230,   231,
4386      232,   233,   234,   235,    18,    19,   236,   237,    22,    23,
4387       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4388        0,     0,     0,     0,     0,   295,   238,     0,     0,     0,
4389        0,   296,   297,   298,    28,    29,     0,     0,     0,    32,
4390        0,     0,     0,     0,   299,   623,    38,   240,     0,     0,
4391        0,     0,     0,     0,     0,     0,     0,     0,   301,     0,
4392      241,     0,   302,   303,   304,   305,   306,   307,   308,   309,
4393       43,    44,   310,     0,     0,   311,     0,   312,  1528,     0,
4394      975,  1529,   735,     0,     0,   313,   314,     0,   315,   316,
4395      317,   318,  1586,     0,     1,   291,   100,   292,     0,   293,
4396      294,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4397        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4398      194,   195,   196,   197,   198,   226,   227,   228,   229,   230,
4399      231,   232,   233,   234,   235,    18,    19,   236,   237,    22,
4400       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
4401        0,     0,     0,     0,     0,     0,   295,   238,     0,     0,
4402        0,     0,   296,   297,   298,    28,    29,     0,     0,     0,
4403       32,     0,     0,     0,     0,   299,   623,    38,   240,     0,
4404        0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
4405        0,   241,     0,   302,   303,   304,   305,   306,   307,   308,
4406      309,    43,    44,   310,     0,     0,   311,     0,   312,   974,
4407        0,   975,   -80,   735,     0,     0,   313,   314,     0,   315,
4408      316,   317,   318,   290,     0,     1,   291,   100,   292,     0,
4409      293,   294,     0,     0,     0,     0,     0,     0,     0,     0,
4410        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4411        2,   194,   195,   196,   197,   198,   226,   227,   228,   229,
4412      230,   231,   232,   233,   234,   235,    18,    19,   236,   237,
4413       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
4414        0,     0,     0,     0,     0,     0,     0,   295,   238,     0,
4415        0,     0,     0,   296,   297,   298,    28,    29,     0,     0,
4416        0,    32,     0,     0,     0,     0,   299,   623,    38,   240,
4417        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4418      301,     0,   241,     0,   302,   303,   304,   305,   306,   307,
4419      308,   309,    43,    44,   310,     0,     0,   311,     0,   312,
4420     1528,     0,   975,  -106,   735,     0,     0,   313,   314,     0,
4421      315,   316,   317,   318,   290,     0,     1,   291,   100,   292,
4422        0,   293,   294,     0,     0,     0,     0,     0,     0,     0,
4423        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4424        0,     2,   194,   195,   196,   197,   198,   226,   227,   228,
4425      229,   230,   231,   232,   233,   234,   235,    18,    19,   236,
4426      237,    22,    23,    24,     0,     0,     0,     0,     0,     0,
4427        0,     0,     0,     0,     0,     0,     0,     0,   295,   238,
4428        0,     0,     0,     0,   296,   297,   298,    28,    29,     0,
4429        0,     0,    32,     0,     0,     0,     0,   299,   623,    38,
4430      240,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4431        0,   301,     0,   241,     0,   302,   303,   304,   305,   306,
4432      307,   308,   309,    43,    44,   310,     0,     0,   311,     0,
4433      312,  1528,     0,   975,   -96,   735,     0,     0,   313,   314,
4434        0,   315,   316,   317,   318,   290,     0,     1,   291,   100,
4435      292,     0,   293,   294,     0,     0,     0,     0,     0,     0,
4436        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4437        0,     0,     2,   194,   195,   196,   197,   198,   226,   227,
4438      228,   229,   230,   231,   232,   233,   234,   235,    18,    19,
4439      236,   237,    22,    23,    24,     0,     0,     0,     0,     0,
4440        0,     0,     0,     0,     0,     0,     0,     0,     0,   295,
4441      238,     0,     0,     0,     0,   296,   297,   298,    28,    29,
4442        0,     0,     0,    32,     0,     0,     0,     0,   299,   623,
4443       38,   240,     0,     0,     0,     0,     0,     0,     0,     0,
4444        0,     0,   301,     0,   241,     0,   302,   303,   304,   305,
4445      306,   307,   308,   309,    43,    44,   310,     0,     0,   311,
4446        0,   312,  1528,     0,   975,  -100,   735,     0,     0,   313,
4447      314,     0,   315,   316,   317,   318,  1782,     0,     1,   291,
4448      100,   292,     0,   293,   294,     0,     0,     0,     0,     0,
4449        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4450        0,     0,     0,     2,   194,   195,   196,   197,   198,   226,
4451      227,   228,   229,   230,   231,   232,   233,   234,   235,    18,
4452       19,   236,   237,    22,    23,    24,     0,     0,     0,     0,
4453        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4454      295,   238,     0,     0,     0,     0,   296,   297,   298,    28,
4455       29,     0,     0,     0,    32,     0,     0,     0,     0,   299,
4456      623,    38,   240,     0,     0,     0,     0,     0,     0,     0,
4457        0,     0,     0,   301,     0,   241,     0,   302,   303,   304,
4458      305,   306,   307,   308,   309,    43,    44,   310,     0,     0,
4459      311,     0,   312,   974,     0,   975,   -87,   735,     0,     0,
4460      313,   314,     0,   315,   316,   317,   318,   290,     0,     1,
4461      291,   100,   292,     0,   293,   294,     0,     0,     0,     0,
4462        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4463        0,     0,     0,     0,     2,   194,   195,   196,   197,   198,
4464      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
4465       18,    19,   236,   237,    22,    23,    24,     0,     0,     0,
4466        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4467        0,   295,   238,     0,     0,     0,     0,   296,   297,   298,
4468       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
4469      299,   623,    38,   240,     0,     0,     0,     0,     0,     0,
4470        0,     0,     0,     0,   301,     0,   241,     0,   302,   303,
4471      304,   305,   306,   307,   308,   309,    43,    44,   310,     0,
4472        0,   311,     0,   312,  1528,     0,   975,   -77,   735,     0,
4473        0,   313,   314,     0,   315,   316,   317,   318,   290,     0,
4474        1,   291,   100,   292,     0,   293,   294,     0,     0,     0,
4475        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4476        0,     0,     0,     0,     0,     2,   194,   195,   196,   197,
4477      198,   226,   227,   228,   229,   230,   231,   232,   233,   234,
4478      235,    18,    19,   236,   237,    22,    23,    24,     0,     0,
4479        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4480        0,     0,   295,   238,     0,     0,     0,     0,   296,   297,
4481      298,    28,    29,     0,     0,     0,    32,     0,     0,     0,
4482        0,   299,   623,    38,   240,     0,     0,     0,     0,     0,
4483        0,     0,     0,     0,     0,   301,     0,   241,     0,   302,
4484      303,   304,   305,   306,   307,   308,   309,    43,    44,   310,
4485        0,     0,   311,     0,   312,  1528,     0,   975,   -84,   735,
4486        0,     0,   313,   314,     0,   315,   316,   317,   318,   290,
4487        0,     1,   291,   100,   292,     0,   293,   294,     0,     0,
4488        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4489        0,     0,     0,     0,     0,     0,     2,   194,   195,   196,
4490      197,   198,     8,     9,    10,    11,    12,    13,    14,    15,
4491       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
4492        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4493        0,     0,     0,   295,    27,     0,     0,     0,     0,   296,
4494      297,   298,    28,    29,     0,     0,     0,    32,     0,     0,
4495       35,    36,   299,   392,    38,    39,     0,     0,     0,     0,
4496        0,     0,     0,     0,     0,     0,   301,     0,    40,     0,
4497      302,   303,   304,   305,   306,   307,   308,   309,    43,    44,
4498      310,     0,     0,   311,   290,   312,     1,   291,   100,   292,
4499        0,   293,   294,   313,   314,     0,   315,   316,   317,   318,
4500        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4501        0,     2,   194,   195,   196,   197,   198,     8,     9,    10,
4502       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
4503       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
4504        0,     0,     0,     0,     0,     0,     0,     0,   855,    27,
4505        0,     0,     0,     0,   296,   297,   298,    28,    29,     0,
4506        0,     0,    32,     0,     0,    35,    36,   299,   392,    38,
4507       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4508        0,   301,     0,    40,     0,   302,   303,   304,   305,   306,
4509      307,   308,   309,    43,    44,   310,     0,     0,   311,   290,
4510      312,     1,   291,   100,   292,     0,   293,   294,   313,   314,
4511        0,   315,   316,   317,   318,     0,     0,     0,     0,     0,
4512        0,     0,     0,     0,     0,     0,     2,     0,     0,     0,
4513        0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
4514       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
4515        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4516        0,     0,     0,   295,    27,     0,     0,     0,     0,   296,
4517      297,   298,    28,    29,     0,     0,     0,    32,     0,     0,
4518       35,    36,   299,   392,    38,    39,     0,     0,     0,     0,
4519        0,     0,     0,     0,     0,     0,   301,     0,    40,     0,
4520      302,   303,   304,   305,   306,   307,   308,   309,    43,    44,
4521      310,     0,     0,   311,   724,   312,     0,     0,     0,     0,
4522        0,     0,     0,   313,   314,     0,   315,   316,   317,   318,
4523      290,     0,     1,   291,   100,   292,     0,   293,   294,     0,
4524        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4525        0,     0,     0,     0,     0,     0,     0,     2,     0,     0,
4526        0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
4527       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
4528        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4529        0,     0,     0,     0,  1184,    27,     0,     0,     0,     0,
4530      296,   297,   298,    28,    29,     0,     0,     0,    32,     0,
4531        0,    35,    36,   299,   392,    38,    39,     0,     0,     0,
4532        0,     0,     0,     0,     0,     0,     0,   301,     0,    40,
4533        0,   302,   303,   304,   305,   306,   307,   308,   309,    43,
4534       44,   310,     0,     0,   698,   724,   312,     0,     0,     0,
4535        0,     0,     0,     0,   313,   314,     0,   315,   316,   317,
4536      318,   290,     0,     1,   291,   100,   292,     0,   293,   294,
4537        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4538        0,     0,     0,     0,     0,     0,     0,     0,     2,     0,
4539        0,     0,     0,     0,     8,     9,    10,    11,    12,    13,
4540       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
4541       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4542        0,     0,     0,     0,     0,   295,    27,     0,     0,     0,
4543        0,   296,   297,   298,    28,    29,     0,     0,     0,    32,
4544        0,     0,    35,    36,   299,   392,    38,    39,     0,     0,
4545        0,     0,     0,     0,     0,     0,     0,     0,   301,     0,
4546       40,     0,   302,   303,   304,   305,   306,   307,   308,   309,
4547       43,    44,   310,     0,     0,   311,   290,   312,     1,   291,
4548      100,   292,   242,   293,   294,   313,   314,     0,   315,   316,
4549      317,   318,     0,     0,     0,     0,     0,     0,     0,     0,
4550        0,     0,     0,     2,     0,     0,     0,     0,     0,     8,
4551        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
4552       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
4553        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4554      295,    27,     0,     0,     0,     0,   296,   297,   298,    28,
4555       29,     0,     0,     0,    32,     0,     0,    35,    36,   299,
4556      392,    38,    39,     0,     0,     0,     0,     0,     0,     0,
4557        0,     0,     0,   301,     0,    40,     0,   302,   303,   304,
4558      305,   306,   307,   308,   309,    43,    44,   310,     0,     0,
4559      698,   724,   312,     0,     0,     0,     0,     0,     0,     0,
4560      313,   314,     0,   315,   316,   317,   318,   290,     0,     1,
4561      291,   100,   292,     0,   293,   294,     0,     0,     0,     0,
4562        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4563        0,     0,     0,     0,     2,     0,     0,     0,     0,     0,
4564        8,     9,    10,   550,    12,    13,    14,    15,    16,    17,
4565       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
4566        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4567        0,   295,    27,     0,     0,     0,     0,   296,   297,   298,
4568       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
4569      299,   392,    38,    39,     0,     0,     0,     0,     0,     0,
4570        0,     0,     0,     0,   301,     0,    40,     0,   302,   303,
4571      304,   305,   306,   307,   308,   309,    43,    44,   878,     0,
4572        0,   879,   724,   312,     0,     0,     0,     0,     0,     0,
4573        0,   313,   314,     0,   315,   316,   317,   318,   290,     0,
4574        1,   291,   100,   292,     0,   293,   294,     0,     0,     0,
4575        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4576        0,     0,     0,     0,     0,     2,     0,     0,     0,     0,
4577        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4578        0,     0,     0,     0,     0,     0,     0,     0,     0,  1105,
4579     1106,  1107,   615,  1108,  1109,  1110,  1111,   620,   621,  1112,
4580        0,     0,   295,     0,     0,     0,     0,     0,   296,   297,
4581      298,     0,     0,     0,     0,     0,    32,     0,     0,     0,
4582        0,   299,   300,  1113,     0,   625,   626,   627,     0,   290,
4583        0,     1,   291,   100,   292,   301,   293,   294,     0,   302,
4584      303,   304,   305,   306,   307,   308,   309,    43,    44,   310,
4585        0,     0,   311,  -469,   312,   628,     2,  -469,     0,   242,
4586        0,   629,   313,   314,     0,   315,   316,   317,   318,     0,
4587        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4588     1105,  1106,  1107,   615,  1108,  1109,  1110,  1111,   620,   621,
4589     1112,     0,     0,   295,     0,     0,     0,     0,     0,   296,
4590      297,   298,     0,     0,     0,     0,     0,    32,     0,     0,
4591        0,     0,   299,   300,  1113,     0,   625,   626,   627,     0,
4592      290,     0,     1,   291,   100,   292,   301,   293,   294,     0,
4593      302,   303,   304,   305,   306,   307,   308,   309,    43,    44,
4594      310,     0,     0,   311,  1148,   312,   628,     2,  1149,     0,
4595      242,     0,   629,   313,   314,     0,   315,   316,   317,   318,
4596        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4597        0,   612,   613,   614,   615,   616,   617,   618,   619,   620,
4598      621,   622,     0,     0,   295,     0,     0,     0,     0,     0,
4599      296,   297,   298,     0,     0,     0,     0,     0,    32,     0,
4600        0,     0,     0,   299,   300,  1113,     0,   625,   626,   627,
4601        0,  1851,     0,     1,   291,   100,   292,   301,   293,   294,
4602        0,   302,   303,   304,   305,   306,   307,   308,   309,    43,
4603       44,   310,     0,     0,   311,     0,   312,   628,     2,     0,
4604        0,   242,     0,   629,   313,   314,     0,   315,   316,   317,
4605      318,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4606        0,     0,  1105,  1106,  1107,   615,  1108,  1109,  1110,  1111,
4607      620,   621,  1112,     0,     0,   295,     0,     0,     0,     0,
4608        0,   296,   297,   298,     0,     0,     0,     0,     0,    32,
4609        0,     0,     0,     0,   299,   300,  1113,     0,   625,   626,
4610      627,     0,   290,     0,     1,   291,   100,   292,   301,   293,
4611      294,     0,   302,   303,   304,   305,   306,   307,   308,   309,
4612       43,    44,   310,     0,     0,   311,     0,   312,   628,     2,
4613        0,     0,   242,     0,   629,   313,   314,     0,   315,   316,
4614      317,   318,     0,     0,     0,     0,     0,     0,     0,     0,
4615        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4616        0,     0,     0,     0,     0,     0,   295,     0,     0,     0,
4617        0,     0,   296,   297,   298,   290,     0,     1,   291,   100,
4618      292,     0,   293,   294,     0,   299,   300,     0,     0,     0,
4619        0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
4620        0,     0,     2,   302,   303,   304,   305,   306,   307,   308,
4621      309,     0,     0,   310,     0,     0,   311,  1148,   312,     0,
4622        0,  1149,     0,     0,     0,     0,   313,   314,  1901,   315,
4623      316,   317,   318,     0,     0,     0,     0,     0,     0,   295,
4624        0,     0,     0,     0,     0,   296,   297,   298,   290,     0,
4625        1,   291,   100,   292,     0,   293,   294,     0,   299,   300,
4626        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4627        0,     0,   301,     0,     0,     2,   302,   303,   304,   305,
4628      306,   307,   308,   309,     0,     0,   310,     0,     0,   311,
4629     1148,   312,     0,     0,  1149,     0,     0,     0,     0,   313,
4630      314,  1904,   315,   316,   317,   318,     0,     0,     0,     0,
4631        0,     0,   295,     0,     0,     0,     0,     0,   296,   297,
4632      298,  2027,     0,     1,   291,   100,   292,     0,   293,   294,
4633        0,   299,   300,     0,     0,     0,     0,     0,     0,     0,
4634        0,     0,     0,     0,     0,   301,     0,     0,     2,   302,
4635      303,   304,   305,   306,   307,   308,   309,     0,     0,   310,
4636        0,     0,   311,  1148,   312,  1872,     0,  1149,     0,     0,
4637        0,     0,   313,   314,     0,   315,   316,   317,   318,     0,
4638        0,     0,     0,     0,     0,   295,     0,     0,     0,     0,
4639        0,   296,   297,   298,   290,     0,     1,   291,   100,   292,
4640        0,   293,   294,     0,   299,   300,     0,     0,     0,     0,
4641        0,     0,     0,     0,     0,     0,     0,     0,   301,     0,
4642        0,     2,   302,   303,   304,   305,   306,   307,   308,   309,
4643        0,     0,   310,     0,     0,   311,  1148,   312,  1872,     0,
4644     1149,     0,     0,     0,     0,   313,   314,     0,   315,   316,
4645      317,   318,     0,     0,     0,     0,     0,     0,   295,     0,
4646        0,     0,     0,     0,   296,   297,   298,   290,     0,     1,
4647      291,   100,   292,     0,   293,   294,     0,   299,   300,     0,
4648        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4649        0,   301,     0,     0,     2,   302,   303,   304,   305,   306,
4650      307,   308,   309,     0,     0,   310,     0,     0,   311,     0,
4651      312,     0,     0,  2079,  2080,  1004,     0,     0,   313,   314,
4652        0,   315,   316,   317,   318,     0,     0,     0,     0,     0,
4653        0,   295,     0,     0,     0,     0,     0,   296,   297,   298,
4654      290,     0,     1,   291,   100,   292,     0,   293,   294,     0,
4655      299,   300,     0,     0,     0,     0,     0,     0,     0,     0,
4656        0,     0,     0,     0,   301,     0,     0,     2,   302,   303,
4657      304,   305,   306,   307,   308,   309,     0,     0,   310,     0,
4658        0,   311,  2091,   312,  2092,     0,  1144,     0,     0,     0,
4659        0,   313,   314,     0,   315,   316,   317,   318,     0,     0,
4660        0,     0,     0,     0,   295,     0,     0,     0,     0,     0,
4661      296,   297,   298,   290,     0,     1,   291,   100,   292,     0,
4662      293,   294,     0,   299,   300,     0,     0,     0,     0,     0,
4663        0,     0,     0,     0,     0,     0,     0,   301,     0,     0,
4664        2,   302,   303,   304,   305,   306,   307,   308,   309,     0,
4665        0,   310,     0,     0,   311,  1148,   312,  2090,     0,  1149,
4666        0,     0,     0,     0,   313,   314,     0,   315,   316,   317,
4667      318,     0,     0,     0,     0,     0,     0,   295,     0,     0,
4668        0,     0,     0,   296,   297,   298,   290,     0,     1,   291,
4669      100,   292,     0,   293,   294,     0,   299,   300,     0,     0,
4670        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4671      301,     0,     0,     2,   302,   303,   304,   305,   306,   307,
4672      308,   309,     0,     0,   310,     0,     0,   311,     0,   312,
4673     1143,     0,  1144,     0,     0,     0,     0,   313,   314,     0,
4674      315,   316,   317,   318,     0,     0,     0,     0,     0,     0,
4675      295,     0,     0,     0,     0,     0,   296,   297,   298,   290,
4676        0,     1,   291,   100,   292,     0,   293,   294,     0,   299,
4677      300,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4678        0,     0,     0,   301,     0,     0,     2,   302,   303,   304,
4679      305,   306,   307,   308,   309,     0,     0,   310,     0,     0,
4680      311,  1338,   312,     0,     0,     0,     0,   735,     0,     0,
4681      313,   314,     0,   315,   316,   317,   318,     0,     0,     0,
4682        0,     0,     0,   295,     0,     0,     0,     0,     0,   296,
4683      297,   298,   290,     0,     1,   291,   100,   292,     0,   293,
4684      294,     0,   299,   300,     0,     0,     0,     0,     0,     0,
4685        0,     0,     0,     0,     0,     0,   301,     0,     0,     2,
4686      302,   303,   304,   305,   306,   307,   308,   309,     0,     0,
4687      310,     0,     0,   311,     0,   312,  1124,     0,     0,     0,
4688      735,     0,     0,   313,   314,     0,   315,   316,   317,   318,
4689        0,     0,     0,     0,     0,     0,   295,     0,     0,     0,
4690        0,     0,   296,   297,   298,  1615,     0,     1,   291,   100,
4691      292,     0,   293,   294,     0,   299,   300,     0,     0,     0,
4692        0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
4693        0,     0,     2,   302,   303,   304,   305,   306,   307,   308,
4694      309,     0,     0,   310,     0,     0,   311,  1148,   312,     0,
4695        0,  1149,     0,     0,     0,     0,   313,   314,     0,   315,
4696      316,   317,   318,     0,     0,     0,     0,     0,     0,   295,
4697        0,     0,     0,     0,     0,   296,   297,   298,   290,     0,
4698        1,   291,   100,   292,     0,   293,   294,     0,   299,   300,
4699        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4700        0,     0,   301,     0,     0,     2,   302,   303,   304,   305,
4701      306,   307,   308,   309,     0,     0,   310,     0,     0,   311,
4702     1616,   312,  1617,     0,     0,     0,     0,     0,     0,   313,
4703      314,     0,   315,   316,   317,   318,     0,     0,     0,     0,
4704        0,     0,   295,     0,     0,     0,     0,     0,   296,   297,
4705      298,   290,     0,     1,   291,   100,   292,     0,   293,   294,
4706        0,   299,   300,     0,     0,     0,     0,     0,     0,     0,
4707        0,     0,     0,     0,     0,   301,     0,     0,     2,   302,
4708      303,   304,   305,   306,   307,   308,   309,     0,     0,   310,
4709        0,     0,   311,     0,   312,  1625,     0,  1144,     0,     0,
4710        0,     0,   313,   314,     0,   315,   316,   317,   318,     0,
4711        0,     0,     0,     0,     0,   295,     0,     0,     0,     0,
4712        0,   296,   297,   298,   290,     0,     1,   291,   100,   292,
4713        0,   293,   294,     0,   299,   300,     0,     0,     0,     0,
4714        0,     0,     0,     0,     0,     0,     0,     0,   301,     0,
4715        0,     2,   302,   303,   304,   305,   306,   307,   308,   309,
4716        0,     0,   310,     0,     0,   311,  1671,   312,     0,     0,
4717        0,     0,   735,     0,     0,   313,   314,     0,   315,   316,
4718      317,   318,     0,     0,     0,     0,     0,     0,   295,     0,
4719        0,     0,     0,     0,   296,   297,   298,   290,     0,     1,
4720      291,   100,   292,     0,   293,   294,     0,   299,   300,     0,
4721        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4722        0,   301,     0,     0,     2,   302,   303,   304,   305,   306,
4723      307,   308,   309,     0,     0,   310,     0,     0,   311,  1680,
4724      312,     0,     0,     0,     0,   735,     0,     0,   313,   314,
4725        0,   315,   316,   317,   318,     0,     0,     0,     0,     0,
4726        0,   295,     0,     0,     0,     0,     0,   296,   297,   298,
4727      290,     0,     1,   291,   100,   292,     0,   293,   294,     0,
4728      299,   300,     0,     0,     0,     0,     0,     0,     0,     0,
4729        0,     0,     0,     0,   301,     0,     0,     2,   302,   303,
4730      304,   305,   306,   307,   308,   309,     0,     0,   310,     0,
4731        0,   311,  1712,   312,     0,     0,  1144,     0,     0,     0,
4732        0,   313,   314,     0,   315,   316,   317,   318,     0,     0,
4733        0,     0,     0,     0,   295,     0,     0,     0,     0,     0,
4734      296,   297,   298,   290,     0,     1,   291,   100,   292,     0,
4735      293,   294,     0,   299,   300,     0,     0,     0,     0,     0,
4736        0,     0,     0,     0,     0,     0,     0,   301,     0,     0,
4737        2,   302,   303,   304,   305,   306,   307,   308,   309,     0,
4738        0,   310,     0,     0,   311,     0,   312,     0,     0,  1144,
4739        0,     0,     0,     0,   313,   314,  1740,   315,   316,   317,
4740      318,     0,     0,     0,     0,     0,     0,   295,     0,     0,
4741        0,     0,     0,   296,   297,   298,   290,     0,     1,   291,
4742      100,   292,     0,   293,   294,     0,   299,   300,     0,     0,
4743        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4744      301,     0,     0,     2,   302,   303,   304,   305,   306,   307,
4745      308,   309,     0,     0,   310,     0,     0,   311,     0,   312,
4746        0,     0,  1743,     0,     0,     0,  1744,   313,   314,     0,
4747      315,   316,   317,   318,     0,     0,     0,     0,     0,     0,
4748      295,     0,     0,     0,     0,     0,   296,   297,   298,   290,
4749        0,     1,   291,   100,   292,     0,   293,   294,     0,   299,
4750      300,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4751        0,     0,     0,   301,     0,     0,     2,   302,   303,   304,
4752      305,   306,   307,   308,   309,     0,     0,   310,     0,     0,
4753      311,     0,   312,     0,     0,  1144,     0,     0,     0,     0,
4754      313,   314,  1750,   315,   316,   317,   318,     0,     0,     0,
4755        0,     0,     0,   295,     0,     0,     0,     0,     0,   296,
4756      297,   298,   290,     0,     1,   291,   100,   292,     0,   293,
4757      294,     0,   299,   300,     0,     0,     0,     0,     0,     0,
4758        0,     0,     0,     0,     0,     0,   301,     0,     0,     2,
4759      302,   303,   304,   305,   306,   307,   308,   309,     0,     0,
4760      310,     0,     0,   311,     0,   312,     0,     0,  1743,     0,
4761        0,     0,  1752,   313,   314,     0,   315,   316,   317,   318,
4762        0,     0,     0,     0,     0,     0,   295,     0,     0,     0,
4763        0,     0,   296,   297,   298,   290,     0,     1,   291,   100,
4764      292,     0,   293,   294,     0,   299,   300,     0,     0,     0,
4765        0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
4766        0,     0,     2,   302,   303,   304,   305,   306,   307,   308,
4767      309,     0,     0,   310,     0,     0,   311,  1847,   312,     0,
4768        0,  1144,     0,     0,     0,     0,   313,   314,     0,   315,
4769      316,   317,   318,     0,     0,     0,     0,     0,     0,   295,
4770        0,     0,     0,     0,     0,   296,   297,   298,   290,     0,
4771        1,   291,   100,   292,     0,   293,   294,     0,   299,   300,
4772        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4773        0,     0,   301,     0,     0,     2,   302,   303,   304,   305,
4774      306,   307,   308,   309,     0,     0,   310,     0,     0,   311,
4775     1849,   312,     0,     0,  1144,     0,     0,     0,     0,   313,
4776      314,     0,   315,   316,   317,   318,     0,     0,     0,     0,
4777        0,     0,   295,     0,     0,     0,     0,     0,   296,   297,
4778      298,   290,     0,     1,   291,   100,   292,     0,   293,   294,
4779        0,   299,   300,     0,     0,     0,     0,     0,     0,     0,
4780        0,     0,     0,     0,     0,   301,     0,     0,     2,   302,
4781      303,   304,   305,   306,   307,   308,   309,     0,     0,   310,
4782        0,     0,   311,  1850,   312,     0,     0,  1149,     0,     0,
4783        0,     0,   313,   314,     0,   315,   316,   317,   318,     0,
4784        0,     0,     0,     0,     0,   295,     0,     0,     0,     0,
4785        0,   296,   297,   298,   290,     0,     1,   291,   100,   292,
4786        0,   293,   294,     0,   299,   300,     0,     0,     0,     0,
4787        0,     0,     0,     0,     0,     0,     0,     0,   301,     0,
4788        0,     2,   302,   303,   304,   305,   306,   307,   308,   309,
4789        0,     0,   310,     0,     0,   311,  1853,   312,     0,     0,
4790     1144,     0,     0,     0,     0,   313,   314,     0,   315,   316,
4791      317,   318,     0,     0,     0,     0,     0,     0,   295,     0,
4792        0,     0,     0,     0,   296,   297,   298,   290,     0,     1,
4793      291,   100,   292,     0,   293,   294,     0,   299,   300,     0,
4794        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4795        0,   301,     0,     0,     2,   302,   303,   304,   305,   306,
4796      307,   308,   309,     0,     0,   310,     0,     0,   311,  1616,
4797      312,  1617,     0,     0,     0,     0,     0,     0,   313,   314,
4798        0,   315,   316,   317,   318,     0,     0,     0,     0,     0,
4799        0,   295,     0,     0,     0,     0,     0,   296,   297,   298,
4800     1873,     0,     1,   291,   100,   292,     0,   293,   294,     0,
4801      299,   300,     0,     0,     0,     0,     0,     0,     0,     0,
4802        0,     0,     0,     0,   301,     0,     0,     2,   302,   303,
4803      304,   305,   306,   307,   308,   309,     0,     0,   310,     0,
4804        0,   311,     0,   312,  1870,     0,  1144,     0,     0,     0,
4805        0,   313,   314,     0,   315,   316,   317,   318,     0,     0,
4806        0,     0,     0,     0,   295,     0,     0,     0,     0,     0,
4807      296,   297,   298,   290,     0,     1,   291,   100,   292,     0,
4808      293,   294,     0,   299,   300,     0,     0,     0,     0,     0,
4809        0,     0,     0,     0,     0,     0,     0,   301,     0,     0,
4810        2,   302,   303,   304,   305,   306,   307,   308,   309,     0,
4811        0,   310,     0,     0,   311,  1874,   312,  1617,     0,     0,
4812        0,     0,     0,     0,   313,   314,     0,   315,   316,   317,
4813      318,     0,     0,     0,     0,     0,     0,   295,     0,     0,
4814        0,     0,     0,   296,   297,   298,   290,     0,     1,   291,
4815      100,   292,     0,   293,   294,     0,   299,   300,     0,     0,
4816        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4817      301,     0,     0,     2,   302,   303,   304,   305,   306,   307,
4818      308,   309,     0,     0,   310,     0,     0,   311,     0,   312,
4819        0,     0,  1743,     0,     0,     0,  1887,   313,   314,     0,
4820      315,   316,   317,   318,     0,     0,     0,     0,     0,     0,
4821      295,     0,     0,     0,     0,     0,   296,   297,   298,   290,
4822        0,     1,   291,   100,   292,     0,   293,   294,     0,   299,
4823      300,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4824        0,     0,     0,   301,     0,     0,     2,   302,   303,   304,
4825      305,   306,   307,   308,   309,     0,     0,   310,     0,     0,
4826      311,     0,   312,     0,     0,  1743,     0,     0,     0,  1891,
4827      313,   314,     0,   315,   316,   317,   318,     0,     0,     0,
4828        0,     0,     0,   295,     0,     0,     0,     0,     0,   296,
4829      297,   298,   290,     0,     1,   291,   100,   292,     0,   293,
4830      294,     0,   299,   300,     0,     0,     0,     0,     0,     0,
4831        0,     0,     0,     0,     0,     0,   301,     0,     0,     2,
4832      302,   303,   304,   305,   306,   307,   308,   309,     0,     0,
4833      310,     0,     0,   311,     0,   312,     0,     0,  1144,     0,
4834        0,     0,     0,   313,   314,  1900,   315,   316,   317,   318,
4835        0,     0,     0,     0,     0,     0,   295,     0,     0,     0,
4836        0,     0,   296,   297,   298,   290,     0,     1,   291,   100,
4837      292,     0,   293,   294,     0,   299,   300,     0,     0,     0,
4838        0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
4839        0,     0,     2,   302,   303,   304,   305,   306,   307,   308,
4840      309,     0,     0,   310,     0,     0,   311,     0,   312,     0,
4841        0,  1144,     0,     0,     0,     0,   313,   314,  1903,   315,
4842      316,   317,   318,     0,     0,     0,     0,     0,     0,   295,
4843        0,     0,     0,     0,     0,   296,   297,   298,   290,     0,
4844        1,   291,   100,   292,     0,   293,   294,     0,   299,   300,
4845        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4846        0,     0,   301,     0,     0,     2,   302,   303,   304,   305,
4847      306,   307,   308,   309,     0,     0,   310,     0,     0,   311,
4848     2012,   312,     0,     0,  1144,     0,     0,     0,     0,   313,
4849      314,     0,   315,   316,   317,   318,     0,     0,     0,     0,
4850        0,     0,   295,     0,     0,     0,     0,     0,   296,   297,
4851      298,   290,     0,     1,   291,   100,   292,     0,   293,   294,
4852        0,   299,   300,     0,     0,     0,     0,     0,     0,     0,
4853        0,     0,     0,     0,     0,   301,     0,     0,     2,   302,
4854      303,   304,   305,   306,   307,   308,   309,     0,     0,   310,
4855        0,     0,   311,  1848,   312,     0,     0,  1149,     0,     0,
4856        0,     0,   313,   314,     0,   315,   316,   317,   318,     0,
4857        0,     0,     0,     0,     0,   295,     0,     0,     0,     0,
4858        0,   296,   297,   298,   290,     0,     1,   291,   100,   292,
4859        0,   293,   294,     0,   299,   300,     0,     0,     0,     0,
4860        0,     0,     0,     0,     0,     0,     0,     0,   301,     0,
4861        0,     2,   302,   303,   304,   305,   306,   307,   308,   309,
4862        0,     0,   310,     0,     0,   311,  2019,   312,     0,     0,
4863     1144,     0,     0,     0,     0,   313,   314,     0,   315,   316,
4864      317,   318,     0,     0,     0,     0,     0,     0,   295,     0,
4865        0,     0,     0,     0,   296,   297,   298,   290,     0,     1,
4866      291,   100,   292,     0,   293,   294,     0,   299,   300,     0,
4867        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4868        0,   301,     0,     0,     2,   302,   303,   304,   305,   306,
4869      307,   308,   309,     0,     0,   310,     0,     0,   311,  1874,
4870      312,  1617,     0,     0,     0,     0,     0,     0,   313,   314,
4871        0,   315,   316,   317,   318,     0,     0,     0,     0,     0,
4872        0,   295,     0,     0,     0,     0,     0,   296,   297,   298,
4873      290,     0,     1,   291,   100,   292,     0,   293,   294,     0,
4874      299,   300,     0,     0,     0,     0,     0,     0,     0,     0,
4875        0,     0,     0,     0,   301,     0,     0,     2,   302,   303,
4876      304,   305,   306,   307,   308,   309,     0,     0,   310,     0,
4877        0,   311,  2095,   312,     0,     0,  1144,     0,     0,     0,
4878        0,   313,   314,     0,   315,   316,   317,   318,     0,     0,
4879        0,     0,     0,     0,   295,     0,     0,     0,     0,     0,
4880      296,   297,   298,   290,     0,     1,   291,   100,   292,     0,
4881      293,   294,     0,   299,   300,     0,     0,     0,     0,     0,
4882        0,     0,     0,     0,     0,     0,     0,   301,     0,     0,
4883        2,   302,   303,   304,   305,   306,   307,   308,   309,     0,
4884        0,   310,     0,     0,   311,     0,   312,     0,     0,     0,
4885     2123,  1004,     0,     0,   313,   314,     0,   315,   316,   317,
4886      318,     0,     0,     0,     0,     0,     0,   295,     0,     0,
4887        0,     0,     0,   296,   297,   298,   290,     0,     1,   291,
4888      100,   292,     0,   293,   294,     0,   299,   300,     0,     0,
4889        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4890      301,     0,     0,     2,   302,   303,   304,   305,   306,   307,
4891      308,   309,     0,     0,   310,     0,     0,   311,  2126,   312,
4892        0,     0,  1144,     0,     0,     0,     0,   313,   314,     0,
4893      315,   316,   317,   318,     0,     0,     0,     0,     0,     0,
4894      295,     0,     0,     0,     0,     0,   296,   297,   298,   290,
4895        0,     1,   291,   100,   292,     0,   293,   294,     0,   299,
4896      300,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4897        0,     0,     0,   301,     0,     0,     2,   302,   303,   304,
4898      305,   306,   307,   308,   309,     0,     0,   310,     0,     0,
4899      311,  2127,   312,     0,     0,  1144,     0,     0,     0,     0,
4900      313,   314,     0,   315,   316,   317,   318,     0,     0,     0,
4901        0,     0,     0,   295,     0,     0,     0,     0,     0,   296,
4902      297,   298,   290,     0,     1,   291,   100,   292,     0,   293,
4903      294,     0,   299,   300,     0,     0,     0,     0,     0,     0,
4904        0,     0,     0,     0,     0,     0,   301,     0,     0,     2,
4905      302,   303,   304,   305,   306,   307,   308,   309,     0,     0,
4906      310,     0,     0,   311,  2154,   312,     0,     0,  1144,     0,
4907        0,     0,     0,   313,   314,     0,   315,   316,   317,   318,
4908        0,     0,     0,     0,     0,     0,   295,     0,     0,     0,
4909        0,     0,   296,   297,   298,   290,     0,     1,   291,   100,
4910      292,     0,   293,   294,     0,   299,   300,     0,     0,     0,
4911        0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
4912        0,     0,     2,   302,   303,   304,   305,   306,   307,   308,
4913      309,     0,     0,   310,     0,     0,   311,     0,   312,     0,
4914        0,     0,     0,     0,     0,     0,   313,   314,   534,   315,
4915      316,   317,   318,     0,     0,     0,     0,     0,     0,   295,
4916        0,     0,     0,     0,     0,   296,   297,   298,   290,     0,
4917        1,   291,   100,   292,     0,   293,   294,     0,   299,   300,
4918        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4919        0,     0,   301,     0,     0,     2,   302,   303,   304,   305,
4920      306,   307,   308,   309,     0,     0,   310,     0,     0,   311,
4921        0,   312,     0,     0,     0,     0,   735,     0,     0,   313,
4922      314,     0,   315,   316,   317,   318,     0,     0,     0,     0,
4923        0,     0,   295,     0,     0,     0,     0,     0,   296,   297,
4924      298,   290,     0,     1,   291,   100,   292,     0,   293,   294,
4925        0,   299,   300,     0,     0,     0,     0,     0,     0,     0,
4926        0,     0,     0,     0,     0,   301,     0,     0,     2,   302,
4927      303,   304,   305,   306,   307,   308,   309,     0,     0,   310,
4928        0,     0,   311,     0,   312,     0,     0,     0,     0,     0,
4929        0,     0,   313,   314,   829,   315,   316,   317,   318,     0,
4930        0,     0,     0,     0,     0,   295,     0,     0,     0,     0,
4931        0,   296,   297,   298,   290,     0,     1,   291,   100,   292,
4932        0,   293,   294,     0,   299,   300,     0,     0,     0,     0,
4933        0,     0,     0,     0,     0,     0,     0,     0,   301,     0,
4934        0,     2,   302,   303,   304,   305,   306,   307,   308,   309,
4935        0,     0,   310,     0,     0,   311,     0,   312,     0,     0,
4936        0,     0,     0,     0,     0,   313,   314,   833,   315,   316,
4937      317,   318,     0,     0,     0,     0,     0,     0,   295,     0,
4938        0,     0,     0,     0,   296,   297,   298,   290,     0,     1,
4939      291,   100,   292,     0,   293,   294,     0,   299,   300,     0,
4940        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4941        0,   301,     0,     0,     2,   302,   303,   304,   305,   306,
4942      307,   308,   309,     0,     0,   310,     0,     0,   311,     0,
4943      312,     0,     0,     0,     0,  1004,     0,     0,   313,   314,
4944        0,   315,   316,   317,   318,     0,     0,     0,     0,     0,
4945        0,   295,     0,     0,     0,     0,     0,   296,   297,   298,
4946      290,     0,     1,   291,   100,   292,     0,   293,   294,     0,
4947      299,   300,     0,     0,     0,     0,     0,     0,     0,     0,
4948        0,     0,     0,     0,   301,     0,     0,     2,   302,   303,
4949      304,   305,   306,   307,   308,   309,     0,     0,   310,     0,
4950        0,   311,     0,   312,     0,     0,     0,     0,     0,     0,
4951        0,   313,   314,  1045,   315,   316,   317,   318,     0,     0,
4952        0,     0,     0,     0,   295,     0,     0,     0,     0,     0,
4953      296,   297,   298,   290,     0,     1,   291,   100,   292,     0,
4954      293,   294,     0,   299,   300,     0,     0,     0,     0,     0,
4955        0,     0,     0,     0,     0,     0,     0,   301,     0,     0,
4956        2,   302,   303,   304,   305,   306,   307,   308,   309,     0,
4957        0,   310,     0,     0,   311,     0,   312,     0,     0,     0,
4958        0,     0,     0,  1097,   313,   314,     0,   315,   316,   317,
4959      318,     0,     0,     0,     0,     0,     0,   295,     0,     0,
4960        0,     0,     0,   296,   297,   298,  1464,     0,     1,   291,
4961      100,   292,     0,   293,   294,     0,   299,   300,     0,     0,
4962        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4963      301,     0,     0,     2,   302,   303,   304,   305,   306,   307,
4964      308,   309,     0,     0,   310,     0,     0,   311,   724,   312,
4965        0,     0,     0,     0,     0,     0,     0,   313,   314,     0,
4966      315,   316,   317,   318,     0,     0,     0,     0,     0,     0,
4967      295,     0,     0,     0,     0,     0,   296,   297,   298,   290,
4968        0,     1,   291,   100,   292,     0,   293,   294,     0,   299,
4969      300,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4970        0,     0,     0,   301,     0,     0,     2,   302,   303,   304,
4971      305,   306,   307,   308,   309,     0,     0,   310,     0,     0,
4972      311,     0,   312,     0,     0,     0,     0,   735,     0,     0,
4973      313,   314,     0,   315,   316,   317,   318,     0,     0,     0,
4974        0,     0,     0,   295,     0,     0,     0,     0,     0,   296,
4975      297,   298,   290,     0,     1,   291,   100,   292,     0,   293,
4976      294,     0,   299,   300,     0,     0,     0,     0,     0,     0,
4977        0,     0,     0,     0,     0,     0,   301,     0,     0,     2,
4978      302,   303,   304,   305,   306,   307,   308,   309,     0,     0,
4979      310,     0,     0,   311,     0,   312,     0,     0,     0,     0,
4980        0,     0,     0,   313,   314,  1567,   315,   316,   317,   318,
4981        0,     0,     0,     0,     0,     0,   295,     0,     0,     0,
4982        0,     0,   296,   297,   298,   290,     0,     1,   291,   100,
4983      292,     0,   293,   294,     0,   299,   300,     0,     0,     0,
4984        0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
4985        0,     0,     2,   302,   303,   304,   305,   306,   307,   308,
4986      309,     0,     0,   310,     0,     0,   311,  1599,   312,     0,
4987        0,     0,     0,     0,     0,     0,   313,   314,     0,   315,
4988      316,   317,   318,     0,     0,     0,     0,     0,     0,   295,
4989        0,     0,     0,     0,     0,   296,   297,   298,   290,     0,
4990        1,   291,   100,   292,     0,   293,   294,     0,   299,   300,
4991        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4992        0,     0,   301,     0,     0,     2,   302,   303,   304,   305,
4993      306,   307,   308,   309,     0,     0,   310,     0,     0,   311,
4994        0,   312,     0,     0,     0,     0,     0,     0,  1602,   313,
4995      314,     0,   315,   316,   317,   318,     0,     0,     0,     0,
4996        0,     0,   295,     0,     0,     0,     0,     0,   296,   297,
4997      298,  1811,     0,     1,   291,   100,   292,     0,   293,   294,
4998        0,   299,   300,     0,     0,     0,     0,     0,     0,     0,
4999        0,     0,     0,     0,     0,   301,     0,     0,     2,   302,
5000      303,   304,   305,   306,   307,   308,   309,     0,     0,   310,
5001        0,     0,   311,     0,   312,     0,     0,     0,     0,  1810,
5002        0,     0,   313,   314,     0,   315,   316,   317,   318,     0,
5003        0,     0,     0,     0,     0,   295,     0,     0,     0,     0,
5004        0,   296,   297,   298,  1814,     0,     1,   291,   100,   292,
5005        0,   293,   294,     0,   299,   300,     0,     0,     0,     0,
5006        0,     0,     0,     0,     0,     0,     0,     0,   301,     0,
5007        0,     2,   302,   303,   304,   305,   306,   307,   308,   309,
5008        0,     0,   310,     0,     0,   311,     0,   312,     0,     0,
5009        0,     0,   735,     0,     0,   313,   314,     0,   315,   316,
5010      317,   318,     0,     0,     0,     0,     0,     0,   295,     0,
5011        0,     0,     0,     0,   296,   297,   298,  1818,     0,     1,
5012      291,   100,   292,     0,   293,   294,     0,   299,   300,     0,
5013        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5014        0,   301,     0,     0,     2,   302,   303,   304,   305,   306,
5015      307,   308,   309,     0,     0,   310,     0,     0,   311,     0,
5016      312,     0,     0,     0,     0,   735,     0,     0,   313,   314,
5017        0,   315,   316,   317,   318,     0,     0,     0,     0,     0,
5018        0,   295,     0,     0,     0,     0,     0,   296,   297,   298,
5019      290,     0,     1,   291,   100,   292,     0,   293,   294,     0,
5020      299,   300,     0,     0,     0,     0,     0,     0,     0,     0,
5021        0,     0,     0,     0,   301,     0,     0,     2,   302,   303,
5022      304,   305,   306,   307,   308,   309,     0,     0,   310,     0,
5023        0,   311,     0,   312,     0,     0,     0,     0,   735,     0,
5024        0,   313,   314,     0,   315,   316,   317,   318,     0,     0,
5025        0,     0,     0,     0,   295,     0,     0,     0,     0,     0,
5026      296,   297,   298,   290,     0,     1,   291,   100,   292,     0,
5027      293,   294,     0,   299,   300,     0,     0,     0,     0,     0,
5028        0,     0,     0,     0,     0,     0,     0,   301,     0,     0,
5029        2,   302,   303,   304,   305,   306,   307,   308,   309,     0,
5030        0,   310,     0,     0,   311,  1860,   312,     0,     0,     0,
5031        0,     0,     0,     0,   313,   314,     0,   315,   316,   317,
5032      318,     0,     0,     0,     0,     0,     0,   295,     0,     0,
5033        0,     0,     0,   296,   297,   298,   290,     0,     1,   291,
5034      100,   292,     0,   293,   294,     0,   299,   300,     0,     0,
5035        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5036      301,     0,     0,     2,   302,   303,   304,   305,   306,   307,
5037      308,   309,     0,     0,   310,     0,     0,  1927,     0,   312,
5038        0,     0,     0,     0,  1810,     0,     0,   313,   314,     0,
5039      315,   316,   317,   318,     0,     0,     0,     0,     0,     0,
5040      295,     0,     0,     0,     0,     0,   296,   297,   298,   290,
5041        0,     1,   291,   100,   292,     0,   293,   294,     0,   299,
5042      300,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5043        0,     0,     0,   301,     0,     0,     2,   302,   303,   304,
5044      305,   306,   307,   308,   309,     0,     0,   310,     0,     0,
5045      311,  2028,   312,     0,     0,     0,     0,     0,     0,     0,
5046      313,   314,     0,   315,   316,   317,   318,     0,     0,     0,
5047        0,     0,     0,   295,     0,     0,     0,     0,     0,   296,
5048      297,   298,   290,     0,     1,   291,   100,   292,     0,   293,
5049      294,     0,   299,   300,     0,     0,     0,     0,     0,     0,
5050        0,     0,     0,     0,     0,     0,   301,     0,     0,     2,
5051      302,   303,   304,   305,   306,   307,   308,   309,     0,     0,
5052      310,     0,     0,   311,  2086,   312,     0,     0,     0,     0,
5053        0,     0,     0,   313,   314,     0,   315,   316,   317,   318,
5054        0,     0,     0,     0,     0,     0,   295,     0,     0,     0,
5055        0,     0,   296,   297,   298,   688,     0,     1,   291,   100,
5056      292,     0,   293,   294,     0,   299,   300,     0,     0,     0,
5057        0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
5058        0,     0,     2,   302,   303,   304,   305,   306,   307,   308,
5059      309,     0,     0,   310,     0,     0,   311,     0,   312,     0,
5060        0,     0,     0,     0,     0,     0,   313,   314,     0,   315,
5061      316,   317,   318,     0,     0,     0,     0,     0,     0,   295,
5062        0,     0,     0,     0,     0,   296,   297,   298,   290,     0,
5063        1,   291,   100,   292,     0,   293,   294,     0,   299,   300,
5064        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5065        0,     0,   301,     0,     0,     2,   302,   303,   304,   305,
5066      306,   307,   308,   309,     0,     0,   310,     0,     0,   689,
5067        0,   312,     0,     0,     0,     0,     0,     0,     0,   313,
5068      314,     0,   315,   316,   317,   318,     0,     0,     0,     0,
5069        0,     0,   295,     0,     0,     0,     0,     0,   296,   297,
5070      298,   688,     0,     1,   291,   100,   292,     0,   293,   294,
5071        0,   299,   300,     0,     0,     0,     0,     0,     0,     0,
5072        0,     0,     0,     0,     0,   301,     0,     0,     2,   302,
5073      303,   304,   305,   306,   307,   308,   309,     0,     0,   310,
5074        0,     0,   698,     0,   312,     0,     0,     0,     0,     0,
5075        0,     0,   313,   314,     0,   315,   316,   317,   318,     0,
5076        0,     0,     0,     0,     0,   295,     0,     0,     0,     0,
5077        0,   296,   297,   298,     0,     0,     0,     0,     0,     0,
5078        0,     0,     0,     0,   299,   300,     0,     0,     0,     0,
5079        0,     0,     0,     0,     0,     0,     0,     0,   301,     0,
5080        0,     0,   302,   303,   304,   305,   306,   307,   308,   309,
5081        0,     0,   310,     0,     0,   721,     0,   312,  -907,   569,
5082        0,  -907,  -907,  -907,     0,   313,   314,     0,   315,   316,
5083      317,   318,     0,     0,     0,     0,     0,     0,     0,     0,
5084        0,     0,     0,     0,     0,     0,  -907,  -907,  -907,  -907,
5085     -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,
5086     -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,     0,
5087        0,  -907,     0,     0,     0,     0,     0,     0,     0,     0,
5088        0,     0,     0,  -907,  -907,     0,  -907,     0,     0,  -907,
5089     -907,     0,  -907,  -907,     0,     0,  -907,  -907,  -907,  -907,
5090     -907,  -907,     0,  -907,  -907,  -907,  -907,     0,     0,  -907,
5091     -907,  -907,  -907,     0,  -907,     0,  -907,  -907,  -907,     0,
5092     -907,  -907,  -907,  -907,  -907,  -907,  -907,     0,  -907,  -907,
5093     -907,     0,     0,  -907,   570,  -907,  -907,     0,   571,  -907,
5094        0,     0,     0,  -907,  -907,  -188,   895,     0,  -188,  -188,
5095     -188,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5096        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5097        0,     0,     0,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
5098     -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
5099     -188,  -188,  -188,  -188,  -188,  -188,     0,     0,  -188,     0,
5100        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5101     -188,  -188,     0,  -188,     0,     0,  -188,  -188,     0,  -188,
5102     -188,     0,     0,  -188,  -188,  -188,  -188,  -188,  -188,     0,
5103     -188,  -188,  -188,  -188,     0,     0,  -188,  -188,  -188,  -188,
5104        0,  -188,     0,  -188,  -188,  -188,     0,  -188,  -188,  -188,
5105     -188,  -188,  -188,  -188,     0,  -188,  -188,  -188,     0,     0,
5106     -188,     0,  -188,   896,     0,   897,  -188,     0,     0,     0,
5107     -188,  -188,  -252,   909,     0,     1,   291,   100,     0,     0,
5108        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5109        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5110        2,   194,   195,   196,   197,   198,     8,     9,    10,    11,
5111       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5112       22,    23,    24,     0,     0,  -252,     0,     0,     0,     0,
5113        0,     0,     0,     0,     0,     0,     0,   295,    27,     0,
5114      410,     0,     0,   296,   297,     0,    28,    29,     0,     0,
5115      411,    32,   412,   413,    35,    36,     0,   392,    38,    39,
5116      414,     0,     0,   415,   416,   417,   418,     0,   419,     0,
5117      420,   421,    40,     0,   302,   303,   304,   305,   306,   307,
5118      308,     0,    43,    44,    45,     0,     0,   422,     0,   423,
5119      424,  -250,   912,  -252,     1,   291,   100,   313,   314,     0,
5120        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5121        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5122      194,   195,   196,   197,   198,     8,     9,    10,    11,    12,
5123       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5124       23,    24,     0,     0,  -250,     0,     0,     0,     0,     0,
5125        0,     0,     0,     0,     0,     0,   295,    27,     0,   410,
5126        0,     0,   296,   297,     0,    28,    29,     0,     0,   411,
5127       32,   412,   413,    35,    36,     0,   392,    38,    39,   414,
5128        0,     0,   415,   416,   417,   418,     0,   419,     0,   420,
5129      421,    40,     0,   302,   303,   304,   305,   306,   307,   308,
5130        0,    43,    44,    45,     0,     0,   422,     0,   423,   424,
5131     -253,   909,  -250,     1,   291,   100,   313,   314,     0,     0,
5132        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5133        0,     0,     0,     0,     0,     0,     0,     0,     2,   194,
5134      195,   196,   197,   198,     8,     9,    10,    11,    12,    13,
5135       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5136       24,     0,     0,  -253,     0,     0,     0,     0,     0,     0,
5137        0,     0,     0,     0,     0,   295,    27,     0,   410,     0,
5138        0,   296,   297,     0,    28,    29,     0,     0,   411,    32,
5139      412,   413,    35,    36,     0,   392,    38,    39,   414,     0,
5140        0,   415,   416,   417,   418,     0,   419,     0,   420,   421,
5141       40,     0,   302,   303,   304,   305,   306,   307,   308,     0,
5142       43,    44,    45,     0,     0,   422,     0,   423,   424,  -251,
5143      912,  -253,     1,   291,   100,   313,   314,     0,     0,     0,
5144        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5145        0,     0,     0,     0,     0,     0,     0,     2,   194,   195,
5146      196,   197,   198,     8,     9,    10,    11,    12,    13,    14,
5147       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5148        0,     0,  -251,     0,     0,     0,     0,     0,     0,     0,
5149        0,     0,     0,     0,   295,    27,     0,   410,     0,     0,
5150      296,   297,     0,    28,    29,     0,     0,   411,    32,   412,
5151      413,    35,    36,     0,   392,    38,    39,   414,     0,     0,
5152      415,   416,   417,   418,     0,   419,     0,   420,   421,    40,
5153        0,   302,   303,   304,   305,   306,   307,   308,     0,    43,
5154       44,    45,     0,     0,   422,     0,   423,   424,     0,   409,
5155     -251,     1,   291,   100,   313,   314,     0,     0,     0,     0,
5156        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5157        0,     0,     0,     0,     0,     0,     2,   194,   195,   196,
5158      197,   198,     8,     9,    10,    11,    12,    13,    14,    15,
5159       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5160        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5161        0,     0,     0,   295,    27,     0,   410,     0,     0,   296,
5162      297,     0,    28,    29,     0,     0,   411,    32,   412,   413,
5163       35,    36,     0,   392,    38,    39,   414,     0,     0,   415,
5164      416,   417,   418,     0,   419,     0,   420,   421,    40,     0,
5165      302,   303,   304,   305,   306,   307,   308,     0,    43,    44,
5166       45,     0,     0,   422,     0,   423,   424,     0,   475,   425,
5167        1,   291,   100,   313,   314,     0,     0,     0,     0,     0,
5168        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5169        0,     0,     0,     0,     0,     2,   194,   195,   196,   197,
5170      198,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5171       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5172        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5173        0,     0,   295,    27,     0,   410,     0,     0,   296,   297,
5174        0,    28,    29,     0,     0,   411,    32,   412,   413,    35,
5175       36,     0,   392,    38,    39,   414,     0,     0,   415,   416,
5176      417,   418,     0,   419,     0,   420,   421,    40,     0,   302,
5177      303,   304,   305,   306,   307,   308,     0,    43,    44,    45,
5178        0,     0,   422,     0,   423,   424,     0,   497,   476,     1,
5179      291,   100,   313,   314,     0,     0,     0,     0,     0,     0,
5180        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5181        0,     0,     0,     0,     2,   194,   195,   196,   197,   198,
5182        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5183       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5184        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5185        0,   295,    27,     0,   410,     0,     0,   296,   297,     0,
5186       28,    29,     0,     0,   411,    32,   412,   413,    35,    36,
5187        0,   392,    38,    39,   414,     0,     0,   415,   416,   417,
5188      418,     0,   419,     0,   420,   421,    40,     0,   302,   303,
5189      304,   305,   306,   307,   308,     0,    43,    44,    45,     0,
5190        0,   422,     0,   423,   424,     0,   502,   498,     1,   291,
5191      100,   313,   314,     0,     0,     0,     0,     0,     0,     0,
5192        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5193        0,     0,     0,     2,   194,   195,   196,   197,   198,     8,
5194        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5195       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5196        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5197      295,    27,     0,   410,     0,     0,   296,   297,     0,    28,
5198       29,     0,     0,   411,    32,   412,   413,    35,    36,     0,
5199      392,    38,    39,   414,     0,     0,   415,   416,   417,   418,
5200        0,   419,     0,   420,   421,    40,     0,   302,   303,   304,
5201      305,   306,   307,   308,     0,    43,    44,    45,     0,     0,
5202      422,     0,   423,   424,     0,   506,   503,     1,   291,   100,
5203      313,   314,     0,     0,     0,     0,     0,     0,     0,     0,
5204        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5205        0,     0,     2,   194,   195,   196,   197,   198,     8,     9,
5206       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5207       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5208        0,     0,     0,     0,     0,     0,     0,     0,     0,   295,
5209       27,     0,   410,     0,     0,   296,   297,     0,    28,    29,
5210        0,     0,   411,    32,   412,   413,    35,    36,     0,   392,
5211       38,    39,   414,     0,     0,   415,   416,   417,   418,     0,
5212      419,     0,   420,   421,    40,     0,   302,   303,   304,   305,
5213      306,   307,   308,     0,    43,    44,    45,     0,     0,   422,
5214        0,   423,   424,     0,   909,   507,     1,   291,   100,   313,
5215      314,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5216        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5217        0,     2,   194,   195,   196,   197,   198,     8,     9,    10,
5218       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5219       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5220        0,     0,     0,     0,     0,     0,     0,     0,   295,    27,
5221        0,   410,     0,     0,   296,   297,     0,    28,    29,     0,
5222        0,   411,    32,   412,   413,    35,    36,     0,   392,    38,
5223       39,   414,     0,     0,   415,   416,   417,   418,     0,   419,
5224        0,   420,   421,    40,     0,   302,   303,   304,   305,   306,
5225      307,   308,     0,    43,    44,    45,     0,     0,   422,     0,
5226      423,   424,     0,   912,  -762,     1,   291,   100,   313,   314,
5227        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5228        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5229        2,   194,   195,   196,   197,   198,     8,     9,    10,    11,
5230       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5231       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5232        0,     0,     0,     0,     0,     0,     0,   295,    27,     0,
5233      410,     0,     0,   296,   297,     0,    28,    29,     0,     0,
5234      411,    32,   412,   413,    35,    36,     0,   392,    38,    39,
5235      414,     0,     0,   415,   416,   417,   418,     0,   419,     0,
5236      420,   421,    40,     0,   302,   303,   304,   305,   306,   307,
5237      308,     0,    43,    44,    45,     0,     0,   422,     0,   423,
5238      424,     0,   909,  -763,     1,   291,   100,   313,   314,     0,
5239        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5240        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5241      194,   195,   196,   197,   198,     8,     9,    10,    11,    12,
5242       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5243       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5244        0,     0,     0,     0,     0,     0,   295,    27,     0,   410,
5245        0,     0,   296,   297,     0,    28,    29,     0,     0,   411,
5246       32,   412,   413,    35,    36,     0,   392,    38,    39,   414,
5247        0,     0,   415,   416,   417,   418,     0,   419,     0,   420,
5248      421,    40,     0,   302,   303,   304,   305,   306,   307,   308,
5249        0,    43,    44,    45,     0,     0,   422,     0,   423,   424,
5250        0,   912,  -759,     1,   291,   100,   313,   314,     0,     0,
5251        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5252        0,     0,     0,     0,     0,     0,     0,     0,     2,   194,
5253      195,   196,   197,   198,     8,     9,    10,    11,    12,    13,
5254       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5255       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5256        0,     0,     0,     0,     0,   295,    27,     0,   410,     0,
5257        0,   296,   297,     0,    28,    29,     0,     0,   411,    32,
5258      412,   413,    35,    36,     0,   392,    38,    39,   414,     0,
5259        0,   415,   416,   417,   418,     0,   419,     0,   420,   421,
5260       40,     0,   302,   303,   304,   305,   306,   307,   308,     0,
5261       43,    44,    45,     0,     0,   422,     0,   423,   424,     0,
5262      909,  -760,     1,   291,   100,   313,   314,     0,     0,     0,
5263        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5264        0,     0,     0,     0,     0,     0,     0,     2,   194,   195,
5265      196,   197,   198,     8,     9,    10,    11,    12,    13,    14,
5266       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5267        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5268        0,     0,     0,     0,   295,    27,     0,   410,     0,     0,
5269      296,   297,     0,    28,    29,     0,     0,   411,    32,   412,
5270      413,    35,    36,     0,   392,    38,    39,   414,     0,     0,
5271      415,   416,   417,   418,     0,   419,     0,   420,   421,    40,
5272        0,   302,   303,   304,   305,   306,   307,   308,     0,    43,
5273       44,    45,     0,     0,   422,     0,   423,   424,     0,   912,
5274     -765,     1,   291,   100,   313,   314,     0,     0,     0,     0,
5275        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5276        0,     0,     0,     0,     0,     0,     2,   194,   195,   196,
5277      197,   198,     8,     9,    10,    11,    12,    13,    14,    15,
5278       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5279        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5280        0,     0,     0,   295,    27,     0,   410,     0,     0,   296,
5281      297,     0,    28,    29,     0,     0,   411,    32,   412,   413,
5282       35,    36,     0,   392,    38,    39,   414,     0,     0,   415,
5283      416,   417,   418,     0,   419,     0,   420,   421,    40,     0,
5284      302,   303,   304,   305,   306,   307,   308,     0,    43,    44,
5285       45,     0,     0,   422,     0,   423,   424,     0,  1027,  -766,
5286        1,   291,   100,   313,   314,     0,     0,     0,     0,     0,
5287        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5288        0,     0,     0,     0,     0,     2,   194,   195,   196,   197,
5289      198,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5290       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5291        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5292        0,     0,   295,    27,     0,   410,     0,     0,   296,   297,
5293        0,    28,    29,     0,     0,   411,    32,   412,   413,    35,
5294       36,     0,   392,    38,    39,   414,     0,     0,   415,   416,
5295      417,   418,     0,   419,     0,   420,   421,    40,     0,   302,
5296      303,   304,   305,   306,   307,   308,     0,    43,    44,    45,
5297        0,     0,   422,     0,   423,   424,     0,  1031,  1028,     1,
5298      291,   100,   313,   314,     0,     0,     0,     0,     0,     0,
5299        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5300        0,     0,     0,     0,     2,   194,   195,   196,   197,   198,
5301        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5302       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5303        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5304        0,   295,    27,     0,   410,     0,     0,   296,   297,     0,
5305       28,    29,     0,     0,   411,    32,   412,   413,    35,    36,
5306        0,   392,    38,    39,   414,     0,     0,   415,   416,   417,
5307      418,     0,   419,     0,   420,   421,    40,     0,   302,   303,
5308      304,   305,   306,   307,   308,     0,    43,    44,    45,     0,
5309        0,   422,     0,   423,   424,     0,   909,  1032,     1,   291,
5310      100,   313,   314,     0,     0,     0,     0,     0,     0,     0,
5311        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5312        0,     0,     0,     2,   194,   195,   196,   197,   198,     8,
5313        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5314       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5315        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5316      295,    27,     0,   410,     0,     0,   296,   297,     0,    28,
5317       29,     0,     0,   411,    32,   412,   413,    35,    36,     0,
5318      392,    38,    39,   414,     0,     0,   415,   416,   417,   418,
5319        0,   419,     0,   420,   421,    40,     0,   302,   303,   304,
5320      305,   306,   307,   308,     0,    43,    44,    45,     0,     0,
5321      422,     0,   423,   424,     0,   912,  -742,     1,   291,   100,
5322      313,   314,     0,     0,     0,     0,     0,     0,     0,     0,
5323        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5324        0,     0,     2,   194,   195,   196,   197,   198,     8,     9,
5325       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5326       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5327        0,     0,     0,     0,     0,     0,     0,     0,     0,   295,
5328       27,     0,   410,     0,     0,   296,   297,     0,    28,    29,
5329        0,     0,   411,    32,   412,   413,    35,    36,     0,   392,
5330       38,    39,   414,     0,     0,   415,   416,   417,   418,     0,
5331      419,     0,   420,   421,    40,     0,   302,   303,   304,   305,
5332      306,   307,   308,     0,    43,    44,    45,     0,     0,   422,
5333        0,   423,   424,     0,   909,  -743,     1,   291,   100,   313,
5334      314,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5335        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5336        0,     2,   194,   195,   196,   197,   198,     8,     9,    10,
5337       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5338       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5339        0,     0,     0,     0,     0,     0,     0,     0,   295,    27,
5340        0,   410,     0,     0,   296,   297,     0,    28,    29,     0,
5341        0,   411,    32,   412,   413,    35,    36,     0,   392,    38,
5342       39,   414,     0,     0,   415,   416,   417,   418,     0,   419,
5343        0,   420,   421,    40,     0,   302,   303,   304,   305,   306,
5344      307,   308,     0,    43,    44,    45,     0,     0,   422,     0,
5345      423,   424,     0,   912,  -745,     1,   291,   100,   313,   314,
5346        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5347        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5348        2,   194,   195,   196,   197,   198,     8,     9,    10,    11,
5349       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5350       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5351        0,     0,     0,     0,     0,     0,     0,   295,    27,     0,
5352      410,     0,     0,   296,   297,     0,    28,    29,     0,     0,
5353      411,    32,   412,   413,    35,    36,     0,   392,    38,    39,
5354      414,     0,     0,   415,   416,   417,   418,     0,   419,     0,
5355      420,   421,    40,     0,   302,   303,   304,   305,   306,   307,
5356      308,     0,    43,    44,    45,     0,     0,   422,     0,   423,
5357      424,     0,  1549,  -746,     1,   291,   100,   313,   314,     0,
5358        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5359        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5360      194,   195,   196,   197,   198,     8,     9,    10,    11,    12,
5361       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5362       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5363        0,     0,     0,     0,     0,     0,   295,    27,     0,   410,
5364        0,     0,   296,   297,     0,    28,    29,     0,     0,   411,
5365       32,   412,   413,    35,    36,     0,   392,    38,    39,   414,
5366        0,     0,   415,   416,   417,   418,     0,   419,     0,   420,
5367      421,    40,     0,   302,   303,   304,   305,   306,   307,   308,
5368        0,    43,    44,    45,     0,     0,   422,     0,   423,   424,
5369        0,   909,  1550,     1,   291,   100,   313,   314,     0,     0,
5370        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5371        0,     0,     0,     0,     0,     0,     0,     0,     2,   194,
5372      195,   196,   197,   198,     8,     9,    10,    11,    12,    13,
5373       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5374       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5375        0,     0,     0,     0,     0,   295,    27,     0,   410,     0,
5376        0,   296,   297,     0,    28,    29,     0,     0,   411,    32,
5377      412,   413,    35,    36,     0,   392,    38,    39,   414,     0,
5378        0,   415,   416,   417,   418,     0,   419,     0,   420,   421,
5379       40,     0,   302,   303,   304,   305,   306,   307,   308,     0,
5380       43,    44,    45,     0,     0,   422,     0,   423,   424,     0,
5381      912,  -668,     1,   291,   100,   313,   314,     0,     0,     0,
5382        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5383        0,     0,     0,     0,     0,     0,     0,     2,   194,   195,
5384      196,   197,   198,     8,     9,    10,    11,    12,    13,    14,
5385       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5386        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5387        0,     0,     0,     0,   295,    27,     0,   410,     0,     0,
5388      296,   297,     0,    28,    29,     0,     0,   411,    32,   412,
5389      413,    35,    36,     0,   392,    38,    39,   414,     0,     0,
5390      415,   416,   417,   418,     0,   419,     0,   420,   421,    40,
5391        0,   302,   303,   304,   305,   306,   307,   308,     0,    43,
5392       44,    45,     0,     0,   422,     0,   423,   424,     0,   909,
5393     -669,     1,   291,   100,   313,   314,     0,     0,     0,     0,
5394        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5395        0,     0,     0,     0,     0,     0,     2,   194,   195,   196,
5396      197,   198,     8,     9,    10,    11,    12,    13,    14,    15,
5397       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5398        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5399        0,     0,     0,   295,    27,     0,   410,     0,     0,   296,
5400      297,     0,    28,    29,     0,     0,   411,    32,   412,   413,
5401       35,    36,     0,   392,    38,    39,   414,     0,     0,   415,
5402      416,   417,   418,     0,   419,     0,   420,   421,    40,     0,
5403      302,   303,   304,   305,   306,   307,   308,     0,    43,    44,
5404       45,     0,     0,   422,     0,   423,   424,     0,   912,  -748,
5405        1,   291,   100,   313,   314,     0,     0,     0,     0,     0,
5406        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5407        0,     0,     0,     0,     0,     2,   194,   195,   196,   197,
5408      198,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5409       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5410        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5411        0,     0,   295,    27,     0,   410,     0,     0,   296,   297,
5412        0,    28,    29,     0,     0,   411,    32,   412,   413,    35,
5413       36,     0,   392,    38,    39,   414,     0,     0,   415,   416,
5414      417,   418,     0,   419,     0,   420,   421,    40,     0,   302,
5415      303,   304,   305,   306,   307,   308,     0,    43,    44,    45,
5416        0,     0,   422,     0,   423,   424,     0,   909,  -749,     1,
5417      291,   100,   313,   314,     0,     0,     0,     0,     0,     0,
5418        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5419        0,     0,     0,     0,     2,   194,   195,   196,   197,   198,
5420        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5421       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5422        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5423        0,   295,    27,     0,   410,     0,     0,   296,   297,     0,
5424       28,    29,     0,     0,   411,    32,   412,   413,    35,    36,
5425        0,   392,    38,    39,   414,     0,     0,   415,   416,   417,
5426      418,     0,   419,     0,   420,   421,    40,     0,   302,   303,
5427      304,   305,   306,   307,   308,     0,    43,    44,    45,     0,
5428        0,   422,     0,   423,   424,     0,   912,  -661,     1,   291,
5429      100,   313,   314,     0,     0,     0,     0,     0,     0,     0,
5430        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5431        0,     0,     0,     2,   194,   195,   196,   197,   198,     8,
5432        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5433       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5434        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5435      295,    27,     0,   410,     0,     0,   296,   297,     0,    28,
5436       29,     0,     0,   411,    32,   412,   413,    35,    36,     0,
5437      392,    38,    39,   414,     0,     0,   415,   416,   417,   418,
5438        0,   419,     0,   420,   421,    40,     0,   302,   303,   304,
5439      305,   306,   307,   308,     0,    43,    44,    45,     0,     0,
5440      422,     0,   423,   424,     0,   909,  -662,     1,   291,   100,
5441      313,   314,     0,     0,     0,     0,     0,     0,     0,     0,
5442        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5443        0,     0,     2,   194,   195,   196,   197,   198,     8,     9,
5444       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5445       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5446        0,     0,     0,     0,     0,     0,     0,     0,     0,   295,
5447       27,     0,   410,     0,     0,   296,   297,     0,    28,    29,
5448        0,     0,   411,    32,   412,   413,    35,    36,     0,   392,
5449       38,    39,   414,     0,     0,   415,   416,   417,   418,     0,
5450      419,     0,   420,   421,    40,     0,   302,   303,   304,   305,
5451      306,   307,   308,     0,    43,    44,    45,     0,     0,   422,
5452        0,   423,   424,     0,   912,  -657,     1,   291,   100,   313,
5453      314,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5454        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5455        0,     2,   194,   195,   196,   197,   198,     8,     9,    10,
5456       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5457       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5458        0,     0,     0,     0,     0,     0,     0,     0,   295,    27,
5459        0,   410,     0,     0,   296,   297,     0,    28,    29,     0,
5460        0,   411,    32,   412,   413,    35,    36,     0,   392,    38,
5461       39,   414,     0,     0,   415,   416,   417,   418,     0,   419,
5462        0,   420,   421,    40,     0,   302,   303,   304,   305,   306,
5463      307,   308,     0,    43,    44,    45,     0,     0,   422,     0,
5464      423,   424,     0,   909,  -658,     1,   291,   100,   313,   314,
5465        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5466        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5467        2,   194,   195,   196,   197,   198,     8,     9,    10,    11,
5468       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5469       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5470        0,     0,     0,     0,     0,     0,     0,   295,    27,     0,
5471      410,     0,     0,   296,   297,     0,    28,    29,     0,     0,
5472      411,    32,   412,   413,    35,    36,     0,   392,    38,    39,
5473      414,     0,     0,   415,   416,   417,   418,     0,   419,     0,
5474      420,   421,    40,     0,   302,   303,   304,   305,   306,   307,
5475      308,     0,    43,    44,    45,     0,     0,   422,     0,   423,
5476      424,     0,   912,  -647,     1,   291,   100,   313,   314,     0,
5477        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5478        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5479      194,   195,   196,   197,   198,     8,     9,    10,    11,    12,
5480       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5481       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5482        0,     0,     0,     0,     0,     0,   295,    27,     0,   410,
5483        0,     0,   296,   297,     0,    28,    29,     0,     0,   411,
5484       32,   412,   413,    35,    36,     0,   392,    38,    39,   414,
5485        0,     0,   415,   416,   417,   418,     0,   419,     0,   420,
5486      421,    40,     0,   302,   303,   304,   305,   306,   307,   308,
5487        0,    43,    44,    45,     0,     0,   422,     0,   423,   424,
5488        0,   909,  -648,     1,   291,   100,   313,   314,     0,     0,
5489        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5490        0,     0,     0,     0,     0,     0,     0,     0,     2,   194,
5491      195,   196,   197,   198,     8,     9,    10,    11,    12,    13,
5492       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5493       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5494        0,     0,     0,     0,     0,   295,    27,     0,   410,     0,
5495        0,   296,   297,     0,    28,    29,     0,     0,   411,    32,
5496      412,   413,    35,    36,     0,   392,    38,    39,   414,     0,
5497        0,   415,   416,   417,   418,     0,   419,     0,   420,   421,
5498       40,     0,   302,   303,   304,   305,   306,   307,   308,     0,
5499       43,    44,    45,     0,     0,   422,     0,   423,   424,     0,
5500      912,  -642,     1,   291,   100,   313,   314,     0,     0,     0,
5501        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5502        0,     0,     0,     0,     0,     0,     0,     2,   194,   195,
5503      196,   197,   198,     8,     9,    10,    11,    12,    13,    14,
5504       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5505        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5506        0,     0,     0,     0,   295,    27,     0,   410,     0,     0,
5507      296,   297,     0,    28,    29,     0,     0,   411,    32,   412,
5508      413,    35,    36,     0,   392,    38,    39,   414,     0,     0,
5509      415,   416,   417,   418,     0,   419,     0,   420,   421,    40,
5510        0,   302,   303,   304,   305,   306,   307,   308,     0,    43,
5511       44,    45,     0,     0,   422,     0,   423,   424,     0,   909,
5512     -643,     1,   291,   100,   313,   314,     0,     0,     0,     0,
5513        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5514        0,     0,     0,     0,     0,     0,     2,   194,   195,   196,
5515      197,   198,     8,     9,    10,    11,    12,    13,    14,    15,
5516       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5517        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5518        0,     0,     0,   295,    27,     0,   410,     0,     0,   296,
5519      297,     0,    28,    29,     0,     0,   411,    32,   412,   413,
5520       35,    36,     0,   392,    38,    39,   414,     0,     0,   415,
5521      416,   417,   418,     0,   419,     0,   420,   421,    40,     0,
5522      302,   303,   304,   305,   306,   307,   308,     0,    43,    44,
5523       45,     0,     0,   422,     0,   423,   424,     0,   912,  -659,
5524        1,   291,   100,   313,   314,     0,     0,     0,     0,     0,
5525        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5526        0,     0,     0,     0,     0,     2,   194,   195,   196,   197,
5527      198,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5528       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5529        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5530        0,     0,   295,    27,     0,   410,     0,     0,   296,   297,
5531        0,    28,    29,     0,     0,   411,    32,   412,   413,    35,
5532       36,     0,   392,    38,    39,   414,     0,     0,   415,   416,
5533      417,   418,     0,   419,     0,   420,   421,    40,     0,   302,
5534      303,   304,   305,   306,   307,   308,     0,    43,    44,    45,
5535        0,     0,   422,     0,   423,   424,     0,   290,  -660,     1,
5536      291,   100,   313,   314,     0,     0,     0,     0,     0,     0,
5537        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5538        0,     0,     0,     0,     2,   194,   195,   196,   197,   198,
5539        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5540       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5541        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5542        0,   295,    27,     0,   410,     0,     0,   296,   297,     0,
5543       28,    29,     0,     0,   411,    32,   412,   413,    35,    36,
5544        0,   392,    38,    39,   414,     0,     0,   415,   416,   417,
5545      418,     0,   419,     0,   420,   421,    40,     0,   302,   303,
5546      304,   305,   306,   307,   308,     0,    43,    44,    45,     0,
5547        0,   422,     0,   423,   424,   409,     0,     1,   291,   100,
5548        0,   313,   314,     0,     0,     0,     0,     0,     0,     0,
5549        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5550        0,     0,     2,   194,   195,   196,   197,   198,     8,     9,
5551       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5552       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5553        0,     0,     0,     0,     0,     0,     0,     0,     0,   295,
5554       27,     0,   410,     0,     0,   296,   297,     0,    28,    29,
5555        0,     0,   411,    32,   412,   413,    35,    36,     0,   392,
5556       38,    39,   414,     0,     0,   415,   416,   417,   418,     0,
5557      419,     0,   420,   421,    40,     0,   302,   303,   304,   305,
5558      306,   307,   308,     0,    43,    44,    45,     0,     0,   422,
5559        0,   423,   424,   475,     0,     1,   291,   100,     0,   313,
5560      314,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5561        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5562        2,   194,   195,   196,   197,   198,     8,     9,    10,    11,
5563       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5564       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5565        0,     0,     0,     0,     0,     0,     0,   295,    27,     0,
5566      410,     0,     0,   296,   297,     0,    28,    29,     0,     0,
5567      411,    32,   412,   413,    35,    36,     0,   392,    38,    39,
5568      414,     0,     0,   415,   416,   417,   418,     0,   419,     0,
5569      420,   421,    40,     0,   302,   303,   304,   305,   306,   307,
5570      308,     0,    43,    44,    45,     0,   193,   422,     1,   423,
5571      424,     0,     0,     0,     0,     0,     0,   313,   314,     0,
5572        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5573        0,     0,     0,     2,   194,   195,   196,   197,   198,     8,
5574        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5575       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5576        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5577      199,    27,     0,     0,     0,     0,     0,     0,     0,    28,
5578       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
5579       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
5580        0,     0,     0, -1223,     0,    40,     0,     0,     0,     0,
5581        0,     0,     0,     0,     0,    43,    44,    45,     0,     0,
5582      851,  1036,     0,     0,     0,     0,     0,     0,     0,     0,
5583        0,   552, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223,
5584    -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223,
5585    -1223, -1223, -1223, -1223,     0, -1223, -1223, -1223, -1223, -1223,
5586    -1223, -1223, -1223, -1223, -1223, -1223,     0,     0,     0, -1223,
5587        0, -1223,     0,     0,     0,     0,     0, -1223, -1223,     0,
5588        0, -1223, -1223, -1223, -1223, -1223, -1223,     0,     0, -1223,
5589    -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223,     0, -1223,
5590    -1208,     0, -1223, -1223,     0,     0,     0,     0,     0,     0,
5591        0,     0,     0, -1223, -1223,     0,     0,     0,     0,     0,
5592        0, -1223,     0,     0, -1223, -1223,     0, -1223,     0, -1208,
5593    -1208, -1208, -1208, -1208, -1208, -1208, -1208, -1208, -1208, -1208,
5594    -1208, -1208, -1208, -1208, -1208, -1208, -1208, -1208, -1208, -1208,
5595    -1208,     0, -1208, -1208, -1208, -1208, -1208, -1208, -1208, -1208,
5596    -1208, -1208, -1208,     0,     0,     0, -1208,     0, -1208,     0,
5597        0,     0,     0,     0, -1208, -1208,     0,     0, -1208, -1208,
5598    -1208, -1208, -1208, -1208,     0,     0, -1208, -1208, -1208, -1208,
5599    -1208, -1208, -1208, -1208, -1208,     0, -1208, -1210,     0, -1208,
5600    -1208,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5601    -1208, -1208,     0,     0,     0,     0,     0,     0, -1208,     0,
5602        0, -1208, -1208,     0, -1208,     0, -1210, -1210, -1210, -1210,
5603    -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210,
5604    -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210,     0, -1210,
5605    -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210, -1210,
5606        0,     0,     0, -1210,     0, -1210,     0,     0,     0,     0,
5607        0, -1210, -1210,     0,     0, -1210, -1210, -1210, -1210, -1210,
5608    -1210,     0,     0, -1210, -1210, -1210, -1210, -1210, -1210, -1210,
5609    -1210, -1210,     0, -1210, -1207,     0, -1210, -1210,     0,     0,
5610        0,     0,     0,     0,     0,     0,     0, -1210, -1210,     0,
5611        0,     0,     0,     0,     0, -1210,     0,     0, -1210, -1210,
5612        0, -1210,     0, -1207, -1207, -1207, -1207, -1207, -1207, -1207,
5613    -1207, -1207, -1207, -1207, -1207, -1207, -1207, -1207, -1207, -1207,
5614    -1207, -1207, -1207, -1207, -1207,     0, -1207, -1207, -1207, -1207,
5615    -1207, -1207, -1207, -1207, -1207, -1207, -1207,     0,     0,     0,
5616    -1207,     0, -1207,     0,     0,     0,     0,     0, -1207, -1207,
5617        0,     0, -1207, -1207, -1207, -1207, -1207, -1207,     0,     0,
5618    -1207, -1207, -1207, -1207, -1207, -1207, -1207, -1207, -1207,     0,
5619    -1207, -1209,     0, -1207, -1207,     0,     0,     0,     0,     0,
5620        0,     0,     0,     0, -1207, -1207,     0,     0,     0,     0,
5621        0,     0,     0,     0,     0, -1207, -1207,     0, -1207,     0,
5622    -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209,
5623    -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209,
5624    -1209, -1209,     0, -1209, -1209, -1209, -1209, -1209, -1209, -1209,
5625    -1209, -1209, -1209, -1209,     0,     0,     0, -1209,     0, -1209,
5626        0,     0,     0,     0,     0, -1209, -1209,     0,     0, -1209,
5627    -1209, -1209, -1209, -1209, -1209,     0,     0, -1209, -1209, -1209,
5628    -1209, -1209, -1209, -1209, -1209, -1209,     0, -1209,     0,     0,
5629    -1209, -1209,     1,     0,     0,     0,     0,     0,     0,     0,
5630        0, -1209, -1209,     0,     0,     0,     0,     0,     0,     0,
5631        0,     0, -1209, -1209,     0, -1209,     0,     2,   194,   195,
5632      196,   197,   198,     8,     9,    10,    11,    12,    13,    14,
5633       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5634        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5635        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
5636        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5637        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5638        0,     0,     0,     0,     0,     0,     0,     0,     0,    40,
5639        0,     1,     0,     0,     0,     0,     0,     0,     0,    43,
5640       44,    45,     0,     0,   851,     0,     0,     0,     0,     0,
5641        0,     0,     0,     0,     0,   552,     2,   194,   195,   196,
5642      197,   198,   226,   227,   228,   229,   230,   231,   232,   233,
5643      234,   235,    18,    19,   236,   237,    22,    23,    24,     0,
5644        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5645        0,     0,     0,     0,   238,     0,     0,     0,     0,     0,
5646        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
5647        0,     0,     0,   239,    38,   240,     0,     0,     0,     0,
5648        0,     0,     0,     0,     0,     0,     0,     0,   241,     0,
5649        1,     0,     0,     0,     0,     0,     0,     0,    43,    44,
5650       45,     0,     0,   851,     0,     0,     0,     0,     0,     0,
5651     1447,     0,     0,     0,   552,     2,   194,   195,   196,   197,
5652      198,   226,   227,   228,   229,   230,   231,   232,   233,   234,
5653      235,    18,    19,   236,   237,    22,    23,    24,     0,     0,
5654        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5655        0,     0,     0,   238,     0,     0,     0,     0,     0,     0,
5656        0,    28,    29,     0,     0,     0,    32,     0,     0,     0,
5657        0,     0,   239,    38,   240,     0,     0,     0,     0,     0,
5658        0,     0,     0,     0,     0,     0,     0,   241,     0,     1,
5659        0,     0,     0,     0,     0,     0,     0,    43,    44,    45,
5660        0,     0,  1212,     0,     0,     0,     0,     0,     0,     0,
5661        0,     0,     0,  1213,     2,   194,   195,   196,   197,   198,
5662      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
5663       18,    19,   236,   237,    22,    23,    24,     0,     0,     0,
5664        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5665        0,     0,   238,     0,     0,     0,     0,     0,     0,     0,
5666       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
5667        0,   239,    38,   240,     0,     0,     0,     0,     0,     0,
5668        0,     0,     0,     0,     0,     0,   241,     0,     1,     0,
5669        0,     0,     0,     0,     0,     0,    43,    44,    45,     0,
5670        0,  1212,     0,     0,     0,     0,     0,     0,     0,     0,
5671        0,     0,  1235,     2,   194,   195,   196,   197,   198,   226,
5672      227,   228,   229,   230,   231,   232,   233,   234,   235,    18,
5673       19,   236,   237,    22,    23,    24,     0,     0,     0,     0,
5674        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5675        0,   238,     0,     0,     0,     0,     0,     0,     0,    28,
5676       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
5677      239,    38,   240,     0,     0,     0,     0,     0,     0,     0,
5678        0,     0,     0,     0,     0,   241,     0,     1,     0,     0,
5679        0,     0,     0,     0,     0,    43,    44,    45,     0,     0,
5680     1212,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5681        0,  1704,     2,   194,   195,   196,   197,   198,   226,   227,
5682      228,   229,   230,   231,   232,   233,   234,   235,    18,    19,
5683      236,   237,    22,    23,    24,     0,     0,     0,     0,     0,
5684        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5685      238,     0,     0,     0,     0,     0,     0,     0,    28,    29,
5686        0,     0,     0,    32,     0,     0,     0,     0,     0,   239,
5687       38,   240,     0,     0,     0,     0,     0,     0,     0,     0,
5688        0,     0,     0,     0,   241,     0,     1,     0,     0,     0,
5689        0,     0,     0,     0,    43,    44,    45,     0,     0,  1212,
5690        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5691     1719,     2,     3,     4,   261,     6,     7,     8,     9,    10,
5692       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5693       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5694        0,     0,     0,     0,     0,     0,     0,     0,    26,    27,
5695        0,     0,     0,     0,     0,     0,     0,    28,    29,   262,
5696       31,     0,    32,     0,     0,    35,    36,     0,    37,    38,
5697       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5698        0,     0,     0,    40,     1,     0,     0,     0,    42,     0,
5699        0,     0,     0,    43,    44,    45,     0,     0,    46,     0,
5700        0,     0,     0,     0,     0,     0,     0,   263,     0,     2,
5701      194,   195,   196,   197,   198,     8,     9,    10,    11,    12,
5702       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5703       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5704        0,     0,     0,     0,     0,     0,     0,    27,     0,   410,
5705        0,     0,     0,     0,     0,    28,    29,     0,     0,   411,
5706       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
5707        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5708        0,    40,     1,     0,     0,     0,     0,     0,     0,     0,
5709        0,    43,    44,    45,     0,     0,   937,     0,   423,     0,
5710        0,     0,     0,     0,     0,   938,     0,     2,   194,   195,
5711      196,   197,   198,     8,     9,    10,   550,    12,    13,    14,
5712       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5713        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5714        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
5715        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5716        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5717        0,     0,     0,     0,     0,     0,     0,     0,     0,    40,
5718        1,     0,     0,     0,     0,     0,     0,     0,     0,    43,
5719       44,    45,     0,     0,   917,     0,     0,     0,     0,     0,
5720        0,     0,     0,   918,     0,     2,   194,   195,   196,   197,
5721      198,     8,     9,    10,   550,    12,    13,    14,    15,    16,
5722       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5723        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5724        0,     0,     0,    27,     0,     0,     0,     0,     0,     0,
5725        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
5726       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
5727        0,     0,     0,     0,     0,  1514,     0,    40,     0,     0,
5728        0,     0,     0,     0,     0,     0,     0,    43,    44,    45,
5729        0,     0,    46,     0,     0,     0,     0,     0,     0,     0,
5730        0,   918,   -65,   -65,   -65,   -65,   -65,   -65,   -65,   -65,
5731      -65,   -65,   -65,   -65,   -65,   -65,   -65,   -65,   -65,   -65,
5732      -65,   -65,   -65,   -65,   -65,     0,     0,     0,     0,     0,
5733        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5734      -65,     0,     0,     0,     0,     0,     0,     0,   -65,   -65,
5735        0,     0,     0,   -65,     0,     0,     0,     0,     0,   -65,
5736      -65,   -65,     0,     0,     0,     0,     0,     0,     0,  1735,
5737        0,     0,     0,     0,   -65,     0,     0,     0,     0,     0,
5738        0,     0,     0,     0,   -65,   -65,     0,     0,     0,     0,
5739        0,     0,  1515,     0,  1516,   -65,     2,   194,   195,   196,
5740      197,   198,   226,   227,   228,   229,   230,   231,   232,   233,
5741      234,   235,    18,    19,   236,   237,    22,    23,    24,     0,
5742        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5743        0,     0,     0,     0,   238,     0,     0,     0,     0,     0,
5744        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
5745        0,     0,     0,   239,    38,   240,     0,     0,     0,     0,
5746        0,     0,     0,  1736,     0,     0,     0,     0,   241,     0,
5747        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
5748        0,     0,     0,     0,     0,     0,     0,     0,     0,   -94,
5749        2,   194,   195,   196,   197,   198,   226,   227,   228,   229,
5750      230,   231,   232,   233,   234,   235,    18,    19,   236,   237,
5751       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5752        0,     0,     0,     0,     0,     0,     0,     0,   238,     0,
5753        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
5754        0,    32,     0,     0,     0,     0,     0,   239,    38,   240,
5755        0,     0,     0,     0,     0,     0,     0,  1842,     0,     0,
5756        0,     0,   241,     0,     0,     0,     0,     0,     0,     0,
5757        0,     0,    43,    44,     0,     0,     0,     0,     0,     0,
5758        0,     0,     0,   -95,     2,   194,   195,   196,   197,   198,
5759      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
5760       18,    19,   236,   237,    22,    23,    24,     0,     0,     0,
5761        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5762        0,     0,   238,     0,     0,     0,     0,     0,     0,     0,
5763       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
5764        0,   239,    38,   240,     0,     0,     0,     0,     0,     0,
5765        0,  1989,     0,     0,     0,     0,   241,     0,     0,     0,
5766        0,     0,     0,     0,     0,     0,    43,    44,     0,     0,
5767        0,     0,     0,     0,     0,     0,     0,   -79,     2,   194,
5768      195,   196,   197,   198,   226,   227,   228,   229,   230,   231,
5769      232,   233,   234,   235,    18,    19,   236,   237,    22,    23,
5770       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5771        0,     0,     0,     0,     0,     0,   238,     0,     0,     0,
5772        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
5773        0,     0,     0,     0,     0,   239,    38,   240,     0,     0,
5774        0,     0,     0,     0, -1289,   280,     0,     1,     0,     0,
5775      241,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5776       43,    44,     0,     0,     0,     0,     0,     0,     0,     0,
5777        0,   -86,     2,     3,     4,     5,     6,     7,     8,     9,
5778       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5779       20,    21,    22,    23,    24,     0,     0,    25,     0,     0,
5780        0,     0,     0,     0,     0,     0,     0,     0,     0,    26,
5781       27,     0,     0,     0,     0,     0,     0,     0,    28,    29,
5782       30,    31,     0,    32,    33,    34,    35,    36,     0,    37,
5783       38,    39,     0,     0,     0,     0,     0,     0,     1,     0,
5784        0,     0,     0,     0,    40,    41,     0,     0,     0,    42,
5785        0,     0,     0,     0,    43,    44,    45,     0,     0,    46,
5786        0,     0,    47,     2,   194,   195,   196,   197,   198,     8,
5787        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5788       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5789        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5790        0,    27,     0,     0,     0,     0,     0,     0,     0,    28,
5791       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
5792       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
5793        0,     0,     1,     0,     0,    40,     0,     0,     0,     0,
5794        0,     0,   821,     0,     0,    43,    44,     0,     0,     0,
5795        0,     0,     0,     0,     0,     0,  1406,     2,   194,   195,
5796      196,   197,   198,     8,     9,    10,    11,    12,    13,    14,
5797       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5798        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5799        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
5800        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5801        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5802        0,     0,     0,     0,     0,     0,     1,     0,     0,    40,
5803        0,     0,     0,     0,     0,     0,   821,     0,     0,    43,
5804       44,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5805     1762,     2,   194,   195,   196,   197,   198,     8,     9,    10,
5806       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5807       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5808        0,     0,     0,     0,     0,     0,     0,     0,     0,    27,
5809        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5810        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
5811       39,     0,     0,     0,     0,     0,     0,     0,   159,     0,
5812        1,     0,     0,    40,     0,     0,     0,     0,     0,     0,
5813      821,     0,     0,    43,    44,     0,     0,     0,     0,     0,
5814        0,     0,     0,     0,  1763,     2,     3,     4,   160,     6,
5815        7,     8,     9,    10,   161,   162,    13,    14,    15,    16,
5816       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5817        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5818        0,     0,    26,    27,     0,     0,     0,     0,     0,     0,
5819        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
5820       36,     0,    37,    38,    39,     0,     0,     0,     0,   159,
5821        0,     1,     0,     0,     0,     0,     0,    40,     0,     0,
5822        0,     0,     0,     0,     0,     0,     0,    43,    44,    45,
5823        0,     0,    46,     0,     0,   163,     2,     3,     4,   160,
5824        6,     7,     8,     9,    10,   161,   162,    13,    14,    15,
5825       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5826        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5827        0,     0,     0,     0,    27,     0,     0,     0,     0,     0,
5828        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
5829       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
5830      590,     0,     1,     0,     0,     0,     0,     0,    40,     0,
5831        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
5832       45,     0,     0,    46,     0,     0,   163,     2,   194,   195,
5833      196,   197,   198,   226,   227,   228,   591,   592,   231,   232,
5834      233,   234,   235,    18,    19,   236,   237,    22,    23,    24,
5835        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5836        0,     0,     0,     0,     0,   238,     0,     0,     0,     0,
5837        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5838        0,     0,     0,     0,   239,    38,   240,     0,     0,     0,
5839        0,  -927,     0,  -927,     0,     0,     0,     0,     0,   241,
5840        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
5841       44,    45,     0,     0,    46,     0,     0,   593,  -927,  -927,
5842     -927,  -927,  -927,  -927,  -927,  -927,  -927,  -927,  -927,  -927,
5843     -927,  -927,  -927,  -927,  -927,  -927,  -927,  -927,  -927,  -927,
5844     -927,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5845        0,     0,     0,     0,     0,     0,  -927,     0,     0,     0,
5846        0,     0,     0,     0,  -927,  -927,     0,     0,     0,  -927,
5847        0,     0,     0,     0,     0,  -927,  -927,  -927,     0,     0,
5848        0,     0,     0,     0,     1,     0,     0,     0,     0,     0,
5849     -927,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5850     -927,  -927,  -927,     0,     0,  -927,     0,     0,  -927,     2,
5851        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
5852       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5853       23,    24,     0,     0,    25,     0,     0,     0,     0,     0,
5854        0,     0,     0,     0,     0,     0,    26,    27,     0,     0,
5855        0,     0,     0,     0,     0,    28,    29,    30,    31,     0,
5856       32,    33,    34,    35,    36,     0,    37,    38,    39,     0,
5857        0,     0, -1290,   272,     0,     1,     0,     0,     0,     0,
5858        0,    40,    41,     0,     0,     0,    42,     0,     0,     0,
5859        0,    43,    44,    45,     0,     0,    46,     0,     0,    47,
5860        2,     3,     4,   160,     6,     7,     8,     9,    10,    11,
5861       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5862       22,    23,    24,     0,     0,    25,     0,     0,     0,     0,
5863        0,     0,     0,     0,     0,     0,     0,    26,    27,     0,
5864        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
5865        0,    32,    33,    34,    35,    36,     0,    37,    38,    39,
5866        0,   193,     0,     1,     0,     0,     0,     0,     0,     0,
5867        0,     0,    40,     0,     0,     0,     0,     0,     0,     0,
5868        0,     0,    43,    44,    45,     0,     0,    46,     2,   194,
5869      195,   196,   197,   198,     8,     9,    10,    11,    12,    13,
5870       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5871       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5872        0,     0,     0,     0,     0,   199,    27,     0,     0,     0,
5873        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
5874        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
5875      193,     0,     1,     0,     0,     0,     0,     0,     0,     0,
5876       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5877       43,    44,    45,     0,     0,  1212,  1691,     2,   194,   195,
5878      196,   197,   198,     8,     9,    10,    11,    12,    13,    14,
5879       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5880        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5881        0,     0,     0,     0,   199,    27,     0,     0,     0,     0,
5882        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5883        0,    35,    36,     0,    37,    38,    39,     0,     0,   193,
5884        0,     1,     0,     0,     0,     0,     0,     0,     0,    40,
5885        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
5886       44,     0,     0,     0,     0,   200,     2,   194,   195,   196,
5887      197,   198,     8,     9,    10,    11,    12,    13,    14,    15,
5888       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5889        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5890        0,     0,     0,   199,    27,     0,     0,     0,     0,     0,
5891        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
5892       35,    36,     0,    37,    38,    39,     0,     0,   930,     0,
5893        1,     0,     0,     0,     0,     0,     0,     0,    40,     0,
5894        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
5895        0,     0,     0,     0,   375,     2,   194,   195,   196,   197,
5896      198,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5897       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5898        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5899        0,     0,   199,    27,     0,     0,     0,     0,     0,     0,
5900        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
5901       36,     0,    37,    38,    39,     0,     0,  1472,     0,     1,
5902        0,     0,     0,     0,     0,     0,     0,    40,     0,     0,
5903        0,     0,     0,     0,     0,     0,     0,    43,    44,     0,
5904        0,     0,     0,   200,     2,   194,   195,   196,   197,   198,
5905        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5906       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5907        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5908        0,   199,    27,     0,     0,     0,     0,     0,     0,     0,
5909       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
5910        0,    37,    38,    39,     0,     0,   193,     0,     1,     0,
5911        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
5912        0,     0,     0,     0,     0,     0,    43,    44,     0,     0,
5913        0,     0,   375,     2,   194,   195,   196,   197,   198,     8,
5914        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5915       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5916        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5917      199,    27,     0,     0,     0,     0,     0,     0,     0,    28,
5918       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
5919       37,    38,    39,     0,     0,   193,     0,     1,     0,     0,
5920        0,     0,     0,     0,     0,    40,     0,     0,     0,     0,
5921        0,     0,     0,     0,     0,    43,    44,     0,     0,     0,
5922        0,  1564,     2,   194,   195,   196,   197,   198,     8,     9,
5923       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5924       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5925        0,     0,     0,     0,     0,     0,     0,     0,     0,   199,
5926       27,     0,     0,     0,     0,     0,     0,     0,    28,    29,
5927        0,     0,     0,    32,     0,     0,    35,    36,     0,    37,
5928       38,    39,     0,     0,   159,     0,     1,     0,     0,     0,
5929        0,     0,     0,     0,    40,     0,     0,     0,     0,     0,
5930        0,     0,     0,     0,    43,    44,     0,     0,     0,     0,
5931     1917,     2,     3,     4,   160,     6,     7,     8,     9,    10,
5932      550,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5933       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5934        0,     0,     0,     0,     0,     0,     0,     0,    26,    27,
5935        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5936        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
5937       39,     0,   159,     0,     1,     0,     0,     0,     0,     0,
5938        0,     0,     0,    40,     0,     0,     0,     0,     0,     0,
5939        0,     0,     0,    43,    44,    45,     0,     0,    46,     2,
5940        3,     4,   160,     6,     7,     8,     9,    10,   550,    12,
5941       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5942       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5943        0,     0,     0,     0,     0,     0,     0,    27,     0,     0,
5944        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
5945       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
5946      875,     0,     1,     0,     0,     0,     0,     0,     0,     0,
5947        0,    40,     0,     0,     0,     0,     0,     0,     0,     0,
5948        0,    43,    44,    45,     0,     0,    46,     2,   194,   195,
5949      196,   197,   198,   226,   227,   228,   229,   230,   231,   232,
5950      233,   234,   235,    18,    19,   236,   237,    22,    23,    24,
5951        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5952        0,     0,     0,     0,     0,   238,     0,     0,     0,     0,
5953        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5954        0,     0,     0,     0,   239,    38,   240,     0,     0,     0,
5955        1,     0,     0,     0,     0,     0,     0,     0,     0,   241,
5956        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
5957       44,     0,     0,     0,   876,     2,     3,     4,   160,     6,
5958        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5959       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5960        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5961        0,     0,    26,    27,     0,     0,     0,     0,     0,     0,
5962        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
5963       36,     0,    37,    38,    39,     0,     0,     0,     1,     0,
5964        0,     0,     0,     0,     0,     0,     0,    40,     0,     0,
5965        0,     0,     0,     0,     0,     0,     0,    43,    44,    45,
5966        0,     0,    46,     2,   194,   195,   196,   197,   198,     8,
5967        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5968       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5969        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5970        0,    27,     0,     0,     0,     0,     0,     0,     0,    28,
5971       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
5972       37,    38,    39,     0,     0,     0,     1,     0,     0,     0,
5973        0,     0,     0,     0,     0,    40,     0,     0,     0,     0,
5974        0,     0,     0,     0,     0,    43,    44,    45,     0,     0,
5975       46,     2,   194,   195,   196,   197,   198,     8,     9,    10,
5976      550,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5977       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5978        0,     0,     0,     0,     0,     0,     0,     0,     0,    27,
5979        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5980        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
5981       39,     0,     0,     0,     1,     0,     0,     0,     0,     0,
5982        0,     0,     0,    40,     0,     0,     0,     0,     0,     0,
5983        0,     0,     0,    43,    44,    45,     0,     0,    46,     2,
5984      194,   195,   196,   197,   198,     8,     9,    10,    11,    12,
5985       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5986       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5987        0,     0,     0,     0,     0,     0,     0,    27,     0,     0,
5988        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
5989       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
5990        0,     0,     1,     0,     0,     0,     0,     0,     0,     0,
5991        0,    40,     0,     0,     0,     0,     0,     0,     0,     0,
5992        0,    43,    44,     0,     0,     0,   713,     2,   194,   195,
5993      196,   197,   198,     8,     9,    10,    11,    12,    13,    14,
5994       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5995        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5996        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
5997        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5998        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5999        1,     0,     0,     0,     0,     0,     0,     0,     0,    40,
6000        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6001       44,     0,     0,     0,  1452,     2,   194,   195,   196,   197,
6002      198,   226,   227,   228,  1536,   230,   231,   232,   233,   234,
6003      235,    18,    19,   236,   237,    22,    23,    24,     0,     0,
6004        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6005        0,     0,     0,   238,     0,     0,     0,     0,     0,     0,
6006        0,    28,    29,     0,     0,     0,    32,     0,     0,     0,
6007        0,     0,   239,    38,   240,     0,  1059,     0,     1,     0,
6008        0,     0,     0,     0,     0,     0,     0,   241,     0,     0,
6009        0,     0,     0,     0,     0,     0,     0,    43,    44,    45,
6010        0,     0,    46,     2,   194,   195,   196,   197,   198,     8,
6011        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
6012       19,    20,    21,    22,    23,    24,  1060,     0,     0,     0,
6013        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6014      199,    27,     0,     0,     0,     0,     0,     0,     0,    28,
6015       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
6016       37,    38,    39,  1065,     0,     1,     0,     0,     0,     0,
6017        0,     0,     0,     0,     0,    40,     0,     0,     0,     0,
6018        0,     0,     0,     0,     0,    43,    44,     0,     0,     0,
6019        2,   194,   195,   196,   197,   198,     8,     9,    10,    11,
6020       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
6021       22,    23,    24,  1066,     0,     0,     0,     0,     0,     0,
6022        0,     0,     0,     0,     0,     0,     0,   199,    27,     0,
6023        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
6024        0,    32,     0,     0,    35,    36,     0,    37,    38,    39,
6025     1071,     0,     1,     0,     0,     0,     0,     0,     0,     0,
6026        0,     0,    40,     0,     0,     0,     0,     0,     0,     0,
6027        0,     0,    43,    44,     0,     0,     0,     2,   194,   195,
6028      196,   197,   198,     8,     9,    10,    11,    12,    13,    14,
6029       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6030     1072,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6031        0,     0,     0,     0,   199,    27,     0,     0,     0,     0,
6032        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6033        0,    35,    36,     0,    37,    38,    39,   860,     0,     1,
6034        0,     0,     0,     0,     0,     0,     0,     0,     0,    40,
6035        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6036       44,     0,     0,     0,     2,   194,   195,   196,   197,   198,
6037      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
6038       18,    19,   236,   237,    22,    23,    24,     0,     0,     0,
6039        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6040        0,     0,   238,     0,     0,     0,     0,     0,     0,     0,
6041       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
6042        0,   239,    38,   240,     1,     0,     0,     0,     0,     0,
6043        0,     0,     0,     0,     0,     0,   241,     0,     0,     0,
6044        0,     0,     0,     0,     0,     0,    43,    44,     0,     2,
6045      194,   195,   196,   197,   198,     8,     9,    10,    11,    12,
6046       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6047       23,    24,  1020,     0,     0,     0,     0,     0,     0,     0,
6048        0,     0,     0,     0,     0,     0,   199,    27,     0,     0,
6049        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6050       32,     0,     0,    35,    36,     0,    37,    38,    39,     1,
6051        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6052        0,    40,     0,     0,     0,     0,     0,     0,     0,     0,
6053        0,    43,    44,     0,     2,   194,   195,   196,   197,   198,
6054        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
6055       18,    19,    20,    21,    22,    23,    24,  1077,     0,     0,
6056        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6057        0,   199,    27,     0,     0,     0,     0,     0,     0,     0,
6058       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
6059        0,    37,    38,    39,     1,     0,     0,     0,     0,     0,
6060        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
6061        0,     0,     0,     0,     0,     0,    43,    44,     0,     2,
6062      194,   195,   196,   197,   198,     8,     9,    10,    11,    12,
6063       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6064       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6065        0,     0,     0,     0,     0,     0,   489,    27,     0,     0,
6066        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6067       32,     0,     0,    35,    36,     0,    37,    38,    39,     1,
6068        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6069        0,    40,     0,     0,     0,     0,     0,     0,     0,     0,
6070        0,    43,    44,     0,     2,   194,   195,   196,   197,   198,
6071        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
6072       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
6073        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6074        0,     0,    27,     0,     0,     0,     0,     0,     0,     0,
6075       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
6076        0,    37,    38,    39,     1,     0,     0,     0,     0,     0,
6077        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
6078        0,     0,     0,   821,     0,     0,    43,    44,     0,     2,
6079      194,   195,   196,   197,   198,     8,     9,    10,    11,    12,
6080       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6081       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6082        0,     0,     0,     0,     0,     0,   199,    27,     0,     0,
6083        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6084       32,     0,     0,    35,    36,     0,    37,    38,    39,     1,
6085        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6086        0,    40,     0,     0,     0,     0,     0,     0,     0,     0,
6087        0,    43,    44,     0,     2,   194,   195,   196,   197,   198,
6088      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
6089       18,    19,   236,   237,    22,    23,    24,     0,     0,     0,
6090        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6091        0,     0,   238,     0,     0,     0,     0,     0,     0,     0,
6092       28,    29,     0,     0,     0,    32,   464,   465,     0,     0,
6093        0,   239,    38,   240,     1,     0,     0,     0,     0,     0,
6094        0,     0,     0,     0,     0,     0,   241,     0,     0,     0,
6095        0,     0,     0,     0,     0,     0,    43,    44,     0,     2,
6096      194,   195,   196,   197,   198,     8,     9,    10,    11,    12,
6097       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6098       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6099        0,     0,     0,     0,     0,     0,     0,    27,     0,     0,
6100        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6101       32,     0,     0,    35,    36,     0,    37,    38,    39,     1,
6102        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6103        0,    40,     0,     0,     0,     0,     0,     0,     0,     0,
6104        0,    43,    44,     0,     2,   194,   195,   196,   197,   198,
6105      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
6106       18,    19,   236,   237,    22,    23,    24,     0,     0,     0,
6107        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6108        0,     0,   238,     0,     0,     0,     0,     0,     0,     0,
6109       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
6110        0,   239,    38,   240,     0,     0,     0,     0,     0,     0,
6111        0,     0,     0,     0,     0,     0,   241,     0,     0,     0,
6112        0,     0,     0,     0,     0,     0,    43,    44,     2,   194,
6113      195,   196,   197,   198,   226,   227,   228,   229,   230,   231,
6114      232,   233,   234,   235,    18,    19,   236,   237,    22,    23,
6115       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6116        0,     0,     0,     0,     0,     0,   238,     0,     0,     0,
6117        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6118        0,     0,     0,     0,     0,   239,    38,   240,     0,     0,
6119        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6120      241,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6121       43,    44,    45,     0,     0,   851,  1688,     0,     0,     0,
6122        0,     0,     0,     0,     0,     0,   552,     2,   194,   195,
6123      196,   197,   198,   226,   227,   228,   229,   230,   231,   232,
6124      233,   234,   235,    18,    19,   236,   237,    22,    23,    24,
6125        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6126        0,     0,     0,     0,     0,   238,     0,     0,     0,     0,
6127        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6128        0,     0,     0,     0,   239,    38,   240,     0,     0,     0,
6129        0,     0,     0,     0,     0,     0,     0,     0,     0,   241,
6130        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6131       44,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6132        0,   242,     2,   194,   195,   196,   197,   198,   226,   227,
6133      228,   229,   230,   231,   232,   233,   234,   235,    18,    19,
6134      236,   237,    22,    23,    24,     0,     0,     0,     0,     0,
6135        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6136      238,     0,     0,     0,     0,     0,     0,     0,    28,    29,
6137        0,     0,     0,    32,     0,     0,     0,     0,     0,   239,
6138       38,   240,     0,     0,     0,     0,     0,     0,     0,     0,
6139        0,     0,     0,     0,   241,     0,     0,     0,     0,     0,
6140        0,     0,     0,     0,    43,    44,     0,     0,     0,     0,
6141        0,     0,     0,     0,     0,  1525,     2,   194,   195,   196,
6142      197,   198,   226,   227,   228,   229,   230,   231,   232,   233,
6143      234,   235,    18,    19,   236,   237,    22,    23,    24,     0,
6144        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6145        0,     0,     0,     0,   238,     0,     0,     0,     0,     0,
6146        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6147        0,     0,     0,   239,    38,   240,     0,     0,     0,     0,
6148        0,     0,     0,     0,     0,     0,     0,     0,   241,     0,
6149        0,     0,     0,     0,     0,     0,     0,     0,    43,    44
6150 };
6151
6152 static const yytype_int16 yycheck[] =
6153 {
6154        0,   627,   916,   126,   850,   712,   916,  1222,   150,  1089,
6155      521,   986,   826,   988,    94,   826,   850,   850,    53,    86,
6156      147,    80,   457,   138,   749,    80,   817,    87,    78,    58,
6157       30,    31,   986,    87,   988,     3,   151,   817,   153,   714,
6158      155,    41,   867,     1,   456,    94,    46,   258,   987,    30,
6159       77,   130,   330,    53,   177,   258,   138,    77,    58,   288,
6160       60,    42,     1,   122,   986,   987,   988,   122,   297,   151,
6161      795,   153,   107,   155,   303,   288,    76,    77,    78,     3,
6162       80,   276,   926,  2111,   297,    85,   948,    87,   330,   122,
6163      303,   122,   795,     3,    94,    95,   460,   521,    98,   456,
6164      566,     1,    77,   180,   181,    77,   986,   107,   988,    87,
6165      110,     5,   784,   180,   181,    87,    94,  1609,     5,     3,
6166      101,   102,   122,     1,   105,   125,   126,     1,   115,  1621,
6167      130,     1,     1,   967,   134,   135,   136,  2165,   138,   168,
6168      812,   115,   142,   541,   144,   113,   114,   147,   148,     1,
6169      150,   151,   152,   153,    77,   155,   735,   192,   158,     1,
6170        3,     3,   741,    73,    87,   744,   124,    17,   168,   994,
6171      113,    94,     1,   571,     3,   126,   574,   177,   576,   122,
6172      578,   258,   121,   129,   130,    28,  1004,    77,    78,   256,
6173        3,   115,   192,     0,    37,     3,   276,     5,   278,     3,
6174      277,     5,   202,   253,   204,   735,   451,   452,   986,     3,
6175      988,   741,   212,   213,   744,    28,   256,   257,   278,     5,
6176        3,   121,   222,     3,   278,   225,   177,   276,     1,   278,
6177        3,   125,   477,   478,     1,   125,   123,     1,   541,   266,
6178      118,   115,   120,     3,   870,     5,   266,   276,   118,   276,
6179      120,   121,   121,   253,   499,   500,   335,   380,   258,   504,
6180      505,   456,   262,   508,   509,   407,   266,     5,   571,   121,
6181       77,   574,   115,   576,     3,   578,   276,     1,   278,   121,
6182       87,   262,  1257,   126,     5,     1,   136,    94,    95,  1264,
6183      314,   266,   121,  1268,     1,     3,   296,     1,     1,     3,
6184      278,   276,   302,  1257,   276,     1,   278,    17,   116,   122,
6185     1264,   311,   116,     3,  1268,     1,   124,  1256,    69,    70,
6186      124,     3,   116,     1,  1263,   749,   120,   406,  1267,   115,
6187      124,     3,   313,   116,  1256,  1257,   116,   372,    28,   374,
6188      120,  1263,  1264,   115,   124,  1267,  1268,     1,   121,  1211,
6189        0,   118,   292,   120,   121,   278,   116,   121,     5,   426,
6190      427,   428,   429,   253,   124,    73,   366,   367,     5,   309,
6191      121,   795,   372,  1865,   374,     3,   266,  1257,     1,   292,
6192      380,   118,   120,    17,  1264,   122,   386,   853,  1268,   118,
6193     1181,   120,  1183,   516,   329,   116,   309,   121,   457,   399,
6194       28,  1181,   457,  1183,   404,   121,   406,   407,   343,   532,
6195      410,   411,   347,   121,   121,   542,   416,   121,   121,   419,
6196      420,   421,   422,   423,     3,   121,   136,    77,     1,   380,
6197        3,   546,   122,   548,   116,   121,     3,    87,   649,   650,
6198      651,   652,    17,   121,    94,    95,   649,   650,   651,   652,
6199      122,   451,   452,   453,   683,   522,   456,   457,   525,   266,
6200      460,   113,   874,   463,   546,     1,   548,   121,   468,   276,
6201      683,   278,   472,   473,   118,  1200,     3,   477,   478,  1257,
6202        1,  1206,   522,   120,  1699,   525,  1264,   682,   923,   489,
6203     1268,   769,   770,   771,   122,   495,   496,  1200,   121,   499,
6204      500,  1581,   136,  1206,   504,   505,    73,     5,   508,   509,
6205      867,   121,   512,   513,   514,  1094,   516,   552,   551,   519,
6206      551,   799,   800,   801,     1,     3,    77,   769,   770,   771,
6207      530,   531,   532,   112,   113,   947,   536,  1212,   120,   112,
6208      113,   541,   542,   122,   126,     3,   546,   120,   548,   549,
6209      585,   551,   552,   553,   121,  1230,   556,   799,   800,   801,
6210        1,   136,  1237,   213,  1094,   516,   566,  1429,   121,   926,
6211      934,   571,   936,   124,   574,  1041,   576,     3,   578,  1425,
6212     1004,   532,   994,     3,   120,   585,  1052,   256,   257,   116,
6213      947,  1425,  1425,  1437,     5,  1409,  1410,   118,  1409,  1410,
6214      677,   678,   682,     1,   411,   122,     3,   124,    28,   649,
6215      650,   651,   652,  1588,   785,   566,   266,   617,   874,   619,
6216      118,  1535,   512,   513,   514,  1535,   276,   627,   278,  1491,
6217        1,     3,  1476,   682,  1588,  1479,   122,   994,     3,   679,
6218      530,   531,   813,   120,   122,   712,     3,   786,  1587,   649,
6219      650,   651,   652,     3,   130,   682,   297,   651,   652,   121,
6220     1058,   311,   303,  1509,   122,  1587,  1588,   667,   668,  1502,
6221      787,  1504,   867,     1,   112,   814,   676,   118,  1076,     7,
6222        8,     9,   682,   664,   665,     7,     8,     9,     1,   689,
6223      120,   947,     3,  1908,     5,   115,   122,   127,   815,   778,
6224      779,   636,   781,   703,   639,   116,     3,   682,  1588,     3,
6225      710,   711,   712,   713,   714,   715,  1140,    28,   116,   116,
6226     1144,   721,   120,  1147,  1542,  1149,   115,   806,   807,   808,
6227      809,   372,   732,   374,    11,     3,   717,   718,   719,   763,
6228      112,   113,     0,   115,   115,   116,   746,   112,   113,   120,
6229      750,     1,   947,     3,   404,  1058,     3,   122,     3,   116,
6230       28,  1064,   112,   113,    10,    11,   790,  1070,    65,    37,
6231      849,   850,   122,  1076,   798,     3,  1200,     7,     8,     9,
6232      788,    28,  1206,    28,  1029,  1030,     1,   115,  1033,  1034,
6233      119,   119,   792,   115,   818,   123,   796,     1,   126,   994,
6234       28,   123,   115,   116,   126,     3,   456,   120,   816,  1784,
6235     1588,   122,     5,   955,   956,   112,   113,   404,   851,   113,
6236      851,   821,   822,   823,   118,   122,   826,   827,   828,     3,
6237     1784,   292,   899,   900,   961,   902,  1698,   114,   905,   906,
6238       90,  1703,   126,   120,  1783,   960,   496,   115,   309,   849,
6239      850,   851,   122,   522,   124,   855,   525,   857,   858,   335,
6240      785,  1783,  1784,     3,   923,   865,   866,   867,   923,   948,
6241      870,     7,     8,     9,   874,   682,   876,   877,   960,   879,
6242        1,   881,     7,     8,     9,   115,  1097,   115,   813,  1100,
6243      923,  1470,   923,   123,  1097,  1713,   126,  1100,  1025,  1026,
6244      115,   116,    86,   116,  1784,   120,  1768,   120,     1,   496,
6245      977,   552,   116,   113,   112,   113,   120,   917,  1041,   919,
6246     1035,   119,   122,   923,   124,    65,   926,  1138,  1772,  1773,
6247      406,   931,     1,     3,   934,  1138,   936,   937,   112,   113,
6248     1470,  1152,  1153,  1154,  1155,   119,   946,   947,   948,  1152,
6249     1153,  1154,  1155,  1035,   118,   955,   956,  1423,   958,     3,
6250      960,   961,   120,  1809,   551,   784,   966,   967,   968,   969,
6251      118,   612,   112,   113,   122,  1253,     1,     3,   115,   115,
6252      649,   650,   651,   652,   786,   772,   773,   123,   120,   126,
6253      126,   120,  1810,   812,   994,   116,   180,   181,   123,   120,
6254      788,   126,    28,  1821,    14,    15,  1784,     3,   787,     5,
6255      679,  1253,   814,  1639,  1721,   802,   803,  1692,    44,  1054,
6256     1053,   120,  1053,   116,   121,  1025,  1026,   120,   816,  1029,
6257     1030,  1542,   682,  1033,  1034,  1035,   815,  1037,   120,   689,
6258     1040,  1041,   112,   113,   126,   115,   122,   116,    74,    75,
6259     1050,   120,  1052,  1053,  1054,     3,  1171,     5,  1058,  1471,
6260      113,  1061,   712,  1925,  1064,   118,   113,  1067,   112,   113,
6261     1070,   721,   256,  1073,   258,   122,  1076,  1987,  1078,     3,
6262     1437,   121,   732,    31,     7,     8,     9,    11,  1554,  1171,
6263     1041,   116,  1092,   277,   118,   120,   115,  1097,   122,  1050,
6264     1100,  1052,     6,  1097,     8,     9,  1100,   126,     3,  1109,
6265        5,  1111,  1152,  1153,  1154,  1155,   112,   113,  1542,  1476,
6266     1120,   116,  1479,     7,     8,     9,   112,     7,     8,     9,
6267      148,    46,  1211,  1133,   152,  1175,    31,  1177,  1138,  1139,
6268        7,     8,     9,   112,  1138,   732,   132,   133,  1129,  1184,
6269     1040,   115,  1152,  1153,  1154,  1155,   115,   115,  1152,  1153,
6270     1154,  1155,   126,   132,   133,   116,  1999,   126,  2001,    73,
6271     1170,  1171,  1172,   823,  1174,   115,   114,     1,   115,  1212,
6272       84,  1212,   120,    79,  1184,  2003,  1186,   121,   112,   113,
6273      114,    12,    13,  1193,   119,   119,   120,  1197,   122,   124,
6274      123,  1201,   115,  1203,    77,   109,   119,  1207,   858,   113,
6275      125,  1211,  1212,   126,   110,   111,   119,   867,    69,    70,
6276     1927,   124,   126,   115,   874,   129,   130,   131,   124,   879,
6277     1230,   881,   114,    12,    13,   119,  1260,  1237,   120,   123,
6278       91,     3,   426,   123,    95,   429,    97,  1247,   129,   130,
6279       74,    75,  1497,  1498,   121,    79,   123,  1883,   122,     3,
6280      124,  2079,    86,   119,   851,   113,    28,    11,   114,   122,
6281      121,   858,   120,  1254,   120,    37,   114,   918,   126,   866,
6282      115,   931,   120,   114,     3,   114,   110,   111,   115,   120,
6283      877,   120,   113,   114,   118,   119,   120,   947,   213,  1765,
6284      116,  2119,   778,   779,   120,   781,  1551,  1552,   124,    28,
6285     1821,     3,    74,    75,  1738,   115,   957,    79,    37,  1743,
6286      114,   116,  1746,   115,    86,   120,   120,   774,   775,   124,
6287      806,   807,   808,   809,   113,   114,    28,     1,   522,     3,
6288      122,   525,   124,   782,   783,    37,  1425,   116,   110,   111,
6289     1429,   120,   122,   115,   124,    74,    75,   804,   805,   114,
6290       79,   122,   116,  1829,   126,   120,   120,    86,   112,   113,
6291      114,   810,   811,   849,   850,   119,   120,   115,   122,   114,
6292     1591,  1592,    74,    75,   115,   120,  1810,    79,  1591,  1592,
6293     1601,   110,   111,   112,    86,   116,   115,  1821,  1601,   120,
6294     1400,  1401,   114,   124,  1404,  1405,   115,   126,   120,  1409,
6295     1410,   114,  1491,  1054,   128,  1772,  1773,   120,   110,   111,
6296      112,  1421,   135,   115,  1405,  1425,  1426,   772,   773,  1429,
6297     1509,  1554,   124,   782,   783,  1435,   134,  1437,     3,   114,
6298     1440,   512,   513,   514,  1444,   120,   114,   774,   775,  1449,
6299     1450,  1451,   120,  1040,    88,    89,    90,   802,   803,   530,
6300      531,   810,   811,    28,  1105,   649,   650,   651,   652,   116,
6301      116,  1471,   948,  1473,   120,    16,  1476,   804,   805,  1479,
6302       10,    11,  1482,  1152,  1153,  1154,  1155,   128,   118,  2115,
6303      120,  1491,  2003,   677,   678,   679,   116,  1497,  1498,   118,
6304      120,   120,  1502,  1503,  1504,  1505,  1175,   422,  1177,    74,
6305       75,    14,    15,   116,    79,  1744,  1745,   120,  1747,  1748,
6306      118,    86,   120,  1752,  1753,  1754,  1755,   134,     1,   116,
6307        3,  1744,  1745,   120,  1747,  1748,   122,   124,   124,  1752,
6308     1753,  1754,  1755,  1193,   116,   110,   111,   135,   120,     3,
6309       16,  1551,  1552,   116,  1554,   116,   116,   122,     0,   120,
6310      120,  1451,  1562,   116,   122,   116,   116,   120,  2079,   120,
6311      120,   116,  1213,  1573,    28,   122,     1,   124,     3,  2003,
6312      122,     1,     3,     3,     1,     1,     3,     3,   897,   898,
6313       11,  1591,  1592,   118,  1235,   120,    77,  1591,  1592,  1599,
6314      116,  1601,  1602,  1554,   115,  1605,  1193,  1601,   122,  1609,
6315      124,  1562,     1,  1613,     3,     1,  1616,     3,   122,  1698,
6316       74,    75,   118,  1210,  1703,    79,     1,     1,     3,     3,
6317      120,  1612,    86,     3,   118,    77,   551,   113,   553,  1639,
6318      119,   118,  1853,   120,   113,    87,  1646,  1628,   113,  1516,
6319     1853,  1518,    94,    95,   122,  2079,   110,   111,  1887,  1888,
6320     1889,  1890,  1891,  1892,  1893,  1894,   127,  1700,   122,  1700,
6321      122,     3,   124,   120,  1887,  1888,  1889,  1890,  1891,  1892,
6322     1893,  1894,     1,   127,  1516,  1800,  1518,  1802,   127,  1768,
6323      122,   112,   113,   114,   897,   898,   177,   126,  1698,   120,
6324     1700,   122,   120,  1703,    74,    75,  1829,  1774,   122,    79,
6325      120,  1826,   120,  1828,   649,   650,    86,   120,  1800,   121,
6326     1802,  1721,   122,  1723,  1724,   530,   531,   372,   118,   374,
6327     1809,   649,   650,    94,    95,  1211,   827,   828,   115,   124,
6328      110,   111,    74,    75,  1826,   115,  1828,    79,   115,  1994,
6329     1995,   115,  1997,  1998,    86,    74,    75,   115,  1987,  1759,
6330       79,   118,   118,  2008,  2009,  2010,  2011,    86,  1768,   115,
6331      118,   213,  1772,  1773,  1987,  1775,   118,   118,   110,   111,
6332      118,   116,   122,   113,   121,   266,   122,  1787,   127,   113,
6333      122,   110,   111,   977,   127,   276,   115,   116,   127,   127,
6334     1800,   120,  1802,     7,   127,  1805,    10,    11,    12,    13,
6335       14,    15,    16,    17,   127,   126,   122,  2028,   121,  2030,
6336      120,   113,   121,  1473,   266,  2028,  1826,  2030,  1828,  1829,
6337     2075,  2076,   121,   116,   276,  1422,   278,   116,   116,  1480,
6338      127,  2119,   127,   127,   116,   115,  1925,  1847,  1848,  1849,
6339     1850,   116,   116,  1853,   115,   124,   124,  1857,  1858,  1853,
6340     1860,   124,  1862,  1887,  1888,  1889,  1890,  1891,  1892,  1893,
6341     1894,   115,     3,     1,  1874,   115,    56,  2119,  1829,   118,
6342      118,  1996,   118,  1883,  2095,   115,  1886,   113,   113,   118,
6343      121,   115,  2095,   116,   116,   116,  1877,    28,  1879,   113,
6344       74,    75,   115,    74,    75,    79,    37,   552,    79,   113,
6345      114,   126,    86,  1097,  1996,    86,  1100,   113,   116,   123,
6346      126,   116,   116,  1573,   116,  1925,   116,  1927,   132,   133,
6347      134,   135,   136,   120,   120,     3,   110,   111,   112,   110,
6348      111,   115,   124,    74,    75,   116,    74,    75,    79,  1425,
6349      116,    79,   126,  1429,  1138,    86,   124,   124,    86,   124,
6350       28,   116,   404,  1987,   879,   116,   116,   612,  1152,  1153,
6351     1154,  1155,   118,   121,   119,   456,    44,   116,   116,   110,
6352      111,   112,   110,   111,   115,   116,  1573,   116,   124,   124,
6353      118,  1175,   120,  1177,  1994,  1995,  1996,  1997,  1998,  1999,
6354      127,  2001,   917,   127,   106,   127,    74,    75,  2008,  2009,
6355     2010,  2011,   116,    56,   456,  1491,   931,   115,   115,  2019,
6356      116,   115,   937,   124,   124,   124,   116,   116,  2028,   124,
6357     2030,     3,   116,  1509,  2028,   516,  2030,   116,   519,  2039,
6358     2040,  2108,  2109,   116,   116,   116,   127,   127,   116,   113,
6359      126,   126,     0,   127,   496,  2036,    28,  2038,   127,   118,
6360       11,  1702,   122,  1704,   119,   122,   124,   118,   124,   119,
6361      119,  1721,    44,   115,   118,  2075,  2076,  1718,  1719,   116,
6362       74,    75,  2082,  2083,   122,    79,  2086,   116,  2088,   116,
6363      192,  2091,    86,    41,  1879,  2095,   127,   127,   116,   127,
6364      116,  2095,    74,    75,   127,    53,     1,   127,     3,  2109,
6365      127,  2111,    60,   127,   127,  2115,   110,   111,  2099,  2100,
6366      116,  2102,    64,  2104,   116,  1040,    64,  2127,   122,    77,
6367      118,   116,    80,    28,   127,   116,   127,   127,    86,    87,
6368       74,    75,    37,    38,   116,    79,    94,    95,   120,  2149,
6369     2150,   127,    86,   118,  2154,  1805,   118,   118,   118,   107,
6370     2141,  2142,   110,  2144,   122,  2165,   116,   463,   463,   118,
6371      463,   118,     1,   118,   122,   118,   110,   111,  2159,    74,
6372       75,   118,   130,   463,    79,   119,   118,   135,   136,     0,
6373      138,    86,   118,   118,  2175,   676,   118,   118,  1505,  2149,
6374      148,   682,   150,   151,   152,   153,   463,   155,   966,   849,
6375      276,   276,   314,   903,  1471,   110,   111,   112,  1805,   958,
6376      115,   309,  1698,   118,     3,   120,   121,  1703,   421,   715,
6377      411,   309,   180,   181,  1810,   302,   721,  2099,   253,    94,
6378      682,    87,    87,    95,   192,    74,    75,   689,   258,    28,
6379       79,  2036,    87,  2038,  1759,    -1,   204,    86,    37,    -1,
6380       -1,    -1,    74,    75,    -1,   213,    77,    79,    -1,    -1,
6381      372,    -1,   374,   918,    86,    -1,    87,  1927,    -1,   721,
6382       -1,   110,   111,    94,    95,  1926,    -1,    -1,    -1,   118,
6383      119,   120,  1768,    -1,  1935,    74,    75,     3,   110,   111,
6384       79,    -1,    -1,    -1,   116,   253,    -1,    86,   256,   257,
6385      258,    -1,   957,    -1,    -1,  2100,    -1,  2102,   266,  2104,
6386       -1,    -1,    28,    -1,    -1,   136,    -1,    -1,   276,   277,
6387      278,   110,   111,  1809,    -1,     0,   115,   148,    -1,    -1,
6388       -1,   152,  1526,    -1,    -1,    -1,    -1,    -1,   296,    -1,
6389     1991,  1992,    -1,    -1,   302,    -1,  2141,  2142,    -1,  2144,
6390       -1,    -1,    -1,   311,    46,    74,    75,    -1,    74,    75,
6391       79,    -1,    -1,    79,  2159,    -1,    -1,    86,    -1,    -1,
6392       86,   823,    -1,    -1,    -1,    -1,   867,    -1,    -1,    -1,
6393     2175,    -1,    -1,    -1,    -1,    77,    78,    -1,    -1,   136,
6394       -1,   110,   111,    85,   110,   111,    -1,  1591,  1592,  1054,
6395       -1,   148,    77,   515,    -1,   152,   858,  1601,    -1,   367,
6396       -1,    -1,    87,    -1,   372,   867,   374,    -1,    -1,    94,
6397       95,    -1,   874,    -1,    -1,    -1,    -1,    -1,    -1,   881,
6398       -1,    -1,    -1,   125,   126,   926,    -1,    -1,    -1,  1925,
6399      552,    -1,    -1,    -1,    -1,   266,   404,    -1,   406,   407,
6400     1105,    -1,   410,   411,    -1,   276,   947,   278,   416,    -1,
6401       -1,   136,   420,   421,    -1,   423,    -1,    -1,    -1,    -1,
6402       -1,    -1,   584,   148,    -1,    -1,    -1,   152,    -1,   931,
6403       -1,    -1,    -1,    -1,    -1,   177,    44,    45,    -1,    -1,
6404       -1,    -1,    -1,   451,   452,   947,    -1,    -1,   456,   457,
6405      612,    -1,    -1,   994,    -1,   463,   253,    -1,    -1,    -1,
6406      468,    -1,    -1,    -1,    -1,   473,    74,    75,    -1,   477,
6407      478,    79,    -1,    -1,    -1,    -1,  1451,    -1,    86,    -1,
6408      222,    -1,    -1,   225,    -1,    -1,    -1,    -1,   496,    -1,
6409       -1,   499,   500,    -1,    -1,    -1,   504,   505,  1473,   296,
6410      508,   509,   110,   111,   112,   302,    -1,   515,  1213,    -1,
6411       -1,   253,    -1,    -1,   522,    -1,     0,   525,    -1,    -1,
6412      515,    -1,    -1,    -1,   266,    -1,    -1,    -1,    -1,    -1,
6413     1235,    -1,    -1,   541,    -1,    -1,    -1,    -1,   546,   410,
6414      548,   266,    -1,   551,   552,    -1,     3,    -1,    -1,    -1,
6415      421,   276,    -1,   278,   716,    -1,    -1,    -1,   720,    -1,
6416       -1,    -1,    -1,   571,    -1,    -1,   574,    -1,   576,    -1,
6417      578,    28,    -1,   735,    -1,    -1,    -1,   585,    -1,   741,
6418       37,    38,   744,    18,    19,    20,    21,    22,    23,    24,
6419       25,    26,    27,    77,    -1,    44,    45,    -1,  1573,    -1,
6420       -1,   763,   473,    87,    -1,    -1,    -1,    -1,    -1,  1853,
6421       94,    95,    -1,   410,    -1,    -1,    -1,    74,    75,    -1,
6422       -1,    -1,    79,    -1,   421,    74,    75,    -1,   790,    86,
6423       79,  1172,    -1,  1174,    -1,    -1,   798,    86,   380,    -1,
6424       -1,   649,   650,   651,   652,    -1,    -1,    -1,    44,    45,
6425       -1,    -1,   136,   110,   111,   112,   818,    -1,   115,    -1,
6426       -1,   110,   111,    -1,   148,    -1,   115,    -1,   152,   677,
6427      678,   679,    -1,    -1,   682,    -1,   473,    -1,    74,    75,
6428      422,   689,  1184,    79,   119,   410,    -1,    -1,    -1,    -1,
6429       86,  1193,    -1,    74,    75,   703,   421,    -1,    79,    -1,
6430       -1,    -1,   710,   711,   712,    86,   714,   715,   703,    -1,
6431       -1,    -1,    -1,   721,   110,   111,    74,    75,   460,   115,
6432       -1,    79,    -1,    -1,   732,    -1,    -1,   735,    86,   110,
6433      111,    37,    -1,   741,    -1,   116,   744,    -1,    44,    45,
6434      735,    -1,    -1,    -1,    -1,    -1,   741,   135,   473,   744,
6435      138,    -1,   110,   111,   916,    -1,   918,    -1,   116,    -1,
6436       -1,    -1,    -1,   151,    -1,   153,    -1,   155,    74,    75,
6437      512,   513,   514,    79,   516,  1480,    -1,   519,    -1,    -1,
6438       86,    -1,   266,    -1,  2028,    -1,  2030,    -1,   530,   531,
6439      532,     3,   276,    -1,   278,   957,    74,    75,    -1,    -1,
6440       -1,    79,    -1,    -1,   110,   111,   112,    -1,    86,   551,
6441       -1,   682,    -1,    -1,    -1,   823,    28,    -1,   826,   827,
6442      828,    -1,    -1,    -1,   986,    37,   988,   451,   452,    -1,
6443       -1,    -1,   110,   111,   112,    -1,    -1,   115,    -1,    -1,
6444       -1,   849,   850,   851,    -1,    -1,    -1,    -1,    -1,    -1,
6445      858,  2095,    -1,   477,   478,    -1,    -1,    -1,   866,   867,
6446       -1,    -1,    74,    75,    -1,    -1,   874,    79,    -1,   877,
6447       -1,   879,    -1,   881,    86,   499,   500,    -1,    -1,    -1,
6448      504,   505,    -1,    -1,   508,   509,    -1,    -1,    -1,    -1,
6449       -1,    -1,  1054,    -1,    -1,    -1,  1437,    -1,   110,   111,
6450      112,    -1,    -1,   115,   292,    -1,    -1,    -1,    -1,    -1,
6451       -1,    -1,    -1,   710,   711,   923,    -1,   714,   715,    -1,
6452       -1,   309,    -1,   931,    -1,    -1,   410,    -1,    -1,    -1,
6453       -1,    -1,  1094,    -1,   676,  1476,    -1,   421,  1479,   947,
6454      948,    -1,    -1,  1105,    -1,    -1,    -1,   955,   956,    -1,
6455       -1,    -1,   960,    -1,    -1,    -1,    -1,   682,   966,    -1,
6456       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1131,
6457     1132,  1473,    -1,    -1,     1,    -1,     3,    -1,   986,   987,
6458      988,    -1,    -1,    -1,    -1,    -1,   994,    -1,    -1,   473,
6459       -1,   986,   987,   988,    -1,   866,    -1,  1702,    -1,  1704,
6460       -1,    28,    -1,    -1,    -1,    -1,   877,    -1,    -1,    -1,
6461       37,    38,    -1,  1718,  1719,    -1,    -1,    -1,    -1,    -1,
6462       -1,  1029,  1030,    -1,    -1,  1033,  1034,  1035,    -1,    -1,
6463       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6464       -1,    -1,    -1,    -1,    -1,  1053,  1054,    74,    75,    -1,
6465     1058,  1213,    79,    -1,    -1,    -1,  1064,    -1,    -1,    86,
6466       -1,    -1,  1070,   451,   452,    -1,    -1,    -1,  1076,   866,
6467       -1,  1573,    -1,  1235,    -1,   463,    -1,    -1,    -1,    -1,
6468      877,    -1,    -1,   110,   111,   112,  1094,    -1,   115,   477,
6469      478,   118,    -1,   120,   121,  1257,    -1,    -1,  1260,  1094,
6470       -1,    -1,  1264,    -1,    -1,    -1,  1268,    -1,    -1,    -1,
6471       -1,   499,   500,    -1,    -1,    -1,   504,   505,    -1,    -1,
6472      508,   509,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6473       -1,    -1,    -1,    -1,    -1,    -1,    -1,   879,    -1,    -1,
6474       -1,   866,    -1,    -1,  1152,  1153,  1154,  1155,    -1,    -1,
6475       -1,    -1,   877,    -1,    -1,    -1,    -1,    -1,   546,    -1,
6476      548,    -1,  1170,  1171,    -1,    -1,    -1,  1175,    -1,  1177,
6477       -1,    -1,    -1,    -1,    -1,   917,  1184,    -1,    -1,    -1,
6478       -1,    -1,    -1,    -1,    -1,  1193,    -1,    -1,    -1,    -1,
6479       -1,    -1,   934,    -1,   936,   937,    -1,   994,   682,    -1,
6480       -1,    -1,  1210,  1211,  1212,    -1,     0,    -1,    -1,    -1,
6481       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6482       -1,  1926,  1230,    -1,    -1,    -1,    -1,    -1,    -1,  1237,
6483     1935,  1772,  1773,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6484       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1256,  1257,
6485       -1,    -1,    46,    -1,    -1,  1263,  1264,    -1,    -1,  1267,
6486     1268,  1256,  1257,    -1,    -1,    -1,    -1,    -1,  1263,  1264,
6487       -1,    -1,  1267,  1268,    -1,    -1,    -1,    -1,    -1,    -1,
6488       -1,    -1,    76,    77,    78,    -1,  1991,  1992,    -1,    -1,
6489       -1,    85,    -1,    87,    -1,    -1,    -1,    -1,  1040,  1041,
6490       94,    95,    -1,  1805,    -1,    -1,    -1,    -1,  1470,    -1,
6491       -1,    -1,    -1,    -1,    -1,   106,    -1,    -1,  1480,    -1,
6492       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6493       -1,   125,   126,   127,   128,   129,    -1,    -1,    -1,    -1,
6494       -1,   135,    -1,    -1,   138,    -1,    -1,    -1,    -1,  1511,
6495       -1,   330,    -1,    -1,  1516,    -1,  1518,   151,    -1,   153,
6496       -1,   155,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6497       -1,    -1,    -1,  1535,    -1,    -1,    -1,    -1,    -1,    -1,
6498       -1,    -1,   866,   177,   178,   179,    -1,    -1,    -1,    -1,
6499       -1,    -1,    -1,   877,    -1,    -1,    -1,    -1,    -1,    -1,
6500       -1,  1409,  1410,    -1,    -1,  1029,  1030,    -1,    -1,  1033,
6501     1034,    -1,    -1,  1210,    -1,    -1,    -1,  1425,   212,   213,
6502       -1,  1429,    -1,    -1,    -1,    -1,  1588,    -1,    -1,    -1,
6503     1172,    -1,  1174,  1230,    -1,    -1,    -1,    -1,    -1,    -1,
6504     1237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     7,     8,
6505        9,    10,    11,    12,    13,    14,    15,    16,    17,   253,
6506       -1,    -1,  1470,    -1,    -1,  1473,    -1,   258,    -1,    -1,
6507       -1,    -1,   266,    -1,    -1,  1470,    -1,    -1,    -1,    -1,
6508       -1,    -1,   276,  1491,   278,    -1,    -1,    -1,    -1,  1497,
6509     1498,    -1,    -1,    -1,  1502,  1503,  1504,  1505,    -1,    -1,
6510       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6511       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6512       -1,    -1,    -1,   314,    -1,    -1,    -1,    -1,    -1,   135,
6513       -1,    -1,   138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6514     1702,    -1,  1704,  1551,  1552,   151,    -1,   153,    -1,   155,
6515       -1,  1713,    -1,    -1,   113,   114,  1718,  1719,    -1,    -1,
6516       -1,    -1,    -1,  1725,   123,  1573,    -1,    -1,    -1,   128,
6517      129,   130,   960,   132,   133,   134,   135,   136,    -1,  1587,
6518     1588,    -1,    -1,    -1,    -1,    -1,   380,   381,   382,    -1,
6519       -1,    -1,  1587,  1588,    -1,    -1,    -1,    -1,    -1,    -1,
6520       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6521      404,    -1,    -1,    -1,    -1,    -1,    -1,   411,    -1,    -1,
6522       -1,    -1,  1784,    -1,    -1,    -1,    -1,    -1,   422,    -1,
6523       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1646,    -1,
6524       -1,  1029,  1030,   622,    -1,  1033,  1034,  1035,    -1,    -1,
6525       -1,    -1,   258,    -1,    -1,    -1,    -1,   451,   452,    -1,
6526       -1,    -1,   456,    -1,    -1,    -1,   460,    -1,    -1,   463,
6527       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   472,    -1,
6528       -1,    -1,    -1,   477,   478,    -1,    -1,    -1,    -1,    -1,
6529     1698,    -1,  1700,    -1,    -1,  1703,    -1,    -1,    -1,    -1,
6530       -1,    -1,   496,    -1,    -1,   499,   500,    -1,    -1,  1451,
6531      504,   505,    -1,  1721,   508,   509,    -1,    -1,   512,   513,
6532      514,    -1,  1884,  1885,    -1,    -1,    -1,    -1,    -1,    -1,
6533      521,    -1,    -1,    -1,    -1,    -1,   530,   531,    -1,    -1,
6534       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6535       -1,    -1,   546,    -1,   548,    -1,    -1,   551,    -1,   553,
6536     1768,    -1,    -1,    -1,  1926,    -1,    -1,    -1,    -1,    -1,
6537      749,    -1,    -1,  1935,   568,  1783,  1784,    -1,    -1,    -1,
6538       -1,    -1,  1170,  1171,    -1,    -1,    -1,    -1,  1783,  1784,
6539       -1,    -1,  1800,   584,  1802,    -1,    -1,  1805,    -1,    -1,
6540       -1,    -1,    -1,   782,   783,   784,   785,   786,    -1,    -1,
6541      789,    -1,  1554,    -1,    -1,    -1,   795,    -1,  1826,    -1,
6542     1828,    -1,    -1,    -1,    -1,    -1,   617,    -1,    -1,  1991,
6543     1992,   810,   811,   812,   813,   814,    -1,    -1,   817,    -1,
6544       -1,    -1,    -1,    -1,    -1,   451,   452,    -1,    -1,    -1,
6545       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   649,   650,
6546      651,   652,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6547       -1,   477,   478,  1497,  1498,    -1,    -1,    -1,    -1,    -1,
6548       -1,    -1,   676,    -1,    -1,    -1,    -1,    -1,   682,    -1,
6549       -1,    -1,    -1,   499,   500,    -1,    -1,    -1,   504,   505,
6550       -1,    -1,   508,   509,    -1,    -1,    -1,    -1,    -1,   515,
6551       -1,    -1,    -1,    -1,    -1,    -1,   710,  1925,    -1,  1927,
6552      714,    -1,    -1,    -1,    -1,   716,    -1,  1551,  1552,   720,
6553       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   732,  2101,
6554      546,    -1,   548,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6555       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2119,   749,    -1,
6556       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6557       -1,    -1,   763,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6558       -1,    -1,    -1,    -1,    -1,    -1,  1994,  1995,  1996,  1997,
6559     1998,  1999,     1,  2001,     3,     4,     5,    -1,    -1,   790,
6560     2008,  2009,  2010,  2011,   795,    -1,    -1,   798,    -1,    -1,
6561       -1,   617,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
6562       -1,    -1,    -1,    -1,    -1,    -1,    -1,   818,    -1,    -1,
6563       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6564       -1,    -1,    -1,   649,   650,   651,   652,    -1,    -1,    -1,
6565       -1,    -1,    -1,    -1,    -1,    -1,    65,   851,    -1,    -1,
6566       -1,    -1,    71,    72,   858,    -1,    -1,  2075,  2076,    -1,
6567       -1,   865,   866,   867,    -1,    -1,    85,    -1,    -1,    -1,
6568      874,    -1,    -1,   877,    -1,   879,    -1,  1829,    -1,    98,
6569       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
6570       -1,    -1,    -1,    -1,    -1,    -1,   115,    -1,    -1,  1497,
6571     1498,    -1,    -1,    -1,    -1,    -1,   125,   126,    -1,    -1,
6572       -1,    -1,    -1,   917,    -1,    -1,    -1,    -1,    -1,   735,
6573       -1,    -1,   926,  1112,    -1,   741,    -1,   931,   744,    -1,
6574       -1,    -1,    -1,   937,    -1,    -1,    -1,     1,    -1,     3,
6575        4,     5,     6,   947,     8,     9,    -1,    -1,    -1,    -1,
6576       -1,  1140,    -1,  1551,  1552,    -1,   960,    -1,  1147,    -1,
6577       -1,    -1,    -1,    -1,    28,    -1,   970,    -1,    -1,    -1,
6578       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6579       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6580      994,    -1,  1181,    -1,  1183,    -1,    -1,    -1,    -1,    -1,
6581       -1,    65,    -1,  1004,    -1,    -1,    -1,    71,    72,    73,
6582       -1,  1200,    -1,    -1,    -1,    -1,    -1,  1206,    -1,    -1,
6583       84,    85,    -1,    -1,    -1,  1029,  1030,    -1,    -1,  1033,
6584     1034,  1035,    -1,    -1,    98,    -1,  1040,  1041,   102,   103,
6585      104,   105,   106,   107,   108,   109,    -1,  1051,   112,    -1,
6586       -1,   115,   116,   117,    -1,    -1,   120,    -1,    -1,    -1,
6587       -1,   125,   126,   127,   128,   129,   130,   131,    -1,    -1,
6588       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6589       -1,   897,   898,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6590       -1,    -1,    -1,    -1,    -1,    -1,  1097,    -1,    -1,  1100,
6591       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1109,    -1,
6592       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6593       -1,    -1,   135,    -1,    -1,   138,    -1,    -1,    -1,    -1,
6594     1131,  1132,    -1,    -1,    -1,    -1,    -1,  1138,   151,  1140,
6595      153,    -1,   155,  1144,   960,    -1,  1147,    -1,  1149,    -1,
6596       -1,  1152,  1153,  1154,  1155,    -1,    -1,    -1,    -1,    -1,
6597     1994,  1995,    -1,  1997,  1998,    -1,  1170,  1171,    -1,    -1,
6598      986,    -1,   988,    -1,  2008,  2009,  2010,  2011,    -1,    -1,
6599       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1193,
6600       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1200,
6601       -1,    -1,  1800,    -1,  1802,  1206,  1210,    -1,  1212,    -1,
6602       -1,    -1,    -1,  1029,  1030,    -1,    -1,  1033,  1034,  1035,
6603       -1,    -1,    -1,    -1,    -1,    -1,  1230,    -1,  1826,    -1,
6604     1828,    -1,    -1,  1237,    -1,    -1,    -1,    -1,    -1,    -1,
6605       -1,  2075,  2076,    -1,    -1,     1,    -1,     3,     4,     5,
6606        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,  1260,
6607       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6608       -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,  1094,    -1,
6609       -1,  1097,    -1,    -1,  1100,    -1,    -1,    -1,    -1,    -1,
6610       -1,    -1,    -1,  1109,    -1,    -1,    -1,    -1,    -1,    -1,
6611       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
6612       -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,
6613       -1,    -1,  1138,    -1,    -1,    -1,    -1,    -1,    84,    85,
6614       -1,    -1,    -1,    -1,    -1,    -1,  1152,  1153,  1154,  1155,
6615       -1,    -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,
6616      106,   107,   108,   109,  1170,  1171,   112,    -1,    -1,   115,
6617      116,   117,    -1,    -1,   120,    -1,    -1,    -1,   124,   125,
6618      126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,
6619       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6620       -1,    -1,    -1,    -1,    -1,    -1,  1994,  1995,  1996,  1997,
6621     1998,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6622     2008,  2009,  2010,  2011,    -1,    -1,    -1,    -1,  1422,    -1,
6623       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6624       -1,    -1,    -1,  1437,    -1,    -1,    -1,    -1,   451,   452,
6625     1444,  1257,    -1,    -1,    -1,    -1,    -1,  1451,  1264,    -1,
6626      463,    -1,  1268,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6627       -1,    -1,    -1,    -1,   477,   478,    -1,  1471,    -1,  1473,
6628       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2075,  2076,    -1,
6629       -1,    -1,    -1,    -1,    -1,    -1,   499,   500,    -1,    -1,
6630       -1,   504,   505,  1497,  1498,   508,   509,    -1,    -1,    -1,
6631       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6632     1511,    -1,    -1,    -1,    -1,    -1,     1,    -1,    -1,     4,
6633        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
6634       -1,    -1,    -1,   546,    -1,   548,    -1,    -1,    -1,    -1,
6635       -1,  1542,    -1,    -1,    -1,    -1,    -1,  1551,  1552,  1738,
6636     1554,    -1,    -1,    -1,  1743,  1744,  1745,  1746,  1747,  1748,
6637       -1,    -1,    -1,  1752,  1753,  1754,  1755,    -1,    -1,  1573,
6638       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6639       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,
6640     1591,  1592,    -1,    -1,    -1,    -1,    -1,    -1,  1599,    84,
6641     1601,  1602,    -1,    -1,  1605,    -1,    -1,    -1,    -1,    -1,
6642       -1,    -1,  1613,    98,    -1,  1616,    -1,   102,   103,   104,
6643      105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,
6644        1,    -1,   117,   118,    -1,   120,   121,   122,    -1,    -1,
6645      125,   126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,
6646       -1,    -1,    -1,    -1,  1470,    -1,    -1,    28,    29,    30,
6647       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
6648       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
6649       -1,  1497,  1498,    -1,    -1,    -1,    -1,    -1,  1692,    -1,
6650       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
6651     1516,    -1,  1518,    74,    75,    -1,    -1,    -1,    79,    -1,
6652       -1,    -1,  1713,    -1,    85,    86,    87,    -1,    -1,   106,
6653       -1,    -1,    -1,    -1,  1725,    -1,    -1,    -1,    -1,   100,
6654       -1,    -1,    -1,    -1,    -1,  1551,  1552,  1738,    -1,   110,
6655      111,    -1,  1743,   130,    -1,  1746,    -1,    -1,    -1,    -1,
6656       -1,   122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6657       -1,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
6658       -1,    -1,  1588,    -1,    -1,  1591,  1592,    -1,    -1,    -1,
6659       -1,    -1,    -1,  1599,    -1,  1601,  1602,    -1,    28,  1605,
6660       -1,    -1,    -1,    -1,    -1,    -1,  1800,  1613,  1802,    -1,
6661     1616,  1805,    -1,    -1,    -1,   192,    -1,    -1,    -1,  1810,
6662       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6663     1821,    -1,  1826,    -1,  1828,    65,    -1,    -1,    -1,    -1,
6664       -1,    71,    72,    73,  1838,    -1,    -1,    -1,    -1,    -1,
6665       -1,    -1,    -1,    -1,    84,    85,  1847,  1848,  1849,  1850,
6666       -1,    -1,  1853,    -1,    -1,    -1,  1857,  1858,    98,  1860,
6667       -1,  1862,   102,   103,   104,   105,   106,   107,   108,   109,
6668       -1,    -1,   112,  1874,    -1,   115,   116,   117,    -1,    -1,
6669      120,    -1,    -1,  1884,  1885,   125,   126,   127,   128,   129,
6670      130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6671       -1,   288,    -1,    -1,    -1,    -1,   293,   294,    -1,    -1,
6672      297,    -1,    -1,    -1,    -1,    -1,   303,    -1,    -1,    -1,
6673       -1,    -1,    -1,    -1,    -1,    -1,    -1,   314,    -1,    -1,
6674       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6675       -1,    -1,    -1,   330,    -1,    -1,    -1,   960,   335,    -1,
6676       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6677       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1784,    -1,
6678       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6679       -1,    -1,    -1,    -1,  1800,   372,  1802,   374,    -1,    -1,
6680     1994,  1995,  1996,  1997,  1998,    -1,    -1,    -1,    -1,    -1,
6681       -1,    -1,  2003,    -1,  2008,  2009,  2010,  2011,    -1,    -1,
6682     1826,    -1,  1828,    -1,    -1,    -1,  1029,  1030,  2019,   406,
6683     1033,  1034,  1035,    -1,    -1,    -1,    -1,  2028,    -1,  2030,
6684       -1,  1847,  1848,  1849,  1850,    -1,    -1,  1853,    -1,    -1,
6685       -1,  1857,  1858,    -1,  1860,    -1,  1862,    -1,    -1,    -1,
6686       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1874,    -1,
6687       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6688       -1,  2075,  2076,    -1,    -1,    -1,    -1,    -1,  2079,    -1,
6689       -1,  2082,  2083,    -1,    -1,  2086,    -1,  2088,    -1,    -1,
6690     2091,    -1,    -1,    -1,  2095,    -1,    -1,    -1,    -1,    -1,
6691     2101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6692       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2119,    -1,
6693       -1,    -1,    -1,    -1,    -1,    -1,  2127,    -1,   515,    -1,
6694       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6695       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6696       -1,    -1,    -1,  2154,    -1,    -1,    -1,  1170,  1171,    -1,
6697       -1,    -1,    -1,    -1,    -1,   552,    -1,    -1,    -1,    -1,
6698       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1994,  1995,
6699     1996,  1997,  1998,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6700       -1,    -1,  2008,  2009,  2010,  2011,    -1,   584,    -1,    -1,
6701       -1,    -1,    -1,  2019,    -1,    -1,    -1,    -1,    -1,    -1,
6702       -1,    -1,  2028,    -1,  2030,    -1,    -1,    -1,    -1,    -1,
6703       -1,    -1,    -1,    -1,    -1,   612,    -1,     0,    -1,    -1,
6704       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6705       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6706       -1,    -1,    -1,    -1,    -1,    -1,    -1,   106,    -1,  2075,
6707     2076,    -1,    -1,    -1,    -1,    -1,  2082,  2083,    -1,    -1,
6708     2086,   135,  2088,    46,   138,  2091,    -1,    -1,    -1,  2095,
6709       -1,   130,    -1,    -1,    -1,    -1,    -1,   151,    -1,   153,
6710       -1,   155,    -1,    -1,    -1,    -1,   683,    -1,    -1,    -1,
6711       -1,    -1,   689,    -1,    77,    78,    -1,    -1,    -1,    -1,
6712       -1,  2127,    85,    -1,    87,    -1,    -1,    -1,    -1,    -1,
6713       -1,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,   716,
6714       -1,    -1,    -1,   720,   721,    -1,    -1,    -1,  2154,    -1,
6715       -1,    -1,    -1,   192,    -1,    -1,    -1,    -1,   735,    -1,
6716       -1,    -1,   125,   126,   741,    -1,    -1,   744,    -1,    -1,
6717       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6718       -1,    -1,    -1,    -1,    -1,    -1,   763,    -1,    -1,    -1,
6719       -1,    -1,   769,   770,   771,   772,   773,   774,   775,    -1,
6720       -1,   778,   779,    -1,   781,   782,   783,   784,   785,   786,
6721      787,   788,    -1,   790,   177,    -1,    -1,    -1,    -1,    -1,
6722       -1,   798,   799,   800,   801,   802,   803,   804,   805,   806,
6723      807,   808,   809,   810,   811,   812,   813,   814,   815,   816,
6724       -1,   818,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   288,
6725       -1,    -1,    -1,    -1,   293,   294,    -1,    -1,   297,   222,
6726       -1,    -1,   225,    -1,   303,    -1,    -1,    -1,    -1,    -1,
6727       -1,    -1,   849,   850,    -1,   314,    -1,    -1,    -1,    -1,
6728       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6729      253,   330,    -1,    -1,  1497,  1498,   335,    -1,    -1,    -1,
6730       -1,    -1,    -1,   266,    -1,    -1,    -1,    -1,    -1,    -1,
6731       -1,    -1,    -1,   276,    -1,   278,    -1,    -1,    -1,    -1,
6732       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6733       -1,    -1,    -1,   372,    -1,   374,    -1,    -1,    -1,   916,
6734       -1,   918,    -1,    -1,    -1,    -1,    -1,    -1,  1551,  1552,
6735       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6736       -1,    -1,    -1,    -1,    -1,    -1,    -1,   406,    -1,    -1,
6737       -1,   948,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6738      957,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6739       -1,    -1,    -1,    -1,    -1,    -1,    -1,   451,   452,    -1,
6740       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   986,
6741       -1,   988,    -1,    -1,    -1,    -1,    -1,   380,    -1,    -1,
6742       -1,    -1,    -1,   477,   478,    -1,    -1,    -1,    -1,    -1,
6743       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6744       -1,    -1,    -1,    -1,    -1,   499,   500,    -1,    -1,    -1,
6745      504,   505,    -1,    -1,   508,   509,    -1,    -1,    -1,   422,
6746       -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
6747       -1,    -1,    -1,    -1,    -1,    -1,   515,  1054,    -1,    -1,
6748       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
6749       -1,    -1,   546,    -1,   548,    34,    35,    36,    37,    38,
6750       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
6751       49,    50,    -1,   552,    -1,    -1,    -1,  1094,    -1,    -1,
6752       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,  1105,    -1,
6753       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
6754       79,    -1,    -1,    82,    83,   584,    85,    86,    87,   512,
6755      513,   514,    -1,   516,  1131,  1132,   519,    -1,    -1,    -1,
6756       -1,   100,    -1,    -1,    -1,    -1,    -1,   530,   531,   532,
6757       -1,   110,   111,   612,    -1,    -1,    -1,    -1,    -1,    -1,
6758       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   551,    -1,
6759       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1800,    -1,  1802,
6760       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6761       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6762       -1,    -1,    -1,  1826,    -1,  1828,    -1,    -1,    -1,    -1,
6763       -1,    -1,    -1,    -1,  1211,    -1,  1213,    -1,    -1,    -1,
6764       -1,    -1,    -1,    -1,   683,    -1,    -1,    -1,    -1,    -1,
6765      689,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1235,    -1,
6766      258,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6767       -1,    -1,    -1,    -1,    -1,    -1,  1253,   716,    -1,    -1,
6768     1257,   720,   721,  1260,    -1,    -1,    -1,  1264,    -1,    -1,
6769       -1,  1268,    -1,    -1,    -1,    -1,   735,    -1,    -1,    -1,
6770       -1,    -1,   741,    -1,    -1,   744,    -1,    -1,    -1,    -1,
6771       -1,    -1,    -1,   676,    -1,    -1,    -1,    -1,    -1,   682,
6772       -1,    -1,    -1,    -1,   763,    -1,    -1,    -1,    -1,    -1,
6773      769,   770,   771,   772,   773,   774,   775,    -1,    -1,   778,
6774      779,    -1,   781,   782,   783,   784,   785,   786,   787,   788,
6775       -1,   790,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   798,
6776      799,   800,   801,   802,   803,   804,   805,   806,   807,   808,
6777      809,   810,   811,   812,   813,   814,   815,   816,    -1,   818,
6778       -1,    -1,    -1,    -1,    -1,     1,    -1,     3,    -1,    -1,
6779       -1,  1994,  1995,  1996,  1997,  1998,    -1,    -1,    -1,    -1,
6780       -1,    -1,    -1,    -1,    -1,  2008,  2009,  2010,  2011,    -1,
6781      849,   850,    28,    29,    30,    31,    32,    33,    34,    35,
6782       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
6783       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
6784       -1,    -1,    -1,   897,   898,    -1,    -1,    -1,  1425,    65,
6785       66,    -1,  1429,    -1,    -1,    -1,    -1,    -1,    74,    75,
6786       -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,
6787       86,    87,  2075,  2076,    -1,    -1,    -1,   916,    -1,   918,
6788       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
6789       -1,    -1,    -1,  1470,   110,   111,   112,    -1,    -1,   115,
6790      116,    -1,    -1,  1480,    -1,    -1,   960,    -1,    -1,   948,
6791      126,    -1,    -1,    -1,  1491,    -1,   879,    -1,   957,    -1,
6792       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6793       -1,    -1,  1509,    -1,  1511,    -1,    -1,    -1,    -1,  1516,
6794       -1,  1518,    -1,    -1,    -1,    -1,    -1,   986,    -1,   988,
6795       -1,    -1,    -1,    -1,   917,    80,    -1,    -1,  1535,    -1,
6796       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6797       -1,    -1,    -1,    -1,   937,  1029,  1030,    -1,    -1,  1033,
6798     1034,  1035,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6799       -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,    -1,    -1,
6800       -1,    -1,    -1,    -1,    -1,   130,    -1,    -1,    -1,    -1,
6801       -1,  1588,    -1,    -1,    -1,  1054,    -1,    -1,    -1,   617,
6802       -1,    -1,    -1,    -1,    -1,   150,    -1,    -1,    -1,    -1,
6803       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6804       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6805       -1,   649,   650,   651,   652,  1094,    -1,    -1,    -1,    -1,
6806       -1,    -1,    -1,    -1,    -1,    -1,  1105,    -1,    -1,    -1,
6807       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1040,  1041,    -1,
6808       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6809       -1,    -1,  1131,  1132,    -1,    -1,    -1,    -1,    -1,    -1,
6810       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6811       -1,    -1,    -1,    -1,    -1,    -1,  1170,  1171,    -1,    -1,
6812       -1,  1698,    -1,    -1,    -1,  1702,  1703,  1704,    -1,    -1,
6813       -1,    -1,    -1,    -1,    -1,    -1,  1713,    -1,    -1,    -1,
6814       -1,  1718,  1719,    -1,    -1,    -1,    -1,    -1,  1725,    -1,
6815       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6816       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1744,  1745,    -1,
6817     1747,  1748,  1211,    -1,  1213,  1752,  1753,  1754,  1755,    -1,
6818       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6819       -1,  1768,    -1,    -1,    -1,    -1,  1235,    -1,    -1,    -1,
6820       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1784,    -1,  1172,
6821       -1,  1174,    -1,    -1,  1253,    -1,    -1,    -1,  1257,    -1,
6822       -1,  1260,    -1,    -1,    -1,  1264,    -1,    -1,    -1,  1268,
6823       -1,    -1,  1809,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6824       -1,    -1,   367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6825       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6826       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
6827       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
6828       -1,   406,   407,    -1,    -1,    -1,   411,    -1,    -1,    -1,
6829       -1,    -1,    -1,    -1,    -1,   420,    28,    -1,   423,    -1,
6830       -1,    -1,    -1,    -1,    -1,    37,    -1,  1884,  1885,    -1,
6831     1887,  1888,  1889,  1890,  1891,  1892,  1893,  1894,    -1,    -1,
6832       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6833       -1,   929,   457,    65,    -1,    -1,    -1,    -1,   463,    71,
6834       72,    73,    74,    75,    -1,    -1,    -1,    79,  1925,  1926,
6835       -1,    -1,    84,    85,    86,    -1,    -1,    -1,  1935,    -1,
6836       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,
6837      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
6838      112,    -1,    -1,   115,   116,   117,  1425,    -1,    -1,    -1,
6839     1429,    -1,    -1,   125,   126,    -1,   128,   129,   130,   131,
6840       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6841     1987,    -1,    -1,    -1,  1991,  1992,   541,    -1,    -1,    -1,
6842       -1,    -1,    -1,    -1,    -1,    -1,   551,    -1,    -1,    -1,
6843       -1,  1470,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6844       -1,  1480,    -1,  1497,  1498,    -1,   571,    -1,    -1,   574,
6845       -1,   576,  1491,   578,    -1,    -1,    -1,    -1,    -1,    -1,
6846       -1,    -1,    -1,    -1,     0,    -1,    -1,    -1,    -1,    -1,
6847     1509,    -1,  1511,    -1,    -1,    -1,    -1,  1516,    -1,  1518,
6848       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1451,    -1,
6849       -1,    -1,    -1,    -1,    -1,    -1,  1535,  1551,  1552,  1097,
6850       -1,    -1,  1100,    -1,    -1,    -1,    -1,    -1,    -1,    45,
6851       -1,  1109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6852       -1,    -1,    -1,    -1,  2101,    -1,     1,    -1,     3,     4,
6853        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
6854     1138,    77,  2119,    -1,    -1,    -1,    -1,    -1,    -1,  1588,
6855       86,    87,    -1,    28,  1152,  1153,  1154,  1155,    94,    95,
6856       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6857       -1,    -1,    -1,    -1,    -1,    -1,   112,    52,    53,    54,
6858       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
6859       65,  1554,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,
6860      136,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,
6861       85,    86,   148,    88,    89,    90,   152,    -1,    -1,    -1,
6862       -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,   104,
6863      105,   106,   107,   108,   109,   110,   111,   112,    -1,    -1,
6864      115,    -1,   117,   118,   180,   181,    -1,   122,    -1,   124,
6865      125,   126,    -1,   128,   129,   130,   131,    -1,    -1,  1698,
6866       -1,    -1,    -1,  1702,  1703,  1704,    -1,    -1,    -1,    -1,
6867       -1,    -1,    -1,    -1,  1713,    -1,    -1,   213,    -1,  1718,
6868     1719,    -1,    -1,    -1,    -1,    -1,  1725,    -1,    -1,    -1,
6869       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6870       -1,   826,   827,   828,    -1,  1744,  1745,    -1,  1747,  1748,
6871       -1,    -1,    -1,  1752,  1753,  1754,  1755,   253,    -1,    -1,
6872      256,   257,   258,    -1,   849,   850,   851,    -1,    -1,  1768,
6873      266,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6874      276,   277,   278,    -1,    -1,  1784,  1800,    -1,  1802,    -1,
6875       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6876      296,    -1,    -1,    -1,    -1,    -1,   302,    -1,    -1,    -1,
6877     1809,    -1,  1826,    -1,  1828,   311,    -1,    -1,    -1,    -1,
6878       -1,    -1,     0,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6879       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   923,    -1,
6880       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6881       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6882       -1,    -1,    -1,   948,    -1,    -1,    -1,    45,    46,    -1,
6883      955,   956,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6884       -1,   966,    -1,    -1,    -1,  1884,  1885,    -1,  1887,  1888,
6885     1889,  1890,  1891,  1892,  1893,  1894,    -1,    -1,    -1,    77,
6886       78,    -1,    -1,    -1,    82,    -1,  1829,    -1,   404,    87,
6887       -1,    -1,    -1,    -1,   410,    -1,    94,    95,    -1,    -1,
6888       -1,    -1,    -1,    -1,    -1,   421,  1925,  1926,    -1,    -1,
6889       -1,    -1,    -1,    -1,   112,    -1,  1935,    -1,    -1,    -1,
6890       -1,    -1,    -1,    -1,    -1,    -1,    -1,   125,    -1,    -1,
6891       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6892      456,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1053,    -1,
6893       -1,    -1,    -1,  1058,    -1,    -1,    -1,   473,    -1,  1064,
6894     1994,  1995,  1996,  1997,  1998,  1070,    -1,    -1,  1987,    -1,
6895       -1,  1076,  1991,  1992,  2008,  2009,  2010,  2011,   176,    -1,
6896      496,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6897       -1,   189,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   515,
6898       -1,    -1,    -1,    -1,    -1,    -1,   522,    -1,    -1,   525,
6899       -1,    -1,    -1,  1591,  1592,   213,    -1,    -1,    -1,    -1,
6900       -1,  1599,    -1,  1601,  1602,    -1,    -1,  1605,   258,    -1,
6901       -1,    -1,    -1,    -1,    -1,  1613,    -1,    -1,  1616,    -1,
6902       -1,  2075,  2076,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6903       -1,    -1,    -1,    -1,    -1,   253,    -1,    -1,    -1,    -1,
6904       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   266,    -1,
6905       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   276,    -1,
6906      278,   311,  2101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6907       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6908     2119,    -1,    -1,    -1,    -1,    -1,  1211,  1212,   624,    -1,
6909       -1,    -1,    -1,    -1,    -1,   192,    -1,    -1,    -1,    -1,
6910       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6911       -1,    -1,    -1,   649,   650,   651,   652,    -1,     1,    -1,
6912        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
6913       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6914       -1,   677,   678,   679,    -1,    28,   682,    -1,    -1,    -1,
6915       -1,    -1,    -1,   689,    -1,    -1,    -1,    -1,    -1,    -1,
6916       -1,    -1,    -1,    -1,    -1,    -1,    -1,   703,    -1,    -1,
6917       -1,    -1,   422,    -1,   710,   711,   712,    -1,   714,   715,
6918       -1,    -1,    65,    -1,    -1,   721,   404,    -1,    71,    72,
6919       73,   288,    -1,    -1,    -1,    -1,   732,    -1,    -1,   735,
6920      297,    84,    85,    -1,   422,   741,   303,    -1,   744,    -1,
6921       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
6922      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
6923       -1,    -1,   115,   116,   117,   118,    -1,   120,   456,    -1,
6924       -1,   459,   125,   126,    -1,   128,   129,   130,   131,  1847,
6925     1848,  1849,  1850,    -1,    -1,  1853,    -1,    -1,    -1,  1857,
6926     1858,    -1,  1860,    -1,  1862,    -1,    -1,    -1,    -1,    -1,
6927       -1,    -1,    -1,    -1,    -1,   372,  1874,   374,   496,    -1,
6928       -1,    -1,    -1,    -1,  1409,  1410,    -1,   823,    -1,    -1,
6929       -1,    -1,    -1,    -1,   512,   513,   514,    -1,    -1,    -1,
6930     1425,    -1,    -1,    -1,  1429,    -1,    -1,    -1,    -1,    -1,
6931       -1,    -1,   530,   531,    -1,    -1,    -1,    -1,    -1,    -1,
6932       -1,    -1,   858,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6933      866,   867,    -1,   551,    -1,   553,    -1,    -1,   874,    -1,
6934       -1,   877,   878,   879,    -1,   881,   564,    -1,    -1,    -1,
6935       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6936       -1,    -1,    -1,    -1,    -1,    -1,  1491,    -1,    -1,    -1,
6937       -1,    -1,   622,    -1,    -1,    -1,    -1,  1502,  1503,  1504,
6938     1505,    -1,   600,    -1,    -1,    -1,    -1,    -1,   638,    -1,
6939       -1,    -1,    -1,    -1,    -1,   931,    -1,    -1,    -1,   649,
6940      650,   651,   652,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6941       -1,   947,    -1,    -1,    -1,    -1,    -1,    -1,   515,    -1,
6942       -1,  2019,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6943     2028,    -1,  2030,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6944       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   698,    -1,
6945      986,   987,   988,    -1,    -1,   552,    -1,   675,   994,    -1,
6946       -1,    -1,    -1,    -1,   682,    -1,    -1,    -1,    -1,    -1,
6947       -1,    -1,    -1,    -1,    -1,    -1,   726,    -1,    -1,    -1,
6948       -1,    -1,    -1,    -1,  2082,  2083,    -1,    -1,  2086,    -1,
6949     2088,    -1,   710,  2091,    -1,    -1,   714,  2095,    -1,    -1,
6950       -1,   751,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6951       -1,    -1,    -1,    -1,   732,   612,    -1,    -1,    -1,    -1,
6952       -1,  1646,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2127,
6953       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   789,
6954       -1,    -1,    -1,    -1,    -1,    -1,    -1,   797,    -1,    -1,
6955       -1,    -1,    -1,    -1,    -1,    -1,  2154,    -1,  1094,    -1,
6956       -1,    -1,    -1,    -1,    -1,    -1,    -1,   817,    -1,    -1,
6957       -1,    -1,    -1,  1698,    -1,  1700,    -1,  1113,  1703,    -1,
6958       -1,    -1,    -1,    -1,    -1,    -1,   683,    -1,    -1,    -1,
6959       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6960       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6961       -1,    -1,    -1,    -1,    -1,    -1,  1152,  1153,  1154,  1155,
6962       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   879,
6963       -1,    -1,    -1,   851,   852,    -1,    -1,    -1,   735,  1175,
6964      858,  1177,    -1,  1768,   741,    -1,    -1,   744,   866,   867,
6965       -1,    -1,    -1,    -1,    -1,    -1,   874,  1193,    -1,   877,
6966      878,   879,    -1,    -1,    -1,    86,    -1,    -1,    -1,    -1,
6967       -1,    -1,    -1,    -1,  1210,    -1,    -1,    -1,    -1,    -1,
6968       -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,     8,
6969        9,    -1,    -1,    -1,  1230,    -1,    -1,    -1,    -1,   917,
6970       -1,  1237,    -1,    -1,    -1,    -1,    -1,   925,    -1,    28,
6971       -1,    -1,    -1,   931,    -1,    -1,    -1,    -1,    -1,   937,
6972     1256,  1257,    -1,    -1,    -1,    -1,    -1,  1263,  1264,   947,
6973       -1,  1267,  1268,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6974       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
6975       -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,   180,
6976      181,    -1,    -1,    -1,    -1,    84,    85,    -1,    -1,    -1,
6977       -1,    -1,    -1,    -1,    -1,    -1,   994,    -1,    -1,    98,
6978       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
6979      109,    -1,   213,   112,    -1,    -1,   115,   116,   117,    -1,
6980     1925,   120,    -1,    -1,    -1,   124,   125,   126,    -1,   128,
6981      129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,   916,
6982       -1,   918,  1040,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6983       -1,  1049,   253,    -1,    -1,   256,   257,   258,    -1,    -1,
6984       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1097,    -1,    -1,
6985     1100,  1101,  1102,    -1,  1104,    -1,   277,    -1,    -1,    -1,
6986      957,    -1,  1112,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6987     1120,    -1,    -1,    -1,  1999,   296,  2001,  1127,    -1,    -1,
6988       -1,   302,    -1,    -1,    -1,    -1,    -1,    -1,  1138,   986,
6989      311,   988,    -1,    -1,    -1,  1145,    -1,    -1,    -1,    -1,
6990     1150,    -1,  1152,  1153,  1154,  1155,    -1,    -1,    -1,    -1,
6991       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6992       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6993       -1,  1181,    -1,  1183,  1470,    -1,    -1,  1473,    -1,     1,
6994       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
6995       -1,    -1,  1202,    -1,    -1,    -1,    -1,  1054,  1208,    -1,
6996       -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,
6997       -1,    -1,    -1,    -1,    -1,  1193,    -1,    -1,    -1,    -1,
6998       -1,  1231,    -1,   404,    -1,    -1,    -1,    -1,    -1,    -1,
6999       -1,    -1,  1210,    -1,  1212,    -1,    -1,  1094,    -1,    -1,
7000       -1,    -1,  1220,    65,    -1,    -1,    -1,    -1,  1105,    71,
7001       72,    73,  1230,    -1,    -1,    -1,    -1,    -1,    -1,  1237,
7002       -1,    -1,    84,    85,    -1,    -1,    -1,    -1,  1278,    -1,
7003       -1,    -1,    -1,    -1,    -1,   456,    98,  1573,    -1,    -1,
7004      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
7005      112,  1587,  1588,   115,   116,   117,   118,    -1,   120,    -1,
7006       -1,    -1,    -1,   125,   126,    -1,   128,   129,   130,   131,
7007       -1,    -1,    -1,    -1,    -1,   496,    -1,    -1,    -1,    -1,
7008     1330,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,
7009       -1,    -1,    -1,  1343,   515,    -1,    -1,    -1,    -1,    -1,
7010       -1,   522,    -1,    -1,   525,    -1,    -1,    -1,    -1,    -1,
7011       -1,    28,    -1,    -1,    -1,    -1,  1213,    34,    35,    36,
7012       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7013       47,    48,    49,    50,    -1,    -1,    -1,    -1,  1235,    -1,
7014       -1,    -1,    -1,    -1,  1394,    -1,    -1,    -1,    -1,    66,
7015       -1,    -1,    -1,    -1,    -1,    -1,   311,    74,    75,    -1,
7016     1257,    -1,    79,    -1,    -1,    82,    83,  1264,    85,    86,
7017       87,  1268,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7018       -1,    -1,    -1,   100,    -1,  1721,    -1,    -1,    -1,    -1,
7019       -1,    -1,    -1,   110,   111,   112,    -1,    -1,   115,    -1,
7020       -1,    -1,    -1,    -1,  1422,    -1,    -1,    -1,    -1,   126,
7021       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1436,    -1,
7022       -1,    -1,    -1,    -1,    -1,  1443,    -1,    -1,   649,   650,
7023      651,   652,    -1,  1451,    -1,    -1,    -1,    -1,    -1,    -1,
7024       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1783,  1784,    -1,
7025       -1,    -1,    -1,  1471,    -1,  1473,   677,   678,   679,    -1,
7026       -1,    -1,    -1,    -1,    -1,    -1,    -1,   422,   689,  1805,
7027       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7028       -1,    -1,   703,    -1,    -1,    -1,    -1,    -1,    -1,   710,
7029      711,   712,    -1,   714,   715,    -1,    -1,    -1,    -1,    -1,
7030      721,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,
7031       -1,   732,    -1,    -1,   735,    -1,    -1,    -1,    -1,    -1,
7032      741,    -1,    -1,   744,    -1,    -1,    -1,    -1,    -1,    -1,
7033       -1,    -1,    -1,    -1,    -1,  1553,    -1,    -1,    -1,    -1,
7034       -1,  1591,  1592,    -1,    -1,  1595,    -1,  1597,    -1,    -1,
7035     1600,  1601,    -1,    -1,    -1,  1573,  1606,  1607,    -1,  1609,
7036       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1619,
7037       -1,  1621,    -1,  1470,    -1,    -1,    -1,    -1,    -1,    -1,
7038       -1,    -1,    -1,  1480,    -1,    -1,    -1,    -1,    -1,    -1,
7039       -1,  1927,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7040       -1,  1651,   823,   180,   181,  1655,    -1,    -1,    -1,    -1,
7041       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1516,
7042       -1,  1518,    -1,    -1,    -1,    -1,  1676,    -1,    -1,    -1,
7043       -1,    -1,    -1,    -1,    -1,  1685,   213,   858,  1535,    -1,
7044       -1,    -1,    -1,    -1,    -1,    -1,   867,    -1,    -1,    -1,
7045       -1,    -1,    -1,   874,    -1,    -1,    -1,    -1,   879,    -1,
7046      881,    -1,    -1,    -1,    -1,    -1,    -1,   622,    -1,    -1,
7047       -1,    -1,    -1,    -1,  1692,    -1,   253,    -1,    -1,   256,
7048      257,   258,    -1,   638,    -1,    -1,    -1,   642,    -1,    -1,
7049       -1,  1588,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7050      277,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7051      931,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   296,
7052       -1,    -1,    -1,    -1,    -1,   302,   947,    -1,    -1,    -1,
7053       -1,    -1,    -1,    -1,   311,    -1,    -1,    -1,    -1,    -1,
7054       -1,    -1,    -1,   698,    -1,    -1,  1764,    -1,    -1,    -1,
7055       -1,    -1,    -1,    -1,    -1,    -1,    -1,   712,    -1,    -1,
7056       -1,    -1,    -1,    -1,    -1,   986,   987,   988,  1786,    -1,
7057       -1,   726,   727,   994,    -1,    -1,    -1,    -1,    -1,    -1,
7058       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1805,    -1,  1839,
7059       -1,    -1,    -1,    -1,    -1,    -1,   751,    -1,    -1,    -1,
7060       -1,    -1,    -1,  1853,  1854,  1702,    -1,  1704,    -1,    -1,
7061       -1,  1861,    -1,    -1,    -1,  1865,    -1,  1867,    -1,    -1,
7062       -1,  1718,  1719,    -1,    -1,    -1,  1876,   404,    -1,    -1,
7063       -1,    -1,    -1,    -1,   789,    -1,    -1,    -1,    -1,    -1,
7064       -1,    -1,   797,    -1,    -1,    -1,    -1,  1744,  1745,    -1,
7065     1747,  1748,    -1,    -1,    -1,  1752,  1753,  1754,  1755,    -1,
7066       -1,    -1,   817,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7067       -1,    -1,    -1,  1094,    -1,    -1,    -1,  1927,    -1,   456,
7068       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1784,    -1,  1907,
7069       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7070       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7071       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   496,
7072       -1,    -1,    -1,    -1,   879,    -1,    -1,    -1,    -1,    -1,
7073       -1,  1152,  1153,  1154,  1155,    -1,    -1,    -1,   515,    -1,
7074       -1,    -1,    -1,    -1,    -1,   522,    -1,    -1,   525,    -1,
7075       -1,    -1,    -1,    -1,  1175,    -1,  1177,    -1,    -1,    -1,
7076       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7077     2020,  2021,  1193,  2023,    -1,  2025,    -1,    -1,  2028,  2029,
7078     2030,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1210,
7079     1887,  1888,  1889,  1890,  1891,  1892,  1893,  1894,    -1,    -1,
7080       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1230,
7081       -1,    -1,    -1,    -1,    -1,    -1,  1237,    -1,    -1,    -1,
7082       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1926,
7083       -1,    -1,    -1,    -1,  2084,  1256,  1257,  2087,  1935,    -1,
7084       -1,    -1,  1263,  1264,    -1,  2095,  1267,  1268,    -1,    -1,
7085       -1,    -1,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7086       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7087       -1,    -1,   649,   650,   651,   652,    -1,    -1,    -1,    -1,
7088     2130,    -1,    -1,    77,    78,    -1,    -1,    -1,    -1,    -1,
7089     1987,    -1,    -1,    -1,  1991,  1992,    -1,    -1,    -1,    -1,
7090      677,   678,   679,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7091       -1,    -1,   689,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7092       -1,    -1,    -1,    -1,    -1,    -1,   703,    -1,    -1,    -1,
7093       -1,   125,   126,   710,   711,   712,    -1,   714,   715,    -1,
7094       -1,    -1,    -1,    -1,   721,    -1,  1101,  1102,    -1,  1104,
7095       -1,    -1,    -1,    -1,    -1,   732,    -1,  1112,   735,    -1,
7096     1115,    -1,    -1,    -1,   741,  1120,    -1,   744,    -1,    -1,
7097       -1,    -1,  1127,  1128,    -1,    -1,    -1,    -1,    -1,    -1,
7098       -1,    -1,    -1,   177,    -1,    -1,    -1,    -1,    -1,    -1,
7099     1145,  1146,    -1,    -1,    -1,  1150,    -1,    -1,    -1,    -1,
7100       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7101       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   213,
7102       -1,    -1,    -1,    -1,    -1,    -1,  1181,    -1,  1183,    -1,
7103       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7104       -1,    -1,    -1,    -1,    -1,    -1,   823,  1202,    -1,  1470,
7105       -1,    -1,  1473,  1208,    -1,    -1,    -1,    -1,    -1,   253,
7106       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7107       -1,    -1,   266,    -1,    -1,    -1,  1231,    -1,    -1,    -1,
7108       -1,   858,   276,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7109      867,    -1,    -1,    -1,    -1,    -1,    -1,   874,    -1,    -1,
7110       -1,    -1,   879,    -1,   881,    -1,    -1,    -1,    -1,    -1,
7111       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7112       -1,    -1,    -1,  1278,  1279,    -1,    -1,    -1,    46,    -1,
7113       -1,    -1,    -1,    -1,    -1,    53,    -1,    -1,    -1,    -1,
7114       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7115       -1,    -1,  1573,    -1,   931,    -1,    -1,    -1,    76,    77,
7116       78,    -1,    -1,    -1,    -1,    -1,  1587,  1588,    -1,    -1,
7117      947,    -1,    -1,    -1,    -1,  1330,    -1,  1332,    -1,    -1,
7118       -1,    -1,    -1,    -1,    -1,    -1,   380,    -1,  1343,  1344,
7119       -1,    -1,   386,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7120       -1,    -1,    -1,    -1,    -1,    -1,    -1,   125,   126,   986,
7121      987,   988,    -1,    -1,    -1,    -1,    -1,   994,   126,    -1,
7122       -1,    -1,    -1,    -1,   142,    -1,    -1,    -1,   422,    -1,
7123       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1394,
7124      158,  1396,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7125       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,
7126       -1,    -1,   456,    -1,    -1,    -1,    -1,    -1,    -1,   177,
7127       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7128       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7129       -1,    -1,    -1,    -1,   212,   213,    -1,    -1,    -1,    -1,
7130     1721,    -1,    -1,    -1,    -1,   213,    -1,    -1,    -1,    -1,
7131       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1094,   512,   513,
7132      514,    -1,   516,    -1,    -1,   519,    -1,    -1,    -1,    -1,
7133       -1,    -1,    -1,    -1,    -1,   253,   530,   531,   532,    -1,
7134       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   266,    -1,
7135       -1,    -1,    -1,    -1,    -1,    -1,    -1,   551,   276,   553,
7136       -1,    -1,  1783,  1784,    -1,    -1,    -1,    -1,   276,    -1,
7137       -1,    -1,   566,    -1,    -1,  1152,  1153,  1154,  1155,    -1,
7138       -1,    -1,    -1,    -1,  1805,    -1,    -1,    -1,    -1,    -1,
7139       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1175,    -1,
7140     1177,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7141       -1,    -1,    -1,    -1,    -1,    -1,  1193,    -1,    -1,    -1,
7142       -1,    -1,    -1,    -1,  1579,    -1,    -1,    -1,    -1,    -1,
7143       -1,    -1,    -1,  1210,    -1,    -1,    -1,    -1,    -1,    -1,
7144     1595,  1596,  1597,  1598,    -1,  1600,  1601,    -1,    -1,    -1,
7145       -1,  1606,  1607,  1230,  1609,    -1,  1611,    -1,    -1,    -1,
7146     1237,    -1,   380,    -1,  1619,  1620,  1621,    -1,   386,    -1,
7147       -1,    -1,   380,    -1,    -1,    -1,    -1,    -1,   386,  1256,
7148     1257,    -1,   676,    -1,    -1,    -1,  1263,  1264,   682,    -1,
7149     1267,  1268,    -1,    -1,    -1,    -1,  1651,    -1,  1653,    -1,
7150     1655,    -1,  1657,    -1,   422,    -1,  1927,    -1,    -1,    -1,
7151       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7152       -1,  1676,  1677,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7153     1685,  1686,    -1,    -1,    -1,    -1,    -1,    -1,   456,    -1,
7154       -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,   456,    -1,
7155       -1,    -1,    -1,    -1,   472,    -1,    -1,    -1,    -1,    -1,
7156       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
7157       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7158       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7159       49,    50,    -1,    -1,   512,   513,   514,    -1,   516,    -1,
7160       -1,   519,    -1,    -1,    -1,    -1,    -1,    66,   516,    -1,
7161       -1,   519,   530,   531,   532,    74,    75,    -1,    -1,    -1,
7162       79,    -1,    -1,    -1,   532,    -1,    85,    86,    87,    -1,
7163       -1,   549,    -1,   551,    -1,   553,    -1,    -1,    -1,    -1,
7164       -1,   100,    -1,    -1,    -1,   553,    -1,    -1,   566,    -1,
7165       -1,   110,   111,   112,    -1,    -1,   115,    -1,   566,    -1,
7166       -1,    -1,    -1,   122,    -1,    -1,    -1,   126,    -1,    -1,
7167       -1,    -1,    -1,   867,    -1,    -1,    -1,    -1,    -1,    -1,
7168      874,    -1,   617,    -1,  1839,   879,    -1,    -1,    -1,    -1,
7169       -1,    -1,    -1,  1470,    -1,    -1,  1473,    -1,    -1,  1854,
7170       -1,    -1,    -1,    -1,  1859,    -1,  1861,  1862,    -1,  1864,
7171     1865,    -1,  1867,    -1,  1869,    -1,   651,   652,    -1,    -1,
7172     1875,  1876,    -1,   917,    -1,    86,    -1,    -1,    -1,    -1,
7173       -1,    -1,   926,    -1,    -1,    -1,    -1,   931,    -1,    -1,
7174       -1,    -1,    -1,   937,    -1,    -1,    -1,    -1,    -1,    -1,
7175      668,    -1,    -1,   947,    -1,    -1,    -1,    -1,   676,    -1,
7176       -1,    -1,    -1,    -1,   682,    -1,    -1,    -1,   676,    -1,
7177       -1,    -1,  1927,    -1,   682,   136,    -1,    -1,    -1,    -1,
7178       -1,    -1,    -1,    -1,    -1,    -1,    -1,   148,    -1,    -1,
7179       -1,   152,    -1,    86,    -1,    -1,  1573,    -1,    -1,    -1,
7180      994,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7181     1587,  1588,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   180,
7182      181,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7183       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7184       -1,    -1,    -1,   136,    -1,    -1,  1040,  1041,    -1,    -1,
7185       -1,    -1,   213,    -1,    -1,   148,  1050,    -1,  1052,   152,
7186       -1,    -1,    -1,    -1,    -1,  2020,  2021,    -1,  2023,  2024,
7187     2025,    -1,    -1,    -1,  2029,  2030,    -1,    -1,    -1,    -1,
7188       -1,    -1,    -1,    -1,    -1,    -1,    -1,   180,   181,    -1,
7189       -1,    -1,   253,    -1,   314,   256,   257,   258,    -1,    -1,
7190       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7191      330,    -1,    -1,    -1,    -1,    -1,   277,    -1,    -1,    -1,
7192       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2084,
7193     2085,    -1,  2087,  2088,    -1,   296,    -1,  2092,    -1,    -1,
7194       -1,   302,    -1,    -1,  1721,    -1,    -1,   865,    -1,   867,
7195        1,    -1,     3,     4,     5,     6,   874,     8,     9,   867,
7196      253,   879,    -1,   256,   257,   258,   874,    -1,    -1,    -1,
7197       -1,    -1,    -1,    -1,    -1,  2130,    -1,    28,  1172,    -1,
7198     1174,    -1,    -1,    -1,   277,    -1,    -1,    -1,    -1,    -1,
7199       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   917,
7200       -1,    -1,    -1,   296,    -1,    -1,  1783,  1784,   926,   302,
7201       -1,    -1,    -1,   931,    65,    -1,    -1,    -1,   926,   937,
7202       71,    72,    73,   931,    -1,    -1,    -1,    -1,  1805,   947,
7203       -1,    -1,    -1,    84,    85,    -1,    -1,    -1,    -1,   947,
7204       -1,    -1,    -1,   404,    -1,    -1,    -1,    98,    -1,   410,
7205       -1,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
7206      421,   112,    -1,    -1,   115,   116,   117,    -1,    -1,   120,
7207       -1,    -1,    -1,   124,   125,   126,   994,   128,   129,   130,
7208      131,    -1,    -1,    -1,    -1,    -1,   994,    -1,    -1,    -1,
7209       -1,    -1,    -1,    -1,    -1,   456,    -1,    -1,    -1,    -1,
7210       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7211       -1,    -1,   473,    -1,    -1,    -1,    -1,   410,    -1,    -1,
7212       -1,    -1,  1040,  1041,    -1,    -1,    -1,    -1,   421,    -1,
7213       -1,    -1,  1050,  1041,  1052,   496,    -1,    -1,    -1,    -1,
7214       -1,    -1,  1050,    -1,  1052,    -1,    -1,    -1,    -1,    -1,
7215     1927,    -1,    -1,    -1,   515,    -1,    -1,    -1,    -1,    -1,
7216       -1,   522,  1097,    -1,   525,  1100,    -1,    -1,    -1,    -1,
7217       -1,    -1,    -1,    -1,  1109,    -1,    -1,    -1,    -1,    -1,
7218      473,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7219       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7220       -1,    -1,   622,  1138,    -1,    -1,    -1,    -1,    -1,    -1,
7221       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1152,  1153,  1154,
7222     1155,    -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,   522,
7223       -1,    -1,   525,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7224       -1,    -1,    -1,  1437,    -1,    -1,    -1,    -1,    -1,    -1,
7225     1444,    -1,    -1,    -1,  1172,    -1,  1174,  1451,    -1,    -1,
7226       -1,    -1,    -1,    -1,  1172,    -1,  1174,    -1,    -1,    -1,
7227       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1471,    -1,  1473,
7228       -1,    -1,  1476,    -1,    -1,  1479,    -1,    -1,   649,   650,
7229      651,   652,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7230       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7231       -1,    -1,    -1,    -1,    -1,    -1,   677,   678,   679,    -1,
7232       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   749,
7233       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7234       -1,    -1,   703,   763,    -1,    -1,    -1,    -1,    -1,   710,
7235      711,    -1,    -1,   714,   715,    -1,   649,   650,   651,   652,
7236     1554,    -1,   782,   783,   784,   785,   786,    -1,  1562,   789,
7237      790,    -1,    -1,    -1,   735,   795,    -1,    -1,   798,  1573,
7238      741,    -1,    -1,   744,   677,   678,   679,    -1,    -1,    -1,
7239      810,   811,   812,   813,   814,    -1,    -1,   817,   818,    -1,
7240       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7241      703,    -1,    -1,    -1,    -1,    -1,    -1,   710,   711,    -1,
7242       -1,   714,   715,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7243       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7244       -1,    -1,   735,    -1,    -1,    -1,    -1,    -1,   741,    -1,
7245       -1,   744,    86,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7246       -1,    -1,   823,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7247       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7248       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7249       -1,    -1,    -1,    -1,    -1,    -1,    -1,   858,    -1,    -1,
7250       -1,    -1,   136,    -1,    -1,   866,   867,    -1,    -1,    -1,
7251       -1,    -1,    -1,   874,   148,    -1,   877,    -1,   152,  1437,
7252      881,    -1,    -1,    -1,    -1,    -1,  1444,    -1,    -1,  1437,
7253       -1,    -1,    -1,  1451,    -1,    -1,  1444,    -1,    -1,    -1,
7254       -1,    -1,    -1,    -1,    -1,    -1,   180,   181,    -1,    -1,
7255       -1,    -1,    -1,  1471,    -1,  1473,    -1,    -1,  1476,    -1,
7256       -1,  1479,    -1,  1471,     1,  1473,    -1,    -1,  1476,    -1,
7257      931,  1479,    -1,   866,    -1,    -1,    -1,    -1,  1772,  1773,
7258       -1,  1775,    -1,    -1,   877,    -1,   947,    -1,    -1,    -1,
7259       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
7260       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7261       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,   253,
7262       -1,    -1,   256,   257,   258,   986,   987,   988,    -1,    66,
7263       -1,    -1,    -1,   994,    -1,  1829,  1554,    74,    75,    -1,
7264       -1,    -1,    79,   277,  1562,    -1,  1554,    -1,    85,    86,
7265       87,    -1,    -1,    -1,  1562,  1573,  1591,  1592,    -1,    -1,
7266       -1,    -1,   296,   100,  1599,  1573,  1601,  1602,   302,    -1,
7267     1605,    -1,    -1,   110,   111,    -1,    -1,    -1,  1613,    -1,
7268       -1,  1616,    -1,    -1,   121,    -1,    -1,    -1,    -1,    -1,
7269       -1,    -1,  1112,   986,   987,   988,    -1,    -1,    -1,    -1,
7270       -1,   994,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7271       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7272     1140,    -1,    -1,    -1,    -1,    -1,    -1,  1147,    -1,    -1,
7273       -1,    -1,    -1,  1094,    -1,    -1,    -1,    -1,    -1,    -1,
7274       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7275       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7276       -1,  1181,    -1,  1183,    -1,    -1,    -1,    -1,    -1,    -1,
7277       -1,    -1,    -1,    -1,    -1,    -1,   410,    -1,    -1,    -1,
7278     1200,    -1,    -1,    -1,    -1,    -1,  1206,   421,    -1,    -1,
7279       -1,  1152,  1153,  1154,  1155,    -1,    -1,    -1,    -1,    -1,
7280       -1,  1094,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7281       -1,    -1,    -1,    -1,  1175,    -1,  1177,    -1,    -1,    -1,
7282       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7283       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   473,
7284     1260,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1210,
7285       -1,    -1,    -1,    -1,  1772,  1773,    -1,  1775,    -1,  1152,
7286     1153,  1154,  1155,    -1,  1772,  1773,    -1,  1775,    -1,  1230,
7287       -1,    -1,    -1,    -1,    -1,    -1,  1237,    -1,    -1,    -1,
7288       -1,   515,  1175,    -1,  1177,    -1,    -1,    -1,   522,    -1,
7289       -1,   525,    -1,    -1,    -1,  1256,  1257,    -1,    -1,    -1,
7290       -1,    -1,  1263,  1264,    -1,    -1,  1267,  1268,    -1,    -1,
7291       -1,  1829,  1847,  1848,  1849,  1850,    -1,  1210,  1853,    -1,
7292       -1,  1829,  1857,  1858,    -1,  1860,     1,  1862,     3,     4,
7293        5,     6,    -1,     8,     9,    -1,    -1,  1230,    -1,  1874,
7294       -1,    -1,    -1,    -1,  1237,    -1,    -1,    -1,    -1,    -1,
7295       -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,    -1,
7296       -1,    -1,    -1,  1256,  1257,    -1,    -1,    -1,    -1,    -1,
7297     1263,  1264,    -1,    -1,  1267,  1268,    -1,    -1,    -1,    -1,
7298       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7299       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,
7300       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,
7301       85,    -1,    -1,    -1,    -1,   649,   650,   651,   652,    -1,
7302       -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,   104,
7303      105,   106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,
7304      115,   116,   117,   677,   678,   679,    -1,   122,    -1,    -1,
7305      125,   126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,
7306        1,    -1,     3,     4,     5,     6,    -1,     8,     9,   703,
7307       -1,    -1,    -1,    -1,    -1,    -1,   710,   711,    -1,    -1,
7308      714,   715,    -1,    -1,  2019,    -1,    -1,    28,    -1,    -1,
7309       -1,    -1,    -1,  2028,    -1,  2030,    -1,    -1,    -1,    -1,
7310       -1,   735,    -1,    -1,    -1,    -1,    -1,   741,    -1,  1470,
7311      744,    -1,  1473,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7312       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
7313       71,    72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7314       -1,    -1,    -1,    84,    85,    -1,    -1,  2082,  2083,    -1,
7315       -1,  2086,    -1,  2088,    -1,    -1,  2091,    98,    -1,    -1,
7316     2095,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
7317       -1,   112,    -1,    -1,   115,   116,   117,  1470,    -1,   120,
7318       -1,    -1,    -1,   124,   125,   126,    -1,   128,   129,   130,
7319      131,    -1,  2127,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7320       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7321       -1,    -1,  1573,    -1,    -1,    -1,    -1,    -1,    -1,  2154,
7322       -1,    -1,    -1,    -1,    -1,    -1,  1587,  1588,    -1,    -1,
7323       -1,    -1,   866,     3,    -1,    -1,    -1,    -1,    -1,    -1,
7324       -1,    -1,    -1,   877,    -1,    -1,    -1,    -1,    -1,    -1,
7325       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
7326       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7327       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7328       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7329       -1,    -1,    -1,    -1,  1587,  1588,    66,    -1,    -1,    -1,
7330       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
7331       -1,    -1,    82,    83,    -1,    85,    86,    87,  1738,    -1,
7332       -1,    -1,    -1,  1743,  1744,  1745,  1746,  1747,  1748,    -1,
7333      100,    -1,  1752,  1753,  1754,  1755,    -1,    -1,    -1,    -1,
7334      110,   111,   112,    -1,    -1,   115,    -1,    -1,    -1,    -1,
7335       -1,    -1,   986,   987,   988,    -1,   126,    -1,   128,    -1,
7336      994,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,    -1,
7337       -1,    -1,    -1,     7,     8,     9,    10,    11,    12,    13,
7338       14,    15,    16,    17,    -1,    -1,    -1,    -1,    -1,    -1,
7339       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
7340       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7341       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
7342       -1,    -1,  1783,  1784,    -1,    -1,    -1,    -1,    -1,    -1,
7343       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7344       74,    75,    -1,    -1,  1805,    79,    -1,    -1,    -1,    -1,
7345       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
7346     1094,    -1,    -1,    -1,    -1,    -1,   100,  1887,  1888,  1889,
7347     1890,  1891,  1892,  1893,  1894,    -1,   110,   111,   112,   113,
7348      114,   115,    -1,    -1,   118,   119,   120,   121,    -1,   123,
7349     1783,  1784,   126,    -1,   128,   129,   130,    -1,   132,   133,
7350      134,   135,   136,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7351       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1152,  1153,
7352     1154,  1155,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7353       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7354       -1,  1175,    -1,  1177,    -1,    -1,    -1,    -1,    -1,    -1,
7355       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7356       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7357       -1,    -1,    -1,    -1,    -1,    -1,  1210,    -1,    -1,    -1,
7358       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7359       -1,    -1,    -1,    -1,    -1,    -1,  1230,    -1,    -1,    -1,
7360       -1,    -1,    -1,  1237,    -1,    -1,    -1,    -1,    -1,    -1,
7361       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7362       -1,    -1,  1256,  1257,    -1,    -1,    -1,    -1,    -1,  1263,
7363     1264,    -1,    -1,  1267,  1268,     0,     1,    -1,     3,     4,
7364        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
7365       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
7366       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
7367       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7368       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
7369       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7370       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
7371       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
7372       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
7373       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
7374      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
7375      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
7376      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
7377      135,   136,     0,     1,    -1,     3,     4,     5,     6,     7,
7378        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7379       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7380       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7381       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7382       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7383       58,    59,    60,    61,    62,    -1,  1470,    65,    66,    -1,
7384       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7385       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7386       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7387       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7388      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7389      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7390      128,   129,   130,   131,   132,   133,   134,   135,   136,    -1,
7391       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7392       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7393       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7394       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7395       -1,    -1,    -1,  1587,  1588,     0,     1,    -1,     3,     4,
7396        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
7397       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
7398       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
7399       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7400       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
7401       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7402       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
7403       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
7404       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
7405       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
7406      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
7407      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
7408      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
7409      135,   136,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7410       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7411       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7412       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7413       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7414       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1783,
7415     1784,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
7416        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
7417       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
7418       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7419       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7420       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
7421       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
7422       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7423       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7424       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7425       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7426      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
7427      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
7428      129,   130,   131,   132,   133,   134,   135,   136,     0,     1,
7429       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7430       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7431       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7432       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7433       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7434       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7435       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7436       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7437       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7438       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7439      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7440      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7441      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7442      132,   133,   134,   135,   136,     0,     1,    -1,     3,     4,
7443        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
7444       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
7445       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
7446       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7447       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
7448       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7449       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
7450       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
7451       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
7452       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
7453      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
7454      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
7455      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
7456      135,   136,     0,     1,    -1,     3,     4,     5,     6,     7,
7457        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7458       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7459       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7460       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7461       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7462       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7463       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7464       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7465       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7466       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7467      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7468      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7469      128,   129,   130,   131,   132,   133,   134,   135,   136,     0,
7470        1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
7471       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
7472       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
7473       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
7474       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
7475       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
7476       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
7477       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
7478       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
7479       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
7480       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
7481      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
7482      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
7483      131,   132,   133,   134,   135,   136,     0,     1,    -1,     3,
7484        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7485       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7486       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7487       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7488       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7489       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7490       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7491       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7492       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7493       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7494      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7495      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7496      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7497      134,   135,   136,     0,     1,    -1,     3,     4,     5,     6,
7498        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
7499       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
7500       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
7501       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7502       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
7503       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
7504       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
7505       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
7506       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
7507       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
7508      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
7509      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
7510      127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
7511        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
7512       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7513       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
7514       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7515       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7516       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7517       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7518       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7519       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7520       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7521      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7522      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
7523      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
7524      130,   131,   132,   133,   134,   135,   136,     0,     1,    -1,
7525        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
7526       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
7527       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
7528       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
7529       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
7530       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
7531       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
7532       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
7533       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
7534       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
7535      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
7536      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
7537      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
7538      133,   134,   135,   136,     0,     1,    -1,     3,     4,     5,
7539        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7540       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
7541       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
7542       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7543       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7544       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7545       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7546       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7547       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7548       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7549      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7550      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
7551      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
7552      136,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
7553        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
7554       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
7555       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7556       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7557       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
7558       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
7559       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7560       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7561       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7562       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7563      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
7564      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
7565      129,   130,   131,   132,   133,   134,   135,   136,     0,     1,
7566       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7567       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7568       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7569       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7570       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7571       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7572       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7573       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7574       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7575       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7576      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7577      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7578      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7579      132,   133,   134,   135,   136,     0,     1,    -1,     3,     4,
7580        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
7581       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
7582       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
7583       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7584       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
7585       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7586       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
7587       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
7588       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
7589       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
7590      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
7591      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
7592      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
7593      135,   136,     0,     1,    -1,     3,     4,     5,     6,     7,
7594        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7595       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7596       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7597       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7598       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7599       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7600       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7601       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7602       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7603       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7604      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7605      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7606      128,   129,   130,   131,   132,   133,   134,   135,   136,     0,
7607        1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
7608       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
7609       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
7610       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
7611       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
7612       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
7613       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
7614       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
7615       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
7616       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
7617       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
7618      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
7619      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
7620      131,   132,   133,   134,   135,   136,     0,     1,    -1,     3,
7621        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7622       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7623       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7624       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7625       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7626       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7627       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7628       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7629       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7630       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7631      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7632      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7633      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7634      134,   135,   136,     0,     1,    -1,     3,     4,     5,     6,
7635        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
7636       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
7637       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
7638       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7639       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
7640       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
7641       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
7642       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
7643       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
7644       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
7645      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
7646      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
7647      127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
7648        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
7649       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7650       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
7651       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7652       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7653       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7654       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7655       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7656       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7657       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7658      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7659      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
7660      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
7661      130,   131,   132,   133,   134,   135,   136,     0,     1,    -1,
7662        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
7663       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
7664       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
7665       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
7666       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
7667       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
7668       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
7669       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
7670       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
7671       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
7672      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
7673      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
7674      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
7675      133,   134,   135,   136,     0,     1,    -1,     3,     4,     5,
7676        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7677       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
7678       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
7679       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7680       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7681       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7682       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7683       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7684       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7685       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7686      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7687      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
7688      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
7689      136,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
7690        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
7691       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
7692       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7693       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7694       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
7695       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
7696       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7697       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7698       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7699       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7700      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
7701      119,   120,   121,   122,   123,   124,   125,   126,    -1,   128,
7702      129,   130,   131,   132,   133,   134,   135,   136,     0,     1,
7703       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
7704       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7705       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
7706       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7707       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7708       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7709       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7710       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7711       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7712       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7713      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7714      112,    -1,    -1,   115,   116,   117,   118,    -1,   120,   121,
7715      122,   123,   124,   125,   126,    -1,   128,   129,   130,   131,
7716        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
7717       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7718       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
7719       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7720       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7721       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7722       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7723       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7724       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7725       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7726      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7727      110,   111,   112,    -1,    -1,   115,   116,   117,   118,    -1,
7728      120,   121,   122,    -1,   124,   125,   126,    -1,   128,   129,
7729      130,   131,     0,     1,    -1,     3,     4,     5,     6,    -1,
7730        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7731       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7732       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7733       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7734       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7735       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7736       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7737       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7738       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7739       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7740      108,   109,   110,   111,   112,    -1,    -1,   115,   116,   117,
7741      118,    -1,   120,   121,   122,    -1,   124,   125,   126,    -1,
7742      128,   129,   130,   131,     0,     1,    -1,     3,     4,     5,
7743        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
7744       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7745       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
7746       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7747       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7748       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7749       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7750       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7751       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7752       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7753      106,   107,   108,   109,   110,   111,   112,    -1,    -1,   115,
7754      116,   117,   118,    -1,   120,   121,   122,    -1,   124,   125,
7755      126,    -1,   128,   129,   130,   131,     0,     1,    -1,     3,
7756        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
7757       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7758       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
7759       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7760       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7761       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7762       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7763       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7764       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7765       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7766      104,   105,   106,   107,   108,   109,   110,   111,   112,    -1,
7767       -1,   115,   116,   117,   118,    -1,   120,   121,   122,    -1,
7768      124,   125,   126,    -1,   128,   129,   130,   131,     0,     1,
7769       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
7770       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7771       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
7772       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7773       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7774       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7775       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7776       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7777       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7778       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7779      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7780      112,    -1,    -1,   115,   116,   117,   118,    -1,   120,   121,
7781      122,    -1,   124,   125,   126,    -1,   128,   129,   130,   131,
7782        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
7783       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7784       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
7785       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7786       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7787       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7788       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7789       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7790       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7791       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7792      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7793      110,   111,   112,    -1,    -1,   115,   116,   117,   118,    -1,
7794      120,   121,   122,    -1,   124,   125,   126,    -1,   128,   129,
7795      130,   131,     0,     1,    -1,     3,     4,     5,     6,    -1,
7796        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7797       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7798       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7799       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7800       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7801       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7802       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7803       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7804       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7805       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7806      108,   109,   110,   111,   112,    -1,    -1,   115,   116,   117,
7807      118,    -1,   120,   121,   122,    -1,   124,   125,   126,    -1,
7808      128,   129,   130,   131,     0,     1,    -1,     3,     4,     5,
7809        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
7810       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7811       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
7812       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7813       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7814       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7815       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7816       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7817       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7818       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7819      106,   107,   108,   109,   110,   111,   112,    -1,    -1,   115,
7820      116,   117,   118,    -1,   120,   121,   122,    -1,   124,   125,
7821      126,    -1,   128,   129,   130,   131,     0,     1,    -1,     3,
7822        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
7823       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7824       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
7825       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7826       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7827       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7828       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7829       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7830       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7831       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7832      104,   105,   106,   107,   108,   109,   110,   111,   112,    -1,
7833       -1,   115,    -1,   117,   118,    -1,   120,   121,   122,    -1,
7834      124,   125,   126,    -1,   128,   129,   130,   131,     0,     1,
7835       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
7836       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7837       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
7838       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7839       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7840       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7841       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7842       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7843       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7844       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7845      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7846      112,    -1,    -1,   115,    -1,   117,   118,    -1,   120,   121,
7847      122,    -1,   124,   125,   126,    -1,   128,   129,   130,   131,
7848        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
7849       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7850       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
7851       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7852       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7853       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7854       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7855       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7856       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7857       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7858      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7859      110,   111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,
7860      120,   121,   122,    -1,   124,   125,   126,    -1,   128,   129,
7861      130,   131,     0,     1,    -1,     3,     4,     5,     6,    -1,
7862        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7863       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7864       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7865       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7866       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7867       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7868       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7869       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7870       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7871       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7872      108,   109,   110,   111,   112,    -1,    -1,   115,    -1,   117,
7873      118,    -1,   120,   121,   122,    -1,   124,   125,   126,    -1,
7874      128,   129,   130,   131,     0,     1,    -1,     3,     4,     5,
7875        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
7876       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7877       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
7878       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7879       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7880       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7881       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7882       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7883       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7884       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7885      106,   107,   108,   109,   110,   111,   112,    -1,    -1,   115,
7886       -1,   117,   118,    -1,   120,   121,   122,    -1,   124,   125,
7887      126,    -1,   128,   129,   130,   131,     0,     1,    -1,     3,
7888        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
7889       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7890       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
7891       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7892       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7893       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7894       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7895       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7896       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7897       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7898      104,   105,   106,   107,   108,   109,   110,   111,   112,    -1,
7899       -1,   115,    -1,   117,   118,    -1,   120,   121,   122,    -1,
7900      124,   125,   126,    -1,   128,   129,   130,   131,     0,     1,
7901       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
7902       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7903       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
7904       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7905       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7906       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7907       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7908       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7909       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7910       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7911      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7912      112,    -1,    -1,   115,    -1,   117,   118,    -1,   120,   121,
7913      122,    -1,   124,   125,   126,    -1,   128,   129,   130,   131,
7914        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
7915       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7916       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
7917       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7918       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7919       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7920       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7921       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7922       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7923       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7924      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7925      110,   111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,
7926      120,   121,   122,    -1,   124,   125,   126,    -1,   128,   129,
7927      130,   131,     0,     1,    -1,     3,     4,     5,     6,    -1,
7928        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7929       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7930       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7931       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7932       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7933       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7934       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7935       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7936       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7937       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7938      108,   109,   110,   111,   112,    -1,    -1,   115,    -1,   117,
7939      118,    -1,   120,   121,   122,    -1,   124,   125,   126,    -1,
7940      128,   129,   130,   131,     0,     1,    -1,     3,     4,     5,
7941        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
7942       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7943       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
7944       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7945       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7946       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7947       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7948       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7949       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7950       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7951      106,   107,   108,   109,   110,   111,   112,    -1,    -1,   115,
7952       -1,   117,   118,    -1,   120,   121,   122,    -1,   124,   125,
7953      126,    -1,   128,   129,   130,   131,     0,     1,    -1,     3,
7954        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
7955       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7956       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
7957       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7958       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7959       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7960       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7961       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7962       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7963       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7964      104,   105,   106,   107,   108,   109,   110,   111,   112,    -1,
7965       -1,   115,    -1,   117,   118,    -1,   120,   121,   122,    -1,
7966      124,   125,   126,    -1,   128,   129,   130,   131,     0,     1,
7967       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
7968       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7969       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
7970       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7971       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7972       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7973       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7974       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7975       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7976       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7977      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7978      112,    -1,    -1,   115,    -1,   117,   118,    -1,   120,   121,
7979      122,    -1,   124,   125,   126,    -1,   128,   129,   130,   131,
7980        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
7981       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7982       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
7983       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7984       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7985       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7986       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7987       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7988       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7989       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7990      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7991      110,   111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,
7992      120,   121,   122,    -1,   124,   125,   126,    -1,   128,   129,
7993      130,   131,     0,     1,    -1,     3,     4,     5,     6,    -1,
7994        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7995       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7996       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7997       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7998       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7999       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8000       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8001       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8002       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8003       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8004      108,   109,   110,   111,   112,    -1,    -1,   115,    -1,   117,
8005      118,    -1,   120,   121,   122,    -1,   124,   125,   126,    -1,
8006      128,   129,   130,   131,     0,     1,    -1,     3,     4,     5,
8007        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8008       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8009       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8010       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8011       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8012       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8013       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8014       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8015       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8016       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8017      106,   107,   108,   109,   110,   111,   112,    -1,    -1,   115,
8018       -1,   117,   118,    -1,   120,   121,   122,    -1,   124,   125,
8019      126,    -1,   128,   129,   130,   131,     0,     1,    -1,     3,
8020        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8021       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8022       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8023       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8024       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8025       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8026       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8027       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8028       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8029       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8030      104,   105,   106,   107,   108,   109,   110,   111,   112,    -1,
8031       -1,   115,    -1,   117,   118,    -1,   120,   121,   122,    -1,
8032      124,   125,   126,    -1,   128,   129,   130,   131,     0,     1,
8033       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8034       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8035       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8036       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8037       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8038       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8039       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8040       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8041       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8042       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8043      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8044      112,    -1,    -1,   115,    -1,   117,   118,    -1,   120,   121,
8045      122,    -1,   124,   125,   126,    -1,   128,   129,   130,   131,
8046        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8047       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8048       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8049       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8050       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8051       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8052       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8053       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8054       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8055       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8056      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8057      110,   111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,
8058      120,   121,   122,    -1,   124,   125,   126,    -1,   128,   129,
8059      130,   131,     0,     1,    -1,     3,     4,     5,     6,    -1,
8060        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8061       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8062       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8063       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8064       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8065       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8066       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8067       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8068       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8069       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8070      108,   109,   110,   111,   112,    -1,    -1,   115,    -1,   117,
8071      118,    -1,   120,   121,   122,    -1,   124,   125,   126,    -1,
8072      128,   129,   130,   131,     0,     1,    -1,     3,     4,     5,
8073        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8074       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8075       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8076       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8077       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8078       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8079       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8080       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8081       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8082       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8083      106,   107,   108,   109,   110,   111,   112,    -1,    -1,   115,
8084       -1,   117,   118,    -1,   120,   121,   122,    -1,   124,   125,
8085      126,    -1,   128,   129,   130,   131,     0,     1,    -1,     3,
8086        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8087       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8088       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8089       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8090       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8091       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8092       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8093       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8094       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8095       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8096      104,   105,   106,   107,   108,   109,   110,   111,   112,    -1,
8097       -1,   115,    -1,   117,   118,    -1,   120,   121,   122,    -1,
8098      124,   125,   126,    -1,   128,   129,   130,   131,     0,     1,
8099       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8100       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8101       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8102       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8103       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8104       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8105       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8106       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8107       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8108       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8109      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8110      112,    -1,    -1,   115,    -1,   117,   118,    -1,   120,   121,
8111      122,    -1,   124,   125,   126,    -1,   128,   129,   130,   131,
8112        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8113       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8114       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8115       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8116       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8117       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8118       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8119       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8120       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8121       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8122      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8123      110,   111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,
8124      120,   121,   122,    -1,   124,   125,   126,    -1,   128,   129,
8125      130,   131,     0,     1,    -1,     3,     4,     5,     6,    -1,
8126        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8127       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8128       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8129       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8130       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8131       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8132       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8133       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8134       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8135       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8136      108,   109,   110,   111,   112,    -1,    -1,   115,    -1,   117,
8137      118,    -1,   120,   121,   122,    -1,   124,   125,   126,    -1,
8138      128,   129,   130,   131,     0,     1,    -1,     3,     4,     5,
8139        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8140       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8141       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8142       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8143       46,    47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,
8144       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8145       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8146       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8147       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
8148       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8149      106,   107,   108,   109,   110,   111,   112,    -1,    -1,   115,
8150      116,   117,   118,    -1,   120,   121,   122,    -1,    -1,   125,
8151      126,    -1,   128,   129,   130,   131,     1,    -1,     3,     4,
8152        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8153       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8154       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8155       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8156       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
8157       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8158       65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,
8159       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,
8160       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8161       -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,
8162      105,   106,   107,   108,   109,   110,   111,   112,    -1,    -1,
8163      115,    -1,   117,   118,    -1,   120,   121,   122,    -1,    -1,
8164      125,   126,    -1,   128,   129,   130,   131,     1,    -1,     3,
8165        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8166       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8167       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8168       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8169       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8170       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8171       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8172       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8173       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8174       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8175      104,   105,   106,   107,   108,   109,   110,   111,   112,    -1,
8176       -1,   115,    -1,   117,   118,    -1,   120,   121,   122,    -1,
8177       -1,   125,   126,    -1,   128,   129,   130,   131,     1,    -1,
8178        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8179       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8180       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
8181       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
8182       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
8183       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8184       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,
8185       73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
8186       -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
8187       -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,
8188      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8189       -1,    -1,   115,    -1,   117,   118,    -1,   120,   121,   122,
8190       -1,    -1,   125,   126,    -1,   128,   129,   130,   131,     1,
8191       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8192       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8193       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8194       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8195       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8196       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8197       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8198       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8199       -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8200       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8201      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8202      112,    -1,    -1,   115,    -1,   117,   118,    -1,   120,   121,
8203      122,    -1,    -1,   125,   126,    -1,   128,   129,   130,   131,
8204        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8205       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8206       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8207       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8208       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8209       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8210       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
8211       71,    72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,
8212       -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,
8213       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,
8214       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8215      111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,   120,
8216      121,   122,    -1,    -1,   125,   126,    -1,   128,   129,   130,
8217      131,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8218       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8219       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8220       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8221       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8222       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8223       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8224       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8225       -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,
8226       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8227      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8228      110,   111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,
8229      120,   121,   122,    -1,    -1,   125,   126,    -1,   128,   129,
8230      130,   131,     1,    -1,     3,     4,     5,     6,    -1,     8,
8231        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8232       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8233       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8234       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8235       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8236       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
8237       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,
8238       79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,
8239       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8240       -1,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8241      109,   110,   111,   112,    -1,    -1,   115,    -1,   117,   118,
8242       -1,   120,   121,   122,    -1,    -1,   125,   126,    -1,   128,
8243      129,   130,   131,     1,    -1,     3,     4,     5,     6,    -1,
8244        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8245       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8246       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8247       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8248       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8249       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8250       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8251       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,
8252       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8253       98,    -1,   100,    -1,   102,   103,   104,   105,   106,   107,
8254      108,   109,   110,   111,   112,    -1,    -1,   115,    -1,   117,
8255      118,    -1,   120,   121,   122,    -1,    -1,   125,   126,    -1,
8256      128,   129,   130,   131,     1,    -1,     3,     4,     5,     6,
8257       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8258       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8259       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8260       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8261       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
8262       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
8263       -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8264       -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,
8265       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8266       -1,    98,    -1,   100,    -1,   102,   103,   104,   105,   106,
8267      107,   108,   109,   110,   111,   112,    -1,    -1,   115,    -1,
8268      117,   118,    -1,   120,   121,   122,    -1,    -1,   125,   126,
8269       -1,   128,   129,   130,   131,     1,    -1,     3,     4,     5,
8270        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8271       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8272       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8273       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8274       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
8275       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8276       66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
8277       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8278       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8279       -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,   105,
8280      106,   107,   108,   109,   110,   111,   112,    -1,    -1,   115,
8281       -1,   117,   118,    -1,   120,   121,   122,    -1,    -1,   125,
8282      126,    -1,   128,   129,   130,   131,     1,    -1,     3,     4,
8283        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8284       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8285       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8286       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8287       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
8288       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8289       65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,
8290       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,
8291       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8292       -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,
8293      105,   106,   107,   108,   109,   110,   111,   112,    -1,    -1,
8294      115,    -1,   117,   118,    -1,   120,   121,   122,    -1,    -1,
8295      125,   126,    -1,   128,   129,   130,   131,     1,    -1,     3,
8296        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8297       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8298       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8299       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8300       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8301       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8302       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8303       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8304       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8305       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8306      104,   105,   106,   107,   108,   109,   110,   111,   112,    -1,
8307       -1,   115,    -1,   117,   118,    -1,   120,   121,   122,    -1,
8308       -1,   125,   126,    -1,   128,   129,   130,   131,     1,    -1,
8309        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8310       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8311       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
8312       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
8313       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
8314       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8315       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,
8316       73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
8317       -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
8318       -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,
8319      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8320       -1,    -1,   115,    -1,   117,   118,    -1,   120,   121,   122,
8321       -1,    -1,   125,   126,    -1,   128,   129,   130,   131,     1,
8322       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8323       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8324       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8325       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8326       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8327       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8328       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8329       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8330       82,    83,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8331       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8332      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8333      112,    -1,    -1,   115,     1,   117,     3,     4,     5,     6,
8334       -1,     8,     9,   125,   126,    -1,   128,   129,   130,   131,
8335       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8336       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8337       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8338       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
8339       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
8340       -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8341       -1,    -1,    79,    -1,    -1,    82,    83,    84,    85,    86,
8342       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8343       -1,    98,    -1,   100,    -1,   102,   103,   104,   105,   106,
8344      107,   108,   109,   110,   111,   112,    -1,    -1,   115,     1,
8345      117,     3,     4,     5,     6,    -1,     8,     9,   125,   126,
8346       -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,
8347       -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,
8348       -1,    -1,    34,    35,    36,    37,    38,    39,    40,    41,
8349       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8350       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8351       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8352       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8353       82,    83,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8354       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8355      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8356      112,    -1,    -1,   115,   116,   117,    -1,    -1,    -1,    -1,
8357       -1,    -1,    -1,   125,   126,    -1,   128,   129,   130,   131,
8358        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8359       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8360       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,
8361       -1,    -1,    -1,    34,    35,    36,    37,    38,    39,    40,
8362       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8363       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8364       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
8365       71,    72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,
8366       -1,    82,    83,    84,    85,    86,    87,    -1,    -1,    -1,
8367       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,
8368       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8369      111,   112,    -1,    -1,   115,   116,   117,    -1,    -1,    -1,
8370       -1,    -1,    -1,    -1,   125,   126,    -1,   128,   129,   130,
8371      131,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8372       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8373       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,
8374       -1,    -1,    -1,    -1,    34,    35,    36,    37,    38,    39,
8375       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8376       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8377       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8378       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8379       -1,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
8380       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8381      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8382      110,   111,   112,    -1,    -1,   115,     1,   117,     3,     4,
8383        5,     6,   122,     8,     9,   125,   126,    -1,   128,   129,
8384      130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8385       -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,    34,
8386       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8387       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
8388       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8389       65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,
8390       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    84,
8391       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8392       -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,
8393      105,   106,   107,   108,   109,   110,   111,   112,    -1,    -1,
8394      115,   116,   117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8395      125,   126,    -1,   128,   129,   130,   131,     1,    -1,     3,
8396        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8397       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8398       -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,
8399       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8400       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8401       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8402       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8403       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
8404       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8405       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8406      104,   105,   106,   107,   108,   109,   110,   111,   112,    -1,
8407       -1,   115,   116,   117,    -1,    -1,    -1,    -1,    -1,    -1,
8408       -1,   125,   126,    -1,   128,   129,   130,   131,     1,    -1,
8409        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8410       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8411       -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
8412       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8413       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,
8414       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
8415       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8416       73,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,
8417       -1,    84,    85,    86,    -1,    88,    89,    90,    -1,     1,
8418       -1,     3,     4,     5,     6,    98,     8,     9,    -1,   102,
8419      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8420       -1,    -1,   115,   116,   117,   118,    28,   120,    -1,   122,
8421       -1,   124,   125,   126,    -1,   128,   129,   130,   131,    -1,
8422       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8423       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8424       62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8425       72,    73,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,
8426       -1,    -1,    84,    85,    86,    -1,    88,    89,    90,    -1,
8427        1,    -1,     3,     4,     5,     6,    98,     8,     9,    -1,
8428      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8429      112,    -1,    -1,   115,   116,   117,   118,    28,   120,    -1,
8430      122,    -1,   124,   125,   126,    -1,   128,   129,   130,   131,
8431       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8432       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
8433       61,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
8434       71,    72,    73,    -1,    -1,    -1,    -1,    -1,    79,    -1,
8435       -1,    -1,    -1,    84,    85,    86,    -1,    88,    89,    90,
8436       -1,     1,    -1,     3,     4,     5,     6,    98,     8,     9,
8437       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8438      111,   112,    -1,    -1,   115,    -1,   117,   118,    28,    -1,
8439       -1,   122,    -1,   124,   125,   126,    -1,   128,   129,   130,
8440      131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8441       -1,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8442       60,    61,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8443       -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,    79,
8444       -1,    -1,    -1,    -1,    84,    85,    86,    -1,    88,    89,
8445       90,    -1,     1,    -1,     3,     4,     5,     6,    98,     8,
8446        9,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8447      110,   111,   112,    -1,    -1,   115,    -1,   117,   118,    28,
8448       -1,    -1,   122,    -1,   124,   125,   126,    -1,   128,   129,
8449      130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8450       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8451       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
8452       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8453        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8454       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8455       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8456      109,    -1,    -1,   112,    -1,    -1,   115,   116,   117,    -1,
8457       -1,   120,    -1,    -1,    -1,    -1,   125,   126,   127,   128,
8458      129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8459       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8460        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8461       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8462       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8463      106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,
8464      116,   117,    -1,    -1,   120,    -1,    -1,    -1,    -1,   125,
8465      126,   127,   128,   129,   130,   131,    -1,    -1,    -1,    -1,
8466       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8467       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8468       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8469       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8470      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
8471       -1,    -1,   115,   116,   117,   118,    -1,   120,    -1,    -1,
8472       -1,    -1,   125,   126,    -1,   128,   129,   130,   131,    -1,
8473       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8474       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8475       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8476       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8477       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8478       -1,    -1,   112,    -1,    -1,   115,   116,   117,   118,    -1,
8479      120,    -1,    -1,    -1,    -1,   125,   126,    -1,   128,   129,
8480      130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8481       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8482        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8483       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8484       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8485      107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,    -1,
8486      117,    -1,    -1,   120,   121,   122,    -1,    -1,   125,   126,
8487       -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,
8488       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8489        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8490       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8491       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8492      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
8493       -1,   115,   116,   117,   118,    -1,   120,    -1,    -1,    -1,
8494       -1,   125,   126,    -1,   128,   129,   130,   131,    -1,    -1,
8495       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
8496       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8497        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8498       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8499       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8500       -1,   112,    -1,    -1,   115,   116,   117,   118,    -1,   120,
8501       -1,    -1,    -1,    -1,   125,   126,    -1,   128,   129,   130,
8502      131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
8503       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8504        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8505       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8506       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8507      108,   109,    -1,    -1,   112,    -1,    -1,   115,    -1,   117,
8508      118,    -1,   120,    -1,    -1,    -1,    -1,   125,   126,    -1,
8509      128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,
8510       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8511       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8512       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8513       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8514      105,   106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,
8515      115,   116,   117,    -1,    -1,    -1,    -1,   122,    -1,    -1,
8516      125,   126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,
8517       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8518       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8519        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8520       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8521      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8522      112,    -1,    -1,   115,    -1,   117,   118,    -1,    -1,    -1,
8523      122,    -1,    -1,   125,   126,    -1,   128,   129,   130,   131,
8524       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
8525       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8526        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8527       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8528       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8529      109,    -1,    -1,   112,    -1,    -1,   115,   116,   117,    -1,
8530       -1,   120,    -1,    -1,    -1,    -1,   125,   126,    -1,   128,
8531      129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8532       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8533        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8534       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8535       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8536      106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,
8537      116,   117,   118,    -1,    -1,    -1,    -1,    -1,    -1,   125,
8538      126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,
8539       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8540       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8541       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8542       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8543      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
8544       -1,    -1,   115,    -1,   117,   118,    -1,   120,    -1,    -1,
8545       -1,    -1,   125,   126,    -1,   128,   129,   130,   131,    -1,
8546       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8547       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8548       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8549       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8550       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8551       -1,    -1,   112,    -1,    -1,   115,   116,   117,    -1,    -1,
8552       -1,    -1,   122,    -1,    -1,   125,   126,    -1,   128,   129,
8553      130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8554       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8555        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8556       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8557       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8558      107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,   116,
8559      117,    -1,    -1,    -1,    -1,   122,    -1,    -1,   125,   126,
8560       -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,
8561       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8562        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8563       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8564       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8565      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
8566       -1,   115,   116,   117,    -1,    -1,   120,    -1,    -1,    -1,
8567       -1,   125,   126,    -1,   128,   129,   130,   131,    -1,    -1,
8568       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
8569       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8570        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8571       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8572       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8573       -1,   112,    -1,    -1,   115,    -1,   117,    -1,    -1,   120,
8574       -1,    -1,    -1,    -1,   125,   126,   127,   128,   129,   130,
8575      131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
8576       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8577        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8578       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8579       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8580      108,   109,    -1,    -1,   112,    -1,    -1,   115,    -1,   117,
8581       -1,    -1,   120,    -1,    -1,    -1,   124,   125,   126,    -1,
8582      128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,
8583       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8584       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8585       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8586       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8587      105,   106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,
8588      115,    -1,   117,    -1,    -1,   120,    -1,    -1,    -1,    -1,
8589      125,   126,   127,   128,   129,   130,   131,    -1,    -1,    -1,
8590       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8591       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8592        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8593       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8594      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8595      112,    -1,    -1,   115,    -1,   117,    -1,    -1,   120,    -1,
8596       -1,    -1,   124,   125,   126,    -1,   128,   129,   130,   131,
8597       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
8598       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8599        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8600       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8601       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8602      109,    -1,    -1,   112,    -1,    -1,   115,   116,   117,    -1,
8603       -1,   120,    -1,    -1,    -1,    -1,   125,   126,    -1,   128,
8604      129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8605       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8606        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8607       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8608       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8609      106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,
8610      116,   117,    -1,    -1,   120,    -1,    -1,    -1,    -1,   125,
8611      126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,
8612       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8613       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8614       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8615       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8616      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
8617       -1,    -1,   115,   116,   117,    -1,    -1,   120,    -1,    -1,
8618       -1,    -1,   125,   126,    -1,   128,   129,   130,   131,    -1,
8619       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8620       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8621       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8622       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8623       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8624       -1,    -1,   112,    -1,    -1,   115,   116,   117,    -1,    -1,
8625      120,    -1,    -1,    -1,    -1,   125,   126,    -1,   128,   129,
8626      130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8627       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8628        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8629       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8630       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8631      107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,   116,
8632      117,   118,    -1,    -1,    -1,    -1,    -1,    -1,   125,   126,
8633       -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,
8634       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8635        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8636       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8637       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8638      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
8639       -1,   115,    -1,   117,   118,    -1,   120,    -1,    -1,    -1,
8640       -1,   125,   126,    -1,   128,   129,   130,   131,    -1,    -1,
8641       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
8642       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8643        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8644       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8645       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8646       -1,   112,    -1,    -1,   115,   116,   117,   118,    -1,    -1,
8647       -1,    -1,    -1,    -1,   125,   126,    -1,   128,   129,   130,
8648      131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
8649       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8650        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8651       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8652       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8653      108,   109,    -1,    -1,   112,    -1,    -1,   115,    -1,   117,
8654       -1,    -1,   120,    -1,    -1,    -1,   124,   125,   126,    -1,
8655      128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,
8656       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8657       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8658       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8659       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8660      105,   106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,
8661      115,    -1,   117,    -1,    -1,   120,    -1,    -1,    -1,   124,
8662      125,   126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,
8663       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8664       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8665        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8666       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8667      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8668      112,    -1,    -1,   115,    -1,   117,    -1,    -1,   120,    -1,
8669       -1,    -1,    -1,   125,   126,   127,   128,   129,   130,   131,
8670       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
8671       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8672        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8673       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8674       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8675      109,    -1,    -1,   112,    -1,    -1,   115,    -1,   117,    -1,
8676       -1,   120,    -1,    -1,    -1,    -1,   125,   126,   127,   128,
8677      129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8678       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8679        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8680       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8681       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8682      106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,
8683      116,   117,    -1,    -1,   120,    -1,    -1,    -1,    -1,   125,
8684      126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,
8685       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8686       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8687       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8688       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8689      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
8690       -1,    -1,   115,   116,   117,    -1,    -1,   120,    -1,    -1,
8691       -1,    -1,   125,   126,    -1,   128,   129,   130,   131,    -1,
8692       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8693       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8694       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8695       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8696       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8697       -1,    -1,   112,    -1,    -1,   115,   116,   117,    -1,    -1,
8698      120,    -1,    -1,    -1,    -1,   125,   126,    -1,   128,   129,
8699      130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8700       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8701        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8702       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8703       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8704      107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,   116,
8705      117,   118,    -1,    -1,    -1,    -1,    -1,    -1,   125,   126,
8706       -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,
8707       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8708        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8709       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8710       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8711      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
8712       -1,   115,   116,   117,    -1,    -1,   120,    -1,    -1,    -1,
8713       -1,   125,   126,    -1,   128,   129,   130,   131,    -1,    -1,
8714       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
8715       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8716        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8717       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8718       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8719       -1,   112,    -1,    -1,   115,    -1,   117,    -1,    -1,    -1,
8720      121,   122,    -1,    -1,   125,   126,    -1,   128,   129,   130,
8721      131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
8722       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8723        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8724       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8725       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8726      108,   109,    -1,    -1,   112,    -1,    -1,   115,   116,   117,
8727       -1,    -1,   120,    -1,    -1,    -1,    -1,   125,   126,    -1,
8728      128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,
8729       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8730       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8731       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8732       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8733      105,   106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,
8734      115,   116,   117,    -1,    -1,   120,    -1,    -1,    -1,    -1,
8735      125,   126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,
8736       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8737       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8738        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8739       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8740      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8741      112,    -1,    -1,   115,   116,   117,    -1,    -1,   120,    -1,
8742       -1,    -1,    -1,   125,   126,    -1,   128,   129,   130,   131,
8743       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
8744       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8745        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8746       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8747       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8748      109,    -1,    -1,   112,    -1,    -1,   115,    -1,   117,    -1,
8749       -1,    -1,    -1,    -1,    -1,    -1,   125,   126,   127,   128,
8750      129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8751       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8752        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8753       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8754       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8755      106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,
8756       -1,   117,    -1,    -1,    -1,    -1,   122,    -1,    -1,   125,
8757      126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,
8758       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8759       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8760       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8761       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8762      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
8763       -1,    -1,   115,    -1,   117,    -1,    -1,    -1,    -1,    -1,
8764       -1,    -1,   125,   126,   127,   128,   129,   130,   131,    -1,
8765       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8766       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8767       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8768       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8769       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8770       -1,    -1,   112,    -1,    -1,   115,    -1,   117,    -1,    -1,
8771       -1,    -1,    -1,    -1,    -1,   125,   126,   127,   128,   129,
8772      130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8773       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8774        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8775       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8776       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8777      107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,    -1,
8778      117,    -1,    -1,    -1,    -1,   122,    -1,    -1,   125,   126,
8779       -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,
8780       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8781        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8782       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8783       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8784      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
8785       -1,   115,    -1,   117,    -1,    -1,    -1,    -1,    -1,    -1,
8786       -1,   125,   126,   127,   128,   129,   130,   131,    -1,    -1,
8787       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
8788       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8789        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8790       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8791       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8792       -1,   112,    -1,    -1,   115,    -1,   117,    -1,    -1,    -1,
8793       -1,    -1,    -1,   124,   125,   126,    -1,   128,   129,   130,
8794      131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
8795       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8796        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8797       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8798       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8799      108,   109,    -1,    -1,   112,    -1,    -1,   115,   116,   117,
8800       -1,    -1,    -1,    -1,    -1,    -1,    -1,   125,   126,    -1,
8801      128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,
8802       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8803       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8804       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8805       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8806      105,   106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,
8807      115,    -1,   117,    -1,    -1,    -1,    -1,   122,    -1,    -1,
8808      125,   126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,
8809       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8810       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8811        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8812       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8813      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8814      112,    -1,    -1,   115,    -1,   117,    -1,    -1,    -1,    -1,
8815       -1,    -1,    -1,   125,   126,   127,   128,   129,   130,   131,
8816       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
8817       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8818        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8819       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8820       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8821      109,    -1,    -1,   112,    -1,    -1,   115,   116,   117,    -1,
8822       -1,    -1,    -1,    -1,    -1,    -1,   125,   126,    -1,   128,
8823      129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8824       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8825        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8826       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8827       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8828      106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,
8829       -1,   117,    -1,    -1,    -1,    -1,    -1,    -1,   124,   125,
8830      126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,
8831       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8832       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8833       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8834       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8835      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
8836       -1,    -1,   115,    -1,   117,    -1,    -1,    -1,    -1,   122,
8837       -1,    -1,   125,   126,    -1,   128,   129,   130,   131,    -1,
8838       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8839       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8840       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8841       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8842       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8843       -1,    -1,   112,    -1,    -1,   115,    -1,   117,    -1,    -1,
8844       -1,    -1,   122,    -1,    -1,   125,   126,    -1,   128,   129,
8845      130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8846       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8847        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8848       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8849       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8850      107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,    -1,
8851      117,    -1,    -1,    -1,    -1,   122,    -1,    -1,   125,   126,
8852       -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,
8853       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8854        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8855       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8856       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8857      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
8858       -1,   115,    -1,   117,    -1,    -1,    -1,    -1,   122,    -1,
8859       -1,   125,   126,    -1,   128,   129,   130,   131,    -1,    -1,
8860       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
8861       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8862        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8863       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8864       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8865       -1,   112,    -1,    -1,   115,   116,   117,    -1,    -1,    -1,
8866       -1,    -1,    -1,    -1,   125,   126,    -1,   128,   129,   130,
8867      131,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
8868       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8869        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8870       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8871       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8872      108,   109,    -1,    -1,   112,    -1,    -1,   115,    -1,   117,
8873       -1,    -1,    -1,    -1,   122,    -1,    -1,   125,   126,    -1,
8874      128,   129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,
8875       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8876       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8877       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8878       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8879      105,   106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,
8880      115,   116,   117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8881      125,   126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,
8882       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8883       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8884        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8885       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8886      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8887      112,    -1,    -1,   115,   116,   117,    -1,    -1,    -1,    -1,
8888       -1,    -1,    -1,   125,   126,    -1,   128,   129,   130,   131,
8889       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
8890       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8891        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8892       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8893       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8894      109,    -1,    -1,   112,    -1,    -1,   115,    -1,   117,    -1,
8895       -1,    -1,    -1,    -1,    -1,    -1,   125,   126,    -1,   128,
8896      129,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8897       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8898        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8899       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8900       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8901      106,   107,   108,   109,    -1,    -1,   112,    -1,    -1,   115,
8902       -1,   117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   125,
8903      126,    -1,   128,   129,   130,   131,    -1,    -1,    -1,    -1,
8904       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8905       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8906       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8907       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8908      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
8909       -1,    -1,   115,    -1,   117,    -1,    -1,    -1,    -1,    -1,
8910       -1,    -1,   125,   126,    -1,   128,   129,   130,   131,    -1,
8911       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8912       -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,    -1,
8913       -1,    -1,    -1,    -1,    84,    85,    -1,    -1,    -1,    -1,
8914       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8915       -1,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8916       -1,    -1,   112,    -1,    -1,   115,    -1,   117,     0,     1,
8917       -1,     3,     4,     5,    -1,   125,   126,    -1,   128,   129,
8918      130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8919       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8920       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8921       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8922       -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8923       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8924       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
8925       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
8926       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8927      102,   103,   104,   105,   106,   107,   108,    -1,   110,   111,
8928      112,    -1,    -1,   115,   116,   117,   118,    -1,   120,   121,
8929       -1,    -1,    -1,   125,   126,     0,     1,    -1,     3,     4,
8930        5,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8931       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8932       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8933       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8934       45,    46,    47,    48,    49,    50,    -1,    -1,    53,    -1,
8935       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8936       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
8937       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
8938       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
8939       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
8940      105,   106,   107,   108,    -1,   110,   111,   112,    -1,    -1,
8941      115,    -1,   117,   118,    -1,   120,   121,    -1,    -1,    -1,
8942      125,   126,     0,     1,    -1,     3,     4,     5,    -1,    -1,
8943       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8944       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8945       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8946       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8947       48,    49,    50,    -1,    -1,    53,    -1,    -1,    -1,    -1,
8948       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8949       68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,
8950       78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
8951       88,    -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,
8952       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8953      108,    -1,   110,   111,   112,    -1,    -1,   115,    -1,   117,
8954      118,     0,     1,   121,     3,     4,     5,   125,   126,    -1,
8955       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8956       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8957       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8958       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8959       49,    50,    -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,
8960       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
8961       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
8962       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
8963       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
8964       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8965       -1,   110,   111,   112,    -1,    -1,   115,    -1,   117,   118,
8966        0,     1,   121,     3,     4,     5,   125,   126,    -1,    -1,
8967       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8968       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8969       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8970       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8971       50,    -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,
8972       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,
8973       -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,    79,
8974       80,    81,    82,    83,    -1,    85,    86,    87,    88,    -1,
8975       -1,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8976      100,    -1,   102,   103,   104,   105,   106,   107,   108,    -1,
8977      110,   111,   112,    -1,    -1,   115,    -1,   117,   118,     0,
8978        1,   121,     3,     4,     5,   125,   126,    -1,    -1,    -1,
8979       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8980       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8981       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8982       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8983       -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8984       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
8985       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
8986       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
8987       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
8988       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
8989      111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,     1,
8990      121,     3,     4,     5,   125,   126,    -1,    -1,    -1,    -1,
8991       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8992       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8993       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8994       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8995       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8996       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8997       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
8998       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
8999       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
9000      102,   103,   104,   105,   106,   107,   108,    -1,   110,   111,
9001      112,    -1,    -1,   115,    -1,   117,   118,    -1,     1,   121,
9002        3,     4,     5,   125,   126,    -1,    -1,    -1,    -1,    -1,
9003       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9004       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9005       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9006       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9007       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9008       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9009       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9010       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9011       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9012      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9013       -1,    -1,   115,    -1,   117,   118,    -1,     1,   121,     3,
9014        4,     5,   125,   126,    -1,    -1,    -1,    -1,    -1,    -1,
9015       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9016       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
9017       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9018       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9019       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9020       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,
9021       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
9022       -1,    85,    86,    87,    88,    -1,    -1,    91,    92,    93,
9023       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
9024      104,   105,   106,   107,   108,    -1,   110,   111,   112,    -1,
9025       -1,   115,    -1,   117,   118,    -1,     1,   121,     3,     4,
9026        5,   125,   126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9027       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9028       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9029       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9030       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9031       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9032       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9033       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9034       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9035       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9036      105,   106,   107,   108,    -1,   110,   111,   112,    -1,    -1,
9037      115,    -1,   117,   118,    -1,     1,   121,     3,     4,     5,
9038      125,   126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9039       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9040       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9041       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9042       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9043       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9044       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9045       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9046       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9047       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9048      106,   107,   108,    -1,   110,   111,   112,    -1,    -1,   115,
9049       -1,   117,   118,    -1,     1,   121,     3,     4,     5,   125,
9050      126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9051       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9052       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9053       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9054       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9055       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9056       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9057       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9058       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9059       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9060      107,   108,    -1,   110,   111,   112,    -1,    -1,   115,    -1,
9061      117,   118,    -1,     1,   121,     3,     4,     5,   125,   126,
9062       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9063       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9064       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9065       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9066       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9067       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
9068       68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,
9069       78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
9070       88,    -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,
9071       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
9072      108,    -1,   110,   111,   112,    -1,    -1,   115,    -1,   117,
9073      118,    -1,     1,   121,     3,     4,     5,   125,   126,    -1,
9074       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9075       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9076       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9077       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9078       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9079       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9080       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9081       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9082       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9083       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9084       -1,   110,   111,   112,    -1,    -1,   115,    -1,   117,   118,
9085       -1,     1,   121,     3,     4,     5,   125,   126,    -1,    -1,
9086       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9087       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
9088       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9089       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9090       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9091       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,
9092       -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,    79,
9093       80,    81,    82,    83,    -1,    85,    86,    87,    88,    -1,
9094       -1,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
9095      100,    -1,   102,   103,   104,   105,   106,   107,   108,    -1,
9096      110,   111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,
9097        1,   121,     3,     4,     5,   125,   126,    -1,    -1,    -1,
9098       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9099       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9100       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9101       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9102       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9103       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9104       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9105       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9106       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9107       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9108      111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,     1,
9109      121,     3,     4,     5,   125,   126,    -1,    -1,    -1,    -1,
9110       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9111       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
9112       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9113       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9114       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9115       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
9116       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
9117       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
9118       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
9119      102,   103,   104,   105,   106,   107,   108,    -1,   110,   111,
9120      112,    -1,    -1,   115,    -1,   117,   118,    -1,     1,   121,
9121        3,     4,     5,   125,   126,    -1,    -1,    -1,    -1,    -1,
9122       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9123       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9124       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9125       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9126       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9127       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9128       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9129       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9130       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9131      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9132       -1,    -1,   115,    -1,   117,   118,    -1,     1,   121,     3,
9133        4,     5,   125,   126,    -1,    -1,    -1,    -1,    -1,    -1,
9134       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9135       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
9136       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9137       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9138       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9139       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,
9140       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
9141       -1,    85,    86,    87,    88,    -1,    -1,    91,    92,    93,
9142       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
9143      104,   105,   106,   107,   108,    -1,   110,   111,   112,    -1,
9144       -1,   115,    -1,   117,   118,    -1,     1,   121,     3,     4,
9145        5,   125,   126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9146       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9147       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9148       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9149       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9150       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9151       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9152       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9153       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9154       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9155      105,   106,   107,   108,    -1,   110,   111,   112,    -1,    -1,
9156      115,    -1,   117,   118,    -1,     1,   121,     3,     4,     5,
9157      125,   126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9158       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9159       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9160       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9161       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9162       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9163       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9164       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9165       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9166       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9167      106,   107,   108,    -1,   110,   111,   112,    -1,    -1,   115,
9168       -1,   117,   118,    -1,     1,   121,     3,     4,     5,   125,
9169      126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9170       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9171       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9172       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9173       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9174       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9175       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9176       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9177       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9178       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9179      107,   108,    -1,   110,   111,   112,    -1,    -1,   115,    -1,
9180      117,   118,    -1,     1,   121,     3,     4,     5,   125,   126,
9181       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9182       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9183       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9184       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9185       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9186       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
9187       68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,
9188       78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
9189       88,    -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,
9190       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
9191      108,    -1,   110,   111,   112,    -1,    -1,   115,    -1,   117,
9192      118,    -1,     1,   121,     3,     4,     5,   125,   126,    -1,
9193       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9194       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9195       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9196       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9197       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9198       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9199       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9200       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9201       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9202       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9203       -1,   110,   111,   112,    -1,    -1,   115,    -1,   117,   118,
9204       -1,     1,   121,     3,     4,     5,   125,   126,    -1,    -1,
9205       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9206       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
9207       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9208       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9209       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9210       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,
9211       -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,    79,
9212       80,    81,    82,    83,    -1,    85,    86,    87,    88,    -1,
9213       -1,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
9214      100,    -1,   102,   103,   104,   105,   106,   107,   108,    -1,
9215      110,   111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,
9216        1,   121,     3,     4,     5,   125,   126,    -1,    -1,    -1,
9217       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9218       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9219       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9220       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9221       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9222       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9223       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9224       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9225       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9226       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9227      111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,     1,
9228      121,     3,     4,     5,   125,   126,    -1,    -1,    -1,    -1,
9229       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9230       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
9231       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9232       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9233       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9234       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
9235       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
9236       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
9237       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
9238      102,   103,   104,   105,   106,   107,   108,    -1,   110,   111,
9239      112,    -1,    -1,   115,    -1,   117,   118,    -1,     1,   121,
9240        3,     4,     5,   125,   126,    -1,    -1,    -1,    -1,    -1,
9241       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9242       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9243       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9244       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9245       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9246       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9247       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9248       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9249       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9250      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9251       -1,    -1,   115,    -1,   117,   118,    -1,     1,   121,     3,
9252        4,     5,   125,   126,    -1,    -1,    -1,    -1,    -1,    -1,
9253       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9254       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
9255       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9256       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9257       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9258       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,
9259       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
9260       -1,    85,    86,    87,    88,    -1,    -1,    91,    92,    93,
9261       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
9262      104,   105,   106,   107,   108,    -1,   110,   111,   112,    -1,
9263       -1,   115,    -1,   117,   118,    -1,     1,   121,     3,     4,
9264        5,   125,   126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9265       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9266       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9267       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9268       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9269       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9270       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9271       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9272       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9273       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9274      105,   106,   107,   108,    -1,   110,   111,   112,    -1,    -1,
9275      115,    -1,   117,   118,    -1,     1,   121,     3,     4,     5,
9276      125,   126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9277       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9278       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9279       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9280       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9281       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9282       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9283       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9284       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9285       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9286      106,   107,   108,    -1,   110,   111,   112,    -1,    -1,   115,
9287       -1,   117,   118,    -1,     1,   121,     3,     4,     5,   125,
9288      126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9289       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9290       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9291       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9292       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9293       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9294       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9295       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9296       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9297       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9298      107,   108,    -1,   110,   111,   112,    -1,    -1,   115,    -1,
9299      117,   118,    -1,     1,   121,     3,     4,     5,   125,   126,
9300       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9301       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9302       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9303       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9304       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9305       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
9306       68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,
9307       78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
9308       88,    -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,
9309       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
9310      108,    -1,   110,   111,   112,    -1,    -1,   115,    -1,   117,
9311      118,    -1,     1,   121,     3,     4,     5,   125,   126,    -1,
9312       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9313       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9314       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9315       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9316       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9317       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9318       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9319       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9320       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9321       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9322       -1,   110,   111,   112,    -1,    -1,   115,    -1,   117,   118,
9323       -1,     1,   121,     3,     4,     5,   125,   126,    -1,    -1,
9324       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9325       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
9326       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9327       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9328       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9329       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,
9330       -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,    79,
9331       80,    81,    82,    83,    -1,    85,    86,    87,    88,    -1,
9332       -1,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
9333      100,    -1,   102,   103,   104,   105,   106,   107,   108,    -1,
9334      110,   111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,
9335        1,   121,     3,     4,     5,   125,   126,    -1,    -1,    -1,
9336       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9337       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9338       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9339       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9340       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9341       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9342       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9343       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9344       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9345       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9346      111,   112,    -1,    -1,   115,    -1,   117,   118,    -1,     1,
9347      121,     3,     4,     5,   125,   126,    -1,    -1,    -1,    -1,
9348       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9349       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
9350       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9351       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9352       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9353       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
9354       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
9355       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
9356       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
9357      102,   103,   104,   105,   106,   107,   108,    -1,   110,   111,
9358      112,    -1,    -1,   115,    -1,   117,   118,    -1,     1,   121,
9359        3,     4,     5,   125,   126,    -1,    -1,    -1,    -1,    -1,
9360       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9361       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9362       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9363       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9364       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9365       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9366       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9367       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9368       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9369      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9370       -1,    -1,   115,    -1,   117,   118,    -1,     1,   121,     3,
9371        4,     5,   125,   126,    -1,    -1,    -1,    -1,    -1,    -1,
9372       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9373       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
9374       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9375       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9376       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9377       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,
9378       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
9379       -1,    85,    86,    87,    88,    -1,    -1,    91,    92,    93,
9380       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
9381      104,   105,   106,   107,   108,    -1,   110,   111,   112,    -1,
9382       -1,   115,    -1,   117,   118,     1,    -1,     3,     4,     5,
9383       -1,   125,   126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9384       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9385       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9386       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9387       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9388       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9389       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9390       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9391       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9392       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9393      106,   107,   108,    -1,   110,   111,   112,    -1,    -1,   115,
9394       -1,   117,   118,     1,    -1,     3,     4,     5,    -1,   125,
9395      126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9396       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9397       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9398       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9399       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9400       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
9401       68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,
9402       78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
9403       88,    -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,
9404       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
9405      108,    -1,   110,   111,   112,    -1,     1,   115,     3,   117,
9406      118,    -1,    -1,    -1,    -1,    -1,    -1,   125,   126,    -1,
9407       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9408       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9409       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9410       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9411       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9412       65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
9413       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
9414       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9415       -1,    -1,    -1,     0,    -1,   100,    -1,    -1,    -1,    -1,
9416       -1,    -1,    -1,    -1,    -1,   110,   111,   112,    -1,    -1,
9417      115,   116,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9418       -1,   126,    29,    30,    31,    32,    33,    34,    35,    36,
9419       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9420       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
9421       57,    58,    59,    60,    61,    62,    -1,    -1,    -1,    66,
9422       -1,    68,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9423       -1,    78,    79,    80,    81,    82,    83,    -1,    -1,    86,
9424       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
9425        0,    -1,    99,   100,    -1,    -1,    -1,    -1,    -1,    -1,
9426       -1,    -1,    -1,   110,   111,    -1,    -1,    -1,    -1,    -1,
9427       -1,   118,    -1,    -1,   121,   122,    -1,   124,    -1,    29,
9428       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9429       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9430       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
9431       60,    61,    62,    -1,    -1,    -1,    66,    -1,    68,    -1,
9432       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    78,    79,
9433       80,    81,    82,    83,    -1,    -1,    86,    87,    88,    89,
9434       90,    91,    92,    93,    94,    -1,    96,     0,    -1,    99,
9435      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9436      110,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
9437       -1,   121,   122,    -1,   124,    -1,    29,    30,    31,    32,
9438       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9439       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
9440       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
9441       -1,    -1,    -1,    66,    -1,    68,    -1,    -1,    -1,    -1,
9442       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9443       83,    -1,    -1,    86,    87,    88,    89,    90,    91,    92,
9444       93,    94,    -1,    96,     0,    -1,    99,   100,    -1,    -1,
9445       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,    -1,
9446       -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,   122,
9447       -1,   124,    -1,    29,    30,    31,    32,    33,    34,    35,
9448       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9449       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
9450       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    -1,
9451       66,    -1,    68,    -1,    -1,    -1,    -1,    -1,    74,    75,
9452       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    -1,
9453       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
9454       96,     0,    -1,    99,   100,    -1,    -1,    -1,    -1,    -1,
9455       -1,    -1,    -1,    -1,   110,   111,    -1,    -1,    -1,    -1,
9456       -1,    -1,    -1,    -1,    -1,   121,   122,    -1,   124,    -1,
9457       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9458       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9459       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
9460       59,    60,    61,    62,    -1,    -1,    -1,    66,    -1,    68,
9461       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    78,
9462       79,    80,    81,    82,    83,    -1,    -1,    86,    87,    88,
9463       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    -1,
9464       99,   100,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9465       -1,   110,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9466       -1,    -1,   121,   122,    -1,   124,    -1,    28,    29,    30,
9467       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9468       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9469       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9470       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9471       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9472       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
9473       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9474       -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
9475      111,   112,    -1,    -1,   115,    -1,    -1,    -1,    -1,    -1,
9476       -1,    -1,    -1,    -1,    -1,   126,    28,    29,    30,    31,
9477       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9478       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9479       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9480       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
9481       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
9482       -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
9483       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
9484        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
9485      112,    -1,    -1,   115,    -1,    -1,    -1,    -1,    -1,    -1,
9486      122,    -1,    -1,    -1,   126,    28,    29,    30,    31,    32,
9487       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9488       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9489       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9490       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9491       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
9492       -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
9493       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,     3,
9494       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
9495       -1,    -1,   115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9496       -1,    -1,    -1,   126,    28,    29,    30,    31,    32,    33,
9497       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9498       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9499       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9500       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9501       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
9502       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
9503       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,     3,    -1,
9504       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,    -1,
9505       -1,   115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9506       -1,    -1,   126,    28,    29,    30,    31,    32,    33,    34,
9507       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9508       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9509       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9510       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
9511       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
9512       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9513       -1,    -1,    -1,    -1,    -1,   100,    -1,     3,    -1,    -1,
9514       -1,    -1,    -1,    -1,    -1,   110,   111,   112,    -1,    -1,
9515      115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9516       -1,   126,    28,    29,    30,    31,    32,    33,    34,    35,
9517       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9518       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9519       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9520       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
9521       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,
9522       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9523       -1,    -1,    -1,    -1,   100,    -1,     3,    -1,    -1,    -1,
9524       -1,    -1,    -1,    -1,   110,   111,   112,    -1,    -1,   115,
9525       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9526      126,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9527       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9528       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9529       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9530       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    76,
9531       77,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
9532       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9533       -1,    -1,    -1,   100,     3,    -1,    -1,    -1,   105,    -1,
9534       -1,    -1,    -1,   110,   111,   112,    -1,    -1,   115,    -1,
9535       -1,    -1,    -1,    -1,    -1,    -1,    -1,   124,    -1,    28,
9536       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9537       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9538       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9539       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    68,
9540       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    78,
9541       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
9542       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9543       -1,   100,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9544       -1,   110,   111,   112,    -1,    -1,   115,    -1,   117,    -1,
9545       -1,    -1,    -1,    -1,    -1,   124,    -1,    28,    29,    30,
9546       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9547       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9548       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9549       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9550       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9551       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
9552       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9553        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
9554      111,   112,    -1,    -1,   115,    -1,    -1,    -1,    -1,    -1,
9555       -1,    -1,    -1,   124,    -1,    28,    29,    30,    31,    32,
9556       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9557       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9558       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9559       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9560       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
9561       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
9562       -1,    -1,    -1,    -1,    -1,     1,    -1,   100,    -1,    -1,
9563       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
9564       -1,    -1,   115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9565       -1,   124,    28,    29,    30,    31,    32,    33,    34,    35,
9566       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9567       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9568       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9569       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
9570       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,
9571       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
9572       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
9573       -1,    -1,    -1,    -1,   110,   111,    -1,    -1,    -1,    -1,
9574       -1,    -1,   118,    -1,   120,   121,    28,    29,    30,    31,
9575       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9576       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9577       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9578       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
9579       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
9580       -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
9581       -1,    -1,    -1,     1,    -1,    -1,    -1,    -1,   100,    -1,
9582       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
9583       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   121,
9584       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9585       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9586       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9587       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
9588       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
9589       -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,
9590       -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,    -1,
9591       -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9592       -1,    -1,   110,   111,    -1,    -1,    -1,    -1,    -1,    -1,
9593       -1,    -1,    -1,   121,    28,    29,    30,    31,    32,    33,
9594       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9595       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9596       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9597       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9598       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
9599       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
9600       -1,     1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
9601       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,    -1,    -1,
9602       -1,    -1,    -1,    -1,    -1,    -1,    -1,   121,    28,    29,
9603       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9604       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9605       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9606       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
9607       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
9608       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
9609       -1,    -1,    -1,    -1,     0,     1,    -1,     3,    -1,    -1,
9610      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9611      110,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9612       -1,   121,    28,    29,    30,    31,    32,    33,    34,    35,
9613       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9614       46,    47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,
9615       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9616       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
9617       76,    77,    -1,    79,    80,    81,    82,    83,    -1,    85,
9618       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
9619       -1,    -1,    -1,    -1,   100,   101,    -1,    -1,    -1,   105,
9620       -1,    -1,    -1,    -1,   110,   111,   112,    -1,    -1,   115,
9621       -1,    -1,   118,    28,    29,    30,    31,    32,    33,    34,
9622       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9623       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9624       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9625       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
9626       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
9627       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9628       -1,    -1,     3,    -1,    -1,   100,    -1,    -1,    -1,    -1,
9629       -1,    -1,   107,    -1,    -1,   110,   111,    -1,    -1,    -1,
9630       -1,    -1,    -1,    -1,    -1,    -1,   121,    28,    29,    30,
9631       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9632       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9633       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9634       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9635       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9636       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
9637       -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,   100,
9638       -1,    -1,    -1,    -1,    -1,    -1,   107,    -1,    -1,   110,
9639      111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9640      121,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9641       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9642       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9643       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
9644       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9645       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
9646       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,
9647        3,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
9648      107,    -1,    -1,   110,   111,    -1,    -1,    -1,    -1,    -1,
9649       -1,    -1,    -1,    -1,   121,    28,    29,    30,    31,    32,
9650       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9651       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9652       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9653       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9654       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
9655       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,     1,
9656       -1,     3,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,
9657       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
9658       -1,    -1,   115,    -1,    -1,   118,    28,    29,    30,    31,
9659       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9660       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9661       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9662       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
9663       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
9664       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
9665        1,    -1,     3,    -1,    -1,    -1,    -1,    -1,   100,    -1,
9666       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
9667      112,    -1,    -1,   115,    -1,    -1,   118,    28,    29,    30,
9668       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9669       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9670       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9671       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9672       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9673       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
9674       -1,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,   100,
9675       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
9676      111,   112,    -1,    -1,   115,    -1,    -1,   118,    28,    29,
9677       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9678       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9679       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9680       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
9681       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
9682       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
9683       -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
9684      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9685      110,   111,   112,    -1,    -1,   115,    -1,    -1,   118,    28,
9686       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9687       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9688       49,    50,    -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,
9689       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
9690       -1,    -1,    -1,    -1,    -1,    74,    75,    76,    77,    -1,
9691       79,    80,    81,    82,    83,    -1,    85,    86,    87,    -1,
9692       -1,    -1,     0,     1,    -1,     3,    -1,    -1,    -1,    -1,
9693       -1,   100,   101,    -1,    -1,    -1,   105,    -1,    -1,    -1,
9694       -1,   110,   111,   112,    -1,    -1,   115,    -1,    -1,   118,
9695       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9696       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9697       48,    49,    50,    -1,    -1,    53,    -1,    -1,    -1,    -1,
9698       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
9699       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
9700       -1,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
9701       -1,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
9702       -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9703       -1,    -1,   110,   111,   112,    -1,    -1,   115,    28,    29,
9704       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9705       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9706       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9707       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
9708       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
9709       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
9710        1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9711      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9712      110,   111,   112,    -1,    -1,   115,   116,    28,    29,    30,
9713       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9714       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9715       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9716       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
9717       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9718       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,     1,
9719       -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9720       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
9721      111,    -1,    -1,    -1,    -1,   116,    28,    29,    30,    31,
9722       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9723       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9724       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9725       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
9726       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
9727       82,    83,    -1,    85,    86,    87,    -1,    -1,     1,    -1,
9728        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
9729       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
9730       -1,    -1,    -1,    -1,   116,    28,    29,    30,    31,    32,
9731       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9732       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9733       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9734       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9735       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
9736       83,    -1,    85,    86,    87,    -1,    -1,     1,    -1,     3,
9737       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,
9738       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,    -1,
9739       -1,    -1,    -1,   116,    28,    29,    30,    31,    32,    33,
9740       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9741       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9742       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9743       -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9744       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
9745       -1,    85,    86,    87,    -1,    -1,     1,    -1,     3,    -1,
9746       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
9747       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,    -1,    -1,
9748       -1,    -1,   116,    28,    29,    30,    31,    32,    33,    34,
9749       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9750       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9751       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9752       65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
9753       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
9754       85,    86,    87,    -1,    -1,     1,    -1,     3,    -1,    -1,
9755       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,
9756       -1,    -1,    -1,    -1,    -1,   110,   111,    -1,    -1,    -1,
9757       -1,   116,    28,    29,    30,    31,    32,    33,    34,    35,
9758       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9759       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9760       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9761       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
9762       -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,
9763       86,    87,    -1,    -1,     1,    -1,     3,    -1,    -1,    -1,
9764       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
9765       -1,    -1,    -1,    -1,   110,   111,    -1,    -1,    -1,    -1,
9766      116,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9767       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9768       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9769       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9770       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9771       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
9772       87,    -1,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
9773       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
9774       -1,    -1,    -1,   110,   111,   112,    -1,    -1,   115,    28,
9775       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9776       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9777       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9778       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
9779       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
9780       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
9781        1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9782       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9783       -1,   110,   111,   112,    -1,    -1,   115,    28,    29,    30,
9784       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9785       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9786       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9787       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9788       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9789       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
9790        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9791       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
9792      111,    -1,    -1,    -1,   115,    28,    29,    30,    31,    32,
9793       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9794       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9795       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9796       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9797       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
9798       83,    -1,    85,    86,    87,    -1,    -1,    -1,     3,    -1,
9799       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,
9800       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
9801       -1,    -1,   115,    28,    29,    30,    31,    32,    33,    34,
9802       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9803       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9804       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9805       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
9806       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
9807       85,    86,    87,    -1,    -1,    -1,     3,    -1,    -1,    -1,
9808       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,
9809       -1,    -1,    -1,    -1,    -1,   110,   111,   112,    -1,    -1,
9810      115,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9811       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9812       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9813       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
9814       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9815       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
9816       87,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
9817       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
9818       -1,    -1,    -1,   110,   111,   112,    -1,    -1,   115,    28,
9819       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9820       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9821       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9822       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
9823       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
9824       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
9825       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9826       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9827       -1,   110,   111,    -1,    -1,    -1,   115,    28,    29,    30,
9828       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9829       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9830       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9831       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9832       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9833       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
9834        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9835       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
9836      111,    -1,    -1,    -1,   115,    28,    29,    30,    31,    32,
9837       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9838       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9839       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9840       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9841       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
9842       -1,    -1,    85,    86,    87,    -1,     1,    -1,     3,    -1,
9843       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,
9844       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
9845       -1,    -1,   115,    28,    29,    30,    31,    32,    33,    34,
9846       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9847       45,    46,    47,    48,    49,    50,    51,    -1,    -1,    -1,
9848       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9849       65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
9850       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
9851       85,    86,    87,     1,    -1,     3,    -1,    -1,    -1,    -1,
9852       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,
9853       -1,    -1,    -1,    -1,    -1,   110,   111,    -1,    -1,    -1,
9854       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9855       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9856       48,    49,    50,    51,    -1,    -1,    -1,    -1,    -1,    -1,
9857       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
9858       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
9859       -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,    87,
9860        1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9861       -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9862       -1,    -1,   110,   111,    -1,    -1,    -1,    28,    29,    30,
9863       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9864       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9865       51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9866       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
9867       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9868       -1,    82,    83,    -1,    85,    86,    87,     1,    -1,     3,
9869       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9870       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
9871      111,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
9872       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9873       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9874       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9875       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9876       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
9877       -1,    85,    86,    87,     3,    -1,    -1,    -1,    -1,    -1,
9878       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
9879       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,    -1,    28,
9880       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9881       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9882       49,    50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9883       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
9884       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
9885       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,     3,
9886       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9887       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9888       -1,   110,   111,    -1,    28,    29,    30,    31,    32,    33,
9889       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9890       44,    45,    46,    47,    48,    49,    50,    51,    -1,    -1,
9891       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9892       -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9893       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
9894       -1,    85,    86,    87,     3,    -1,    -1,    -1,    -1,    -1,
9895       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
9896       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,    -1,    28,
9897       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9898       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9899       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9900       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
9901       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
9902       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,     3,
9903       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9904       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9905       -1,   110,   111,    -1,    28,    29,    30,    31,    32,    33,
9906       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9907       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9908       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9909       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9910       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
9911       -1,    85,    86,    87,     3,    -1,    -1,    -1,    -1,    -1,
9912       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
9913       -1,    -1,    -1,   107,    -1,    -1,   110,   111,    -1,    28,
9914       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9915       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9916       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9917       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
9918       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
9919       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,     3,
9920       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9921       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9922       -1,   110,   111,    -1,    28,    29,    30,    31,    32,    33,
9923       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9924       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9925       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9926       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9927       74,    75,    -1,    -1,    -1,    79,    80,    81,    -1,    -1,
9928       -1,    85,    86,    87,     3,    -1,    -1,    -1,    -1,    -1,
9929       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
9930       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,    -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,    -1,    66,    -1,    -1,
9935       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
9936       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,     3,
9937       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9938       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9939       -1,   110,   111,    -1,    28,    29,    30,    31,    32,    33,
9940       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9941       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9942       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9943       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9944       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
9945       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
9946       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
9947       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,    28,    29,
9948       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9949       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9950       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9951       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
9952       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
9953       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
9954       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9955      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9956      110,   111,   112,    -1,    -1,   115,   116,    -1,    -1,    -1,
9957       -1,    -1,    -1,    -1,    -1,    -1,   126,    28,    29,    30,
9958       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9959       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9960       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9961       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9962       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9963       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
9964       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9965       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
9966      111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9967       -1,   122,    28,    29,    30,    31,    32,    33,    34,    35,
9968       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9969       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9970       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9971       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
9972       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,
9973       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9974       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
9975       -1,    -1,    -1,    -1,   110,   111,    -1,    -1,    -1,    -1,
9976       -1,    -1,    -1,    -1,    -1,   121,    28,    29,    30,    31,
9977       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9978       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9979       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9980       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
9981       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
9982       -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
9983       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
9984       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111
9985 };
9986
9987 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
9988    symbol of state STATE-NUM.  */
9989 static const yytype_uint16 yystos[] =
9990 {
9991        0,     3,    28,    29,    30,    31,    32,    33,    34,    35,
9992       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9993       46,    47,    48,    49,    50,    53,    65,    66,    74,    75,
9994       76,    77,    79,    80,    81,    82,    83,    85,    86,    87,
9995      100,   101,   105,   110,   111,   112,   115,   118,   138,   139,
9996      140,   142,   167,   204,   205,   206,   207,   208,   209,   264,
9997      267,   268,   271,   272,   273,   274,   275,   276,   277,   279,
9998      283,   286,   287,   288,   289,   290,   291,   296,   297,   306,
9999      307,   308,   315,   316,   320,   323,   328,   357,   360,   361,
10000      379,   380,   382,   383,   384,   385,   386,   387,    77,   124,
10001        5,    31,   209,   381,   209,   115,   115,   115,   142,   209,
10002      381,   277,   278,   315,   323,    37,   140,   209,   305,   306,
10003      308,   310,   311,   312,   314,   315,   323,   326,   327,   332,
10004      113,   118,   139,   140,   209,   122,   124,   118,   122,   121,
10005      112,   113,   204,   209,   122,   142,   209,   122,   124,   121,
10006      113,   122,   124,   122,   121,   122,   140,   209,   315,     1,
10007       31,    37,    38,   118,   138,   140,   206,   208,   209,   264,
10008      274,   275,   277,   279,   308,   312,   315,   323,   326,   327,
10009      328,   330,   338,   339,   340,   341,    37,    38,   140,   315,
10010      340,   115,   126,     1,    29,    30,    31,    32,    33,    65,
10011      116,   138,   209,   263,   267,   269,   270,   277,   279,   283,
10012      284,   285,   291,   295,   303,   304,   344,   345,   346,   347,
10013      348,   349,   323,   115,   308,   315,    34,    35,    36,    37,
10014       38,    39,    40,    41,    42,    43,    46,    47,    66,    85,
10015       87,   100,   122,   142,   163,   164,   263,   268,   269,   277,
10016      280,   284,   286,   294,   359,   362,   363,   364,   369,   370,
10017      371,    31,    76,   124,   206,   208,   296,   360,   361,   379,
10018      380,   387,     1,   206,   273,   290,   296,   328,   357,   383,
10019        1,   382,   383,     0,   209,   381,   381,     5,   119,   381,
10020        1,     4,     6,     8,     9,    65,    71,    72,    73,    84,
10021       85,    98,   102,   103,   104,   105,   106,   107,   108,   109,
10022      112,   115,   117,   125,   126,   128,   129,   130,   131,   142,
10023      168,   169,   209,   210,   211,   212,   215,   216,   220,   221,
10024      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
10025      233,   234,   235,   236,   237,   241,   243,   244,   246,   247,
10026      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
10027      381,   393,   394,   395,   396,   139,   209,   122,   142,   209,
10028      277,   323,   126,   115,   126,   116,   303,   304,   348,   349,
10029      323,   326,   327,   305,   310,   314,   315,   116,   315,   116,
10030      315,   315,    85,   142,   194,   196,   198,   202,   203,   209,
10031      221,   227,   244,   249,   295,   118,   113,   113,   118,     1,
10032       68,    78,    80,    81,    88,    91,    92,    93,    94,    96,
10033       98,    99,   115,   117,   118,   121,   143,   144,   145,   146,
10034      147,   148,   149,   150,   165,   166,   168,   169,   172,   173,
10035      174,   175,   176,   177,   178,   179,   180,   181,   185,   189,
10036      190,   191,   192,   209,   216,   241,   295,   307,   309,   315,
10037      323,   328,   329,   358,    80,    81,   209,   263,   267,   277,
10038      280,   283,   291,   298,   299,     1,   121,   191,   192,   140,
10039      209,     1,   209,   265,   266,     1,   121,   266,   299,    65,
10040      195,   197,   199,   200,   201,   209,   295,     1,   121,   191,
10041      192,   299,     1,   121,   191,   192,     1,   121,   191,   192,
10042      140,   209,   120,   120,   120,   122,   323,   308,   312,   315,
10043        1,   119,   363,   370,   371,   363,   370,   371,     1,   118,
10044      120,   120,   323,   118,   127,   139,   209,   236,   257,   261,
10045      262,   120,   122,   142,   209,   121,   122,   121,   122,   315,
10046       37,   115,   126,   128,   138,   140,   209,   263,   269,   277,
10047      279,   284,   305,   306,   315,   321,   323,   324,   327,     1,
10048      116,   120,     1,   116,   120,     1,   120,     1,   120,   116,
10049      116,   308,   115,   308,   115,   115,     1,   118,     1,   121,
10050        1,    37,    38,   118,   209,   263,   269,   277,   280,   284,
10051      315,   340,   341,     1,   118,     1,   359,   362,   370,   371,
10052      359,   362,    52,    53,    54,    55,    56,    57,    58,    59,
10053       60,    61,    62,    85,    86,    88,    89,    90,   118,   124,
10054      142,   186,   187,   188,   209,   216,   221,   237,   239,   244,
10055      257,   258,   259,   320,   350,   351,   354,   355,   356,   363,
10056      364,   365,   366,   367,   368,   370,   371,   373,   374,   375,
10057      376,   377,   378,   121,    31,   209,   381,   209,   204,   205,
10058      207,   208,   305,   306,   312,   315,   323,   328,   330,   363,
10059      371,   206,   296,   119,   235,   236,   256,   116,     1,   115,
10060      169,   212,   217,   220,   222,   242,   243,   245,   115,   221,
10061      244,   221,   244,   115,   209,   263,   269,   277,   280,   284,
10062      302,   261,   115,   115,   302,   261,   115,   115,   115,   115,
10063      115,   115,   222,   245,   116,   237,   239,   259,   269,   277,
10064      279,   284,   292,   342,   381,   122,   170,   171,   213,   218,
10065      237,   122,     1,   121,   122,     1,     7,     8,     9,   115,
10066      123,   126,    18,    19,    20,    21,    22,    23,    24,    25,
10067       26,    27,   119,   238,   171,   213,   214,   224,   246,   112,
10068      132,   133,   129,   130,    10,    11,   227,   249,    12,    13,
10069      113,   114,    14,    15,   128,   134,   135,    16,    17,   136,
10070      238,   116,     7,     8,     9,   115,   123,   126,   238,   112,
10071      132,   133,   129,   130,    10,    11,    12,    13,   113,   114,
10072       14,    15,   128,   134,   135,    16,    17,   136,   238,   116,
10073      116,   107,   209,   295,   388,   391,   392,   122,   122,   127,
10074      139,   261,   262,   127,   139,   261,   262,   116,   116,   116,
10075      116,   305,   310,   314,   116,   116,   305,    11,   114,   120,
10076      119,   115,   315,   323,   324,    65,   201,   209,   295,   201,
10077        1,   209,   263,   277,   280,   291,   300,   295,   328,   329,
10078      115,   142,   209,   209,   295,     1,   115,   300,   112,   115,
10079      209,   295,   118,   370,   371,   370,   371,   370,   118,   370,
10080      371,   118,     1,   121,     1,     1,   118,   120,   120,    69,
10081       70,    91,    95,    97,   121,    69,    70,   121,   118,     1,
10082      189,   190,     1,   189,   190,     1,   119,   115,   124,   209,
10083      281,   282,   305,   311,   313,   315,   323,   330,   331,   332,
10084        1,   295,   303,   346,   323,   309,   315,   115,   124,   149,
10085      150,   165,   166,   168,   169,   178,   209,   295,   113,   142,
10086      209,   209,   263,   277,   280,   113,   113,   119,   120,     1,
10087      118,   122,    28,   141,   209,   114,   120,   119,   209,   324,
10088      326,   338,   338,   338,   118,   120,   121,   151,   152,   153,
10089      154,   155,   156,   157,   158,   159,   160,   161,   162,   213,
10090      214,   216,   236,   257,   294,   335,   336,   305,   308,   310,
10091      312,   314,   305,   312,   122,   237,   258,   333,   334,   370,
10092      371,   370,   371,   338,   339,   338,   339,   127,   127,   127,
10093       51,   344,   345,     1,   266,   122,   122,     1,   121,   191,
10094      192,     1,   121,   191,   192,   122,   116,   209,   303,   304,
10095      315,   323,   324,   348,   349,   127,   139,   261,   262,   315,
10096      323,   327,   323,   115,   126,   321,     1,     1,   120,     1,
10097       51,   209,   344,   345,   120,     1,    51,   209,   344,   345,
10098      120,     1,    51,   209,   344,   345,   120,    51,   209,   344,
10099      345,     3,    28,    44,    74,    75,   116,   317,   318,   319,
10100      237,   139,   209,   121,   122,   118,   118,   124,   261,   262,
10101      124,   115,   115,     1,   115,    52,    53,    54,    56,    57,
10102       58,    59,    62,    86,   209,   259,   320,   350,   373,   377,
10103      115,   209,   118,   118,   118,   213,   214,   239,   259,   115,
10104      277,   115,   115,   182,   209,   118,   118,   118,   124,   123,
10105      238,     1,   123,   118,   120,   239,   259,   238,   116,   120,
10106      239,     1,   365,   366,   365,   366,   350,   351,   359,   362,
10107      350,   351,   359,   362,     1,     1,   381,   381,   140,   209,
10108      122,   122,   323,   312,   315,   363,   371,   363,   371,   371,
10109      236,   136,   118,   136,    65,   138,   209,   221,   244,   269,
10110      277,   279,   284,   293,   343,     1,     1,     7,     8,     9,
10111      115,   123,   126,     7,     8,     9,   115,   123,   126,   209,
10112      294,   113,   115,   126,   209,   263,   269,   277,   280,   284,
10113      315,   322,   323,   325,   209,   263,   269,   277,   280,   284,
10114      301,   239,   342,   370,   209,   126,   325,   301,   237,   381,
10115      381,   381,   237,   221,   244,   343,   116,   209,   269,   277,
10116      279,   284,   324,   116,   123,     1,   161,   162,     1,   121,
10117      120,   127,     1,   161,   162,   121,     1,   161,   162,     1,
10118      209,   116,   214,   218,   219,   258,     1,   209,   239,   259,
10119      213,   237,     1,   224,   246,   224,   246,   224,   246,   225,
10120      247,   225,   247,   226,   248,   226,   248,   227,   249,   227,
10121      249,   227,   249,   213,   214,   229,   250,   213,   214,   229,
10122      250,   213,   214,   230,   251,   213,   214,   231,   252,   213,
10123      214,   232,   253,   233,   254,   234,   255,   124,   213,   214,
10124      239,   240,   259,   260,   213,   237,     1,   209,   116,   218,
10125      219,     1,   209,   239,   259,   213,   237,   224,   246,   224,
10126      246,   224,   246,   225,   247,   225,   247,   226,   248,   226,
10127      248,   227,   249,   227,   249,   227,   249,   227,   249,   213,
10128      214,   229,   250,   213,   214,   229,   250,   213,   214,   230,
10129      251,   213,   214,   231,   252,   213,   214,   232,   253,   233,
10130      254,   234,   255,   124,   239,   240,   259,   260,   213,   237,
10131      113,   114,   209,   389,   390,   209,   121,   388,   391,   392,
10132      392,   127,   127,   127,   127,   127,   127,   202,   194,   196,
10133      198,   209,   315,   323,   114,   119,   324,   114,   122,   113,
10134      122,   209,   263,   277,   280,   324,   315,   323,   330,   331,
10135      182,   282,   305,   315,   323,   122,   209,   122,   209,   324,
10136      209,   315,   115,   121,   172,   173,   172,   173,   370,   370,
10137      370,   211,   370,   370,     1,   335,   336,   116,   261,   262,
10138      122,   120,     1,   295,   303,   346,   323,   305,   313,   315,
10139      124,   320,   209,   115,   309,   309,   209,     1,     1,   282,
10140      203,   113,   201,   201,   261,   262,   265,   191,   192,     1,
10141      121,   266,   119,   124,   119,   124,   200,   196,   209,   119,
10142      209,   119,   370,   371,     1,   118,   120,   118,   120,   118,
10143      153,   154,   157,   158,   159,   121,   151,   154,   118,   121,
10144      153,   154,   157,   158,   159,   119,    37,   330,   331,   332,
10145      333,   334,   337,     1,   121,   266,     1,   121,   266,     1,
10146      121,   191,   192,   315,   323,   324,   116,   116,   116,   127,
10147      127,   127,   323,   321,   116,   348,   349,   127,   139,   261,
10148      262,   344,   345,   295,   344,   344,   344,   345,   116,   115,
10149      116,   120,   318,   116,   116,   116,     1,   161,   162,   350,
10150      351,   124,   124,   350,   351,   239,   259,   239,   259,   116,
10151      239,   259,   124,   261,   262,   124,   115,   115,   350,   115,
10152      214,   259,   115,   124,    56,     1,   116,   118,   209,   239,
10153      259,   372,   118,   118,   118,   118,   118,   381,   115,   237,
10154      237,   209,   350,   351,    90,   214,   258,    88,    89,    90,
10155      237,   258,   214,   258,   237,   258,   113,   312,   371,   371,
10156      118,   239,   240,   259,   260,   239,   240,   259,   260,   138,
10157      139,   116,   138,   269,   277,   279,   284,   324,   116,     1,
10158      209,   116,   218,   219,     1,   209,   239,   259,     1,   209,
10159      116,   218,   219,     1,   209,   239,   259,   116,   116,   324,
10160      203,   116,   315,   325,   348,   349,   261,   262,   113,   323,
10161      115,   322,   126,   113,   126,   209,   263,   269,   277,   280,
10162      284,   325,   116,   116,   116,   116,   261,   262,   126,   126,
10163      325,   120,   116,   120,   120,   120,   116,   116,   224,   246,
10164      381,     1,   121,   213,   237,     1,     1,   116,   120,   116,
10165      127,   127,     1,   120,   124,   124,   120,   124,   124,   116,
10166      127,   127,   124,   124,   124,   124,   209,   209,   118,   120,
10167      209,   381,   121,   121,   315,   323,   196,   203,   113,   122,
10168      122,   209,   323,   315,   116,   323,   305,   116,   122,   122,
10169      209,   116,     1,   161,   162,   281,   315,   209,   115,   305,
10170      313,   313,   261,   262,   115,   116,   114,   203,   114,   114,
10171      118,     1,   118,   194,   193,   295,   194,   193,   198,   119,
10172      122,     1,   155,   156,     1,   155,   156,   371,     1,   335,
10173      336,   120,   121,   333,   334,     1,   118,     1,   118,   323,
10174      321,   116,   116,   116,   127,   127,   127,   324,   327,   239,
10175      116,   318,     1,   350,   351,   350,   351,   116,   116,   116,
10176      116,     1,   350,   116,   239,   350,   351,   124,   124,   259,
10177      116,   239,   259,    56,   259,   372,   381,   115,   350,   124,
10178      118,     1,   118,     1,   116,   259,   372,     3,   116,   124,
10179      381,   116,   116,   120,   115,   115,   182,   124,   124,   124,
10180      124,   124,   124,   124,   124,   116,   116,     1,   116,   116,
10181      127,   127,   116,   127,   127,   116,   114,   315,   323,   325,
10182      116,   116,   116,   127,   127,   203,   322,   116,   348,   349,
10183      261,   262,   203,   261,   262,   113,   126,   115,   333,   127,
10184      127,   261,   262,   261,   262,   126,   342,   209,   209,   237,
10185        1,   214,   258,   213,   214,   213,   214,   236,   256,   213,
10186      214,   236,   256,   213,   214,   213,   214,   236,   256,   213,
10187      214,   236,   256,   213,   214,   236,   256,   213,   214,   236,
10188      256,   213,   214,   236,   256,   213,   214,   236,   256,   389,
10189      118,   118,   114,   203,   122,   370,   305,   119,   122,     1,
10190      115,   124,   124,   114,   191,   192,   118,   191,   192,   119,
10191      324,   119,   198,   337,   121,   333,   334,     1,   191,   192,
10192      191,   192,   116,   350,   350,   350,   350,   350,   351,   116,
10193      115,   372,   116,   239,   259,   239,   350,     1,   116,   239,
10194      259,   352,   353,   381,   118,   353,     3,   116,   124,   122,
10195      182,   237,   237,     1,     1,   322,   116,   114,   116,   116,
10196      127,   127,   114,   127,   127,   203,   261,   262,   342,   127,
10197      127,   127,   127,   261,   262,   116,   116,   116,   116,   114,
10198      335,   261,   262,   261,   262,   191,   192,   194,   194,   120,
10199      121,     1,    64,    64,   239,   259,   116,   239,   259,   116,
10200      118,   116,   118,   350,   351,   116,   350,   351,   116,   120,
10201      124,   115,     3,   116,   124,   353,   118,   353,    73,   182,
10202      183,   184,   116,   116,   116,   120,   114,   127,   127,   116,
10203      127,   127,   118,   121,   350,   350,   116,   116,   118,   350,
10204      239,   350,   351,   118,   352,   353,   237,   353,   118,   353,
10205      116,   124,     3,   116,   124,   370,   370,   121,   183,   122,
10206      182,   224,   246,   333,   116,   116,   116,   116,   116,   124,
10207      118,   353,   353,   118,   353,   184,   116,   350,   118,   118,
10208      118,   353,   116,   116,   116,   124,   121,   116,   118,   118,
10209      118,   353,   118,   116,   118
10210 };
10211
10212 #define yyerrok         (yyerrstatus = 0)
10213 #define yyclearin       (yychar = YYEMPTY)
10214 #define YYEMPTY         (-2)
10215 #define YYEOF           0
10216
10217 #define YYACCEPT        goto yyacceptlab
10218 #define YYABORT         goto yyabortlab
10219 #define YYERROR         goto yyerrorlab
10220
10221
10222 /* Like YYERROR except do call yyerror.  This remains here temporarily
10223    to ease the transition to the new meaning of YYERROR, for GCC.
10224    Once GCC version 2 has supplanted version 1, this can go.  However,
10225    YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
10226    in Bison 2.4.2's NEWS entry, where a plan to phase it out is
10227    discussed.  */
10228
10229 #define YYFAIL          goto yyerrlab
10230 #if defined YYFAIL
10231   /* This is here to suppress warnings from the GCC cpp's
10232      -Wunused-macros.  Normally we don't worry about that warning, but
10233      some users do, and we want to make it easy for users to remove
10234      YYFAIL uses, which will produce warnings from Bison 2.5.  */
10235 #endif
10236
10237 #define YYRECOVERING()  (!!yyerrstatus)
10238
10239 #define YYBACKUP(Token, Value)                                  \
10240 do                                                              \
10241   if (yychar == YYEMPTY && yylen == 1)                          \
10242     {                                                           \
10243       yychar = (Token);                                         \
10244       yylval = (Value);                                         \
10245       yytoken = YYTRANSLATE (yychar);                           \
10246       YYPOPSTACK (1);                                           \
10247       goto yybackup;                                            \
10248     }                                                           \
10249   else                                                          \
10250     {                                                           \
10251       yyerror (YY_("syntax error: cannot back up")); \
10252       YYERROR;                                                  \
10253     }                                                           \
10254 while (YYID (0))
10255
10256
10257 #define YYTERROR        1
10258 #define YYERRCODE       256
10259
10260
10261 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
10262    If N is 0, then set CURRENT to the empty location which ends
10263    the previous symbol: RHS[0] (always defined).  */
10264
10265 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
10266 #ifndef YYLLOC_DEFAULT
10267 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
10268     do                                                                  \
10269       if (YYID (N))                                                    \
10270         {                                                               \
10271           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
10272           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
10273           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
10274           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
10275         }                                                               \
10276       else                                                              \
10277         {                                                               \
10278           (Current).first_line   = (Current).last_line   =              \
10279             YYRHSLOC (Rhs, 0).last_line;                                \
10280           (Current).first_column = (Current).last_column =              \
10281             YYRHSLOC (Rhs, 0).last_column;                              \
10282         }                                                               \
10283     while (YYID (0))
10284 #endif
10285
10286
10287 /* YY_LOCATION_PRINT -- Print the location on the stream.
10288    This macro was not mandated originally: define only if we know
10289    we won't break user code: when these are the locations we know.  */
10290
10291 #ifndef YY_LOCATION_PRINT
10292 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
10293 #  define YY_LOCATION_PRINT(File, Loc)                  \
10294      fprintf (File, "%d.%d-%d.%d",                      \
10295               (Loc).first_line, (Loc).first_column,     \
10296               (Loc).last_line,  (Loc).last_column)
10297 # else
10298 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
10299 # endif
10300 #endif
10301
10302
10303 /* YYLEX -- calling `yylex' with the right arguments.  */
10304
10305 #ifdef YYLEX_PARAM
10306 # define YYLEX yylex (YYLEX_PARAM)
10307 #else
10308 # define YYLEX yylex ()
10309 #endif
10310
10311 /* Enable debugging if requested.  */
10312 #if YYDEBUG
10313
10314 # ifndef YYFPRINTF
10315 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
10316 #  define YYFPRINTF fprintf
10317 # endif
10318
10319 # define YYDPRINTF(Args)                        \
10320 do {                                            \
10321   if (yydebug)                                  \
10322     YYFPRINTF Args;                             \
10323 } while (YYID (0))
10324
10325 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
10326 do {                                                                      \
10327   if (yydebug)                                                            \
10328     {                                                                     \
10329       YYFPRINTF (stderr, "%s ", Title);                                   \
10330       yy_symbol_print (stderr,                                            \
10331                   Type, Value, Location); \
10332       YYFPRINTF (stderr, "\n");                                           \
10333     }                                                                     \
10334 } while (YYID (0))
10335
10336
10337 /*--------------------------------.
10338 | Print this symbol on YYOUTPUT.  |
10339 `--------------------------------*/
10340
10341 /*ARGSUSED*/
10342 #if (defined __STDC__ || defined __C99__FUNC__ \
10343      || defined __cplusplus || defined _MSC_VER)
10344 static void
10345 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
10346 #else
10347 static void
10348 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp)
10349     FILE *yyoutput;
10350     int yytype;
10351     YYSTYPE const * const yyvaluep;
10352     YYLTYPE const * const yylocationp;
10353 #endif
10354 {
10355   if (!yyvaluep)
10356     return;
10357   YYUSE (yylocationp);
10358 # ifdef YYPRINT
10359   if (yytype < YYNTOKENS)
10360     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
10361 # else
10362   YYUSE (yyoutput);
10363 # endif
10364   switch (yytype)
10365     {
10366       default:
10367         break;
10368     }
10369 }
10370
10371
10372 /*--------------------------------.
10373 | Print this symbol on YYOUTPUT.  |
10374 `--------------------------------*/
10375
10376 #if (defined __STDC__ || defined __C99__FUNC__ \
10377      || defined __cplusplus || defined _MSC_VER)
10378 static void
10379 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
10380 #else
10381 static void
10382 yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp)
10383     FILE *yyoutput;
10384     int yytype;
10385     YYSTYPE const * const yyvaluep;
10386     YYLTYPE const * const yylocationp;
10387 #endif
10388 {
10389   if (yytype < YYNTOKENS)
10390     YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
10391   else
10392     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
10393
10394   YY_LOCATION_PRINT (yyoutput, *yylocationp);
10395   YYFPRINTF (yyoutput, ": ");
10396   yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp);
10397   YYFPRINTF (yyoutput, ")");
10398 }
10399
10400 /*------------------------------------------------------------------.
10401 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
10402 | TOP (included).                                                   |
10403 `------------------------------------------------------------------*/
10404
10405 #if (defined __STDC__ || defined __C99__FUNC__ \
10406      || defined __cplusplus || defined _MSC_VER)
10407 static void
10408 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
10409 #else
10410 static void
10411 yy_stack_print (yybottom, yytop)
10412     yytype_int16 *yybottom;
10413     yytype_int16 *yytop;
10414 #endif
10415 {
10416   YYFPRINTF (stderr, "Stack now");
10417   for (; yybottom <= yytop; yybottom++)
10418     {
10419       int yybot = *yybottom;
10420       YYFPRINTF (stderr, " %d", yybot);
10421     }
10422   YYFPRINTF (stderr, "\n");
10423 }
10424
10425 # define YY_STACK_PRINT(Bottom, Top)                            \
10426 do {                                                            \
10427   if (yydebug)                                                  \
10428     yy_stack_print ((Bottom), (Top));                           \
10429 } while (YYID (0))
10430
10431
10432 /*------------------------------------------------.
10433 | Report that the YYRULE is going to be reduced.  |
10434 `------------------------------------------------*/
10435
10436 #if (defined __STDC__ || defined __C99__FUNC__ \
10437      || defined __cplusplus || defined _MSC_VER)
10438 static void
10439 yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule)
10440 #else
10441 static void
10442 yy_reduce_print (yyvsp, yylsp, yyrule)
10443     YYSTYPE *yyvsp;
10444     YYLTYPE *yylsp;
10445     int yyrule;
10446 #endif
10447 {
10448   int yynrhs = yyr2[yyrule];
10449   int yyi;
10450   unsigned long int yylno = yyrline[yyrule];
10451   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
10452              yyrule - 1, yylno);
10453   /* The symbols being reduced.  */
10454   for (yyi = 0; yyi < yynrhs; yyi++)
10455     {
10456       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
10457       yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
10458                        &(yyvsp[(yyi + 1) - (yynrhs)])
10459                        , &(yylsp[(yyi + 1) - (yynrhs)])                );
10460       YYFPRINTF (stderr, "\n");
10461     }
10462 }
10463
10464 # define YY_REDUCE_PRINT(Rule)          \
10465 do {                                    \
10466   if (yydebug)                          \
10467     yy_reduce_print (yyvsp, yylsp, Rule); \
10468 } while (YYID (0))
10469
10470 /* Nonzero means print parse trace.  It is left uninitialized so that
10471    multiple parsers can coexist.  */
10472 int yydebug;
10473 #else /* !YYDEBUG */
10474 # define YYDPRINTF(Args)
10475 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
10476 # define YY_STACK_PRINT(Bottom, Top)
10477 # define YY_REDUCE_PRINT(Rule)
10478 #endif /* !YYDEBUG */
10479
10480
10481 /* YYINITDEPTH -- initial size of the parser's stacks.  */
10482 #ifndef YYINITDEPTH
10483 # define YYINITDEPTH 200
10484 #endif
10485
10486 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
10487    if the built-in stack extension method is used).
10488
10489    Do not make this value too large; the results are undefined if
10490    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
10491    evaluated with infinite-precision integer arithmetic.  */
10492
10493 #ifndef YYMAXDEPTH
10494 # define YYMAXDEPTH 10000
10495 #endif
10496
10497 \f
10498
10499 #if YYERROR_VERBOSE
10500
10501 # ifndef yystrlen
10502 #  if defined __GLIBC__ && defined _STRING_H
10503 #   define yystrlen strlen
10504 #  else
10505 /* Return the length of YYSTR.  */
10506 #if (defined __STDC__ || defined __C99__FUNC__ \
10507      || defined __cplusplus || defined _MSC_VER)
10508 static YYSIZE_T
10509 yystrlen (const char *yystr)
10510 #else
10511 static YYSIZE_T
10512 yystrlen (yystr)
10513     const char *yystr;
10514 #endif
10515 {
10516   YYSIZE_T yylen;
10517   for (yylen = 0; yystr[yylen]; yylen++)
10518     continue;
10519   return yylen;
10520 }
10521 #  endif
10522 # endif
10523
10524 # ifndef yystpcpy
10525 #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
10526 #   define yystpcpy stpcpy
10527 #  else
10528 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
10529    YYDEST.  */
10530 #if (defined __STDC__ || defined __C99__FUNC__ \
10531      || defined __cplusplus || defined _MSC_VER)
10532 static char *
10533 yystpcpy (char *yydest, const char *yysrc)
10534 #else
10535 static char *
10536 yystpcpy (yydest, yysrc)
10537     char *yydest;
10538     const char *yysrc;
10539 #endif
10540 {
10541   char *yyd = yydest;
10542   const char *yys = yysrc;
10543
10544   while ((*yyd++ = *yys++) != '\0')
10545     continue;
10546
10547   return yyd - 1;
10548 }
10549 #  endif
10550 # endif
10551
10552 # ifndef yytnamerr
10553 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
10554    quotes and backslashes, so that it's suitable for yyerror.  The
10555    heuristic is that double-quoting is unnecessary unless the string
10556    contains an apostrophe, a comma, or backslash (other than
10557    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
10558    null, do not copy; instead, return the length of what the result
10559    would have been.  */
10560 static YYSIZE_T
10561 yytnamerr (char *yyres, const char *yystr)
10562 {
10563   if (*yystr == '"')
10564     {
10565       YYSIZE_T yyn = 0;
10566       char const *yyp = yystr;
10567
10568       for (;;)
10569         switch (*++yyp)
10570           {
10571           case '\'':
10572           case ',':
10573             goto do_not_strip_quotes;
10574
10575           case '\\':
10576             if (*++yyp != '\\')
10577               goto do_not_strip_quotes;
10578             /* Fall through.  */
10579           default:
10580             if (yyres)
10581               yyres[yyn] = *yyp;
10582             yyn++;
10583             break;
10584
10585           case '"':
10586             if (yyres)
10587               yyres[yyn] = '\0';
10588             return yyn;
10589           }
10590     do_not_strip_quotes: ;
10591     }
10592
10593   if (! yyres)
10594     return yystrlen (yystr);
10595
10596   return yystpcpy (yyres, yystr) - yyres;
10597 }
10598 # endif
10599
10600 /* Copy into YYRESULT an error message about the unexpected token
10601    YYCHAR while in state YYSTATE.  Return the number of bytes copied,
10602    including the terminating null byte.  If YYRESULT is null, do not
10603    copy anything; just return the number of bytes that would be
10604    copied.  As a special case, return 0 if an ordinary "syntax error"
10605    message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
10606    size calculation.  */
10607 static YYSIZE_T
10608 yysyntax_error (char *yyresult, int yystate, int yychar)
10609 {
10610   int yyn = yypact[yystate];
10611
10612   if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
10613     return 0;
10614   else
10615     {
10616       int yytype = YYTRANSLATE (yychar);
10617       YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
10618       YYSIZE_T yysize = yysize0;
10619       YYSIZE_T yysize1;
10620       int yysize_overflow = 0;
10621       enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
10622       char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
10623       int yyx;
10624
10625 # if 0
10626       /* This is so xgettext sees the translatable formats that are
10627          constructed on the fly.  */
10628       YY_("syntax error, unexpected %s");
10629       YY_("syntax error, unexpected %s, expecting %s");
10630       YY_("syntax error, unexpected %s, expecting %s or %s");
10631       YY_("syntax error, unexpected %s, expecting %s or %s or %s");
10632       YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
10633 # endif
10634       char *yyfmt;
10635       char const *yyf;
10636       static char const yyunexpected[] = "syntax error, unexpected %s";
10637       static char const yyexpecting[] = ", expecting %s";
10638       static char const yyor[] = " or %s";
10639       char yyformat[sizeof yyunexpected
10640                     + sizeof yyexpecting - 1
10641                     + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
10642                        * (sizeof yyor - 1))];
10643       char const *yyprefix = yyexpecting;
10644
10645       /* Start YYX at -YYN if negative to avoid negative indexes in
10646          YYCHECK.  */
10647       int yyxbegin = yyn < 0 ? -yyn : 0;
10648
10649       /* Stay within bounds of both yycheck and yytname.  */
10650       int yychecklim = YYLAST - yyn + 1;
10651       int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
10652       int yycount = 1;
10653
10654       yyarg[0] = yytname[yytype];
10655       yyfmt = yystpcpy (yyformat, yyunexpected);
10656
10657       for (yyx = yyxbegin; yyx < yyxend; ++yyx)
10658         if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
10659           {
10660             if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
10661               {
10662                 yycount = 1;
10663                 yysize = yysize0;
10664                 yyformat[sizeof yyunexpected - 1] = '\0';
10665                 break;
10666               }
10667             yyarg[yycount++] = yytname[yyx];
10668             yysize1 = yysize + yytnamerr (0, yytname[yyx]);
10669             yysize_overflow |= (yysize1 < yysize);
10670             yysize = yysize1;
10671             yyfmt = yystpcpy (yyfmt, yyprefix);
10672             yyprefix = yyor;
10673           }
10674
10675       yyf = YY_(yyformat);
10676       yysize1 = yysize + yystrlen (yyf);
10677       yysize_overflow |= (yysize1 < yysize);
10678       yysize = yysize1;
10679
10680       if (yysize_overflow)
10681         return YYSIZE_MAXIMUM;
10682
10683       if (yyresult)
10684         {
10685           /* Avoid sprintf, as that infringes on the user's name space.
10686              Don't have undefined behavior even if the translation
10687              produced a string with the wrong number of "%s"s.  */
10688           char *yyp = yyresult;
10689           int yyi = 0;
10690           while ((*yyp = *yyf) != '\0')
10691             {
10692               if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
10693                 {
10694                   yyp += yytnamerr (yyp, yyarg[yyi++]);
10695                   yyf += 2;
10696                 }
10697               else
10698                 {
10699                   yyp++;
10700                   yyf++;
10701                 }
10702             }
10703         }
10704       return yysize;
10705     }
10706 }
10707 #endif /* YYERROR_VERBOSE */
10708 \f
10709
10710 /*-----------------------------------------------.
10711 | Release the memory associated to this symbol.  |
10712 `-----------------------------------------------*/
10713
10714 /*ARGSUSED*/
10715 #if (defined __STDC__ || defined __C99__FUNC__ \
10716      || defined __cplusplus || defined _MSC_VER)
10717 static void
10718 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp)
10719 #else
10720 static void
10721 yydestruct (yymsg, yytype, yyvaluep, yylocationp)
10722     const char *yymsg;
10723     int yytype;
10724     YYSTYPE *yyvaluep;
10725     YYLTYPE *yylocationp;
10726 #endif
10727 {
10728   YYUSE (yyvaluep);
10729   YYUSE (yylocationp);
10730
10731   if (!yymsg)
10732     yymsg = "Deleting";
10733   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
10734
10735   switch (yytype)
10736     {
10737       case 138: /* "guess_type" */
10738
10739 /* Line 1009 of yacc.c  */
10740 #line 209 "grammar.y"
10741         { FreeSpecifier((yyvaluep->specifier)); };
10742
10743 /* Line 1009 of yacc.c  */
10744 #line 10745 "grammar.ec"
10745         break;
10746       case 139: /* "type" */
10747
10748 /* Line 1009 of yacc.c  */
10749 #line 209 "grammar.y"
10750         { FreeSpecifier((yyvaluep->specifier)); };
10751
10752 /* Line 1009 of yacc.c  */
10753 #line 10754 "grammar.ec"
10754         break;
10755       case 140: /* "base_strict_type" */
10756
10757 /* Line 1009 of yacc.c  */
10758 #line 209 "grammar.y"
10759         { FreeSpecifier((yyvaluep->specifier)); };
10760
10761 /* Line 1009 of yacc.c  */
10762 #line 10763 "grammar.ec"
10763         break;
10764       case 141: /* "base_strict_type_name" */
10765
10766 /* Line 1009 of yacc.c  */
10767 #line 244 "grammar.y"
10768         { delete (yyvaluep->string); };
10769
10770 /* Line 1009 of yacc.c  */
10771 #line 10772 "grammar.ec"
10772         break;
10773       case 142: /* "strict_type" */
10774
10775 /* Line 1009 of yacc.c  */
10776 #line 209 "grammar.y"
10777         { FreeSpecifier((yyvaluep->specifier)); };
10778
10779 /* Line 1009 of yacc.c  */
10780 #line 10781 "grammar.ec"
10781         break;
10782       case 143: /* "class_function_definition_start" */
10783
10784 /* Line 1009 of yacc.c  */
10785 #line 236 "grammar.y"
10786         { FreeClassFunction((yyvaluep->classFunction)); };
10787
10788 /* Line 1009 of yacc.c  */
10789 #line 10790 "grammar.ec"
10790         break;
10791       case 144: /* "constructor_function_definition_start" */
10792
10793 /* Line 1009 of yacc.c  */
10794 #line 236 "grammar.y"
10795         { FreeClassFunction((yyvaluep->classFunction)); };
10796
10797 /* Line 1009 of yacc.c  */
10798 #line 10799 "grammar.ec"
10799         break;
10800       case 145: /* "destructor_function_definition_start" */
10801
10802 /* Line 1009 of yacc.c  */
10803 #line 236 "grammar.y"
10804         { FreeClassFunction((yyvaluep->classFunction)); };
10805
10806 /* Line 1009 of yacc.c  */
10807 #line 10808 "grammar.ec"
10808         break;
10809       case 146: /* "virtual_class_function_definition_start" */
10810
10811 /* Line 1009 of yacc.c  */
10812 #line 236 "grammar.y"
10813         { FreeClassFunction((yyvaluep->classFunction)); };
10814
10815 /* Line 1009 of yacc.c  */
10816 #line 10817 "grammar.ec"
10817         break;
10818       case 147: /* "class_function_definition_start_error" */
10819
10820 /* Line 1009 of yacc.c  */
10821 #line 236 "grammar.y"
10822         { FreeClassFunction((yyvaluep->classFunction)); };
10823
10824 /* Line 1009 of yacc.c  */
10825 #line 10826 "grammar.ec"
10826         break;
10827       case 148: /* "virtual_class_function_definition_start_error" */
10828
10829 /* Line 1009 of yacc.c  */
10830 #line 236 "grammar.y"
10831         { FreeClassFunction((yyvaluep->classFunction)); };
10832
10833 /* Line 1009 of yacc.c  */
10834 #line 10835 "grammar.ec"
10835         break;
10836       case 149: /* "class_function_definition" */
10837
10838 /* Line 1009 of yacc.c  */
10839 #line 236 "grammar.y"
10840         { FreeClassFunction((yyvaluep->classFunction)); };
10841
10842 /* Line 1009 of yacc.c  */
10843 #line 10844 "grammar.ec"
10844         break;
10845       case 150: /* "class_function_definition_error" */
10846
10847 /* Line 1009 of yacc.c  */
10848 #line 236 "grammar.y"
10849         { FreeClassFunction((yyvaluep->classFunction)); };
10850
10851 /* Line 1009 of yacc.c  */
10852 #line 10853 "grammar.ec"
10853         break;
10854       case 151: /* "instance_class_function_definition_start" */
10855
10856 /* Line 1009 of yacc.c  */
10857 #line 236 "grammar.y"
10858         { FreeClassFunction((yyvaluep->classFunction)); };
10859
10860 /* Line 1009 of yacc.c  */
10861 #line 10862 "grammar.ec"
10862         break;
10863       case 152: /* "instance_class_function_definition_start_error" */
10864
10865 /* Line 1009 of yacc.c  */
10866 #line 236 "grammar.y"
10867         { FreeClassFunction((yyvaluep->classFunction)); };
10868
10869 /* Line 1009 of yacc.c  */
10870 #line 10871 "grammar.ec"
10871         break;
10872       case 153: /* "instance_class_function_definition" */
10873
10874 /* Line 1009 of yacc.c  */
10875 #line 236 "grammar.y"
10876         { FreeClassFunction((yyvaluep->classFunction)); };
10877
10878 /* Line 1009 of yacc.c  */
10879 #line 10880 "grammar.ec"
10880         break;
10881       case 154: /* "instance_class_function_definition_error" */
10882
10883 /* Line 1009 of yacc.c  */
10884 #line 236 "grammar.y"
10885         { FreeClassFunction((yyvaluep->classFunction)); };
10886
10887 /* Line 1009 of yacc.c  */
10888 #line 10889 "grammar.ec"
10889         break;
10890       case 155: /* "data_member_initialization" */
10891
10892 /* Line 1009 of yacc.c  */
10893 #line 234 "grammar.y"
10894         { FreeMemberInit((yyvaluep->memberInit)); };
10895
10896 /* Line 1009 of yacc.c  */
10897 #line 10898 "grammar.ec"
10898         break;
10899       case 156: /* "data_member_initialization_error" */
10900
10901 /* Line 1009 of yacc.c  */
10902 #line 234 "grammar.y"
10903         { FreeMemberInit((yyvaluep->memberInit)); };
10904
10905 /* Line 1009 of yacc.c  */
10906 #line 10907 "grammar.ec"
10907         break;
10908       case 157: /* "data_member_initialization_list" */
10909
10910 /* Line 1009 of yacc.c  */
10911 #line 259 "grammar.y"
10912         { FreeList((yyvaluep->list), FreeMemberInit); };
10913
10914 /* Line 1009 of yacc.c  */
10915 #line 10916 "grammar.ec"
10916         break;
10917       case 158: /* "data_member_initialization_list_error" */
10918
10919 /* Line 1009 of yacc.c  */
10920 #line 259 "grammar.y"
10921         { FreeList((yyvaluep->list), FreeMemberInit); };
10922
10923 /* Line 1009 of yacc.c  */
10924 #line 10925 "grammar.ec"
10925         break;
10926       case 159: /* "data_member_initialization_list_coloned" */
10927
10928 /* Line 1009 of yacc.c  */
10929 #line 259 "grammar.y"
10930         { FreeList((yyvaluep->list), FreeMemberInit); };
10931
10932 /* Line 1009 of yacc.c  */
10933 #line 10934 "grammar.ec"
10934         break;
10935       case 160: /* "members_initialization_list_coloned" */
10936
10937 /* Line 1009 of yacc.c  */
10938 #line 260 "grammar.y"
10939         { FreeList((yyvaluep->list), FreeMembersInit); };
10940
10941 /* Line 1009 of yacc.c  */
10942 #line 10943 "grammar.ec"
10943         break;
10944       case 161: /* "members_initialization_list" */
10945
10946 /* Line 1009 of yacc.c  */
10947 #line 260 "grammar.y"
10948         { FreeList((yyvaluep->list), FreeMembersInit); };
10949
10950 /* Line 1009 of yacc.c  */
10951 #line 10952 "grammar.ec"
10952         break;
10953       case 162: /* "members_initialization_list_error" */
10954
10955 /* Line 1009 of yacc.c  */
10956 #line 260 "grammar.y"
10957         { FreeList((yyvaluep->list), FreeMembersInit); };
10958
10959 /* Line 1009 of yacc.c  */
10960 #line 10961 "grammar.ec"
10961         break;
10962       case 163: /* "instantiation_named" */
10963
10964 /* Line 1009 of yacc.c  */
10965 #line 232 "grammar.y"
10966         { FreeInstance((yyvaluep->instance)); };
10967
10968 /* Line 1009 of yacc.c  */
10969 #line 10970 "grammar.ec"
10970         break;
10971       case 164: /* "instantiation_named_error" */
10972
10973 /* Line 1009 of yacc.c  */
10974 #line 232 "grammar.y"
10975         { FreeInstance((yyvaluep->instance)); };
10976
10977 /* Line 1009 of yacc.c  */
10978 #line 10979 "grammar.ec"
10979         break;
10980       case 168: /* "instantiation_unnamed" */
10981
10982 /* Line 1009 of yacc.c  */
10983 #line 232 "grammar.y"
10984         { FreeInstance((yyvaluep->instance)); };
10985
10986 /* Line 1009 of yacc.c  */
10987 #line 10988 "grammar.ec"
10988         break;
10989       case 169: /* "instantiation_unnamed_error" */
10990
10991 /* Line 1009 of yacc.c  */
10992 #line 232 "grammar.y"
10993         { FreeInstance((yyvaluep->instance)); };
10994
10995 /* Line 1009 of yacc.c  */
10996 #line 10997 "grammar.ec"
10997         break;
10998       case 172: /* "default_property" */
10999
11000 /* Line 1009 of yacc.c  */
11001 #line 234 "grammar.y"
11002         { FreeMemberInit((yyvaluep->memberInit)); };
11003
11004 /* Line 1009 of yacc.c  */
11005 #line 11006 "grammar.ec"
11006         break;
11007       case 173: /* "default_property_error" */
11008
11009 /* Line 1009 of yacc.c  */
11010 #line 234 "grammar.y"
11011         { FreeMemberInit((yyvaluep->memberInit)); };
11012
11013 /* Line 1009 of yacc.c  */
11014 #line 11015 "grammar.ec"
11015         break;
11016       case 174: /* "default_property_list" */
11017
11018 /* Line 1009 of yacc.c  */
11019 #line 259 "grammar.y"
11020         { FreeList((yyvaluep->list), FreeMemberInit); };
11021
11022 /* Line 1009 of yacc.c  */
11023 #line 11024 "grammar.ec"
11024         break;
11025       case 175: /* "default_property_list_error" */
11026
11027 /* Line 1009 of yacc.c  */
11028 #line 259 "grammar.y"
11029         { FreeList((yyvaluep->list), FreeMemberInit); };
11030
11031 /* Line 1009 of yacc.c  */
11032 #line 11033 "grammar.ec"
11033         break;
11034       case 178: /* "property" */
11035
11036 /* Line 1009 of yacc.c  */
11037 #line 245 "grammar.y"
11038         { FreeProperty((yyvaluep->prop)); };
11039
11040 /* Line 1009 of yacc.c  */
11041 #line 11042 "grammar.ec"
11042         break;
11043       case 189: /* "struct_declaration" */
11044
11045 /* Line 1009 of yacc.c  */
11046 #line 243 "grammar.y"
11047         { FreeClassDef((yyvaluep->classDef)); };
11048
11049 /* Line 1009 of yacc.c  */
11050 #line 11051 "grammar.ec"
11051         break;
11052       case 190: /* "struct_declaration_error" */
11053
11054 /* Line 1009 of yacc.c  */
11055 #line 243 "grammar.y"
11056         { FreeClassDef((yyvaluep->classDef)); };
11057
11058 /* Line 1009 of yacc.c  */
11059 #line 11060 "grammar.ec"
11060         break;
11061       case 191: /* "struct_declaration_list" */
11062
11063 /* Line 1009 of yacc.c  */
11064 #line 258 "grammar.y"
11065         { FreeList((yyvaluep->list), FreeClassDef); };
11066
11067 /* Line 1009 of yacc.c  */
11068 #line 11069 "grammar.ec"
11069         break;
11070       case 192: /* "struct_declaration_list_error" */
11071
11072 /* Line 1009 of yacc.c  */
11073 #line 258 "grammar.y"
11074         { FreeList((yyvaluep->list), FreeClassDef); };
11075
11076 /* Line 1009 of yacc.c  */
11077 #line 11078 "grammar.ec"
11078         break;
11079       case 193: /* "template_datatype" */
11080
11081 /* Line 1009 of yacc.c  */
11082 #line 264 "grammar.y"
11083         { FreeTemplateDataType((yyvaluep->templateDatatype)); };
11084
11085 /* Line 1009 of yacc.c  */
11086 #line 11087 "grammar.ec"
11087         break;
11088       case 194: /* "template_type_argument" */
11089
11090 /* Line 1009 of yacc.c  */
11091 #line 263 "grammar.y"
11092         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11093
11094 /* Line 1009 of yacc.c  */
11095 #line 11096 "grammar.ec"
11096         break;
11097       case 195: /* "template_type_parameter" */
11098
11099 /* Line 1009 of yacc.c  */
11100 #line 262 "grammar.y"
11101         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11102
11103 /* Line 1009 of yacc.c  */
11104 #line 11105 "grammar.ec"
11105         break;
11106       case 196: /* "template_identifier_argument" */
11107
11108 /* Line 1009 of yacc.c  */
11109 #line 263 "grammar.y"
11110         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11111
11112 /* Line 1009 of yacc.c  */
11113 #line 11114 "grammar.ec"
11114         break;
11115       case 197: /* "template_identifier_parameter" */
11116
11117 /* Line 1009 of yacc.c  */
11118 #line 262 "grammar.y"
11119         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11120
11121 /* Line 1009 of yacc.c  */
11122 #line 11123 "grammar.ec"
11123         break;
11124       case 198: /* "template_expression_argument" */
11125
11126 /* Line 1009 of yacc.c  */
11127 #line 263 "grammar.y"
11128         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11129
11130 /* Line 1009 of yacc.c  */
11131 #line 11132 "grammar.ec"
11132         break;
11133       case 199: /* "template_expression_parameter" */
11134
11135 /* Line 1009 of yacc.c  */
11136 #line 262 "grammar.y"
11137         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11138
11139 /* Line 1009 of yacc.c  */
11140 #line 11141 "grammar.ec"
11141         break;
11142       case 200: /* "template_parameter" */
11143
11144 /* Line 1009 of yacc.c  */
11145 #line 262 "grammar.y"
11146         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11147
11148 /* Line 1009 of yacc.c  */
11149 #line 11150 "grammar.ec"
11150         break;
11151       case 201: /* "template_parameters_list" */
11152
11153 /* Line 1009 of yacc.c  */
11154 #line 265 "grammar.y"
11155         { FreeList((yyvaluep->list), FreeTemplateParameter); };
11156
11157 /* Line 1009 of yacc.c  */
11158 #line 11159 "grammar.ec"
11159         break;
11160       case 202: /* "template_argument" */
11161
11162 /* Line 1009 of yacc.c  */
11163 #line 263 "grammar.y"
11164         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11165
11166 /* Line 1009 of yacc.c  */
11167 #line 11168 "grammar.ec"
11168         break;
11169       case 203: /* "template_arguments_list" */
11170
11171 /* Line 1009 of yacc.c  */
11172 #line 266 "grammar.y"
11173         { FreeList((yyvaluep->list), FreeTemplateArgument); };
11174
11175 /* Line 1009 of yacc.c  */
11176 #line 11177 "grammar.ec"
11177         break;
11178       case 204: /* "class_entry" */
11179
11180 /* Line 1009 of yacc.c  */
11181 #line 240 "grammar.y"
11182         { Context ctx = curContext; PopContext(ctx); FreeContext(ctx); delete ctx; };
11183
11184 /* Line 1009 of yacc.c  */
11185 #line 11186 "grammar.ec"
11186         break;
11187       case 205: /* "class_decl" */
11188
11189 /* Line 1009 of yacc.c  */
11190 #line 241 "grammar.y"
11191         { Context ctx = curContext; PopContext(ctx); FreeContext(ctx); delete ctx; };
11192
11193 /* Line 1009 of yacc.c  */
11194 #line 11195 "grammar.ec"
11195         break;
11196       case 206: /* "class" */
11197
11198 /* Line 1009 of yacc.c  */
11199 #line 242 "grammar.y"
11200         { FreeClass((yyvaluep->_class)); };
11201
11202 /* Line 1009 of yacc.c  */
11203 #line 11204 "grammar.ec"
11204         break;
11205       case 207: /* "class_head" */
11206
11207 /* Line 1009 of yacc.c  */
11208 #line 242 "grammar.y"
11209         { FreeClass((yyvaluep->_class)); };
11210
11211 /* Line 1009 of yacc.c  */
11212 #line 11213 "grammar.ec"
11213         break;
11214       case 208: /* "class_error" */
11215
11216 /* Line 1009 of yacc.c  */
11217 #line 242 "grammar.y"
11218         { FreeClass((yyvaluep->_class)); };
11219
11220 /* Line 1009 of yacc.c  */
11221 #line 11222 "grammar.ec"
11222         break;
11223       case 209: /* "identifier" */
11224
11225 /* Line 1009 of yacc.c  */
11226 #line 196 "grammar.y"
11227         { FreeIdentifier((yyvaluep->id)); };
11228
11229 /* Line 1009 of yacc.c  */
11230 #line 11231 "grammar.ec"
11231         break;
11232       case 210: /* "primary_expression" */
11233
11234 /* Line 1009 of yacc.c  */
11235 #line 198 "grammar.y"
11236         { FreeExpression((yyvaluep->exp)); };
11237
11238 /* Line 1009 of yacc.c  */
11239 #line 11240 "grammar.ec"
11240         break;
11241       case 211: /* "i18n_string" */
11242
11243 /* Line 1009 of yacc.c  */
11244 #line 198 "grammar.y"
11245         { FreeExpression((yyvaluep->exp)); };
11246
11247 /* Line 1009 of yacc.c  */
11248 #line 11249 "grammar.ec"
11249         break;
11250       case 215: /* "primary_expression_error" */
11251
11252 /* Line 1009 of yacc.c  */
11253 #line 198 "grammar.y"
11254         { FreeExpression((yyvaluep->exp)); };
11255
11256 /* Line 1009 of yacc.c  */
11257 #line 11258 "grammar.ec"
11258         break;
11259       case 216: /* "postfix_expression" */
11260
11261 /* Line 1009 of yacc.c  */
11262 #line 198 "grammar.y"
11263         { FreeExpression((yyvaluep->exp)); };
11264
11265 /* Line 1009 of yacc.c  */
11266 #line 11267 "grammar.ec"
11267         break;
11268       case 218: /* "argument_expression_list" */
11269
11270 /* Line 1009 of yacc.c  */
11271 #line 247 "grammar.y"
11272         { FreeList((yyvaluep->list), FreeExpression); };
11273
11274 /* Line 1009 of yacc.c  */
11275 #line 11276 "grammar.ec"
11276         break;
11277       case 219: /* "argument_expression_list_error" */
11278
11279 /* Line 1009 of yacc.c  */
11280 #line 247 "grammar.y"
11281         { FreeList((yyvaluep->list), FreeExpression); };
11282
11283 /* Line 1009 of yacc.c  */
11284 #line 11285 "grammar.ec"
11285         break;
11286       case 221: /* "unary_expression" */
11287
11288 /* Line 1009 of yacc.c  */
11289 #line 198 "grammar.y"
11290         { FreeExpression((yyvaluep->exp)); };
11291
11292 /* Line 1009 of yacc.c  */
11293 #line 11294 "grammar.ec"
11294         break;
11295       case 224: /* "cast_expression" */
11296
11297 /* Line 1009 of yacc.c  */
11298 #line 198 "grammar.y"
11299         { FreeExpression((yyvaluep->exp)); };
11300
11301 /* Line 1009 of yacc.c  */
11302 #line 11303 "grammar.ec"
11303         break;
11304       case 225: /* "multiplicative_expression" */
11305
11306 /* Line 1009 of yacc.c  */
11307 #line 198 "grammar.y"
11308         { FreeExpression((yyvaluep->exp)); };
11309
11310 /* Line 1009 of yacc.c  */
11311 #line 11312 "grammar.ec"
11312         break;
11313       case 226: /* "additive_expression" */
11314
11315 /* Line 1009 of yacc.c  */
11316 #line 198 "grammar.y"
11317         { FreeExpression((yyvaluep->exp)); };
11318
11319 /* Line 1009 of yacc.c  */
11320 #line 11321 "grammar.ec"
11321         break;
11322       case 227: /* "shift_expression" */
11323
11324 /* Line 1009 of yacc.c  */
11325 #line 198 "grammar.y"
11326         { FreeExpression((yyvaluep->exp)); };
11327
11328 /* Line 1009 of yacc.c  */
11329 #line 11330 "grammar.ec"
11330         break;
11331       case 229: /* "relational_expression" */
11332
11333 /* Line 1009 of yacc.c  */
11334 #line 198 "grammar.y"
11335         { FreeExpression((yyvaluep->exp)); };
11336
11337 /* Line 1009 of yacc.c  */
11338 #line 11339 "grammar.ec"
11339         break;
11340       case 230: /* "equality_expression" */
11341
11342 /* Line 1009 of yacc.c  */
11343 #line 198 "grammar.y"
11344         { FreeExpression((yyvaluep->exp)); };
11345
11346 /* Line 1009 of yacc.c  */
11347 #line 11348 "grammar.ec"
11348         break;
11349       case 231: /* "and_expression" */
11350
11351 /* Line 1009 of yacc.c  */
11352 #line 198 "grammar.y"
11353         { FreeExpression((yyvaluep->exp)); };
11354
11355 /* Line 1009 of yacc.c  */
11356 #line 11357 "grammar.ec"
11357         break;
11358       case 232: /* "exclusive_or_expression" */
11359
11360 /* Line 1009 of yacc.c  */
11361 #line 198 "grammar.y"
11362         { FreeExpression((yyvaluep->exp)); };
11363
11364 /* Line 1009 of yacc.c  */
11365 #line 11366 "grammar.ec"
11366         break;
11367       case 233: /* "inclusive_or_expression" */
11368
11369 /* Line 1009 of yacc.c  */
11370 #line 198 "grammar.y"
11371         { FreeExpression((yyvaluep->exp)); };
11372
11373 /* Line 1009 of yacc.c  */
11374 #line 11375 "grammar.ec"
11375         break;
11376       case 234: /* "logical_and_expression" */
11377
11378 /* Line 1009 of yacc.c  */
11379 #line 198 "grammar.y"
11380         { FreeExpression((yyvaluep->exp)); };
11381
11382 /* Line 1009 of yacc.c  */
11383 #line 11384 "grammar.ec"
11384         break;
11385       case 235: /* "logical_or_expression" */
11386
11387 /* Line 1009 of yacc.c  */
11388 #line 198 "grammar.y"
11389         { FreeExpression((yyvaluep->exp)); };
11390
11391 /* Line 1009 of yacc.c  */
11392 #line 11393 "grammar.ec"
11393         break;
11394       case 236: /* "conditional_expression" */
11395
11396 /* Line 1009 of yacc.c  */
11397 #line 198 "grammar.y"
11398         { FreeExpression((yyvaluep->exp)); };
11399
11400 /* Line 1009 of yacc.c  */
11401 #line 11402 "grammar.ec"
11402         break;
11403       case 237: /* "assignment_expression" */
11404
11405 /* Line 1009 of yacc.c  */
11406 #line 198 "grammar.y"
11407         { FreeExpression((yyvaluep->exp)); };
11408
11409 /* Line 1009 of yacc.c  */
11410 #line 11411 "grammar.ec"
11411         break;
11412       case 239: /* "expression" */
11413
11414 /* Line 1009 of yacc.c  */
11415 #line 247 "grammar.y"
11416         { FreeList((yyvaluep->list), FreeExpression); };
11417
11418 /* Line 1009 of yacc.c  */
11419 #line 11420 "grammar.ec"
11420         break;
11421       case 241: /* "postfix_expression_error" */
11422
11423 /* Line 1009 of yacc.c  */
11424 #line 198 "grammar.y"
11425         { FreeExpression((yyvaluep->exp)); };
11426
11427 /* Line 1009 of yacc.c  */
11428 #line 11429 "grammar.ec"
11429         break;
11430       case 244: /* "unary_expression_error" */
11431
11432 /* Line 1009 of yacc.c  */
11433 #line 198 "grammar.y"
11434         { FreeExpression((yyvaluep->exp)); };
11435
11436 /* Line 1009 of yacc.c  */
11437 #line 11438 "grammar.ec"
11438         break;
11439       case 246: /* "cast_expression_error" */
11440
11441 /* Line 1009 of yacc.c  */
11442 #line 198 "grammar.y"
11443         { FreeExpression((yyvaluep->exp)); };
11444
11445 /* Line 1009 of yacc.c  */
11446 #line 11447 "grammar.ec"
11447         break;
11448       case 247: /* "multiplicative_expression_error" */
11449
11450 /* Line 1009 of yacc.c  */
11451 #line 198 "grammar.y"
11452         { FreeExpression((yyvaluep->exp)); };
11453
11454 /* Line 1009 of yacc.c  */
11455 #line 11456 "grammar.ec"
11456         break;
11457       case 248: /* "additive_expression_error" */
11458
11459 /* Line 1009 of yacc.c  */
11460 #line 198 "grammar.y"
11461         { FreeExpression((yyvaluep->exp)); };
11462
11463 /* Line 1009 of yacc.c  */
11464 #line 11465 "grammar.ec"
11465         break;
11466       case 249: /* "shift_expression_error" */
11467
11468 /* Line 1009 of yacc.c  */
11469 #line 198 "grammar.y"
11470         { FreeExpression((yyvaluep->exp)); };
11471
11472 /* Line 1009 of yacc.c  */
11473 #line 11474 "grammar.ec"
11474         break;
11475       case 250: /* "relational_expression_error" */
11476
11477 /* Line 1009 of yacc.c  */
11478 #line 198 "grammar.y"
11479         { FreeExpression((yyvaluep->exp)); };
11480
11481 /* Line 1009 of yacc.c  */
11482 #line 11483 "grammar.ec"
11483         break;
11484       case 251: /* "equality_expression_error" */
11485
11486 /* Line 1009 of yacc.c  */
11487 #line 198 "grammar.y"
11488         { FreeExpression((yyvaluep->exp)); };
11489
11490 /* Line 1009 of yacc.c  */
11491 #line 11492 "grammar.ec"
11492         break;
11493       case 252: /* "and_expression_error" */
11494
11495 /* Line 1009 of yacc.c  */
11496 #line 198 "grammar.y"
11497         { FreeExpression((yyvaluep->exp)); };
11498
11499 /* Line 1009 of yacc.c  */
11500 #line 11501 "grammar.ec"
11501         break;
11502       case 253: /* "exclusive_or_expression_error" */
11503
11504 /* Line 1009 of yacc.c  */
11505 #line 198 "grammar.y"
11506         { FreeExpression((yyvaluep->exp)); };
11507
11508 /* Line 1009 of yacc.c  */
11509 #line 11510 "grammar.ec"
11510         break;
11511       case 254: /* "inclusive_or_expression_error" */
11512
11513 /* Line 1009 of yacc.c  */
11514 #line 198 "grammar.y"
11515         { FreeExpression((yyvaluep->exp)); };
11516
11517 /* Line 1009 of yacc.c  */
11518 #line 11519 "grammar.ec"
11519         break;
11520       case 255: /* "logical_and_expression_error" */
11521
11522 /* Line 1009 of yacc.c  */
11523 #line 198 "grammar.y"
11524         { FreeExpression((yyvaluep->exp)); };
11525
11526 /* Line 1009 of yacc.c  */
11527 #line 11528 "grammar.ec"
11528         break;
11529       case 256: /* "logical_or_expression_error" */
11530
11531 /* Line 1009 of yacc.c  */
11532 #line 198 "grammar.y"
11533         { FreeExpression((yyvaluep->exp)); };
11534
11535 /* Line 1009 of yacc.c  */
11536 #line 11537 "grammar.ec"
11537         break;
11538       case 257: /* "conditional_expression_error" */
11539
11540 /* Line 1009 of yacc.c  */
11541 #line 198 "grammar.y"
11542         { FreeExpression((yyvaluep->exp)); };
11543
11544 /* Line 1009 of yacc.c  */
11545 #line 11546 "grammar.ec"
11546         break;
11547       case 258: /* "assignment_expression_error" */
11548
11549 /* Line 1009 of yacc.c  */
11550 #line 198 "grammar.y"
11551         { FreeExpression((yyvaluep->exp)); };
11552
11553 /* Line 1009 of yacc.c  */
11554 #line 11555 "grammar.ec"
11555         break;
11556       case 259: /* "expression_error" */
11557
11558 /* Line 1009 of yacc.c  */
11559 #line 247 "grammar.y"
11560         { FreeList((yyvaluep->list), FreeExpression); };
11561
11562 /* Line 1009 of yacc.c  */
11563 #line 11564 "grammar.ec"
11564         break;
11565       case 261: /* "constant_expression" */
11566
11567 /* Line 1009 of yacc.c  */
11568 #line 198 "grammar.y"
11569         { FreeExpression((yyvaluep->exp)); };
11570
11571 /* Line 1009 of yacc.c  */
11572 #line 11573 "grammar.ec"
11573         break;
11574       case 262: /* "constant_expression_error" */
11575
11576 /* Line 1009 of yacc.c  */
11577 #line 198 "grammar.y"
11578         { FreeExpression((yyvaluep->exp)); };
11579
11580 /* Line 1009 of yacc.c  */
11581 #line 11582 "grammar.ec"
11582         break;
11583       case 263: /* "storage_class_specifier" */
11584
11585 /* Line 1009 of yacc.c  */
11586 #line 209 "grammar.y"
11587         { FreeSpecifier((yyvaluep->specifier)); };
11588
11589 /* Line 1009 of yacc.c  */
11590 #line 11591 "grammar.ec"
11591         break;
11592       case 264: /* "external_storage_class_specifier" */
11593
11594 /* Line 1009 of yacc.c  */
11595 #line 209 "grammar.y"
11596         { FreeSpecifier((yyvaluep->specifier)); };
11597
11598 /* Line 1009 of yacc.c  */
11599 #line 11600 "grammar.ec"
11600         break;
11601       case 265: /* "enumerator" */
11602
11603 /* Line 1009 of yacc.c  */
11604 #line 214 "grammar.y"
11605         { FreeEnumerator((yyvaluep->enumerator)); };
11606
11607 /* Line 1009 of yacc.c  */
11608 #line 11609 "grammar.ec"
11609         break;
11610       case 266: /* "enumerator_list" */
11611
11612 /* Line 1009 of yacc.c  */
11613 #line 248 "grammar.y"
11614         { FreeList((yyvaluep->list), FreeEnumerator); };
11615
11616 /* Line 1009 of yacc.c  */
11617 #line 11618 "grammar.ec"
11618         break;
11619       case 268: /* "enum_specifier_nocompound" */
11620
11621 /* Line 1009 of yacc.c  */
11622 #line 209 "grammar.y"
11623         { FreeSpecifier((yyvaluep->specifier)); };
11624
11625 /* Line 1009 of yacc.c  */
11626 #line 11627 "grammar.ec"
11627         break;
11628       case 269: /* "enum_specifier_compound" */
11629
11630 /* Line 1009 of yacc.c  */
11631 #line 209 "grammar.y"
11632         { FreeSpecifier((yyvaluep->specifier)); };
11633
11634 /* Line 1009 of yacc.c  */
11635 #line 11636 "grammar.ec"
11636         break;
11637       case 270: /* "enum_specifier_compound_error" */
11638
11639 /* Line 1009 of yacc.c  */
11640 #line 209 "grammar.y"
11641         { FreeSpecifier((yyvaluep->specifier)); };
11642
11643 /* Line 1009 of yacc.c  */
11644 #line 11645 "grammar.ec"
11645         break;
11646       case 272: /* "enum_class" */
11647
11648 /* Line 1009 of yacc.c  */
11649 #line 209 "grammar.y"
11650         { FreeSpecifier((yyvaluep->specifier)); };
11651
11652 /* Line 1009 of yacc.c  */
11653 #line 11654 "grammar.ec"
11654         break;
11655       case 273: /* "enum_class_error" */
11656
11657 /* Line 1009 of yacc.c  */
11658 #line 209 "grammar.y"
11659         { FreeSpecifier((yyvaluep->specifier)); };
11660
11661 /* Line 1009 of yacc.c  */
11662 #line 11663 "grammar.ec"
11663         break;
11664       case 274: /* "class_specifier" */
11665
11666 /* Line 1009 of yacc.c  */
11667 #line 209 "grammar.y"
11668         { FreeSpecifier((yyvaluep->specifier)); };
11669
11670 /* Line 1009 of yacc.c  */
11671 #line 11672 "grammar.ec"
11672         break;
11673       case 275: /* "class_specifier_error" */
11674
11675 /* Line 1009 of yacc.c  */
11676 #line 209 "grammar.y"
11677         { FreeSpecifier((yyvaluep->specifier)); };
11678
11679 /* Line 1009 of yacc.c  */
11680 #line 11681 "grammar.ec"
11681         break;
11682       case 276: /* "ext_storage" */
11683
11684 /* Line 1009 of yacc.c  */
11685 #line 209 "grammar.y"
11686         { FreeSpecifier((yyvaluep->specifier)); };
11687
11688 /* Line 1009 of yacc.c  */
11689 #line 11690 "grammar.ec"
11690         break;
11691       case 277: /* "type_qualifier" */
11692
11693 /* Line 1009 of yacc.c  */
11694 #line 209 "grammar.y"
11695         { FreeSpecifier((yyvaluep->specifier)); };
11696
11697 /* Line 1009 of yacc.c  */
11698 #line 11699 "grammar.ec"
11699         break;
11700       case 278: /* "type_qualifier_list" */
11701
11702 /* Line 1009 of yacc.c  */
11703 #line 249 "grammar.y"
11704         { FreeList((yyvaluep->list), FreeSpecifier); };
11705
11706 /* Line 1009 of yacc.c  */
11707 #line 11708 "grammar.ec"
11708         break;
11709       case 279: /* "type_specifier" */
11710
11711 /* Line 1009 of yacc.c  */
11712 #line 209 "grammar.y"
11713         { FreeSpecifier((yyvaluep->specifier)); };
11714
11715 /* Line 1009 of yacc.c  */
11716 #line 11717 "grammar.ec"
11717         break;
11718       case 280: /* "strict_type_specifier" */
11719
11720 /* Line 1009 of yacc.c  */
11721 #line 209 "grammar.y"
11722         { FreeSpecifier((yyvaluep->specifier)); };
11723
11724 /* Line 1009 of yacc.c  */
11725 #line 11726 "grammar.ec"
11726         break;
11727       case 281: /* "struct_declarator" */
11728
11729 /* Line 1009 of yacc.c  */
11730 #line 215 "grammar.y"
11731         { FreeDeclarator((yyvaluep->declarator)); };
11732
11733 /* Line 1009 of yacc.c  */
11734 #line 11735 "grammar.ec"
11735         break;
11736       case 282: /* "struct_declarator_list" */
11737
11738 /* Line 1009 of yacc.c  */
11739 #line 251 "grammar.y"
11740         { FreeList((yyvaluep->list), FreeDeclarator); };
11741
11742 /* Line 1009 of yacc.c  */
11743 #line 11744 "grammar.ec"
11744         break;
11745       case 283: /* "struct_entry" */
11746
11747 /* Line 1009 of yacc.c  */
11748 #line 209 "grammar.y"
11749         { FreeSpecifier((yyvaluep->specifier)); };
11750
11751 /* Line 1009 of yacc.c  */
11752 #line 11753 "grammar.ec"
11753         break;
11754       case 284: /* "struct_or_union_specifier_compound" */
11755
11756 /* Line 1009 of yacc.c  */
11757 #line 209 "grammar.y"
11758         { FreeSpecifier((yyvaluep->specifier)); };
11759
11760 /* Line 1009 of yacc.c  */
11761 #line 11762 "grammar.ec"
11762         break;
11763       case 285: /* "struct_or_union_specifier_compound_error" */
11764
11765 /* Line 1009 of yacc.c  */
11766 #line 209 "grammar.y"
11767         { FreeSpecifier((yyvaluep->specifier)); };
11768
11769 /* Line 1009 of yacc.c  */
11770 #line 11771 "grammar.ec"
11771         break;
11772       case 286: /* "struct_or_union_specifier_nocompound" */
11773
11774 /* Line 1009 of yacc.c  */
11775 #line 209 "grammar.y"
11776         { FreeSpecifier((yyvaluep->specifier)); };
11777
11778 /* Line 1009 of yacc.c  */
11779 #line 11780 "grammar.ec"
11780         break;
11781       case 287: /* "struct_decl" */
11782
11783 /* Line 1009 of yacc.c  */
11784 #line 209 "grammar.y"
11785         { FreeSpecifier((yyvaluep->specifier)); };
11786
11787 /* Line 1009 of yacc.c  */
11788 #line 11789 "grammar.ec"
11789         break;
11790       case 288: /* "struct_head" */
11791
11792 /* Line 1009 of yacc.c  */
11793 #line 209 "grammar.y"
11794         { FreeSpecifier((yyvaluep->specifier)); };
11795
11796 /* Line 1009 of yacc.c  */
11797 #line 11798 "grammar.ec"
11798         break;
11799       case 289: /* "struct_class" */
11800
11801 /* Line 1009 of yacc.c  */
11802 #line 209 "grammar.y"
11803         { FreeSpecifier((yyvaluep->specifier)); };
11804
11805 /* Line 1009 of yacc.c  */
11806 #line 11807 "grammar.ec"
11807         break;
11808       case 290: /* "struct_class_error" */
11809
11810 /* Line 1009 of yacc.c  */
11811 #line 209 "grammar.y"
11812         { FreeSpecifier((yyvaluep->specifier)); };
11813
11814 /* Line 1009 of yacc.c  */
11815 #line 11816 "grammar.ec"
11816         break;
11817       case 292: /* "specifier_qualifier_list" */
11818
11819 /* Line 1009 of yacc.c  */
11820 #line 249 "grammar.y"
11821         { FreeList((yyvaluep->list), FreeSpecifier); };
11822
11823 /* Line 1009 of yacc.c  */
11824 #line 11825 "grammar.ec"
11825         break;
11826       case 293: /* "guess_specifier_qualifier_list" */
11827
11828 /* Line 1009 of yacc.c  */
11829 #line 249 "grammar.y"
11830         { FreeList((yyvaluep->list), FreeSpecifier); };
11831
11832 /* Line 1009 of yacc.c  */
11833 #line 11834 "grammar.ec"
11834         break;
11835       case 294: /* "declaration_specifiers" */
11836
11837 /* Line 1009 of yacc.c  */
11838 #line 249 "grammar.y"
11839         { FreeList((yyvaluep->list), FreeSpecifier); };
11840
11841 /* Line 1009 of yacc.c  */
11842 #line 11843 "grammar.ec"
11843         break;
11844       case 295: /* "guess_declaration_specifiers" */
11845
11846 /* Line 1009 of yacc.c  */
11847 #line 249 "grammar.y"
11848         { FreeList((yyvaluep->list), FreeSpecifier); };
11849
11850 /* Line 1009 of yacc.c  */
11851 #line 11852 "grammar.ec"
11852         break;
11853       case 296: /* "external_guess_declaration_specifiers" */
11854
11855 /* Line 1009 of yacc.c  */
11856 #line 249 "grammar.y"
11857         { FreeList((yyvaluep->list), FreeSpecifier); };
11858
11859 /* Line 1009 of yacc.c  */
11860 #line 11861 "grammar.ec"
11861         break;
11862       case 297: /* "external_guess_declaration_specifiers_error" */
11863
11864 /* Line 1009 of yacc.c  */
11865 #line 249 "grammar.y"
11866         { FreeList((yyvaluep->list), FreeSpecifier); };
11867
11868 /* Line 1009 of yacc.c  */
11869 #line 11870 "grammar.ec"
11870         break;
11871       case 298: /* "_inheritance_specifiers" */
11872
11873 /* Line 1009 of yacc.c  */
11874 #line 249 "grammar.y"
11875         { FreeList((yyvaluep->list), FreeSpecifier); };
11876
11877 /* Line 1009 of yacc.c  */
11878 #line 11879 "grammar.ec"
11879         break;
11880       case 299: /* "inheritance_specifiers" */
11881
11882 /* Line 1009 of yacc.c  */
11883 #line 249 "grammar.y"
11884         { FreeList((yyvaluep->list), FreeSpecifier); };
11885
11886 /* Line 1009 of yacc.c  */
11887 #line 11888 "grammar.ec"
11888         break;
11889       case 303: /* "identifier_list_error" */
11890
11891 /* Line 1009 of yacc.c  */
11892 #line 255 "grammar.y"
11893         { FreeList((yyvaluep->list), FreeTypeName); };
11894
11895 /* Line 1009 of yacc.c  */
11896 #line 11897 "grammar.ec"
11897         break;
11898       case 304: /* "identifier_list" */
11899
11900 /* Line 1009 of yacc.c  */
11901 #line 255 "grammar.y"
11902         { FreeList((yyvaluep->list), FreeTypeName); };
11903
11904 /* Line 1009 of yacc.c  */
11905 #line 11906 "grammar.ec"
11906         break;
11907       case 305: /* "direct_declarator_nofunction_type_ok" */
11908
11909 /* Line 1009 of yacc.c  */
11910 #line 215 "grammar.y"
11911         { FreeDeclarator((yyvaluep->declarator)); };
11912
11913 /* Line 1009 of yacc.c  */
11914 #line 11915 "grammar.ec"
11915         break;
11916       case 306: /* "direct_declarator_nofunction" */
11917
11918 /* Line 1009 of yacc.c  */
11919 #line 215 "grammar.y"
11920         { FreeDeclarator((yyvaluep->declarator)); };
11921
11922 /* Line 1009 of yacc.c  */
11923 #line 11924 "grammar.ec"
11924         break;
11925       case 307: /* "direct_declarator_function_start" */
11926
11927 /* Line 1009 of yacc.c  */
11928 #line 215 "grammar.y"
11929         { FreeDeclarator((yyvaluep->declarator)); };
11930
11931 /* Line 1009 of yacc.c  */
11932 #line 11933 "grammar.ec"
11933         break;
11934       case 308: /* "direct_declarator_function" */
11935
11936 /* Line 1009 of yacc.c  */
11937 #line 215 "grammar.y"
11938         { FreeDeclarator((yyvaluep->declarator)); };
11939
11940 /* Line 1009 of yacc.c  */
11941 #line 11942 "grammar.ec"
11942         break;
11943       case 309: /* "direct_declarator_function_error" */
11944
11945 /* Line 1009 of yacc.c  */
11946 #line 215 "grammar.y"
11947         { FreeDeclarator((yyvaluep->declarator)); };
11948
11949 /* Line 1009 of yacc.c  */
11950 #line 11951 "grammar.ec"
11951         break;
11952       case 310: /* "direct_declarator" */
11953
11954 /* Line 1009 of yacc.c  */
11955 #line 215 "grammar.y"
11956         { FreeDeclarator((yyvaluep->declarator)); };
11957
11958 /* Line 1009 of yacc.c  */
11959 #line 11960 "grammar.ec"
11960         break;
11961       case 311: /* "direct_declarator_function_start_type_ok" */
11962
11963 /* Line 1009 of yacc.c  */
11964 #line 215 "grammar.y"
11965         { FreeDeclarator((yyvaluep->declarator)); };
11966
11967 /* Line 1009 of yacc.c  */
11968 #line 11969 "grammar.ec"
11969         break;
11970       case 312: /* "direct_declarator_function_type_ok" */
11971
11972 /* Line 1009 of yacc.c  */
11973 #line 215 "grammar.y"
11974         { FreeDeclarator((yyvaluep->declarator)); };
11975
11976 /* Line 1009 of yacc.c  */
11977 #line 11978 "grammar.ec"
11978         break;
11979       case 313: /* "direct_declarator_function_error_type_ok" */
11980
11981 /* Line 1009 of yacc.c  */
11982 #line 215 "grammar.y"
11983         { FreeDeclarator((yyvaluep->declarator)); };
11984
11985 /* Line 1009 of yacc.c  */
11986 #line 11987 "grammar.ec"
11987         break;
11988       case 314: /* "direct_declarator_type_ok" */
11989
11990 /* Line 1009 of yacc.c  */
11991 #line 215 "grammar.y"
11992         { FreeDeclarator((yyvaluep->declarator)); };
11993
11994 /* Line 1009 of yacc.c  */
11995 #line 11996 "grammar.ec"
11996         break;
11997       case 315: /* "ext_decl" */
11998
11999 /* Line 1009 of yacc.c  */
12000 #line 269 "grammar.y"
12001         { FreeExtDecl((yyvaluep->extDecl)); };
12002
12003 /* Line 1009 of yacc.c  */
12004 #line 12005 "grammar.ec"
12005         break;
12006       case 317: /* "attribute_word" */
12007
12008 /* Line 1009 of yacc.c  */
12009 #line 244 "grammar.y"
12010         { delete (yyvaluep->string); };
12011
12012 /* Line 1009 of yacc.c  */
12013 #line 12014 "grammar.ec"
12014         break;
12015       case 318: /* "attribute" */
12016
12017 /* Line 1009 of yacc.c  */
12018 #line 270 "grammar.y"
12019         { FreeAttribute((yyvaluep->attribute)); };
12020
12021 /* Line 1009 of yacc.c  */
12022 #line 12023 "grammar.ec"
12023         break;
12024       case 319: /* "attribs_list" */
12025
12026 /* Line 1009 of yacc.c  */
12027 #line 271 "grammar.y"
12028         { FreeList((yyvaluep->list), FreeAttribute); };
12029
12030 /* Line 1009 of yacc.c  */
12031 #line 12032 "grammar.ec"
12032         break;
12033       case 320: /* "attrib" */
12034
12035 /* Line 1009 of yacc.c  */
12036 #line 268 "grammar.y"
12037         { FreeAttrib((yyvaluep->attrib)); };
12038
12039 /* Line 1009 of yacc.c  */
12040 #line 12041 "grammar.ec"
12041         break;
12042       case 321: /* "direct_abstract_declarator" */
12043
12044 /* Line 1009 of yacc.c  */
12045 #line 215 "grammar.y"
12046         { FreeDeclarator((yyvaluep->declarator)); };
12047
12048 /* Line 1009 of yacc.c  */
12049 #line 12050 "grammar.ec"
12050         break;
12051       case 322: /* "direct_abstract_declarator_noarray" */
12052
12053 /* Line 1009 of yacc.c  */
12054 #line 215 "grammar.y"
12055         { FreeDeclarator((yyvaluep->declarator)); };
12056
12057 /* Line 1009 of yacc.c  */
12058 #line 12059 "grammar.ec"
12059         break;
12060       case 323: /* "pointer" */
12061
12062 /* Line 1009 of yacc.c  */
12063 #line 197 "grammar.y"
12064         { FreePointer((yyvaluep->pointer)); };
12065
12066 /* Line 1009 of yacc.c  */
12067 #line 12068 "grammar.ec"
12068         break;
12069       case 324: /* "abstract_declarator" */
12070
12071 /* Line 1009 of yacc.c  */
12072 #line 215 "grammar.y"
12073         { FreeDeclarator((yyvaluep->declarator)); };
12074
12075 /* Line 1009 of yacc.c  */
12076 #line 12077 "grammar.ec"
12077         break;
12078       case 325: /* "abstract_declarator_noarray" */
12079
12080 /* Line 1009 of yacc.c  */
12081 #line 215 "grammar.y"
12082         { FreeDeclarator((yyvaluep->declarator)); };
12083
12084 /* Line 1009 of yacc.c  */
12085 #line 12086 "grammar.ec"
12086         break;
12087       case 326: /* "declarator" */
12088
12089 /* Line 1009 of yacc.c  */
12090 #line 215 "grammar.y"
12091         { FreeDeclarator((yyvaluep->declarator)); };
12092
12093 /* Line 1009 of yacc.c  */
12094 #line 12095 "grammar.ec"
12095         break;
12096       case 327: /* "declarator_type_ok" */
12097
12098 /* Line 1009 of yacc.c  */
12099 #line 215 "grammar.y"
12100         { FreeDeclarator((yyvaluep->declarator)); };
12101
12102 /* Line 1009 of yacc.c  */
12103 #line 12104 "grammar.ec"
12104         break;
12105       case 328: /* "declarator_function" */
12106
12107 /* Line 1009 of yacc.c  */
12108 #line 215 "grammar.y"
12109         { FreeDeclarator((yyvaluep->declarator)); };
12110
12111 /* Line 1009 of yacc.c  */
12112 #line 12113 "grammar.ec"
12113         break;
12114       case 329: /* "declarator_function_error" */
12115
12116 /* Line 1009 of yacc.c  */
12117 #line 215 "grammar.y"
12118         { FreeDeclarator((yyvaluep->declarator)); };
12119
12120 /* Line 1009 of yacc.c  */
12121 #line 12122 "grammar.ec"
12122         break;
12123       case 330: /* "declarator_function_type_ok" */
12124
12125 /* Line 1009 of yacc.c  */
12126 #line 215 "grammar.y"
12127         { FreeDeclarator((yyvaluep->declarator)); };
12128
12129 /* Line 1009 of yacc.c  */
12130 #line 12131 "grammar.ec"
12131         break;
12132       case 331: /* "declarator_function_error_type_ok" */
12133
12134 /* Line 1009 of yacc.c  */
12135 #line 215 "grammar.y"
12136         { FreeDeclarator((yyvaluep->declarator)); };
12137
12138 /* Line 1009 of yacc.c  */
12139 #line 12140 "grammar.ec"
12140         break;
12141       case 332: /* "declarator_nofunction_type_ok" */
12142
12143 /* Line 1009 of yacc.c  */
12144 #line 215 "grammar.y"
12145         { FreeDeclarator((yyvaluep->declarator)); };
12146
12147 /* Line 1009 of yacc.c  */
12148 #line 12149 "grammar.ec"
12149         break;
12150       case 333: /* "initializer" */
12151
12152 /* Line 1009 of yacc.c  */
12153 #line 221 "grammar.y"
12154         { FreeInitializer((yyvaluep->initializer)); };
12155
12156 /* Line 1009 of yacc.c  */
12157 #line 12158 "grammar.ec"
12158         break;
12159       case 334: /* "initializer_error" */
12160
12161 /* Line 1009 of yacc.c  */
12162 #line 221 "grammar.y"
12163         { FreeInitializer((yyvaluep->initializer)); };
12164
12165 /* Line 1009 of yacc.c  */
12166 #line 12167 "grammar.ec"
12167         break;
12168       case 335: /* "initializer_condition" */
12169
12170 /* Line 1009 of yacc.c  */
12171 #line 221 "grammar.y"
12172         { FreeInitializer((yyvaluep->initializer)); };
12173
12174 /* Line 1009 of yacc.c  */
12175 #line 12176 "grammar.ec"
12176         break;
12177       case 336: /* "initializer_condition_error" */
12178
12179 /* Line 1009 of yacc.c  */
12180 #line 221 "grammar.y"
12181         { FreeInitializer((yyvaluep->initializer)); };
12182
12183 /* Line 1009 of yacc.c  */
12184 #line 12185 "grammar.ec"
12185         break;
12186       case 337: /* "initializer_list" */
12187
12188 /* Line 1009 of yacc.c  */
12189 #line 253 "grammar.y"
12190         { FreeList((yyvaluep->list), FreeInitializer); };
12191
12192 /* Line 1009 of yacc.c  */
12193 #line 12194 "grammar.ec"
12194         break;
12195       case 338: /* "init_declarator" */
12196
12197 /* Line 1009 of yacc.c  */
12198 #line 222 "grammar.y"
12199         { FreeInitDeclarator((yyvaluep->initDeclarator)); };
12200
12201 /* Line 1009 of yacc.c  */
12202 #line 12203 "grammar.ec"
12203         break;
12204       case 339: /* "init_declarator_error" */
12205
12206 /* Line 1009 of yacc.c  */
12207 #line 222 "grammar.y"
12208         { FreeInitDeclarator((yyvaluep->initDeclarator)); };
12209
12210 /* Line 1009 of yacc.c  */
12211 #line 12212 "grammar.ec"
12212         break;
12213       case 340: /* "init_declarator_list" */
12214
12215 /* Line 1009 of yacc.c  */
12216 #line 254 "grammar.y"
12217         { FreeList((yyvaluep->list), FreeInitDeclarator); };
12218
12219 /* Line 1009 of yacc.c  */
12220 #line 12221 "grammar.ec"
12221         break;
12222       case 341: /* "init_declarator_list_error" */
12223
12224 /* Line 1009 of yacc.c  */
12225 #line 254 "grammar.y"
12226         { FreeList((yyvaluep->list), FreeInitDeclarator); };
12227
12228 /* Line 1009 of yacc.c  */
12229 #line 12230 "grammar.ec"
12230         break;
12231       case 342: /* "type_name" */
12232
12233 /* Line 1009 of yacc.c  */
12234 #line 223 "grammar.y"
12235         { FreeTypeName((yyvaluep->typeName)); };
12236
12237 /* Line 1009 of yacc.c  */
12238 #line 12239 "grammar.ec"
12239         break;
12240       case 343: /* "guess_type_name" */
12241
12242 /* Line 1009 of yacc.c  */
12243 #line 223 "grammar.y"
12244         { FreeTypeName((yyvaluep->typeName)); };
12245
12246 /* Line 1009 of yacc.c  */
12247 #line 12248 "grammar.ec"
12248         break;
12249       case 344: /* "parameter_declaration" */
12250
12251 /* Line 1009 of yacc.c  */
12252 #line 223 "grammar.y"
12253         { FreeTypeName((yyvaluep->typeName)); };
12254
12255 /* Line 1009 of yacc.c  */
12256 #line 12257 "grammar.ec"
12257         break;
12258       case 345: /* "parameter_declaration_error" */
12259
12260 /* Line 1009 of yacc.c  */
12261 #line 223 "grammar.y"
12262         { FreeTypeName((yyvaluep->typeName)); };
12263
12264 /* Line 1009 of yacc.c  */
12265 #line 12266 "grammar.ec"
12266         break;
12267       case 346: /* "parameter_list" */
12268
12269 /* Line 1009 of yacc.c  */
12270 #line 255 "grammar.y"
12271         { FreeList((yyvaluep->list), FreeTypeName); };
12272
12273 /* Line 1009 of yacc.c  */
12274 #line 12275 "grammar.ec"
12275         break;
12276       case 347: /* "parameter_list_error" */
12277
12278 /* Line 1009 of yacc.c  */
12279 #line 255 "grammar.y"
12280         { FreeList((yyvaluep->list), FreeTypeName); };
12281
12282 /* Line 1009 of yacc.c  */
12283 #line 12284 "grammar.ec"
12284         break;
12285       case 348: /* "parameter_type_list" */
12286
12287 /* Line 1009 of yacc.c  */
12288 #line 255 "grammar.y"
12289         { FreeList((yyvaluep->list), FreeTypeName); };
12290
12291 /* Line 1009 of yacc.c  */
12292 #line 12293 "grammar.ec"
12293         break;
12294       case 349: /* "parameter_type_list_error" */
12295
12296 /* Line 1009 of yacc.c  */
12297 #line 255 "grammar.y"
12298         { FreeList((yyvaluep->list), FreeTypeName); };
12299
12300 /* Line 1009 of yacc.c  */
12301 #line 12302 "grammar.ec"
12302         break;
12303       case 350: /* "statement" */
12304
12305 /* Line 1009 of yacc.c  */
12306 #line 224 "grammar.y"
12307         { FreeStatement((yyvaluep->stmt)); };
12308
12309 /* Line 1009 of yacc.c  */
12310 #line 12311 "grammar.ec"
12311         break;
12312       case 351: /* "statement_error" */
12313
12314 /* Line 1009 of yacc.c  */
12315 #line 224 "grammar.y"
12316         { FreeStatement((yyvaluep->stmt)); };
12317
12318 /* Line 1009 of yacc.c  */
12319 #line 12320 "grammar.ec"
12320         break;
12321       case 355: /* "labeled_statement" */
12322
12323 /* Line 1009 of yacc.c  */
12324 #line 224 "grammar.y"
12325         { FreeStatement((yyvaluep->stmt)); };
12326
12327 /* Line 1009 of yacc.c  */
12328 #line 12329 "grammar.ec"
12329         break;
12330       case 356: /* "labeled_statement_error" */
12331
12332 /* Line 1009 of yacc.c  */
12333 #line 224 "grammar.y"
12334         { FreeStatement((yyvaluep->stmt)); };
12335
12336 /* Line 1009 of yacc.c  */
12337 #line 12338 "grammar.ec"
12338         break;
12339       case 357: /* "declaration_mode" */
12340
12341 /* Line 1009 of yacc.c  */
12342 #line 267 "grammar.y"
12343         { };
12344
12345 /* Line 1009 of yacc.c  */
12346 #line 12347 "grammar.ec"
12347         break;
12348       case 359: /* "declaration" */
12349
12350 /* Line 1009 of yacc.c  */
12351 #line 228 "grammar.y"
12352         { FreeDeclaration((yyvaluep->declaration)); };
12353
12354 /* Line 1009 of yacc.c  */
12355 #line 12356 "grammar.ec"
12356         break;
12357       case 363: /* "declaration_list" */
12358
12359 /* Line 1009 of yacc.c  */
12360 #line 252 "grammar.y"
12361         { FreeList((yyvaluep->list), FreeDeclaration); };
12362
12363 /* Line 1009 of yacc.c  */
12364 #line 12365 "grammar.ec"
12365         break;
12366       case 364: /* "declaration_list_error" */
12367
12368 /* Line 1009 of yacc.c  */
12369 #line 252 "grammar.y"
12370         { FreeList((yyvaluep->list), FreeDeclaration); };
12371
12372 /* Line 1009 of yacc.c  */
12373 #line 12374 "grammar.ec"
12374         break;
12375       case 365: /* "statement_list" */
12376
12377 /* Line 1009 of yacc.c  */
12378 #line 256 "grammar.y"
12379         { FreeList((yyvaluep->list), FreeStatement); };
12380
12381 /* Line 1009 of yacc.c  */
12382 #line 12383 "grammar.ec"
12383         break;
12384       case 366: /* "statement_list_error" */
12385
12386 /* Line 1009 of yacc.c  */
12387 #line 256 "grammar.y"
12388         { FreeList((yyvaluep->list), FreeStatement); };
12389
12390 /* Line 1009 of yacc.c  */
12391 #line 12392 "grammar.ec"
12392         break;
12393       case 367: /* "compound_inside" */
12394
12395 /* Line 1009 of yacc.c  */
12396 #line 224 "grammar.y"
12397         { FreeStatement((yyvaluep->stmt)); };
12398
12399 /* Line 1009 of yacc.c  */
12400 #line 12401 "grammar.ec"
12401         break;
12402       case 368: /* "compound_inside_error" */
12403
12404 /* Line 1009 of yacc.c  */
12405 #line 224 "grammar.y"
12406         { FreeStatement((yyvaluep->stmt)); };
12407
12408 /* Line 1009 of yacc.c  */
12409 #line 12410 "grammar.ec"
12410         break;
12411       case 369: /* "compound_start" */
12412
12413 /* Line 1009 of yacc.c  */
12414 #line 261 "grammar.y"
12415         { PopContext((yyvaluep->context)); FreeContext((yyvaluep->context)); delete (yyvaluep->context); };
12416
12417 /* Line 1009 of yacc.c  */
12418 #line 12419 "grammar.ec"
12419         break;
12420       case 370: /* "compound_statement" */
12421
12422 /* Line 1009 of yacc.c  */
12423 #line 224 "grammar.y"
12424         { FreeStatement((yyvaluep->stmt)); };
12425
12426 /* Line 1009 of yacc.c  */
12427 #line 12428 "grammar.ec"
12428         break;
12429       case 371: /* "compound_statement_error" */
12430
12431 /* Line 1009 of yacc.c  */
12432 #line 224 "grammar.y"
12433         { FreeStatement((yyvaluep->stmt)); };
12434
12435 /* Line 1009 of yacc.c  */
12436 #line 12437 "grammar.ec"
12437         break;
12438       case 372: /* "expression_statement" */
12439
12440 /* Line 1009 of yacc.c  */
12441 #line 224 "grammar.y"
12442         { FreeStatement((yyvaluep->stmt)); };
12443
12444 /* Line 1009 of yacc.c  */
12445 #line 12446 "grammar.ec"
12446         break;
12447       case 373: /* "selection_statement" */
12448
12449 /* Line 1009 of yacc.c  */
12450 #line 224 "grammar.y"
12451         { FreeStatement((yyvaluep->stmt)); };
12452
12453 /* Line 1009 of yacc.c  */
12454 #line 12455 "grammar.ec"
12455         break;
12456       case 374: /* "selection_statement_error" */
12457
12458 /* Line 1009 of yacc.c  */
12459 #line 224 "grammar.y"
12460         { FreeStatement((yyvaluep->stmt)); };
12461
12462 /* Line 1009 of yacc.c  */
12463 #line 12464 "grammar.ec"
12464         break;
12465       case 375: /* "iteration_statement" */
12466
12467 /* Line 1009 of yacc.c  */
12468 #line 224 "grammar.y"
12469         { FreeStatement((yyvaluep->stmt)); };
12470
12471 /* Line 1009 of yacc.c  */
12472 #line 12473 "grammar.ec"
12473         break;
12474       case 376: /* "iteration_statement_error" */
12475
12476 /* Line 1009 of yacc.c  */
12477 #line 224 "grammar.y"
12478         { FreeStatement((yyvaluep->stmt)); };
12479
12480 /* Line 1009 of yacc.c  */
12481 #line 12482 "grammar.ec"
12482         break;
12483       case 377: /* "jump_statement" */
12484
12485 /* Line 1009 of yacc.c  */
12486 #line 224 "grammar.y"
12487         { FreeStatement((yyvaluep->stmt)); };
12488
12489 /* Line 1009 of yacc.c  */
12490 #line 12491 "grammar.ec"
12491         break;
12492       case 378: /* "jump_statement_error" */
12493
12494 /* Line 1009 of yacc.c  */
12495 #line 224 "grammar.y"
12496         { FreeStatement((yyvaluep->stmt)); };
12497
12498 /* Line 1009 of yacc.c  */
12499 #line 12500 "grammar.ec"
12500         break;
12501       case 379: /* "function_definition" */
12502
12503 /* Line 1009 of yacc.c  */
12504 #line 229 "grammar.y"
12505         { FreeFunction((yyvaluep->function)); };
12506
12507 /* Line 1009 of yacc.c  */
12508 #line 12509 "grammar.ec"
12509         break;
12510       case 380: /* "function_definition_error" */
12511
12512 /* Line 1009 of yacc.c  */
12513 #line 229 "grammar.y"
12514         { FreeFunction((yyvaluep->function)); };
12515
12516 /* Line 1009 of yacc.c  */
12517 #line 12518 "grammar.ec"
12518         break;
12519       case 381: /* "string_literal" */
12520
12521 /* Line 1009 of yacc.c  */
12522 #line 244 "grammar.y"
12523         { delete (yyvaluep->string); };
12524
12525 /* Line 1009 of yacc.c  */
12526 #line 12527 "grammar.ec"
12527         break;
12528       case 382: /* "external_declaration" */
12529
12530 /* Line 1009 of yacc.c  */
12531 #line 230 "grammar.y"
12532         { FreeExternal((yyvaluep->external)); };
12533
12534 /* Line 1009 of yacc.c  */
12535 #line 12536 "grammar.ec"
12536         break;
12537       case 383: /* "external_declaration_error" */
12538
12539 /* Line 1009 of yacc.c  */
12540 #line 230 "grammar.y"
12541         { FreeExternal((yyvaluep->external)); };
12542
12543 /* Line 1009 of yacc.c  */
12544 #line 12545 "grammar.ec"
12545         break;
12546       case 384: /* "translation_unit_error" */
12547
12548 /* Line 1009 of yacc.c  */
12549 #line 257 "grammar.y"
12550         { if((yyvaluep->list) != ast) FreeList((yyvaluep->list), FreeExternal); };
12551
12552 /* Line 1009 of yacc.c  */
12553 #line 12554 "grammar.ec"
12554         break;
12555       case 385: /* "translation_unit" */
12556
12557 /* Line 1009 of yacc.c  */
12558 #line 257 "grammar.y"
12559         { if((yyvaluep->list) != ast) FreeList((yyvaluep->list), FreeExternal); };
12560
12561 /* Line 1009 of yacc.c  */
12562 #line 12563 "grammar.ec"
12563         break;
12564
12565       default:
12566         break;
12567     }
12568 }
12569
12570 /* Prevent warnings from -Wmissing-prototypes.  */
12571 #ifdef YYPARSE_PARAM
12572 #if defined __STDC__ || defined __cplusplus
12573 int yyparse (void *YYPARSE_PARAM);
12574 #else
12575 int yyparse ();
12576 #endif
12577 #else /* ! YYPARSE_PARAM */
12578 #if defined __STDC__ || defined __cplusplus
12579 int yyparse (void);
12580 #else
12581 int yyparse ();
12582 #endif
12583 #endif /* ! YYPARSE_PARAM */
12584
12585
12586 /* The lookahead symbol.  */
12587 int yychar;
12588
12589 /* The semantic value of the lookahead symbol.  */
12590 YYSTYPE yylval;
12591
12592 /* Location data for the lookahead symbol.  */
12593 YYLTYPE yylloc;
12594
12595 /* Number of syntax errors so far.  */
12596 int yynerrs;
12597
12598
12599
12600 /*-------------------------.
12601 | yyparse or yypush_parse.  |
12602 `-------------------------*/
12603
12604 #ifdef YYPARSE_PARAM
12605 #if (defined __STDC__ || defined __C99__FUNC__ \
12606      || defined __cplusplus || defined _MSC_VER)
12607 int
12608 yyparse (void *YYPARSE_PARAM)
12609 #else
12610 int
12611 yyparse (YYPARSE_PARAM)
12612     void *YYPARSE_PARAM;
12613 #endif
12614 #else /* ! YYPARSE_PARAM */
12615 #if (defined __STDC__ || defined __C99__FUNC__ \
12616      || defined __cplusplus || defined _MSC_VER)
12617 int
12618 yyparse (void)
12619 #else
12620 int
12621 yyparse ()
12622
12623 #endif
12624 #endif
12625 {
12626
12627
12628     int yystate;
12629     /* Number of tokens to shift before error messages enabled.  */
12630     int yyerrstatus;
12631
12632     /* The stacks and their tools:
12633        `yyss': related to states.
12634        `yyvs': related to semantic values.
12635        `yyls': related to locations.
12636
12637        Refer to the stacks thru separate pointers, to allow yyoverflow
12638        to reallocate them elsewhere.  */
12639
12640     /* The state stack.  */
12641     yytype_int16 yyssa[YYINITDEPTH];
12642     yytype_int16 *yyss;
12643     yytype_int16 *yyssp;
12644
12645     /* The semantic value stack.  */
12646     YYSTYPE yyvsa[YYINITDEPTH];
12647     YYSTYPE *yyvs;
12648     YYSTYPE *yyvsp;
12649
12650     /* The location stack.  */
12651     YYLTYPE yylsa[YYINITDEPTH];
12652     YYLTYPE *yyls;
12653     YYLTYPE *yylsp;
12654
12655     /* The locations where the error started and ended.  */
12656     YYLTYPE yyerror_range[2];
12657
12658     YYSIZE_T yystacksize;
12659
12660   int yyn;
12661   int yyresult;
12662   /* Lookahead token as an internal (translated) token number.  */
12663   int yytoken;
12664   /* The variables used to return semantic value and location from the
12665      action routines.  */
12666   YYSTYPE yyval;
12667   YYLTYPE yyloc;
12668
12669 #if YYERROR_VERBOSE
12670   /* Buffer for error messages, and its allocated size.  */
12671   char yymsgbuf[128];
12672   char *yymsg = yymsgbuf;
12673   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
12674 #endif
12675
12676 #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
12677
12678   /* The number of symbols on the RHS of the reduced rule.
12679      Keep to zero when no symbol should be popped.  */
12680   int yylen = 0;
12681
12682   yytoken = 0;
12683   yyss = yyssa;
12684   yyvs = yyvsa;
12685   yyls = yylsa;
12686   yystacksize = YYINITDEPTH;
12687
12688   YYDPRINTF ((stderr, "Starting parse\n"));
12689
12690   yystate = 0;
12691   yyerrstatus = 0;
12692   yynerrs = 0;
12693   yychar = YYEMPTY; /* Cause a token to be read.  */
12694
12695   /* Initialize stack pointers.
12696      Waste one element of value and location stack
12697      so that they stay on the same level as the state stack.
12698      The wasted elements are never initialized.  */
12699   yyssp = yyss;
12700   yyvsp = yyvs;
12701   yylsp = yyls;
12702
12703 #if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
12704   /* Initialize the default location before parsing starts.  */
12705   yylloc.first_line   = yylloc.last_line   = 1;
12706   yylloc.first_column = yylloc.last_column = 1;
12707 #endif
12708
12709   goto yysetstate;
12710
12711 /*------------------------------------------------------------.
12712 | yynewstate -- Push a new state, which is found in yystate.  |
12713 `------------------------------------------------------------*/
12714  yynewstate:
12715   /* In all cases, when you get here, the value and location stacks
12716      have just been pushed.  So pushing a state here evens the stacks.  */
12717   yyssp++;
12718
12719  yysetstate:
12720   *yyssp = yystate;
12721
12722   if (yyss + yystacksize - 1 <= yyssp)
12723     {
12724       /* Get the current used size of the three stacks, in elements.  */
12725       YYSIZE_T yysize = yyssp - yyss + 1;
12726
12727 #ifdef yyoverflow
12728       {
12729         /* Give user a chance to reallocate the stack.  Use copies of
12730            these so that the &'s don't force the real ones into
12731            memory.  */
12732         YYSTYPE *yyvs1 = yyvs;
12733         yytype_int16 *yyss1 = yyss;
12734         YYLTYPE *yyls1 = yyls;
12735
12736         /* Each stack pointer address is followed by the size of the
12737            data in use in that stack, in bytes.  This used to be a
12738            conditional around just the two extra args, but that might
12739            be undefined if yyoverflow is a macro.  */
12740         yyoverflow (YY_("memory exhausted"),
12741                     &yyss1, yysize * sizeof (*yyssp),
12742                     &yyvs1, yysize * sizeof (*yyvsp),
12743                     &yyls1, yysize * sizeof (*yylsp),
12744                     &yystacksize);
12745
12746         yyls = yyls1;
12747         yyss = yyss1;
12748         yyvs = yyvs1;
12749       }
12750 #else /* no yyoverflow */
12751 # ifndef YYSTACK_RELOCATE
12752       goto yyexhaustedlab;
12753 # else
12754       /* Extend the stack our own way.  */
12755       if (YYMAXDEPTH <= yystacksize)
12756         goto yyexhaustedlab;
12757       yystacksize *= 2;
12758       if (YYMAXDEPTH < yystacksize)
12759         yystacksize = YYMAXDEPTH;
12760
12761       {
12762         yytype_int16 *yyss1 = yyss;
12763         union yyalloc *yyptr =
12764           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
12765         if (! yyptr)
12766           goto yyexhaustedlab;
12767         YYSTACK_RELOCATE (yyss_alloc, yyss);
12768         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
12769         YYSTACK_RELOCATE (yyls_alloc, yyls);
12770 #  undef YYSTACK_RELOCATE
12771         if (yyss1 != yyssa)
12772           YYSTACK_FREE (yyss1);
12773       }
12774 # endif
12775 #endif /* no yyoverflow */
12776
12777       yyssp = yyss + yysize - 1;
12778       yyvsp = yyvs + yysize - 1;
12779       yylsp = yyls + yysize - 1;
12780
12781       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
12782                   (unsigned long int) yystacksize));
12783
12784       if (yyss + yystacksize - 1 <= yyssp)
12785         YYABORT;
12786     }
12787
12788   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
12789
12790   if (yystate == YYFINAL)
12791     YYACCEPT;
12792
12793   goto yybackup;
12794
12795 /*-----------.
12796 | yybackup.  |
12797 `-----------*/
12798 yybackup:
12799
12800   /* Do appropriate processing given the current state.  Read a
12801      lookahead token if we need one and don't already have one.  */
12802
12803   /* First try to decide what to do without reference to lookahead token.  */
12804   yyn = yypact[yystate];
12805   if (yyn == YYPACT_NINF)
12806     goto yydefault;
12807
12808   /* Not known => get a lookahead token if don't already have one.  */
12809
12810   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
12811   if (yychar == YYEMPTY)
12812     {
12813       YYDPRINTF ((stderr, "Reading a token: "));
12814       yychar = YYLEX;
12815     }
12816
12817   if (yychar <= YYEOF)
12818     {
12819       yychar = yytoken = YYEOF;
12820       YYDPRINTF ((stderr, "Now at end of input.\n"));
12821     }
12822   else
12823     {
12824       yytoken = YYTRANSLATE (yychar);
12825       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
12826     }
12827
12828   /* If the proper action on seeing token YYTOKEN is to reduce or to
12829      detect an error, take that action.  */
12830   yyn += yytoken;
12831   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
12832     goto yydefault;
12833   yyn = yytable[yyn];
12834   if (yyn <= 0)
12835     {
12836       if (yyn == 0 || yyn == YYTABLE_NINF)
12837         goto yyerrlab;
12838       yyn = -yyn;
12839       goto yyreduce;
12840     }
12841
12842   /* Count tokens shifted since error; after three, turn off error
12843      status.  */
12844   if (yyerrstatus)
12845     yyerrstatus--;
12846
12847   /* Shift the lookahead token.  */
12848   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
12849
12850   /* Discard the shifted token.  */
12851   yychar = YYEMPTY;
12852
12853   yystate = yyn;
12854   *++yyvsp = yylval;
12855   *++yylsp = yylloc;
12856   goto yynewstate;
12857
12858
12859 /*-----------------------------------------------------------.
12860 | yydefault -- do the default action for the current state.  |
12861 `-----------------------------------------------------------*/
12862 yydefault:
12863   yyn = yydefact[yystate];
12864   if (yyn == 0)
12865     goto yyerrlab;
12866   goto yyreduce;
12867
12868
12869 /*-----------------------------.
12870 | yyreduce -- Do a reduction.  |
12871 `-----------------------------*/
12872 yyreduce:
12873   /* yyn is the number of a rule to reduce with.  */
12874   yylen = yyr2[yyn];
12875
12876   /* If YYLEN is nonzero, implement the default value of the action:
12877      `$$ = $1'.
12878
12879      Otherwise, the following line sets YYVAL to garbage.
12880      This behavior is undocumented and Bison
12881      users should not rely upon it.  Assigning to YYVAL
12882      unconditionally makes the parser a bit smaller, and it avoids a
12883      GCC warning that YYVAL may be used uninitialized.  */
12884   yyval = yyvsp[1-yylen];
12885
12886   /* Default location.  */
12887   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
12888   YY_REDUCE_PRINT (yyn);
12889   switch (yyn)
12890     {
12891         case 2:
12892
12893 /* Line 1464 of yacc.c  */
12894 #line 279 "grammar.y"
12895     {
12896       (yyval.specifier) = null;
12897       // if($1._class && !$1._class.name)
12898       if((yyvsp[(1) - (2)].id)._class)
12899       {
12900          char name[1024];
12901          strcpy(name,  (yyvsp[(1) - (2)].id)._class.name ? (yyvsp[(1) - (2)].id)._class.name : "");
12902          strcat(name, "::");
12903          strcat(name, (yyvsp[(1) - (2)].id).string);
12904          _DeclClass(0, name);
12905       }
12906       else
12907          _DeclClass(0, (yyvsp[(1) - (2)].id).string);
12908
12909       FreeIdentifier((yyvsp[(1) - (2)].id));
12910
12911       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start); 
12912       resetScannerPos(&(yylsp[(1) - (2)]).start);
12913       yyclearin;
12914
12915       YYPOPSTACK(1);
12916       yystate = *yyssp;
12917       YY_STACK_PRINT (yyss, yyssp);
12918       YYPOPSTACK(1);
12919       yystate = *yyssp;
12920       YY_STACK_PRINT (yyss, yyssp);
12921       goto yysetstate;
12922    ;}
12923     break;
12924
12925   case 3:
12926
12927 /* Line 1464 of yacc.c  */
12928 #line 308 "grammar.y"
12929     {
12930       (yyval.specifier) = null;
12931    #ifdef PRECOMPILER
12932       // if($1._class && !$1._class.name)
12933       if((yyvsp[(1) - (2)].id)._class)
12934       {
12935          char name[1024];
12936          strcpy(name,  (yyvsp[(1) - (2)].id)._class.name ? (yyvsp[(1) - (2)].id)._class.name : "");
12937          strcat(name, "::");
12938          strcat(name, (yyvsp[(1) - (2)].id).string);
12939          _DeclClass(0, name);
12940       }
12941       else
12942          _DeclClass(0, (yyvsp[(1) - (2)].id).string);
12943
12944       FreeIdentifier((yyvsp[(1) - (2)].id));
12945
12946       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start); 
12947       resetScannerPos(&(yylsp[(1) - (2)]).start);
12948       yyclearin;
12949
12950       YYPOPSTACK(1);
12951       yystate = *yyssp;
12952       YY_STACK_PRINT (yyss, yyssp);
12953       YYPOPSTACK(1);
12954       yystate = *yyssp;
12955       YY_STACK_PRINT (yyss, yyssp);
12956       goto yysetstate;
12957    #endif
12958    ;}
12959     break;
12960
12961   case 4:
12962
12963 /* Line 1464 of yacc.c  */
12964 #line 366 "grammar.y"
12965     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); ;}
12966     break;
12967
12968   case 5:
12969
12970 /* Line 1464 of yacc.c  */
12971 #line 368 "grammar.y"
12972     {
12973    #ifdef PRECOMPILER
12974       // if($1._class && !$1._class.name)
12975       if((yyvsp[(1) - (2)].id)._class)
12976       {
12977          char name[1024];
12978          strcpy(name,  (yyvsp[(1) - (2)].id)._class.name ? (yyvsp[(1) - (2)].id)._class.name : "");
12979          strcat(name, "::");
12980          strcat(name, (yyvsp[(1) - (2)].id).string);
12981          _DeclClass(0, name);
12982       }
12983       else
12984          _DeclClass(0, (yyvsp[(1) - (2)].id).string);
12985       FreeIdentifier((yyvsp[(1) - (2)].id));
12986       FreeIdentifier((yyvsp[(2) - (2)].id));
12987
12988       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start); 
12989       resetScannerPos(&(yylsp[(1) - (2)]).start);
12990       yyclearin;
12991
12992       YYPOPSTACK(1);
12993       yystate = *yyssp;
12994       YY_STACK_PRINT (yyss, yyssp);
12995       YYPOPSTACK(1);
12996       yystate = *yyssp;
12997       YY_STACK_PRINT (yyss, yyssp);
12998       goto yysetstate;
12999    #else
13000       Location tmpLoc = yylloc; (yyval.specifier) = (yyvsp[(2) - (2)].id); yylloc = (yylsp[(1) - (2)]); 
13001       Compiler_Error($"Not a type: %s\n", (yyvsp[(1) - (2)].id).string);      
13002       yylloc = tmpLoc; (yyvsp[(2) - (2)].id).badID = (yyvsp[(1) - (2)].id);
13003    #endif
13004    ;}
13005     break;
13006
13007   case 6:
13008
13009 /* Line 1464 of yacc.c  */
13010 #line 467 "grammar.y"
13011     { (yyval.specifier) = MkSpecifierName(yytext); ;}
13012     break;
13013
13014   case 7:
13015
13016 /* Line 1464 of yacc.c  */
13017 #line 471 "grammar.y"
13018     { (yyval.string) = CopyString(yytext); ;}
13019     break;
13020
13021   case 9:
13022
13023 /* Line 1464 of yacc.c  */
13024 #line 475 "grammar.y"
13025     { (yyval.specifier) = (yyvsp[(1) - (4)].specifier); SetClassTemplateArgs((yyval.specifier), (yyvsp[(3) - (4)].list)); (yyval.specifier).loc = (yyloc); ;}
13026     break;
13027
13028   case 10:
13029
13030 /* Line 1464 of yacc.c  */
13031 #line 477 "grammar.y"
13032     {
13033       (yyval.specifier) = (yyvsp[(1) - (4)].specifier);
13034       SetClassTemplateArgs((yyval.specifier), (yyvsp[(3) - (4)].list));
13035       (yyval.specifier).loc = (yyloc);
13036
13037       (yylsp[(4) - (4)]).end.pos--;
13038       fileInput.Seek((yylsp[(4) - (4)]).end.pos, start); 
13039       resetScannerPos(&(yylsp[(4) - (4)]).end);
13040       yyclearin;
13041     ;}
13042     break;
13043
13044   case 11:
13045
13046 /* Line 1464 of yacc.c  */
13047 #line 526 "grammar.y"
13048     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13049     break;
13050
13051   case 12:
13052
13053 /* Line 1464 of yacc.c  */
13054 #line 528 "grammar.y"
13055     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(1) - (1)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13056     break;
13057
13058   case 13:
13059
13060 /* Line 1464 of yacc.c  */
13061 #line 533 "grammar.y"
13062     { (yyval.classFunction) = MkClassFunction(null, null, null, null); (yyval.classFunction).isConstructor = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; FreeList((yyvsp[(1) - (3)].list), FreeSpecifier); ;}
13063     break;
13064
13065   case 14:
13066
13067 /* Line 1464 of yacc.c  */
13068 #line 538 "grammar.y"
13069     { (yyval.classFunction) = MkClassFunction(null, null, null, null); (yyval.classFunction).isDestructor = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; FreeList((yyvsp[(2) - (4)].list), FreeSpecifier) ;}
13070     break;
13071
13072   case 15:
13073
13074 /* Line 1464 of yacc.c  */
13075 #line 543 "grammar.y"
13076     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (3)].list), null, (yyvsp[(3) - (3)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13077     break;
13078
13079   case 16:
13080
13081 /* Line 1464 of yacc.c  */
13082 #line 545 "grammar.y"
13083     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13084     break;
13085
13086   case 17:
13087
13088 /* Line 1464 of yacc.c  */
13089 #line 550 "grammar.y"
13090     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13091     break;
13092
13093   case 18:
13094
13095 /* Line 1464 of yacc.c  */
13096 #line 552 "grammar.y"
13097     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(1) - (1)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13098     break;
13099
13100   case 19:
13101
13102 /* Line 1464 of yacc.c  */
13103 #line 557 "grammar.y"
13104     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (3)].list), null, (yyvsp[(3) - (3)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13105     break;
13106
13107   case 20:
13108
13109 /* Line 1464 of yacc.c  */
13110 #line 559 "grammar.y"
13111     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13112     break;
13113
13114   case 21:
13115
13116 /* Line 1464 of yacc.c  */
13117 #line 564 "grammar.y"
13118     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13119     break;
13120
13121   case 22:
13122
13123 /* Line 1464 of yacc.c  */
13124 #line 566 "grammar.y"
13125     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13126     break;
13127
13128   case 23:
13129
13130 /* Line 1464 of yacc.c  */
13131 #line 568 "grammar.y"
13132     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); ;}
13133     break;
13134
13135   case 24:
13136
13137 /* Line 1464 of yacc.c  */
13138 #line 570 "grammar.y"
13139     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13140     break;
13141
13142   case 25:
13143
13144 /* Line 1464 of yacc.c  */
13145 #line 572 "grammar.y"
13146     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13147     break;
13148
13149   case 26:
13150
13151 /* Line 1464 of yacc.c  */
13152 #line 576 "grammar.y"
13153     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); ;}
13154     break;
13155
13156   case 27:
13157
13158 /* Line 1464 of yacc.c  */
13159 #line 581 "grammar.y"
13160     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
13161     break;
13162
13163   case 28:
13164
13165 /* Line 1464 of yacc.c  */
13166 #line 583 "grammar.y"
13167     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13168     break;
13169
13170   case 29:
13171
13172 /* Line 1464 of yacc.c  */
13173 #line 585 "grammar.y"
13174     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
13175     break;
13176
13177   case 30:
13178
13179 /* Line 1464 of yacc.c  */
13180 #line 587 "grammar.y"
13181     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13182     break;
13183
13184   case 31:
13185
13186 /* Line 1464 of yacc.c  */
13187 #line 589 "grammar.y"
13188     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13189     break;
13190
13191   case 32:
13192
13193 /* Line 1464 of yacc.c  */
13194 #line 595 "grammar.y"
13195     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13196     break;
13197
13198   case 33:
13199
13200 /* Line 1464 of yacc.c  */
13201 #line 597 "grammar.y"
13202     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, MkDeclaratorFunction((yyvsp[(2) - (2)].declarator), null), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13203     break;
13204
13205   case 34:
13206
13207 /* Line 1464 of yacc.c  */
13208 #line 602 "grammar.y"
13209     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13210     break;
13211
13212   case 35:
13213
13214 /* Line 1464 of yacc.c  */
13215 #line 607 "grammar.y"
13216     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13217     break;
13218
13219   case 36:
13220
13221 /* Line 1464 of yacc.c  */
13222 #line 612 "grammar.y"
13223     { 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++;;}
13224     break;
13225
13226   case 37:
13227
13228 /* Line 1464 of yacc.c  */
13229 #line 614 "grammar.y"
13230     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13231     break;
13232
13233   case 38:
13234
13235 /* Line 1464 of yacc.c  */
13236 #line 616 "grammar.y"
13237     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13238     break;
13239
13240   case 39:
13241
13242 /* Line 1464 of yacc.c  */
13243 #line 620 "grammar.y"
13244     { (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;;}
13245     break;
13246
13247   case 40:
13248
13249 /* Line 1464 of yacc.c  */
13250 #line 621 "grammar.y"
13251     { (yyval.memberInit) = MkMemberInit(null, (yyvsp[(1) - (1)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc);;}
13252     break;
13253
13254   case 41:
13255
13256 /* Line 1464 of yacc.c  */
13257 #line 625 "grammar.y"
13258     { (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;;}
13259     break;
13260
13261   case 42:
13262
13263 /* Line 1464 of yacc.c  */
13264 #line 627 "grammar.y"
13265     { 
13266          (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), MkInitializerAssignment(MkExpDummy()));
13267          (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yyval.memberInit).initializer.loc.end = (yylsp[(2) - (3)]).end; 
13268
13269          fileInput.Seek((yylsp[(2) - (3)]).end.pos, start); 
13270          yyclearin;
13271          resetScannerPos(&(yylsp[(2) - (3)]).end);
13272          (yyloc).start = (yylsp[(1) - (3)]).start;
13273          (yyloc).end = (yylsp[(2) - (3)]).end;
13274       ;}
13275     break;
13276
13277   case 43:
13278
13279 /* Line 1464 of yacc.c  */
13280 #line 637 "grammar.y"
13281     { (yyval.memberInit) = MkMemberInit(null, (yyvsp[(1) - (1)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc);;}
13282     break;
13283
13284   case 44:
13285
13286 /* Line 1464 of yacc.c  */
13287 #line 641 "grammar.y"
13288     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ;}
13289     break;
13290
13291   case 45:
13292
13293 /* Line 1464 of yacc.c  */
13294 #line 643 "grammar.y"
13295     { ((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); ;}
13296     break;
13297
13298   case 46:
13299
13300 /* Line 1464 of yacc.c  */
13301 #line 645 "grammar.y"
13302     { ((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); ;}
13303     break;
13304
13305   case 47:
13306
13307 /* Line 1464 of yacc.c  */
13308 #line 649 "grammar.y"
13309     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ;}
13310     break;
13311
13312   case 48:
13313
13314 /* Line 1464 of yacc.c  */
13315 #line 651 "grammar.y"
13316     { ((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); ;}
13317     break;
13318
13319   case 49:
13320
13321 /* Line 1464 of yacc.c  */
13322 #line 653 "grammar.y"
13323     { ((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); ;}
13324     break;
13325
13326   case 50:
13327
13328 /* Line 1464 of yacc.c  */
13329 #line 656 "grammar.y"
13330     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(2) - (3)]).end; 
13331          { 
13332             Initializer dummy = MkInitializerAssignment(MkExpDummy()); 
13333             MemberInit memberInit = MkMemberInit(null, dummy); 
13334             memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(2) - (3)]).end; 
13335             memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(2) - (3)]).end; 
13336             ListAdd((yyvsp[(1) - (3)].list), memberInit); 
13337           }
13338           (yyval.list) = (yyvsp[(1) - (3)].list);
13339        ;}
13340     break;
13341
13342   case 51:
13343
13344 /* Line 1464 of yacc.c  */
13345 #line 668 "grammar.y"
13346     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(2) - (3)]).end; 
13347          { 
13348             Initializer dummy = MkInitializerAssignment(MkExpDummy()); 
13349             MemberInit memberInit = MkMemberInit(null, dummy); 
13350             memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(2) - (3)]).end; 
13351             memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(2) - (3)]).end; 
13352             ListAdd((yyvsp[(1) - (3)].list), memberInit); 
13353           }
13354           (yyval.list) = (yyvsp[(1) - (3)].list);
13355        ;}
13356     break;
13357
13358   case 52:
13359
13360 /* Line 1464 of yacc.c  */
13361 #line 679 "grammar.y"
13362     {
13363          Initializer dummy = MkInitializerAssignment(MkExpDummy());
13364          MemberInit memberInit = MkMemberInit(null, dummy); 
13365          memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(1) - (1)]).start; 
13366          memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(1) - (1)]).start; 
13367
13368          (yyval.list) = MkList();
13369          ListAdd((yyval.list), memberInit); 
13370
13371          dummy = MkInitializerAssignment(MkExpDummy()); 
13372          memberInit = MkMemberInit(null, dummy); 
13373          memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(1) - (1)]).end; 
13374          memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(1) - (1)]).end; 
13375          ListAdd((yyval.list), memberInit); 
13376       ;}
13377     break;
13378
13379   case 53:
13380
13381 /* Line 1464 of yacc.c  */
13382 #line 698 "grammar.y"
13383     { if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13384     break;
13385
13386   case 54:
13387
13388 /* Line 1464 of yacc.c  */
13389 #line 700 "grammar.y"
13390     { if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13391     break;
13392
13393   case 55:
13394
13395 /* Line 1464 of yacc.c  */
13396 #line 704 "grammar.y"
13397     { MembersInit members = MkMembersInitList((yyvsp[(1) - (1)].list)); (yyval.list) = MkList(); ListAdd((yyval.list), members); members.loc = (yylsp[(1) - (1)]); ;}
13398     break;
13399
13400   case 56:
13401
13402 /* Line 1464 of yacc.c  */
13403 #line 705 "grammar.y"
13404     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(1) - (1)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
13405     break;
13406
13407   case 57:
13408
13409 /* Line 1464 of yacc.c  */
13410 #line 706 "grammar.y"
13411     { MembersInit members = MkMembersInitList((yyvsp[(2) - (2)].list)); ListAdd((yyval.list), members);  members.loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13412     break;
13413
13414   case 58:
13415
13416 /* Line 1464 of yacc.c  */
13417 #line 707 "grammar.y"
13418     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13419     break;
13420
13421   case 59:
13422
13423 /* Line 1464 of yacc.c  */
13424 #line 708 "grammar.y"
13425     { MembersInit members = MkMembersInitList((yyvsp[(2) - (2)].list)); ListAdd((yyval.list), members); members.loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13426     break;
13427
13428   case 60:
13429
13430 /* Line 1464 of yacc.c  */
13431 #line 709 "grammar.y"
13432     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13433     break;
13434
13435   case 61:
13436
13437 /* Line 1464 of yacc.c  */
13438 #line 710 "grammar.y"
13439     { MembersInit members = MkMembersInitList(MkList()); (yyval.list) = MkList(); ListAdd((yyval.list), members); members.loc = (yylsp[(1) - (1)]);  ;}
13440     break;
13441
13442   case 63:
13443
13444 /* Line 1464 of yacc.c  */
13445 #line 712 "grammar.y"
13446     { MembersInit members = MkMembersInitList(MkList()); ListAdd((yyval.list), members); members.loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13447     break;
13448
13449   case 65:
13450
13451 /* Line 1464 of yacc.c  */
13452 #line 717 "grammar.y"
13453     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (1)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
13454     break;
13455
13456   case 66:
13457
13458 /* Line 1464 of yacc.c  */
13459 #line 718 "grammar.y"
13460     { ListAdd((yyvsp[(1) - (2)].list), MkMembersInitList((yyvsp[(2) - (2)].list)));   ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
13461     break;
13462
13463   case 67:
13464
13465 /* Line 1464 of yacc.c  */
13466 #line 719 "grammar.y"
13467     { ListAdd((yyvsp[(1) - (2)].list), MkMembersInitList((yyvsp[(2) - (2)].list)));   ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
13468     break;
13469
13470   case 68:
13471
13472 /* Line 1464 of yacc.c  */
13473 #line 723 "grammar.y"
13474     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(1) - (1)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
13475     break;
13476
13477   case 69:
13478
13479 /* Line 1464 of yacc.c  */
13480 #line 724 "grammar.y"
13481     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13482     break;
13483
13484   case 70:
13485
13486 /* Line 1464 of yacc.c  */
13487 #line 725 "grammar.y"
13488     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13489     break;
13490
13491   case 71:
13492
13493 /* Line 1464 of yacc.c  */
13494 #line 726 "grammar.y"
13495     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13496     break;
13497
13498   case 72:
13499
13500 /* Line 1464 of yacc.c  */
13501 #line 727 "grammar.y"
13502     { ListAdd((yyval.list), MkMembersInitList((yyvsp[(2) - (2)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13503     break;
13504
13505   case 73:
13506
13507 /* Line 1464 of yacc.c  */
13508 #line 728 "grammar.y"
13509     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (1)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
13510     break;
13511
13512   case 74:
13513
13514 /* Line 1464 of yacc.c  */
13515 #line 729 "grammar.y"
13516     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (2)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
13517     break;
13518
13519   case 75:
13520
13521 /* Line 1464 of yacc.c  */
13522 #line 734 "grammar.y"
13523     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; (yyval.instance) = (yyvsp[(1) - (2)].instance); ;}
13524     break;
13525
13526   case 76:
13527
13528 /* Line 1464 of yacc.c  */
13529 #line 736 "grammar.y"
13530     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; (yyval.instance) = (yyvsp[(1) - (3)].instance); ;}
13531     break;
13532
13533   case 77:
13534
13535 /* Line 1464 of yacc.c  */
13536 #line 741 "grammar.y"
13537     { (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++; ;}
13538     break;
13539
13540   case 78:
13541
13542 /* Line 1464 of yacc.c  */
13543 #line 743 "grammar.y"
13544     { (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++; ;}
13545     break;
13546
13547   case 79:
13548
13549 /* Line 1464 of yacc.c  */
13550 #line 745 "grammar.y"
13551     { (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++; ;}
13552     break;
13553
13554   case 80:
13555
13556 /* Line 1464 of yacc.c  */
13557 #line 747 "grammar.y"
13558     { (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++; ;}
13559     break;
13560
13561   case 81:
13562
13563 /* Line 1464 of yacc.c  */
13564 #line 749 "grammar.y"
13565     { (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++; ;}
13566     break;
13567
13568   case 82:
13569
13570 /* Line 1464 of yacc.c  */
13571 #line 779 "grammar.y"
13572     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
13573     break;
13574
13575   case 83:
13576
13577 /* Line 1464 of yacc.c  */
13578 #line 781 "grammar.y"
13579     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
13580     break;
13581
13582   case 84:
13583
13584 /* Line 1464 of yacc.c  */
13585 #line 786 "grammar.y"
13586     { (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++; ;}
13587     break;
13588
13589   case 85:
13590
13591 /* Line 1464 of yacc.c  */
13592 #line 788 "grammar.y"
13593     { (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++; ;}
13594     break;
13595
13596   case 86:
13597
13598 /* Line 1464 of yacc.c  */
13599 #line 790 "grammar.y"
13600     { (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++; ;}
13601     break;
13602
13603   case 87:
13604
13605 /* Line 1464 of yacc.c  */
13606 #line 792 "grammar.y"
13607     { (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++; ;}
13608     break;
13609
13610   case 88:
13611
13612 /* Line 1464 of yacc.c  */
13613 #line 794 "grammar.y"
13614     { (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++; ;}
13615     break;
13616
13617   case 89:
13618
13619 /* Line 1464 of yacc.c  */
13620 #line 823 "grammar.y"
13621     { (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;;}
13622     break;
13623
13624   case 90:
13625
13626 /* Line 1464 of yacc.c  */
13627 #line 825 "grammar.y"
13628     { (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;;}
13629     break;
13630
13631   case 91:
13632
13633 /* Line 1464 of yacc.c  */
13634 #line 827 "grammar.y"
13635     { (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;;}
13636     break;
13637
13638   case 92:
13639
13640 /* Line 1464 of yacc.c  */
13641 #line 832 "grammar.y"
13642     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; (yyval.instance) = (yyvsp[(1) - (2)].instance); ;}
13643     break;
13644
13645   case 93:
13646
13647 /* Line 1464 of yacc.c  */
13648 #line 834 "grammar.y"
13649     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; (yyval.instance) = (yyvsp[(1) - (3)].instance); ;}
13650     break;
13651
13652   case 94:
13653
13654 /* Line 1464 of yacc.c  */
13655 #line 839 "grammar.y"
13656     { (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++; ;}
13657     break;
13658
13659   case 95:
13660
13661 /* Line 1464 of yacc.c  */
13662 #line 841 "grammar.y"
13663     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]); 
13664       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)); ;}
13665     break;
13666
13667   case 96:
13668
13669 /* Line 1464 of yacc.c  */
13670 #line 845 "grammar.y"
13671     { (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++; ;}
13672     break;
13673
13674   case 97:
13675
13676 /* Line 1464 of yacc.c  */
13677 #line 847 "grammar.y"
13678     { (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++; ;}
13679     break;
13680
13681   case 98:
13682
13683 /* Line 1464 of yacc.c  */
13684 #line 849 "grammar.y"
13685     { (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++; ;}
13686     break;
13687
13688   case 99:
13689
13690 /* Line 1464 of yacc.c  */
13691 #line 851 "grammar.y"
13692     { (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++;  ;}
13693     break;
13694
13695   case 100:
13696
13697 /* Line 1464 of yacc.c  */
13698 #line 856 "grammar.y"
13699     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]); 
13700       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)); ;}
13701     break;
13702
13703   case 101:
13704
13705 /* Line 1464 of yacc.c  */
13706 #line 859 "grammar.y"
13707     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (2)]); 
13708       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)); ;}
13709     break;
13710
13711   case 102:
13712
13713 /* Line 1464 of yacc.c  */
13714 #line 862 "grammar.y"
13715     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (4)]); 
13716       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)); ;}
13717     break;
13718
13719   case 103:
13720
13721 /* Line 1464 of yacc.c  */
13722 #line 865 "grammar.y"
13723     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]); 
13724       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)); ;}
13725     break;
13726
13727   case 104:
13728
13729 /* Line 1464 of yacc.c  */
13730 #line 930 "grammar.y"
13731     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
13732     break;
13733
13734   case 105:
13735
13736 /* Line 1464 of yacc.c  */
13737 #line 932 "grammar.y"
13738     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
13739     break;
13740
13741   case 106:
13742
13743 /* Line 1464 of yacc.c  */
13744 #line 937 "grammar.y"
13745     { (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++; ;}
13746     break;
13747
13748   case 107:
13749
13750 /* Line 1464 of yacc.c  */
13751 #line 939 "grammar.y"
13752     { (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++; ;}
13753     break;
13754
13755   case 108:
13756
13757 /* Line 1464 of yacc.c  */
13758 #line 941 "grammar.y"
13759     { (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++;  ;}
13760     break;
13761
13762   case 109:
13763
13764 /* Line 1464 of yacc.c  */
13765 #line 943 "grammar.y"
13766     { (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++; ;}
13767     break;
13768
13769   case 110:
13770
13771 /* Line 1464 of yacc.c  */
13772 #line 945 "grammar.y"
13773     { (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++; ;}
13774     break;
13775
13776   case 111:
13777
13778 /* Line 1464 of yacc.c  */
13779 #line 975 "grammar.y"
13780     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); ;}
13781     break;
13782
13783   case 112:
13784
13785 /* Line 1464 of yacc.c  */
13786 #line 979 "grammar.y"
13787     { (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; ;}
13788     break;
13789
13790   case 113:
13791
13792 /* Line 1464 of yacc.c  */
13793 #line 980 "grammar.y"
13794     { (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; ;}
13795     break;
13796
13797   case 114:
13798
13799 /* Line 1464 of yacc.c  */
13800 #line 981 "grammar.y"
13801     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (2)].exp), null); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); ;}
13802     break;
13803
13804   case 115:
13805
13806 /* Line 1464 of yacc.c  */
13807 #line 985 "grammar.y"
13808     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ((MemberInit)(yyval.list)->last).loc = (yyloc); ;}
13809     break;
13810
13811   case 116:
13812
13813 /* Line 1464 of yacc.c  */
13814 #line 986 "grammar.y"
13815     { ((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); ;}
13816     break;
13817
13818   case 117:
13819
13820 /* Line 1464 of yacc.c  */
13821 #line 987 "grammar.y"
13822     { ((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); ;}
13823     break;
13824
13825   case 118:
13826
13827 /* Line 1464 of yacc.c  */
13828 #line 991 "grammar.y"
13829     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ((MemberInit)(yyval.list)->last).loc = (yyloc); ;}
13830     break;
13831
13832   case 119:
13833
13834 /* Line 1464 of yacc.c  */
13835 #line 992 "grammar.y"
13836     { ((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); ;}
13837     break;
13838
13839   case 120:
13840
13841 /* Line 1464 of yacc.c  */
13842 #line 993 "grammar.y"
13843     { ((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); ;}
13844     break;
13845
13846   case 122:
13847
13848 /* Line 1464 of yacc.c  */
13849 #line 999 "grammar.y"
13850     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), null, (yyvsp[(3) - (4)].id), null, null); (yyval.prop).loc = (yyloc); ;}
13851     break;
13852
13853   case 123:
13854
13855 /* Line 1464 of yacc.c  */
13856 #line 1002 "grammar.y"
13857     { (yyval.prop) = MkProperty((yyvsp[(2) - (5)].list), (yyvsp[(3) - (5)].declarator), (yyvsp[(4) - (5)].id), null, null); (yyval.prop).loc = (yyloc); ;}
13858     break;
13859
13860   case 124:
13861
13862 /* Line 1464 of yacc.c  */
13863 #line 1005 "grammar.y"
13864     { (yyval.prop) = MkProperty((yyvsp[(2) - (3)].list), null, null, null, null); (yyval.prop).loc = (yyloc); ;}
13865     break;
13866
13867   case 125:
13868
13869 /* Line 1464 of yacc.c  */
13870 #line 1008 "grammar.y"
13871     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].declarator), null, null, null); (yyval.prop).loc = (yyloc); ;}
13872     break;
13873
13874   case 126:
13875
13876 /* Line 1464 of yacc.c  */
13877 #line 1011 "grammar.y"
13878     { (yyval.prop) = MkProperty(null, null, null, null, null); (yyval.prop).loc = (yyloc); ;}
13879     break;
13880
13881   case 128:
13882
13883 /* Line 1464 of yacc.c  */
13884 #line 1017 "grammar.y"
13885     { (yyvsp[(1) - (3)].prop).setStmt = (yyvsp[(3) - (3)].stmt); ;}
13886     break;
13887
13888   case 129:
13889
13890 /* Line 1464 of yacc.c  */
13891 #line 1019 "grammar.y"
13892     { (yyvsp[(1) - (3)].prop).getStmt = (yyvsp[(3) - (3)].stmt); ;}
13893     break;
13894
13895   case 130:
13896
13897 /* Line 1464 of yacc.c  */
13898 #line 1021 "grammar.y"
13899     { (yyvsp[(1) - (3)].prop).issetStmt = (yyvsp[(3) - (3)].stmt); ;}
13900     break;
13901
13902   case 131:
13903
13904 /* Line 1464 of yacc.c  */
13905 #line 1023 "grammar.y"
13906     { (yyvsp[(1) - (2)].prop).isWatchable = true; ;}
13907     break;
13908
13909   case 132:
13910
13911 /* Line 1464 of yacc.c  */
13912 #line 1025 "grammar.y"
13913     { (yyvsp[(1) - (3)].prop).category = (yyvsp[(3) - (3)].exp); ;}
13914     break;
13915
13916   case 133:
13917
13918 /* Line 1464 of yacc.c  */
13919 #line 1029 "grammar.y"
13920     { (yyvsp[(1) - (2)].prop).loc.end = (yylsp[(2) - (2)]).end; (yyval.prop) = (yyvsp[(1) - (2)].prop); ;}
13921     break;
13922
13923   case 134:
13924
13925 /* Line 1464 of yacc.c  */
13926 #line 1034 "grammar.y"
13927     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), null, (yyvsp[(3) - (4)].id), null, null); (yyval.prop).loc = (yyloc); ;}
13928     break;
13929
13930   case 135:
13931
13932 /* Line 1464 of yacc.c  */
13933 #line 1037 "grammar.y"
13934     { (yyval.prop) = MkProperty((yyvsp[(2) - (5)].list), (yyvsp[(3) - (5)].declarator), (yyvsp[(4) - (5)].id), null, null); (yyval.prop).loc = (yyloc); ;}
13935     break;
13936
13937   case 136:
13938
13939 /* Line 1464 of yacc.c  */
13940 #line 1040 "grammar.y"
13941     { (yyval.prop) = MkProperty((yyvsp[(2) - (3)].list), null, null, null, null); (yyval.prop).loc = (yyloc); ;}
13942     break;
13943
13944   case 137:
13945
13946 /* Line 1464 of yacc.c  */
13947 #line 1043 "grammar.y"
13948     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].declarator), null, null, null); (yyval.prop).loc = (yyloc); ;}
13949     break;
13950
13951   case 138:
13952
13953 /* Line 1464 of yacc.c  */
13954 #line 1046 "grammar.y"
13955     { (yyval.prop) = MkProperty(null, null, null, null, null); (yyval.prop).loc = (yyloc); ;}
13956     break;
13957
13958   case 140:
13959
13960 /* Line 1464 of yacc.c  */
13961 #line 1052 "grammar.y"
13962     { (yyvsp[(1) - (3)].prop).setStmt = (yyvsp[(3) - (3)].stmt); ;}
13963     break;
13964
13965   case 141:
13966
13967 /* Line 1464 of yacc.c  */
13968 #line 1054 "grammar.y"
13969     { (yyvsp[(1) - (3)].prop).getStmt = (yyvsp[(3) - (3)].stmt); ;}
13970     break;
13971
13972   case 142:
13973
13974 /* Line 1464 of yacc.c  */
13975 #line 1058 "grammar.y"
13976     { (yyvsp[(1) - (2)].prop).loc.end = (yylsp[(2) - (2)]).end; ;}
13977     break;
13978
13979   case 143:
13980
13981 /* Line 1464 of yacc.c  */
13982 #line 1063 "grammar.y"
13983     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].id)); ;}
13984     break;
13985
13986   case 144:
13987
13988 /* Line 1464 of yacc.c  */
13989 #line 1065 "grammar.y"
13990     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].id)); ;}
13991     break;
13992
13993   case 145:
13994
13995 /* Line 1464 of yacc.c  */
13996 #line 1070 "grammar.y"
13997     { (yyval.propertyWatch) = MkPropertyWatch((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
13998     break;
13999
14000   case 146:
14001
14002 /* Line 1464 of yacc.c  */
14003 #line 1072 "grammar.y"
14004     { (yyval.propertyWatch) = MkDeleteWatch((yyvsp[(2) - (2)].stmt)); ;}
14005     break;
14006
14007   case 147:
14008
14009 /* Line 1464 of yacc.c  */
14010 #line 1077 "grammar.y"
14011     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].propertyWatch)); ;}
14012     break;
14013
14014   case 148:
14015
14016 /* Line 1464 of yacc.c  */
14017 #line 1079 "grammar.y"
14018     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].propertyWatch)); ;}
14019     break;
14020
14021   case 149:
14022
14023 /* Line 1464 of yacc.c  */
14024 #line 1084 "grammar.y"
14025     { (yyval.propertyWatch) = MkPropertyWatch((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); ;}
14026     break;
14027
14028   case 150:
14029
14030 /* Line 1464 of yacc.c  */
14031 #line 1089 "grammar.y"
14032     { (yyval.stmt) = MkWatchStmt(null, (yyvsp[(3) - (7)].exp), (yyvsp[(6) - (7)].list)); ;}
14033     break;
14034
14035   case 151:
14036
14037 /* Line 1464 of yacc.c  */
14038 #line 1091 "grammar.y"
14039     { (yyval.stmt) = MkWatchStmt((yyvsp[(1) - (9)].exp), (yyvsp[(5) - (9)].exp), (yyvsp[(8) - (9)].list)); ;}
14040     break;
14041
14042   case 152:
14043
14044 /* Line 1464 of yacc.c  */
14045 #line 1096 "grammar.y"
14046     { (yyval.stmt) = MkStopWatchingStmt(null, (yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].list)); ;}
14047     break;
14048
14049   case 153:
14050
14051 /* Line 1464 of yacc.c  */
14052 #line 1098 "grammar.y"
14053     { (yyval.stmt) = MkStopWatchingStmt((yyvsp[(1) - (8)].exp), (yyvsp[(5) - (8)].exp), (yyvsp[(7) - (8)].list)); ;}
14054     break;
14055
14056   case 154:
14057
14058 /* Line 1464 of yacc.c  */
14059 #line 1100 "grammar.y"
14060     { (yyval.stmt) = MkStopWatchingStmt(null, (yyvsp[(3) - (4)].exp), null); ;}
14061     break;
14062
14063   case 155:
14064
14065 /* Line 1464 of yacc.c  */
14066 #line 1102 "grammar.y"
14067     { (yyval.stmt) = MkStopWatchingStmt((yyvsp[(1) - (6)].exp), (yyvsp[(5) - (6)].exp), null); ;}
14068     break;
14069
14070   case 156:
14071
14072 /* Line 1464 of yacc.c  */
14073 #line 1107 "grammar.y"
14074     { (yyval.stmt) = MkFireWatchersStmt(null, null); ;}
14075     break;
14076
14077   case 157:
14078
14079 /* Line 1464 of yacc.c  */
14080 #line 1109 "grammar.y"
14081     { (yyval.stmt) = MkFireWatchersStmt(null, (yyvsp[(2) - (2)].list)); ;}
14082     break;
14083
14084   case 158:
14085
14086 /* Line 1464 of yacc.c  */
14087 #line 1111 "grammar.y"
14088     { (yyval.stmt) = MkFireWatchersStmt((yyvsp[(1) - (3)].exp), null); ;}
14089     break;
14090
14091   case 159:
14092
14093 /* Line 1464 of yacc.c  */
14094 #line 1113 "grammar.y"
14095     { (yyval.stmt) = MkFireWatchersStmt((yyvsp[(1) - (4)].exp), (yyvsp[(4) - (4)].list)); ;}
14096     break;
14097
14098   case 160:
14099
14100 /* Line 1464 of yacc.c  */
14101 #line 1117 "grammar.y"
14102     { (yyval.classDef) = (yyvsp[(1) - (2)].classDef); (yyval.classDef).loc.end = (yylsp[(2) - (2)]).start; ;}
14103     break;
14104
14105   case 161:
14106
14107 /* Line 1464 of yacc.c  */
14108 #line 1118 "grammar.y"
14109     { (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); ;}
14110     break;
14111
14112   case 162:
14113
14114 /* Line 1464 of yacc.c  */
14115 #line 1119 "grammar.y"
14116     { (yyval.classDef) = MkClassDefFunction((yyvsp[(1) - (1)].classFunction)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14117     break;
14118
14119   case 163:
14120
14121 /* Line 1464 of yacc.c  */
14122 #line 1120 "grammar.y"
14123     { (yyval.classDef) = MkClassDefProperty((yyvsp[(1) - (1)].prop)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14124     break;
14125
14126   case 164:
14127
14128 /* Line 1464 of yacc.c  */
14129 #line 1121 "grammar.y"
14130     { (yyval.classDef) = MkClassDefFunction((yyvsp[(2) - (2)].classFunction)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14131     break;
14132
14133   case 165:
14134
14135 /* Line 1464 of yacc.c  */
14136 #line 1122 "grammar.y"
14137     { (yyval.classDef) = MkClassDefProperty((yyvsp[(2) - (2)].prop)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14138     break;
14139
14140   case 166:
14141
14142 /* Line 1464 of yacc.c  */
14143 #line 1123 "grammar.y"
14144     { (yyval.classDef) = MkClassDefClassProperty((yyvsp[(1) - (1)].prop)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; ;}
14145     break;
14146
14147   case 167:
14148
14149 /* Line 1464 of yacc.c  */
14150 #line 1124 "grammar.y"
14151     { (yyval.classDef) = null; deleteWatchable = true; ;}
14152     break;
14153
14154   case 168:
14155
14156 /* Line 1464 of yacc.c  */
14157 #line 1125 "grammar.y"
14158     { (yyval.classDef) = MkClassDefNoExpansion(); ;}
14159     break;
14160
14161   case 169:
14162
14163 /* Line 1464 of yacc.c  */
14164 #line 1126 "grammar.y"
14165     { (yyval.classDef) = MkClassDefFixed(); ;}
14166     break;
14167
14168   case 170:
14169
14170 /* Line 1464 of yacc.c  */
14171 #line 1127 "grammar.y"
14172     { (yyval.classDef) = MkClassDefClassPropertyValue((yyvsp[(3) - (7)].id), (yyvsp[(6) - (7)].initializer)); (yyval.classDef).loc = (yyloc); ;}
14173     break;
14174
14175   case 171:
14176
14177 /* Line 1464 of yacc.c  */
14178 #line 1129 "grammar.y"
14179     { (yyval.classDef) = null; ;}
14180     break;
14181
14182   case 172:
14183
14184 /* Line 1464 of yacc.c  */
14185 #line 1130 "grammar.y"
14186     { 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; ;}
14187     break;
14188
14189   case 173:
14190
14191 /* Line 1464 of yacc.c  */
14192 #line 1132 "grammar.y"
14193     { (yyval.classDef) = MkClassDefAccessOverride((yyvsp[(1) - (4)].declMode), (yyvsp[(3) - (4)].id)); (yyval.classDef).loc = (yyloc); ;}
14194     break;
14195
14196   case 174:
14197
14198 /* Line 1464 of yacc.c  */
14199 #line 1136 "grammar.y"
14200     { (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]; ;}
14201     break;
14202
14203   case 175:
14204
14205 /* Line 1464 of yacc.c  */
14206 #line 1139 "grammar.y"
14207     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(1) - (1)].list), null, null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14208     break;
14209
14210   case 176:
14211
14212 /* Line 1464 of yacc.c  */
14213 #line 1140 "grammar.y"
14214     { (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]; ;}
14215     break;
14216
14217   case 177:
14218
14219 /* Line 1464 of yacc.c  */
14220 #line 1141 "grammar.y"
14221     { (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); ;}
14222     break;
14223
14224   case 178:
14225
14226 /* Line 1464 of yacc.c  */
14227 #line 1142 "grammar.y"
14228     { (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); ;}
14229     break;
14230
14231   case 179:
14232
14233 /* Line 1464 of yacc.c  */
14234 #line 1143 "grammar.y"
14235     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14236     break;
14237
14238   case 180:
14239
14240 /* Line 1464 of yacc.c  */
14241 #line 1144 "grammar.y"
14242     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14243     break;
14244
14245   case 181:
14246
14247 /* Line 1464 of yacc.c  */
14248 #line 1145 "grammar.y"
14249     { (yyval.classDef) = MkClassDefClassData(MkStructDeclaration((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].list), null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); ;}
14250     break;
14251
14252   case 182:
14253
14254 /* Line 1464 of yacc.c  */
14255 #line 1146 "grammar.y"
14256     { (yyval.classDef) = MkClassDefPropertyWatch((yyvsp[(1) - (1)].propertyWatch)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; ;}
14257     break;
14258
14259   case 183:
14260
14261 /* Line 1464 of yacc.c  */
14262 #line 1147 "grammar.y"
14263     { (yyval.classDef) = MkClassDefDesigner((yyvsp[(2) - (2)].id).string); FreeIdentifier((yyvsp[(2) - (2)].id)); ;}
14264     break;
14265
14266   case 184:
14267
14268 /* Line 1464 of yacc.c  */
14269 #line 1148 "grammar.y"
14270     { (yyval.classDef) = MkClassDefDesigner((yyvsp[(2) - (2)].specifier).name); FreeSpecifier((yyvsp[(2) - (2)].specifier)); ;}
14271     break;
14272
14273   case 185:
14274
14275 /* Line 1464 of yacc.c  */
14276 #line 1149 "grammar.y"
14277     { (yyval.classDef) = MkClassDefDesignerDefaultProperty((yyvsp[(2) - (2)].id)); ;}
14278     break;
14279
14280   case 186:
14281
14282 /* Line 1464 of yacc.c  */
14283 #line 1150 "grammar.y"
14284     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (1)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14285     break;
14286
14287   case 187:
14288
14289 /* Line 1464 of yacc.c  */
14290 #line 1151 "grammar.y"
14291     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (1)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14292     break;
14293
14294   case 188:
14295
14296 /* Line 1464 of yacc.c  */
14297 #line 1152 "grammar.y"
14298     { (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); ;}
14299     break;
14300
14301   case 189:
14302
14303 /* Line 1464 of yacc.c  */
14304 #line 1154 "grammar.y"
14305     { (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]; ;}
14306     break;
14307
14308   case 190:
14309
14310 /* Line 1464 of yacc.c  */
14311 #line 1155 "grammar.y"
14312     { (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]; ;}
14313     break;
14314
14315   case 191:
14316
14317 /* Line 1464 of yacc.c  */
14318 #line 1159 "grammar.y"
14319     { (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); ;}
14320     break;
14321
14322   case 192:
14323
14324 /* Line 1464 of yacc.c  */
14325 #line 1160 "grammar.y"
14326     { (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); ;}
14327     break;
14328
14329   case 193:
14330
14331 /* Line 1464 of yacc.c  */
14332 #line 1161 "grammar.y"
14333     { (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); ;}
14334     break;
14335
14336   case 194:
14337
14338 /* Line 1464 of yacc.c  */
14339 #line 1165 "grammar.y"
14340     { (yyval.classDef) = MkClassDefDefaultProperty((yyvsp[(1) - (1)].list)); (yyval.classDef).loc = (yyloc);  (yyval.classDef).loc.end.charPos++; (yyval.classDef).loc.end.pos++; ;}
14341     break;
14342
14343   case 195:
14344
14345 /* Line 1464 of yacc.c  */
14346 #line 1169 "grammar.y"
14347     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].classDef)); ;}
14348     break;
14349
14350   case 196:
14351
14352 /* Line 1464 of yacc.c  */
14353 #line 1170 "grammar.y"
14354     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].classDef)); ;}
14355     break;
14356
14357   case 197:
14358
14359 /* Line 1464 of yacc.c  */
14360 #line 1171 "grammar.y"
14361     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].classDef)); ;}
14362     break;
14363
14364   case 198:
14365
14366 /* Line 1464 of yacc.c  */
14367 #line 1175 "grammar.y"
14368     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].classDef)); ;}
14369     break;
14370
14371   case 201:
14372
14373 /* Line 1464 of yacc.c  */
14374 #line 1178 "grammar.y"
14375     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyval.list), (yyvsp[(2) - (2)].classDef)); ;}
14376     break;
14377
14378   case 202:
14379
14380 /* Line 1464 of yacc.c  */
14381 #line 1179 "grammar.y"
14382     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyval.list), (yyvsp[(2) - (2)].classDef)); ;}
14383     break;
14384
14385   case 203:
14386
14387 /* Line 1464 of yacc.c  */
14388 #line 1183 "grammar.y"
14389     { (yyval.templateDatatype) = MkTemplateDatatype((yyvsp[(1) - (1)].list), null); ;}
14390     break;
14391
14392   case 204:
14393
14394 /* Line 1464 of yacc.c  */
14395 #line 1184 "grammar.y"
14396     { (yyval.templateDatatype) = MkTemplateDatatype((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
14397     break;
14398
14399   case 205:
14400
14401 /* Line 1464 of yacc.c  */
14402 #line 1196 "grammar.y"
14403     { (yyval.templateArgument) = MkTemplateTypeArgument(MkTemplateDatatype((yyvsp[(1) - (1)].list), null)); ;}
14404     break;
14405
14406   case 206:
14407
14408 /* Line 1464 of yacc.c  */
14409 #line 1197 "grammar.y"
14410     { (yyval.templateArgument) = MkTemplateTypeArgument(MkTemplateDatatype((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator))); ;}
14411     break;
14412
14413   case 207:
14414
14415 /* Line 1464 of yacc.c  */
14416 #line 1201 "grammar.y"
14417     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (2)].id), null, null); ;}
14418     break;
14419
14420   case 208:
14421
14422 /* Line 1464 of yacc.c  */
14423 #line 1202 "grammar.y"
14424     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (4)].id), null, (yyvsp[(4) - (4)].templateArgument)); ;}
14425     break;
14426
14427   case 209:
14428
14429 /* Line 1464 of yacc.c  */
14430 #line 1203 "grammar.y"
14431     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (4)].id), (yyvsp[(4) - (4)].templateDatatype), null); ;}
14432     break;
14433
14434   case 210:
14435
14436 /* Line 1464 of yacc.c  */
14437 #line 1204 "grammar.y"
14438     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (6)].id), (yyvsp[(4) - (6)].templateDatatype), (yyvsp[(6) - (6)].templateArgument)); ;}
14439     break;
14440
14441   case 211:
14442
14443 /* Line 1464 of yacc.c  */
14444 #line 1205 "grammar.y"
14445     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (2)].string)), null, null); delete (yyvsp[(2) - (2)].string); ;}
14446     break;
14447
14448   case 212:
14449
14450 /* Line 1464 of yacc.c  */
14451 #line 1206 "grammar.y"
14452     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (4)].string)), null, (yyvsp[(4) - (4)].templateArgument)); ;}
14453     break;
14454
14455   case 213:
14456
14457 /* Line 1464 of yacc.c  */
14458 #line 1207 "grammar.y"
14459     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (4)].string)), (yyvsp[(4) - (4)].templateDatatype), null); ;}
14460     break;
14461
14462   case 214:
14463
14464 /* Line 1464 of yacc.c  */
14465 #line 1208 "grammar.y"
14466     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (6)].string)), (yyvsp[(4) - (6)].templateDatatype), (yyvsp[(6) - (6)].templateArgument)); ;}
14467     break;
14468
14469   case 215:
14470
14471 /* Line 1464 of yacc.c  */
14472 #line 1212 "grammar.y"
14473     { (yyval.templateArgument) = MkTemplateIdentifierArgument((yyvsp[(1) - (1)].id)); ;}
14474     break;
14475
14476   case 216:
14477
14478 /* Line 1464 of yacc.c  */
14479 #line 1216 "grammar.y"
14480     { (yyval.templateParameter) = MkIdentifierTemplateParameter((yyvsp[(1) - (1)].id), dataMember, null); ;}
14481     break;
14482
14483   case 217:
14484
14485 /* Line 1464 of yacc.c  */
14486 #line 1217 "grammar.y"
14487     { (yyval.templateParameter) = MkIdentifierTemplateParameter((yyvsp[(1) - (3)].id), dataMember, (yyvsp[(3) - (3)].templateArgument)); ;}
14488     break;
14489
14490   case 218:
14491
14492 /* Line 1464 of yacc.c  */
14493 #line 1221 "grammar.y"
14494     { (yyval.templateArgument) = MkTemplateExpressionArgument((yyvsp[(1) - (1)].exp)); ;}
14495     break;
14496
14497   case 219:
14498
14499 /* Line 1464 of yacc.c  */
14500 #line 1229 "grammar.y"
14501     { (yyval.templateParameter) = MkExpressionTemplateParameter((yyvsp[(2) - (4)].id), MkTemplateDatatype((yyvsp[(1) - (4)].list), null), (yyvsp[(4) - (4)].templateArgument)); ;}
14502     break;
14503
14504   case 220:
14505
14506 /* Line 1464 of yacc.c  */
14507 #line 1230 "grammar.y"
14508     { (yyval.templateParameter) = MkExpressionTemplateParameter((yyvsp[(3) - (5)].id), MkTemplateDatatype((yyvsp[(1) - (5)].list), (yyvsp[(2) - (5)].declarator)), (yyvsp[(5) - (5)].templateArgument)); ;}
14509     break;
14510
14511   case 224:
14512
14513 /* Line 1464 of yacc.c  */
14514 #line 1240 "grammar.y"
14515     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].templateParameter)); ;}
14516     break;
14517
14518   case 225:
14519
14520 /* Line 1464 of yacc.c  */
14521 #line 1241 "grammar.y"
14522     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].templateParameter)); ;}
14523     break;
14524
14525   case 229:
14526
14527 /* Line 1464 of yacc.c  */
14528 #line 1248 "grammar.y"
14529     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
14530     break;
14531
14532   case 230:
14533
14534 /* Line 1464 of yacc.c  */
14535 #line 1249 "grammar.y"
14536     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
14537     break;
14538
14539   case 231:
14540
14541 /* Line 1464 of yacc.c  */
14542 #line 1250 "grammar.y"
14543     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
14544     break;
14545
14546   case 232:
14547
14548 /* Line 1464 of yacc.c  */
14549 #line 1290 "grammar.y"
14550     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].templateArgument)); ;}
14551     break;
14552
14553   case 233:
14554
14555 /* Line 1464 of yacc.c  */
14556 #line 1291 "grammar.y"
14557     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].templateArgument)); ;}
14558     break;
14559
14560   case 234:
14561
14562 /* Line 1464 of yacc.c  */
14563 #line 1296 "grammar.y"
14564     {
14565       if(curContext != globalContext)
14566          PopContext(curContext);
14567       (yyval.context) = PushContext();
14568    ;}
14569     break;
14570
14571   case 235:
14572
14573 /* Line 1464 of yacc.c  */
14574 #line 1303 "grammar.y"
14575     { (yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (2)].id).string); FreeIdentifier((yyvsp[(2) - (2)].id)); (yyval.symbol).nameLoc = (yylsp[(2) - (2)]); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
14576     break;
14577
14578   case 236:
14579
14580 /* Line 1464 of yacc.c  */
14581 #line 1305 "grammar.y"
14582     { 
14583       (yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(2) - (2)].specifier).name); 
14584       (yyval.symbol).nameLoc = (yylsp[(2) - (2)]); 
14585       FreeSpecifier((yyvsp[(2) - (2)].specifier)); 
14586       ++defaultMemberAccess;
14587       memberAccessStack[defaultMemberAccess] = privateAccess;
14588    ;}
14589     break;
14590
14591   case 237:
14592
14593 /* Line 1464 of yacc.c  */
14594 #line 1312 "grammar.y"
14595     { (yyvsp[(2) - (3)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (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; ;}
14596     break;
14597
14598   case 238:
14599
14600 /* Line 1464 of yacc.c  */
14601 #line 1313 "grammar.y"
14602     { (yyvsp[(2) - (3)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (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; ;}
14603     break;
14604
14605   case 239:
14606
14607 /* Line 1464 of yacc.c  */
14608 #line 1315 "grammar.y"
14609     { (yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (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; ;}
14610     break;
14611
14612   case 240:
14613
14614 /* Line 1464 of yacc.c  */
14615 #line 1317 "grammar.y"
14616     { 
14617       (yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(2) - (5)].specifier).name);
14618       (yyval.symbol).templateParams = (yyvsp[(4) - (5)].list); 
14619       (yyval.symbol).nameLoc = (yylsp[(2) - (5)]); 
14620       FreeSpecifier((yyvsp[(2) - (5)].specifier)); 
14621       ++defaultMemberAccess;
14622       memberAccessStack[defaultMemberAccess] = privateAccess;
14623    ;}
14624     break;
14625
14626   case 241:
14627
14628 /* Line 1464 of yacc.c  */
14629 #line 1325 "grammar.y"
14630     { (yyvsp[(2) - (6)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (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; ;}
14631     break;
14632
14633   case 242:
14634
14635 /* Line 1464 of yacc.c  */
14636 #line 1326 "grammar.y"
14637     { (yyvsp[(2) - (6)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (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; ;}
14638     break;
14639
14640   case 243:
14641
14642 /* Line 1464 of yacc.c  */
14643 #line 1332 "grammar.y"
14644     {
14645          (yyval._class).loc = (yyloc);
14646          (yyval._class) = (yyvsp[(1) - (2)]._class); 
14647       ;}
14648     break;
14649
14650   case 244:
14651
14652 /* Line 1464 of yacc.c  */
14653 #line 1339 "grammar.y"
14654     {
14655          (yyval._class) = (yyvsp[(1) - (2)]._class); (yyval._class).definitions = MkList(); (yyval._class).blockStart = (yylsp[(2) - (2)]);  (yyval._class).loc = (yyloc); (yyval._class).endid = globalContext.nextID++;
14656          POP_DEFAULT_ACCESS
14657          PopContext(curContext);
14658       ;}
14659     break;
14660
14661   case 245:
14662
14663 /* Line 1464 of yacc.c  */
14664 #line 1346 "grammar.y"
14665     {
14666          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, MkList()); (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).endid = globalContext.nextID++;
14667          POP_DEFAULT_ACCESS
14668          PopContext(curContext);
14669       ;}
14670     break;
14671
14672   case 246:
14673
14674 /* Line 1464 of yacc.c  */
14675 #line 1352 "grammar.y"
14676     {
14677          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = MkList(); (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).endid = globalContext.nextID++;
14678          POP_DEFAULT_ACCESS
14679          PopContext(curContext);
14680       ;}
14681     break;
14682
14683   case 247:
14684
14685 /* Line 1464 of yacc.c  */
14686 #line 1359 "grammar.y"
14687     {
14688          (yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClassAddNameSpace(0, (yyvsp[(2) - (3)].id).string), null, null); FreeIdentifier((yyvsp[(2) - (3)].id));
14689          POP_DEFAULT_ACCESS
14690          PopContext(curContext);
14691       ;}
14692     break;
14693
14694   case 248:
14695
14696 /* Line 1464 of yacc.c  */
14697 #line 1365 "grammar.y"
14698     {
14699          (yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClass(0, (yyvsp[(2) - (3)].specifier).name), null, null); FreeSpecifier((yyvsp[(2) - (3)].specifier));
14700          POP_DEFAULT_ACCESS
14701          PopContext(curContext);
14702       ;}
14703     break;
14704
14705   case 249:
14706
14707 /* Line 1464 of yacc.c  */
14708 #line 1374 "grammar.y"
14709     {
14710          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].list), null);
14711       ;}
14712     break;
14713
14714   case 250:
14715
14716 /* Line 1464 of yacc.c  */
14717 #line 1381 "grammar.y"
14718     {
14719          (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++; (yyval._class).endid = globalContext.nextID++;
14720          POP_DEFAULT_ACCESS
14721          PopContext(curContext);
14722       ;}
14723     break;
14724
14725   case 251:
14726
14727 /* Line 1464 of yacc.c  */
14728 #line 1387 "grammar.y"
14729     {
14730          (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++; (yyval._class).endid = globalContext.nextID++;
14731          POP_DEFAULT_ACCESS
14732          PopContext(curContext);
14733       ;}
14734     break;
14735
14736   case 252:
14737
14738 /* Line 1464 of yacc.c  */
14739 #line 1393 "grammar.y"
14740     {
14741          (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++; (yyval._class).endid = globalContext.nextID++;
14742          POP_DEFAULT_ACCESS
14743          PopContext(curContext);
14744       ;}
14745     break;
14746
14747   case 253:
14748
14749 /* Line 1464 of yacc.c  */
14750 #line 1399 "grammar.y"
14751     {
14752          (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++; (yyval._class).endid = globalContext.nextID++;
14753          POP_DEFAULT_ACCESS
14754          PopContext(curContext);
14755       ;}
14756     break;
14757
14758   case 254:
14759
14760 /* Line 1464 of yacc.c  */
14761 #line 1405 "grammar.y"
14762     {
14763          (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++; (yyval._class).endid = globalContext.nextID++;
14764          POP_DEFAULT_ACCESS
14765          PopContext(curContext);
14766       ;}
14767     break;
14768
14769   case 255:
14770
14771 /* Line 1464 of yacc.c  */
14772 #line 1411 "grammar.y"
14773     {
14774          (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++; (yyval._class).endid = globalContext.nextID++;
14775          POP_DEFAULT_ACCESS
14776          PopContext(curContext);
14777       ;}
14778     break;
14779
14780   case 256:
14781
14782 /* Line 1464 of yacc.c  */
14783 #line 1422 "grammar.y"
14784     { (yyval.id) = MkIdentifier(yytext); (yyval.id).loc = (yylsp[(1) - (1)]); ;}
14785     break;
14786
14787   case 258:
14788
14789 /* Line 1464 of yacc.c  */
14790 #line 1428 "grammar.y"
14791     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (3)].list)); (yyval.exp).loc = (yyloc); ;}
14792     break;
14793
14794   case 259:
14795
14796 /* Line 1464 of yacc.c  */
14797 #line 1432 "grammar.y"
14798     { (yyval.exp) = MkExpString((yyvsp[(1) - (1)].string)); delete (yyvsp[(1) - (1)].string); (yyval.exp).loc = (yyloc); ;}
14799     break;
14800
14801   case 260:
14802
14803 /* Line 1464 of yacc.c  */
14804 #line 1433 "grammar.y"
14805     { (yyval.exp) = MkExpIntlString((yyvsp[(2) - (2)].string), null); delete (yyvsp[(2) - (2)].string); (yyval.exp).loc = (yyloc); ;}
14806     break;
14807
14808   case 261:
14809
14810 /* Line 1464 of yacc.c  */
14811 #line 1434 "grammar.y"
14812     { (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); ;}
14813     break;
14814
14815   case 262:
14816
14817 /* Line 1464 of yacc.c  */
14818 #line 1438 "grammar.y"
14819     { (yyval.exp) = MkExpIdentifier((yyvsp[(1) - (1)].id)); (yyval.exp).loc = (yyloc); ;}
14820     break;
14821
14822   case 263:
14823
14824 /* Line 1464 of yacc.c  */
14825 #line 1439 "grammar.y"
14826     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (1)].instance)); (yyval.exp).loc = (yyloc); ;}
14827     break;
14828
14829   case 264:
14830
14831 /* Line 1464 of yacc.c  */
14832 #line 1440 "grammar.y"
14833     { (yyval.exp) = MkExpExtensionCompound((yyvsp[(3) - (4)].stmt)); (yyval.exp).loc = (yyloc); ;}
14834     break;
14835
14836   case 265:
14837
14838 /* Line 1464 of yacc.c  */
14839 #line 1441 "grammar.y"
14840     { (yyval.exp) = MkExpExtensionExpression((yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
14841     break;
14842
14843   case 266:
14844
14845 /* Line 1464 of yacc.c  */
14846 #line 1442 "grammar.y"
14847     { (yyval.exp) = MkExpExtensionInitializer((yyvsp[(3) - (5)].typeName), (yyvsp[(5) - (5)].initializer)); (yyval.exp).loc = (yyloc); ;}
14848     break;
14849
14850   case 267:
14851
14852 /* Line 1464 of yacc.c  */
14853 #line 1443 "grammar.y"
14854     { (yyval.exp) = MkExpExtensionInitializer((yyvsp[(3) - (8)].typeName), MkInitializerAssignment(MkExpExtensionInitializer((yyvsp[(6) - (8)].typeName), (yyvsp[(8) - (8)].initializer)))); (yyval.exp).loc = (yyloc); ;}
14855     break;
14856
14857   case 268:
14858
14859 /* Line 1464 of yacc.c  */
14860 #line 1444 "grammar.y"
14861     { (yyval.exp) = MkExpConstant(yytext); (yyval.exp).loc = (yyloc); ;}
14862     break;
14863
14864   case 270:
14865
14866 /* Line 1464 of yacc.c  */
14867 #line 1446 "grammar.y"
14868     { 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(); ;}
14869     break;
14870
14871   case 271:
14872
14873 /* Line 1464 of yacc.c  */
14874 #line 1447 "grammar.y"
14875     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
14876     break;
14877
14878   case 272:
14879
14880 /* Line 1464 of yacc.c  */
14881 #line 1448 "grammar.y"
14882     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
14883     break;
14884
14885   case 273:
14886
14887 /* Line 1464 of yacc.c  */
14888 #line 1449 "grammar.y"
14889     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
14890     break;
14891
14892   case 274:
14893
14894 /* Line 1464 of yacc.c  */
14895 #line 1450 "grammar.y"
14896     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
14897     break;
14898
14899   case 275:
14900
14901 /* Line 1464 of yacc.c  */
14902 #line 1451 "grammar.y"
14903     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
14904     break;
14905
14906   case 276:
14907
14908 /* Line 1464 of yacc.c  */
14909 #line 1452 "grammar.y"
14910     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
14911     break;
14912
14913   case 277:
14914
14915 /* Line 1464 of yacc.c  */
14916 #line 1453 "grammar.y"
14917     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
14918     break;
14919
14920   case 278:
14921
14922 /* Line 1464 of yacc.c  */
14923 #line 1454 "grammar.y"
14924     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
14925     break;
14926
14927   case 279:
14928
14929 /* Line 1464 of yacc.c  */
14930 #line 1455 "grammar.y"
14931     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
14932     break;
14933
14934   case 280:
14935
14936 /* Line 1464 of yacc.c  */
14937 #line 1456 "grammar.y"
14938     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
14939     break;
14940
14941   case 281:
14942
14943 /* Line 1464 of yacc.c  */
14944 #line 1457 "grammar.y"
14945     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
14946     break;
14947
14948   case 282:
14949
14950 /* Line 1464 of yacc.c  */
14951 #line 1458 "grammar.y"
14952     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
14953     break;
14954
14955   case 283:
14956
14957 /* Line 1464 of yacc.c  */
14958 #line 1459 "grammar.y"
14959     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
14960     break;
14961
14962   case 284:
14963
14964 /* Line 1464 of yacc.c  */
14965 #line 1460 "grammar.y"
14966     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
14967     break;
14968
14969   case 285:
14970
14971 /* Line 1464 of yacc.c  */
14972 #line 1461 "grammar.y"
14973     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
14974     break;
14975
14976   case 286:
14977
14978 /* Line 1464 of yacc.c  */
14979 #line 1462 "grammar.y"
14980     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
14981     break;
14982
14983   case 287:
14984
14985 /* Line 1464 of yacc.c  */
14986 #line 1463 "grammar.y"
14987     { (yyval.exp) = MkExpClass((yyvsp[(3) - (4)].list), null); (yyval.exp).loc = (yyloc); ;}
14988     break;
14989
14990   case 288:
14991
14992 /* Line 1464 of yacc.c  */
14993 #line 1464 "grammar.y"
14994     { (yyval.exp) = MkExpClass((yyvsp[(3) - (5)].list), (yyvsp[(4) - (5)].declarator)); (yyval.exp).loc = (yyloc); ;}
14995     break;
14996
14997   case 289:
14998
14999 /* Line 1464 of yacc.c  */
15000 #line 1465 "grammar.y"
15001     { (yyval.exp) = MkExpClass(MkListOne(MkSpecifierName((yyvsp[(3) - (4)].id).string)), null); FreeIdentifier((yyvsp[(3) - (4)].id)); (yyval.exp).loc = (yyloc); ;}
15002     break;
15003
15004   case 290:
15005
15006 /* Line 1464 of yacc.c  */
15007 #line 1466 "grammar.y"
15008     { (yyval.exp) = MkExpVaArg((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].typeName)); (yyval.exp).loc = (yyloc); ;}
15009     break;
15010
15011   case 291:
15012
15013 /* Line 1464 of yacc.c  */
15014 #line 1468 "grammar.y"
15015     { (yyval.exp) = MkExpClassData((yyvsp[(3) - (4)].id)); (yyval.exp).loc = (yyloc); ;}
15016     break;
15017
15018   case 296:
15019
15020 /* Line 1464 of yacc.c  */
15021 #line 1474 "grammar.y"
15022     { (yyval.exp) = MkExpArray((yyvsp[(2) - (3)].list)); (yyval.exp).loc = (yyloc); ;}
15023     break;
15024
15025   case 297:
15026
15027 /* Line 1464 of yacc.c  */
15028 #line 1478 "grammar.y"
15029     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (1)].instance)); (yyval.exp).loc = (yyloc); ;}
15030     break;
15031
15032   case 298:
15033
15034 /* Line 1464 of yacc.c  */
15035 #line 1482 "grammar.y"
15036     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
15037     break;
15038
15039   case 299:
15040
15041 /* Line 1464 of yacc.c  */
15042 #line 1486 "grammar.y"
15043     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (2)].list)); (yyval.exp).loc = (yyloc); ;}
15044     break;
15045
15046   case 300:
15047
15048 /* Line 1464 of yacc.c  */
15049 #line 1487 "grammar.y"
15050     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (2)].list)); (yyval.exp).loc = (yyloc); ;}
15051     break;
15052
15053   case 302:
15054
15055 /* Line 1464 of yacc.c  */
15056 #line 1493 "grammar.y"
15057     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15058     break;
15059
15060   case 303:
15061
15062 /* Line 1464 of yacc.c  */
15063 #line 1494 "grammar.y"
15064     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15065     break;
15066
15067   case 304:
15068
15069 /* Line 1464 of yacc.c  */
15070 #line 1495 "grammar.y"
15071     { (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); ;}
15072     break;
15073
15074   case 305:
15075
15076 /* Line 1464 of yacc.c  */
15077 #line 1496 "grammar.y"
15078     { (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); ;}
15079     break;
15080
15081   case 306:
15082
15083 /* Line 1464 of yacc.c  */
15084 #line 1497 "grammar.y"
15085     { (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; ;}
15086     break;
15087
15088   case 307:
15089
15090 /* Line 1464 of yacc.c  */
15091 #line 1498 "grammar.y"
15092     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15093     break;
15094
15095   case 308:
15096
15097 /* Line 1464 of yacc.c  */
15098 #line 1499 "grammar.y"
15099     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15100     break;
15101
15102   case 309:
15103
15104 /* Line 1464 of yacc.c  */
15105 #line 1500 "grammar.y"
15106     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
15107     break;
15108
15109   case 310:
15110
15111 /* Line 1464 of yacc.c  */
15112 #line 1501 "grammar.y"
15113     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
15114     break;
15115
15116   case 311:
15117
15118 /* Line 1464 of yacc.c  */
15119 #line 1503 "grammar.y"
15120     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15121     break;
15122
15123   case 312:
15124
15125 /* Line 1464 of yacc.c  */
15126 #line 1504 "grammar.y"
15127     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15128     break;
15129
15130   case 313:
15131
15132 /* Line 1464 of yacc.c  */
15133 #line 1505 "grammar.y"
15134     { (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); ;}
15135     break;
15136
15137   case 314:
15138
15139 /* Line 1464 of yacc.c  */
15140 #line 1506 "grammar.y"
15141     { (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); ;}
15142     break;
15143
15144   case 315:
15145
15146 /* Line 1464 of yacc.c  */
15147 #line 1507 "grammar.y"
15148     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15149     break;
15150
15151   case 316:
15152
15153 /* Line 1464 of yacc.c  */
15154 #line 1508 "grammar.y"
15155     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15156     break;
15157
15158   case 317:
15159
15160 /* Line 1464 of yacc.c  */
15161 #line 1509 "grammar.y"
15162     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
15163     break;
15164
15165   case 318:
15166
15167 /* Line 1464 of yacc.c  */
15168 #line 1510 "grammar.y"
15169     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
15170     break;
15171
15172   case 320:
15173
15174 /* Line 1464 of yacc.c  */
15175 #line 1516 "grammar.y"
15176     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15177     break;
15178
15179   case 321:
15180
15181 /* Line 1464 of yacc.c  */
15182 #line 1517 "grammar.y"
15183     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15184     break;
15185
15186   case 322:
15187
15188 /* Line 1464 of yacc.c  */
15189 #line 1518 "grammar.y"
15190     { (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); ;}
15191     break;
15192
15193   case 323:
15194
15195 /* Line 1464 of yacc.c  */
15196 #line 1519 "grammar.y"
15197     { (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); ;}
15198     break;
15199
15200   case 324:
15201
15202 /* Line 1464 of yacc.c  */
15203 #line 1520 "grammar.y"
15204     { (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; ;}
15205     break;
15206
15207   case 325:
15208
15209 /* Line 1464 of yacc.c  */
15210 #line 1521 "grammar.y"
15211     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15212     break;
15213
15214   case 326:
15215
15216 /* Line 1464 of yacc.c  */
15217 #line 1522 "grammar.y"
15218     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15219     break;
15220
15221   case 327:
15222
15223 /* Line 1464 of yacc.c  */
15224 #line 1523 "grammar.y"
15225     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
15226     break;
15227
15228   case 328:
15229
15230 /* Line 1464 of yacc.c  */
15231 #line 1524 "grammar.y"
15232     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
15233     break;
15234
15235   case 329:
15236
15237 /* Line 1464 of yacc.c  */
15238 #line 1526 "grammar.y"
15239     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15240     break;
15241
15242   case 330:
15243
15244 /* Line 1464 of yacc.c  */
15245 #line 1527 "grammar.y"
15246     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15247     break;
15248
15249   case 331:
15250
15251 /* Line 1464 of yacc.c  */
15252 #line 1528 "grammar.y"
15253     { (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); ;}
15254     break;
15255
15256   case 332:
15257
15258 /* Line 1464 of yacc.c  */
15259 #line 1529 "grammar.y"
15260     { (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); ;}
15261     break;
15262
15263   case 333:
15264
15265 /* Line 1464 of yacc.c  */
15266 #line 1530 "grammar.y"
15267     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15268     break;
15269
15270   case 334:
15271
15272 /* Line 1464 of yacc.c  */
15273 #line 1531 "grammar.y"
15274     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15275     break;
15276
15277   case 335:
15278
15279 /* Line 1464 of yacc.c  */
15280 #line 1532 "grammar.y"
15281     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
15282     break;
15283
15284   case 336:
15285
15286 /* Line 1464 of yacc.c  */
15287 #line 1533 "grammar.y"
15288     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
15289     break;
15290
15291   case 337:
15292
15293 /* Line 1464 of yacc.c  */
15294 #line 1537 "grammar.y"
15295     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15296     break;
15297
15298   case 338:
15299
15300 /* Line 1464 of yacc.c  */
15301 #line 1538 "grammar.y"
15302     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15303     break;
15304
15305   case 339:
15306
15307 /* Line 1464 of yacc.c  */
15308 #line 1539 "grammar.y"
15309     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15310     break;
15311
15312   case 340:
15313
15314 /* Line 1464 of yacc.c  */
15315 #line 1540 "grammar.y"
15316     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15317     break;
15318
15319   case 341:
15320
15321 /* Line 1464 of yacc.c  */
15322 #line 1544 "grammar.y"
15323     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15324     break;
15325
15326   case 342:
15327
15328 /* Line 1464 of yacc.c  */
15329 #line 1545 "grammar.y"
15330     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15331     break;
15332
15333   case 343:
15334
15335 /* Line 1464 of yacc.c  */
15336 #line 1546 "grammar.y"
15337     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15338     break;
15339
15340   case 344:
15341
15342 /* Line 1464 of yacc.c  */
15343 #line 1547 "grammar.y"
15344     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15345     break;
15346
15347   case 345:
15348
15349 /* Line 1464 of yacc.c  */
15350 #line 1548 "grammar.y"
15351     { Expression exp = MkExpDummy(); 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); ;}
15352     break;
15353
15354   case 346:
15355
15356 /* Line 1464 of yacc.c  */
15357 #line 1552 "grammar.y"
15358     { (yyval.exp) = MkExpOp(null, INC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15359     break;
15360
15361   case 347:
15362
15363 /* Line 1464 of yacc.c  */
15364 #line 1553 "grammar.y"
15365     { (yyval.exp) = MkExpOp(null, DEC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15366     break;
15367
15368   case 348:
15369
15370 /* Line 1464 of yacc.c  */
15371 #line 1554 "grammar.y"
15372     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15373     break;
15374
15375   case 349:
15376
15377 /* Line 1464 of yacc.c  */
15378 #line 1555 "grammar.y"
15379     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15380     break;
15381
15382   case 350:
15383
15384 /* Line 1464 of yacc.c  */
15385 #line 1556 "grammar.y"
15386     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(3) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
15387     break;
15388
15389   case 351:
15390
15391 /* Line 1464 of yacc.c  */
15392 #line 1557 "grammar.y"
15393     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15394     break;
15395
15396   case 352:
15397
15398 /* Line 1464 of yacc.c  */
15399 #line 1558 "grammar.y"
15400     { (yyval.exp) = MkExpTypeSize((yyvsp[(3) - (4)].typeName)); (yyval.exp).loc = (yyloc); ;}
15401     break;
15402
15403   case 353:
15404
15405 /* Line 1464 of yacc.c  */
15406 #line 1559 "grammar.y"
15407     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (5)].specifier)); (yyval.exp).loc = (yyloc); ;}
15408     break;
15409
15410   case 354:
15411
15412 /* Line 1464 of yacc.c  */
15413 #line 1560 "grammar.y"
15414     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (5)].specifier)); (yyval.exp).loc = (yyloc); ;}
15415     break;
15416
15417   case 355:
15418
15419 /* Line 1464 of yacc.c  */
15420 #line 1562 "grammar.y"
15421     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(3) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
15422     break;
15423
15424   case 356:
15425
15426 /* Line 1464 of yacc.c  */
15427 #line 1563 "grammar.y"
15428     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15429     break;
15430
15431   case 357:
15432
15433 /* Line 1464 of yacc.c  */
15434 #line 1564 "grammar.y"
15435     { (yyval.exp) = MkExpTypeAlign((yyvsp[(3) - (4)].typeName)); (yyval.exp).loc = (yyloc); ;}
15436     break;
15437
15438   case 362:
15439
15440 /* Line 1464 of yacc.c  */
15441 #line 1578 "grammar.y"
15442     { (yyval.i) = '&'; ;}
15443     break;
15444
15445   case 363:
15446
15447 /* Line 1464 of yacc.c  */
15448 #line 1579 "grammar.y"
15449     { (yyval.i) = '*'; ;}
15450     break;
15451
15452   case 364:
15453
15454 /* Line 1464 of yacc.c  */
15455 #line 1580 "grammar.y"
15456     { (yyval.i) = '+'; ;}
15457     break;
15458
15459   case 365:
15460
15461 /* Line 1464 of yacc.c  */
15462 #line 1581 "grammar.y"
15463     { (yyval.i) = '-'; ;}
15464     break;
15465
15466   case 366:
15467
15468 /* Line 1464 of yacc.c  */
15469 #line 1582 "grammar.y"
15470     { (yyval.i) = '~'; ;}
15471     break;
15472
15473   case 367:
15474
15475 /* Line 1464 of yacc.c  */
15476 #line 1583 "grammar.y"
15477     { (yyval.i) = '!'; ;}
15478     break;
15479
15480   case 368:
15481
15482 /* Line 1464 of yacc.c  */
15483 #line 1584 "grammar.y"
15484     { (yyval.i) = DELETE; ;}
15485     break;
15486
15487   case 369:
15488
15489 /* Line 1464 of yacc.c  */
15490 #line 1585 "grammar.y"
15491     { (yyval.i) = _INCREF; ;}
15492     break;
15493
15494   case 371:
15495
15496 /* Line 1464 of yacc.c  */
15497 #line 1590 "grammar.y"
15498     { (yyval.exp) = MkExpCast((yyvsp[(2) - (4)].typeName), (yyvsp[(4) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
15499     break;
15500
15501   case 373:
15502
15503 /* Line 1464 of yacc.c  */
15504 #line 1595 "grammar.y"
15505     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15506     break;
15507
15508   case 374:
15509
15510 /* Line 1464 of yacc.c  */
15511 #line 1596 "grammar.y"
15512     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15513     break;
15514
15515   case 375:
15516
15517 /* Line 1464 of yacc.c  */
15518 #line 1597 "grammar.y"
15519     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15520     break;
15521
15522   case 376:
15523
15524 /* Line 1464 of yacc.c  */
15525 #line 1598 "grammar.y"
15526     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15527     break;
15528
15529   case 377:
15530
15531 /* Line 1464 of yacc.c  */
15532 #line 1599 "grammar.y"
15533     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15534     break;
15535
15536   case 378:
15537
15538 /* Line 1464 of yacc.c  */
15539 #line 1600 "grammar.y"
15540     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15541     break;
15542
15543   case 380:
15544
15545 /* Line 1464 of yacc.c  */
15546 #line 1605 "grammar.y"
15547     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15548     break;
15549
15550   case 381:
15551
15552 /* Line 1464 of yacc.c  */
15553 #line 1606 "grammar.y"
15554     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15555     break;
15556
15557   case 382:
15558
15559 /* Line 1464 of yacc.c  */
15560 #line 1607 "grammar.y"
15561     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15562     break;
15563
15564   case 383:
15565
15566 /* Line 1464 of yacc.c  */
15567 #line 1608 "grammar.y"
15568     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15569     break;
15570
15571   case 385:
15572
15573 /* Line 1464 of yacc.c  */
15574 #line 1613 "grammar.y"
15575     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15576     break;
15577
15578   case 386:
15579
15580 /* Line 1464 of yacc.c  */
15581 #line 1614 "grammar.y"
15582     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15583     break;
15584
15585   case 387:
15586
15587 /* Line 1464 of yacc.c  */
15588 #line 1615 "grammar.y"
15589     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15590     break;
15591
15592   case 388:
15593
15594 /* Line 1464 of yacc.c  */
15595 #line 1616 "grammar.y"
15596     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15597     break;
15598
15599   case 389:
15600
15601 /* Line 1464 of yacc.c  */
15602 #line 1621 "grammar.y"
15603     {
15604       (yyval.exp) = (yyvsp[(1) - (2)].exp);
15605       skipErrors = true;
15606    ;}
15607     break;
15608
15609   case 391:
15610
15611 /* Line 1464 of yacc.c  */
15612 #line 1629 "grammar.y"
15613     { skipErrors = false; (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), '<', (yyvsp[(2) - (2)].exp)/*$3*/); (yyval.exp).loc = (yyloc); ;}
15614     break;
15615
15616   case 392:
15617
15618 /* Line 1464 of yacc.c  */
15619 #line 1630 "grammar.y"
15620     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15621     break;
15622
15623   case 393:
15624
15625 /* Line 1464 of yacc.c  */
15626 #line 1631 "grammar.y"
15627     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15628     break;
15629
15630   case 394:
15631
15632 /* Line 1464 of yacc.c  */
15633 #line 1632 "grammar.y"
15634     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15635     break;
15636
15637   case 395:
15638
15639 /* Line 1464 of yacc.c  */
15640 #line 1633 "grammar.y"
15641     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '<', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15642     break;
15643
15644   case 396:
15645
15646 /* Line 1464 of yacc.c  */
15647 #line 1634 "grammar.y"
15648     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15649     break;
15650
15651   case 397:
15652
15653 /* Line 1464 of yacc.c  */
15654 #line 1635 "grammar.y"
15655     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15656     break;
15657
15658   case 398:
15659
15660 /* Line 1464 of yacc.c  */
15661 #line 1636 "grammar.y"
15662     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15663     break;
15664
15665   case 400:
15666
15667 /* Line 1464 of yacc.c  */
15668 #line 1641 "grammar.y"
15669     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15670     break;
15671
15672   case 401:
15673
15674 /* Line 1464 of yacc.c  */
15675 #line 1642 "grammar.y"
15676     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15677     break;
15678
15679   case 402:
15680
15681 /* Line 1464 of yacc.c  */
15682 #line 1643 "grammar.y"
15683     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15684     break;
15685
15686   case 403:
15687
15688 /* Line 1464 of yacc.c  */
15689 #line 1644 "grammar.y"
15690     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15691     break;
15692
15693   case 404:
15694
15695 /* Line 1464 of yacc.c  */
15696 #line 1646 "grammar.y"
15697     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15698     break;
15699
15700   case 405:
15701
15702 /* Line 1464 of yacc.c  */
15703 #line 1647 "grammar.y"
15704     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15705     break;
15706
15707   case 406:
15708
15709 /* Line 1464 of yacc.c  */
15710 #line 1648 "grammar.y"
15711     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15712     break;
15713
15714   case 407:
15715
15716 /* Line 1464 of yacc.c  */
15717 #line 1649 "grammar.y"
15718     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15719     break;
15720
15721   case 409:
15722
15723 /* Line 1464 of yacc.c  */
15724 #line 1654 "grammar.y"
15725     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15726     break;
15727
15728   case 410:
15729
15730 /* Line 1464 of yacc.c  */
15731 #line 1655 "grammar.y"
15732     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15733     break;
15734
15735   case 411:
15736
15737 /* Line 1464 of yacc.c  */
15738 #line 1657 "grammar.y"
15739     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15740     break;
15741
15742   case 412:
15743
15744 /* Line 1464 of yacc.c  */
15745 #line 1658 "grammar.y"
15746     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15747     break;
15748
15749   case 414:
15750
15751 /* Line 1464 of yacc.c  */
15752 #line 1663 "grammar.y"
15753     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15754     break;
15755
15756   case 415:
15757
15758 /* Line 1464 of yacc.c  */
15759 #line 1664 "grammar.y"
15760     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15761     break;
15762
15763   case 416:
15764
15765 /* Line 1464 of yacc.c  */
15766 #line 1666 "grammar.y"
15767     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15768     break;
15769
15770   case 417:
15771
15772 /* Line 1464 of yacc.c  */
15773 #line 1667 "grammar.y"
15774     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15775     break;
15776
15777   case 419:
15778
15779 /* Line 1464 of yacc.c  */
15780 #line 1672 "grammar.y"
15781     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15782     break;
15783
15784   case 420:
15785
15786 /* Line 1464 of yacc.c  */
15787 #line 1673 "grammar.y"
15788     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15789     break;
15790
15791   case 421:
15792
15793 /* Line 1464 of yacc.c  */
15794 #line 1675 "grammar.y"
15795     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15796     break;
15797
15798   case 422:
15799
15800 /* Line 1464 of yacc.c  */
15801 #line 1676 "grammar.y"
15802     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15803     break;
15804
15805   case 424:
15806
15807 /* Line 1464 of yacc.c  */
15808 #line 1681 "grammar.y"
15809     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15810     break;
15811
15812   case 425:
15813
15814 /* Line 1464 of yacc.c  */
15815 #line 1682 "grammar.y"
15816     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15817     break;
15818
15819   case 427:
15820
15821 /* Line 1464 of yacc.c  */
15822 #line 1687 "grammar.y"
15823     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15824     break;
15825
15826   case 428:
15827
15828 /* Line 1464 of yacc.c  */
15829 #line 1688 "grammar.y"
15830     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15831     break;
15832
15833   case 430:
15834
15835 /* Line 1464 of yacc.c  */
15836 #line 1693 "grammar.y"
15837     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15838     break;
15839
15840   case 431:
15841
15842 /* Line 1464 of yacc.c  */
15843 #line 1694 "grammar.y"
15844     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15845     break;
15846
15847   case 432:
15848
15849 /* Line 1464 of yacc.c  */
15850 #line 1695 "grammar.y"
15851     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15852     break;
15853
15854   case 433:
15855
15856 /* Line 1464 of yacc.c  */
15857 #line 1696 "grammar.y"
15858     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15859     break;
15860
15861   case 434:
15862
15863 /* Line 1464 of yacc.c  */
15864 #line 1698 "grammar.y"
15865     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15866     break;
15867
15868   case 435:
15869
15870 /* Line 1464 of yacc.c  */
15871 #line 1699 "grammar.y"
15872     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15873     break;
15874
15875   case 436:
15876
15877 /* Line 1464 of yacc.c  */
15878 #line 1700 "grammar.y"
15879     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15880     break;
15881
15882   case 437:
15883
15884 /* Line 1464 of yacc.c  */
15885 #line 1701 "grammar.y"
15886     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15887     break;
15888
15889   case 438:
15890
15891 /* Line 1464 of yacc.c  */
15892 #line 1703 "grammar.y"
15893     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15894     break;
15895
15896   case 439:
15897
15898 /* Line 1464 of yacc.c  */
15899 #line 1704 "grammar.y"
15900     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15901     break;
15902
15903   case 440:
15904
15905 /* Line 1464 of yacc.c  */
15906 #line 1705 "grammar.y"
15907     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15908     break;
15909
15910   case 441:
15911
15912 /* Line 1464 of yacc.c  */
15913 #line 1706 "grammar.y"
15914     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15915     break;
15916
15917   case 442:
15918
15919 /* Line 1464 of yacc.c  */
15920 #line 1708 "grammar.y"
15921     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15922     break;
15923
15924   case 443:
15925
15926 /* Line 1464 of yacc.c  */
15927 #line 1709 "grammar.y"
15928     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15929     break;
15930
15931   case 444:
15932
15933 /* Line 1464 of yacc.c  */
15934 #line 1710 "grammar.y"
15935     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15936     break;
15937
15938   case 445:
15939
15940 /* Line 1464 of yacc.c  */
15941 #line 1711 "grammar.y"
15942     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15943     break;
15944
15945   case 447:
15946
15947 /* Line 1464 of yacc.c  */
15948 #line 1716 "grammar.y"
15949     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15950     break;
15951
15952   case 448:
15953
15954 /* Line 1464 of yacc.c  */
15955 #line 1717 "grammar.y"
15956     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15957     break;
15958
15959   case 449:
15960
15961 /* Line 1464 of yacc.c  */
15962 #line 1718 "grammar.y"
15963     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15964     break;
15965
15966   case 450:
15967
15968 /* Line 1464 of yacc.c  */
15969 #line 1719 "grammar.y"
15970     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15971     break;
15972
15973   case 451:
15974
15975 /* Line 1464 of yacc.c  */
15976 #line 1721 "grammar.y"
15977     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15978     break;
15979
15980   case 452:
15981
15982 /* Line 1464 of yacc.c  */
15983 #line 1722 "grammar.y"
15984     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15985     break;
15986
15987   case 453:
15988
15989 /* Line 1464 of yacc.c  */
15990 #line 1723 "grammar.y"
15991     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15992     break;
15993
15994   case 454:
15995
15996 /* Line 1464 of yacc.c  */
15997 #line 1724 "grammar.y"
15998     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15999     break;
16000
16001   case 455:
16002
16003 /* Line 1464 of yacc.c  */
16004 #line 1728 "grammar.y"
16005     { (yyval.i) = '='; ;}
16006     break;
16007
16008   case 456:
16009
16010 /* Line 1464 of yacc.c  */
16011 #line 1729 "grammar.y"
16012     { (yyval.i) = MUL_ASSIGN; ;}
16013     break;
16014
16015   case 457:
16016
16017 /* Line 1464 of yacc.c  */
16018 #line 1730 "grammar.y"
16019     { (yyval.i) = DIV_ASSIGN; ;}
16020     break;
16021
16022   case 458:
16023
16024 /* Line 1464 of yacc.c  */
16025 #line 1731 "grammar.y"
16026     { (yyval.i) = MOD_ASSIGN; ;}
16027     break;
16028
16029   case 459:
16030
16031 /* Line 1464 of yacc.c  */
16032 #line 1732 "grammar.y"
16033     { (yyval.i) = ADD_ASSIGN; ;}
16034     break;
16035
16036   case 460:
16037
16038 /* Line 1464 of yacc.c  */
16039 #line 1733 "grammar.y"
16040     { (yyval.i) = SUB_ASSIGN; ;}
16041     break;
16042
16043   case 461:
16044
16045 /* Line 1464 of yacc.c  */
16046 #line 1734 "grammar.y"
16047     { (yyval.i) = LEFT_ASSIGN; ;}
16048     break;
16049
16050   case 462:
16051
16052 /* Line 1464 of yacc.c  */
16053 #line 1735 "grammar.y"
16054     { (yyval.i) = RIGHT_ASSIGN; ;}
16055     break;
16056
16057   case 463:
16058
16059 /* Line 1464 of yacc.c  */
16060 #line 1736 "grammar.y"
16061     { (yyval.i) = AND_ASSIGN; ;}
16062     break;
16063
16064   case 464:
16065
16066 /* Line 1464 of yacc.c  */
16067 #line 1737 "grammar.y"
16068     { (yyval.i) = XOR_ASSIGN; ;}
16069     break;
16070
16071   case 465:
16072
16073 /* Line 1464 of yacc.c  */
16074 #line 1738 "grammar.y"
16075     { (yyval.i) = OR_ASSIGN; ;}
16076     break;
16077
16078   case 466:
16079
16080 /* Line 1464 of yacc.c  */
16081 #line 1742 "grammar.y"
16082     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16083     break;
16084
16085   case 467:
16086
16087 /* Line 1464 of yacc.c  */
16088 #line 1743 "grammar.y"
16089     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16090     break;
16091
16092   case 468:
16093
16094 /* Line 1464 of yacc.c  */
16095 #line 1744 "grammar.y"
16096     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16097     break;
16098
16099   case 470:
16100
16101 /* Line 1464 of yacc.c  */
16102 #line 1749 "grammar.y"
16103     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16104     break;
16105
16106   case 471:
16107
16108 /* Line 1464 of yacc.c  */
16109 #line 1750 "grammar.y"
16110     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16111     break;
16112
16113   case 472:
16114
16115 /* Line 1464 of yacc.c  */
16116 #line 1751 "grammar.y"
16117     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16118     break;
16119
16120   case 474:
16121
16122 /* Line 1464 of yacc.c  */
16123 #line 1756 "grammar.y"
16124     { (yyval.exp) = MkExpDummy(); (yyval.exp).loc = (yyloc); /*printf("Sorry, didn't mean that syntax error\n");*/ ;}
16125     break;
16126
16127   case 476:
16128
16129 /* Line 1464 of yacc.c  */
16130 #line 1758 "grammar.y"
16131     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
16132     break;
16133
16134   case 477:
16135
16136 /* Line 1464 of yacc.c  */
16137 #line 1760 "grammar.y"
16138     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16139     break;
16140
16141   case 478:
16142
16143 /* Line 1464 of yacc.c  */
16144 #line 1761 "grammar.y"
16145     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16146     break;
16147
16148   case 479:
16149
16150 /* Line 1464 of yacc.c  */
16151 #line 1763 "grammar.y"
16152     { (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++;;}
16153     break;
16154
16155   case 480:
16156
16157 /* Line 1464 of yacc.c  */
16158 #line 1764 "grammar.y"
16159     { (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++;;}
16160     break;
16161
16162   case 481:
16163
16164 /* Line 1464 of yacc.c  */
16165 #line 1769 "grammar.y"
16166     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16167     break;
16168
16169   case 482:
16170
16171 /* Line 1464 of yacc.c  */
16172 #line 1771 "grammar.y"
16173     { (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++;;}
16174     break;
16175
16176   case 483:
16177
16178 /* Line 1464 of yacc.c  */
16179 #line 1776 "grammar.y"
16180     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16181     break;
16182
16183   case 484:
16184
16185 /* Line 1464 of yacc.c  */
16186 #line 1780 "grammar.y"
16187     { (yyval.exp) = MkExpDummy(); (yyval.exp).loc = (yyloc); ;}
16188     break;
16189
16190   case 486:
16191
16192 /* Line 1464 of yacc.c  */
16193 #line 1782 "grammar.y"
16194     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
16195     break;
16196
16197   case 487:
16198
16199 /* Line 1464 of yacc.c  */
16200 #line 1784 "grammar.y"
16201     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16202     break;
16203
16204   case 488:
16205
16206 /* Line 1464 of yacc.c  */
16207 #line 1785 "grammar.y"
16208     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16209     break;
16210
16211   case 489:
16212
16213 /* Line 1464 of yacc.c  */
16214 #line 1787 "grammar.y"
16215     { (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++;;}
16216     break;
16217
16218   case 490:
16219
16220 /* Line 1464 of yacc.c  */
16221 #line 1788 "grammar.y"
16222     { (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++;;}
16223     break;
16224
16225   case 491:
16226
16227 /* Line 1464 of yacc.c  */
16228 #line 1793 "grammar.y"
16229     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16230     break;
16231
16232   case 492:
16233
16234 /* Line 1464 of yacc.c  */
16235 #line 1795 "grammar.y"
16236     { (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++;;}
16237     break;
16238
16239   case 493:
16240
16241 /* Line 1464 of yacc.c  */
16242 #line 1800 "grammar.y"
16243     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16244     break;
16245
16246   case 494:
16247
16248 /* Line 1464 of yacc.c  */
16249 #line 1804 "grammar.y"
16250     { (yyval.exp) = MkExpOp(null, INC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16251     break;
16252
16253   case 495:
16254
16255 /* Line 1464 of yacc.c  */
16256 #line 1805 "grammar.y"
16257     { (yyval.exp) = MkExpOp(null, DEC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16258     break;
16259
16260   case 496:
16261
16262 /* Line 1464 of yacc.c  */
16263 #line 1806 "grammar.y"
16264     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16265     break;
16266
16267   case 497:
16268
16269 /* Line 1464 of yacc.c  */
16270 #line 1807 "grammar.y"
16271     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16272     break;
16273
16274   case 498:
16275
16276 /* Line 1464 of yacc.c  */
16277 #line 1808 "grammar.y"
16278     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16279     break;
16280
16281   case 499:
16282
16283 /* Line 1464 of yacc.c  */
16284 #line 1809 "grammar.y"
16285     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16286     break;
16287
16288   case 500:
16289
16290 /* Line 1464 of yacc.c  */
16291 #line 1810 "grammar.y"
16292     { (yyval.exp) = MkExpTypeSize((yyvsp[(3) - (5)].typeName)); (yyval.exp).loc = (yyloc); ;}
16293     break;
16294
16295   case 501:
16296
16297 /* Line 1464 of yacc.c  */
16298 #line 1811 "grammar.y"
16299     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (6)].specifier)); (yyval.exp).loc = (yyloc); ;}
16300     break;
16301
16302   case 502:
16303
16304 /* Line 1464 of yacc.c  */
16305 #line 1812 "grammar.y"
16306     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (6)].specifier)); (yyval.exp).loc = (yyloc); ;}
16307     break;
16308
16309   case 503:
16310
16311 /* Line 1464 of yacc.c  */
16312 #line 1813 "grammar.y"
16313     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16314     break;
16315
16316   case 504:
16317
16318 /* Line 1464 of yacc.c  */
16319 #line 1814 "grammar.y"
16320     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16321     break;
16322
16323   case 505:
16324
16325 /* Line 1464 of yacc.c  */
16326 #line 1815 "grammar.y"
16327     { (yyval.exp) = MkExpTypeAlign((yyvsp[(3) - (5)].typeName)); (yyval.exp).loc = (yyloc); ;}
16328     break;
16329
16330   case 511:
16331
16332 /* Line 1464 of yacc.c  */
16333 #line 1831 "grammar.y"
16334     { (yyval.exp) = MkExpCast((yyvsp[(2) - (4)].typeName), (yyvsp[(4) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
16335     break;
16336
16337   case 513:
16338
16339 /* Line 1464 of yacc.c  */
16340 #line 1836 "grammar.y"
16341     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16342     break;
16343
16344   case 514:
16345
16346 /* Line 1464 of yacc.c  */
16347 #line 1837 "grammar.y"
16348     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16349     break;
16350
16351   case 515:
16352
16353 /* Line 1464 of yacc.c  */
16354 #line 1838 "grammar.y"
16355     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16356     break;
16357
16358   case 516:
16359
16360 /* Line 1464 of yacc.c  */
16361 #line 1839 "grammar.y"
16362     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16363     break;
16364
16365   case 517:
16366
16367 /* Line 1464 of yacc.c  */
16368 #line 1840 "grammar.y"
16369     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16370     break;
16371
16372   case 518:
16373
16374 /* Line 1464 of yacc.c  */
16375 #line 1841 "grammar.y"
16376     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16377     break;
16378
16379   case 520:
16380
16381 /* Line 1464 of yacc.c  */
16382 #line 1846 "grammar.y"
16383     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16384     break;
16385
16386   case 521:
16387
16388 /* Line 1464 of yacc.c  */
16389 #line 1850 "grammar.y"
16390     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16391     break;
16392
16393   case 522:
16394
16395 /* Line 1464 of yacc.c  */
16396 #line 1854 "grammar.y"
16397     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16398     break;
16399
16400   case 523:
16401
16402 /* Line 1464 of yacc.c  */
16403 #line 1858 "grammar.y"
16404     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16405     break;
16406
16407   case 525:
16408
16409 /* Line 1464 of yacc.c  */
16410 #line 1866 "grammar.y"
16411     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16412     break;
16413
16414   case 526:
16415
16416 /* Line 1464 of yacc.c  */
16417 #line 1867 "grammar.y"
16418     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16419     break;
16420
16421   case 527:
16422
16423 /* Line 1464 of yacc.c  */
16424 #line 1868 "grammar.y"
16425     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16426     break;
16427
16428   case 528:
16429
16430 /* Line 1464 of yacc.c  */
16431 #line 1869 "grammar.y"
16432     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16433     break;
16434
16435   case 530:
16436
16437 /* Line 1464 of yacc.c  */
16438 #line 1875 "grammar.y"
16439     {
16440       if((yyvsp[(1) - (2)].exp).type == identifierExp)
16441       {
16442          if((yyvsp[(1) - (2)].exp).identifier._class && !(yyvsp[(1) - (2)].exp).identifier._class.name)
16443          {
16444             char name[1024];
16445             strcpy(name, "::");
16446             strcat(name, (yyvsp[(1) - (2)].exp).identifier.string);
16447             _DeclClass(0, name);
16448          }
16449          else
16450             _DeclClass(0, (yyvsp[(1) - (2)].exp).identifier.string);
16451
16452          // printf("Declaring Class %s\n", $1.identifier.string);
16453          skipErrors = false;
16454
16455          FreeExpression((yyvsp[(1) - (2)].exp));
16456          FreeExpression((yyvsp[(2) - (2)].exp));
16457          
16458          fileInput.Seek((yylsp[(1) - (2)]).start.pos, start); 
16459          resetScannerPos(&(yylsp[(1) - (2)]).start);
16460          yyclearin;
16461
16462          YYPOPSTACK(1);
16463          yystate = *yyssp;
16464          YY_STACK_PRINT (yyss, yyssp);
16465
16466          YYPOPSTACK(1);
16467          yystate = *yyssp;
16468          YY_STACK_PRINT (yyss, yyssp);
16469 /*         
16470          YYPOPSTACK(1);
16471          yystate = *yyssp;
16472          YY_STACK_PRINT (yyss, yyssp);
16473
16474          YYPOPSTACK(1);
16475          yystate = *yyssp;
16476          YY_STACK_PRINT (yyss, yyssp);
16477 */
16478          yyerrok;
16479
16480          goto yysetstate;
16481       }
16482       else
16483       {
16484          (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), '<', (yyvsp[(2) - (2)].exp));
16485          (yyval.exp).loc = (yyloc);
16486       } 
16487       skipErrors = false;
16488    ;}
16489     break;
16490
16491   case 531:
16492
16493 /* Line 1464 of yacc.c  */
16494 #line 1925 "grammar.y"
16495     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16496     break;
16497
16498   case 532:
16499
16500 /* Line 1464 of yacc.c  */
16501 #line 1926 "grammar.y"
16502     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16503     break;
16504
16505   case 533:
16506
16507 /* Line 1464 of yacc.c  */
16508 #line 1927 "grammar.y"
16509     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16510     break;
16511
16512   case 534:
16513
16514 /* Line 1464 of yacc.c  */
16515 #line 1928 "grammar.y"
16516     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '<', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16517     break;
16518
16519   case 535:
16520
16521 /* Line 1464 of yacc.c  */
16522 #line 1929 "grammar.y"
16523     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16524     break;
16525
16526   case 536:
16527
16528 /* Line 1464 of yacc.c  */
16529 #line 1930 "grammar.y"
16530     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16531     break;
16532
16533   case 537:
16534
16535 /* Line 1464 of yacc.c  */
16536 #line 1931 "grammar.y"
16537     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16538     break;
16539
16540   case 539:
16541
16542 /* Line 1464 of yacc.c  */
16543 #line 1936 "grammar.y"
16544     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16545     break;
16546
16547   case 540:
16548
16549 /* Line 1464 of yacc.c  */
16550 #line 1937 "grammar.y"
16551     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16552     break;
16553
16554   case 541:
16555
16556 /* Line 1464 of yacc.c  */
16557 #line 1938 "grammar.y"
16558     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16559     break;
16560
16561   case 542:
16562
16563 /* Line 1464 of yacc.c  */
16564 #line 1939 "grammar.y"
16565     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16566     break;
16567
16568   case 543:
16569
16570 /* Line 1464 of yacc.c  */
16571 #line 1946 "grammar.y"
16572     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16573     break;
16574
16575   case 544:
16576
16577 /* Line 1464 of yacc.c  */
16578 #line 1947 "grammar.y"
16579     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16580     break;
16581
16582   case 545:
16583
16584 /* Line 1464 of yacc.c  */
16585 #line 1948 "grammar.y"
16586     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16587     break;
16588
16589   case 546:
16590
16591 /* Line 1464 of yacc.c  */
16592 #line 1949 "grammar.y"
16593     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16594     break;
16595
16596   case 548:
16597
16598 /* Line 1464 of yacc.c  */
16599 #line 1954 "grammar.y"
16600     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16601     break;
16602
16603   case 549:
16604
16605 /* Line 1464 of yacc.c  */
16606 #line 1955 "grammar.y"
16607     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16608     break;
16609
16610   case 550:
16611
16612 /* Line 1464 of yacc.c  */
16613 #line 1957 "grammar.y"
16614     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16615     break;
16616
16617   case 551:
16618
16619 /* Line 1464 of yacc.c  */
16620 #line 1958 "grammar.y"
16621     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16622     break;
16623
16624   case 553:
16625
16626 /* Line 1464 of yacc.c  */
16627 #line 1963 "grammar.y"
16628     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16629     break;
16630
16631   case 554:
16632
16633 /* Line 1464 of yacc.c  */
16634 #line 1964 "grammar.y"
16635     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16636     break;
16637
16638   case 555:
16639
16640 /* Line 1464 of yacc.c  */
16641 #line 1966 "grammar.y"
16642     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16643     break;
16644
16645   case 556:
16646
16647 /* Line 1464 of yacc.c  */
16648 #line 1967 "grammar.y"
16649     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16650     break;
16651
16652   case 558:
16653
16654 /* Line 1464 of yacc.c  */
16655 #line 1972 "grammar.y"
16656     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16657     break;
16658
16659   case 559:
16660
16661 /* Line 1464 of yacc.c  */
16662 #line 1973 "grammar.y"
16663     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16664     break;
16665
16666   case 560:
16667
16668 /* Line 1464 of yacc.c  */
16669 #line 1975 "grammar.y"
16670     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16671     break;
16672
16673   case 561:
16674
16675 /* Line 1464 of yacc.c  */
16676 #line 1976 "grammar.y"
16677     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16678     break;
16679
16680   case 563:
16681
16682 /* Line 1464 of yacc.c  */
16683 #line 1981 "grammar.y"
16684     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16685     break;
16686
16687   case 564:
16688
16689 /* Line 1464 of yacc.c  */
16690 #line 1982 "grammar.y"
16691     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16692     break;
16693
16694   case 566:
16695
16696 /* Line 1464 of yacc.c  */
16697 #line 1987 "grammar.y"
16698     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16699     break;
16700
16701   case 567:
16702
16703 /* Line 1464 of yacc.c  */
16704 #line 1988 "grammar.y"
16705     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16706     break;
16707
16708   case 569:
16709
16710 /* Line 1464 of yacc.c  */
16711 #line 1993 "grammar.y"
16712     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16713     break;
16714
16715   case 570:
16716
16717 /* Line 1464 of yacc.c  */
16718 #line 1994 "grammar.y"
16719     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16720     break;
16721
16722   case 571:
16723
16724 /* Line 1464 of yacc.c  */
16725 #line 1995 "grammar.y"
16726     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16727     break;
16728
16729   case 572:
16730
16731 /* Line 1464 of yacc.c  */
16732 #line 1996 "grammar.y"
16733     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16734     break;
16735
16736   case 573:
16737
16738 /* Line 1464 of yacc.c  */
16739 #line 1997 "grammar.y"
16740     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16741     break;
16742
16743   case 574:
16744
16745 /* Line 1464 of yacc.c  */
16746 #line 1998 "grammar.y"
16747     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16748     break;
16749
16750   case 575:
16751
16752 /* Line 1464 of yacc.c  */
16753 #line 1999 "grammar.y"
16754     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16755     break;
16756
16757   case 576:
16758
16759 /* Line 1464 of yacc.c  */
16760 #line 2000 "grammar.y"
16761     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16762     break;
16763
16764   case 577:
16765
16766 /* Line 1464 of yacc.c  */
16767 #line 2002 "grammar.y"
16768     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16769     break;
16770
16771   case 578:
16772
16773 /* Line 1464 of yacc.c  */
16774 #line 2003 "grammar.y"
16775     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16776     break;
16777
16778   case 579:
16779
16780 /* Line 1464 of yacc.c  */
16781 #line 2004 "grammar.y"
16782     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16783     break;
16784
16785   case 580:
16786
16787 /* Line 1464 of yacc.c  */
16788 #line 2005 "grammar.y"
16789     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16790     break;
16791
16792   case 581:
16793
16794 /* Line 1464 of yacc.c  */
16795 #line 2006 "grammar.y"
16796     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16797     break;
16798
16799   case 582:
16800
16801 /* Line 1464 of yacc.c  */
16802 #line 2007 "grammar.y"
16803     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16804     break;
16805
16806   case 583:
16807
16808 /* Line 1464 of yacc.c  */
16809 #line 2008 "grammar.y"
16810     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16811     break;
16812
16813   case 584:
16814
16815 /* Line 1464 of yacc.c  */
16816 #line 2009 "grammar.y"
16817     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16818     break;
16819
16820   case 585:
16821
16822 /* Line 1464 of yacc.c  */
16823 #line 2011 "grammar.y"
16824     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16825     break;
16826
16827   case 586:
16828
16829 /* Line 1464 of yacc.c  */
16830 #line 2012 "grammar.y"
16831     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16832     break;
16833
16834   case 587:
16835
16836 /* Line 1464 of yacc.c  */
16837 #line 2013 "grammar.y"
16838     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16839     break;
16840
16841   case 588:
16842
16843 /* Line 1464 of yacc.c  */
16844 #line 2014 "grammar.y"
16845     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16846     break;
16847
16848   case 589:
16849
16850 /* Line 1464 of yacc.c  */
16851 #line 2016 "grammar.y"
16852     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16853     break;
16854
16855   case 590:
16856
16857 /* Line 1464 of yacc.c  */
16858 #line 2017 "grammar.y"
16859     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16860     break;
16861
16862   case 591:
16863
16864 /* Line 1464 of yacc.c  */
16865 #line 2018 "grammar.y"
16866     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16867     break;
16868
16869   case 592:
16870
16871 /* Line 1464 of yacc.c  */
16872 #line 2019 "grammar.y"
16873     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16874     break;
16875
16876   case 593:
16877
16878 /* Line 1464 of yacc.c  */
16879 #line 2022 "grammar.y"
16880     { 
16881          (yyval.exp) = MkExpCondition((yyvsp[(1) - (3)].exp), MkListOne(MkExpDummy()), MkExpDummy()); 
16882          (yyval.exp).loc = (yyloc); 
16883          ((Expression)(yyval.exp).cond.exp->last).loc = (yylsp[(2) - (3)]); 
16884          (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (3)]); 
16885       ;}
16886     break;
16887
16888   case 594:
16889
16890 /* Line 1464 of yacc.c  */
16891 #line 2029 "grammar.y"
16892     {
16893          (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)]);
16894       ;}
16895     break;
16896
16897   case 595:
16898
16899 /* Line 1464 of yacc.c  */
16900 #line 2033 "grammar.y"
16901     {
16902          (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)]);
16903       ;}
16904     break;
16905
16906   case 596:
16907
16908 /* Line 1464 of yacc.c  */
16909 #line 2037 "grammar.y"
16910     {
16911          (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)]);
16912       ;}
16913     break;
16914
16915   case 598:
16916
16917 /* Line 1464 of yacc.c  */
16918 #line 2044 "grammar.y"
16919     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16920     break;
16921
16922   case 599:
16923
16924 /* Line 1464 of yacc.c  */
16925 #line 2048 "grammar.y"
16926     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16927     break;
16928
16929   case 600:
16930
16931 /* Line 1464 of yacc.c  */
16932 #line 2053 "grammar.y"
16933     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16934     break;
16935
16936   case 601:
16937
16938 /* Line 1464 of yacc.c  */
16939 #line 2054 "grammar.y"
16940     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16941     break;
16942
16943   case 602:
16944
16945 /* Line 1464 of yacc.c  */
16946 #line 2058 "grammar.y"
16947     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16948     break;
16949
16950   case 603:
16951
16952 /* Line 1464 of yacc.c  */
16953 #line 2059 "grammar.y"
16954     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].exp)); ;}
16955     break;
16956
16957   case 604:
16958
16959 /* Line 1464 of yacc.c  */
16960 #line 2060 "grammar.y"
16961     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16962     break;
16963
16964   case 605:
16965
16966 /* Line 1464 of yacc.c  */
16967 #line 2061 "grammar.y"
16968     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16969     break;
16970
16971   case 606:
16972
16973 /* Line 1464 of yacc.c  */
16974 #line 2067 "grammar.y"
16975     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
16976     break;
16977
16978   case 607:
16979
16980 /* Line 1464 of yacc.c  */
16981 #line 2068 "grammar.y"
16982     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
16983     break;
16984
16985   case 608:
16986
16987 /* Line 1464 of yacc.c  */
16988 #line 2069 "grammar.y"
16989     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
16990     break;
16991
16992   case 609:
16993
16994 /* Line 1464 of yacc.c  */
16995 #line 2073 "grammar.y"
16996     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16997     break;
16998
16999   case 610:
17000
17001 /* Line 1464 of yacc.c  */
17002 #line 2074 "grammar.y"
17003     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].exp)); ;}
17004     break;
17005
17006   case 611:
17007
17008 /* Line 1464 of yacc.c  */
17009 #line 2075 "grammar.y"
17010     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17011     break;
17012
17013   case 612:
17014
17015 /* Line 1464 of yacc.c  */
17016 #line 2076 "grammar.y"
17017     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17018     break;
17019
17020   case 615:
17021
17022 /* Line 1464 of yacc.c  */
17023 #line 2086 "grammar.y"
17024     { (yyval.specifier) = MkSpecifier(TYPEDEF); ;}
17025     break;
17026
17027   case 616:
17028
17029 /* Line 1464 of yacc.c  */
17030 #line 2087 "grammar.y"
17031     { (yyval.specifier) = MkSpecifier(EXTERN); ;}
17032     break;
17033
17034   case 617:
17035
17036 /* Line 1464 of yacc.c  */
17037 #line 2088 "grammar.y"
17038     { (yyval.specifier) = MkSpecifier(STATIC); ;}
17039     break;
17040
17041   case 618:
17042
17043 /* Line 1464 of yacc.c  */
17044 #line 2089 "grammar.y"
17045     { (yyval.specifier) = MkSpecifier(AUTO); ;}
17046     break;
17047
17048   case 619:
17049
17050 /* Line 1464 of yacc.c  */
17051 #line 2090 "grammar.y"
17052     { (yyval.specifier) = MkSpecifier(REGISTER); ;}
17053     break;
17054
17055   case 620:
17056
17057 /* Line 1464 of yacc.c  */
17058 #line 2094 "grammar.y"
17059     { (yyval.specifier) = MkSpecifier(TYPEDEF); declMode = defaultAccess; ;}
17060     break;
17061
17062   case 621:
17063
17064 /* Line 1464 of yacc.c  */
17065 #line 2095 "grammar.y"
17066     { (yyval.specifier) = MkSpecifier(EXTERN); ;}
17067     break;
17068
17069   case 622:
17070
17071 /* Line 1464 of yacc.c  */
17072 #line 2096 "grammar.y"
17073     { (yyval.specifier) = MkSpecifier(STATIC); declMode = staticAccess; ;}
17074     break;
17075
17076   case 623:
17077
17078 /* Line 1464 of yacc.c  */
17079 #line 2097 "grammar.y"
17080     { (yyval.specifier) = MkSpecifier(AUTO); ;}
17081     break;
17082
17083   case 624:
17084
17085 /* Line 1464 of yacc.c  */
17086 #line 2098 "grammar.y"
17087     { (yyval.specifier) = MkSpecifier(REGISTER); ;}
17088     break;
17089
17090   case 625:
17091
17092 /* Line 1464 of yacc.c  */
17093 #line 2102 "grammar.y"
17094     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (1)].id), null); ;}
17095     break;
17096
17097   case 626:
17098
17099 /* Line 1464 of yacc.c  */
17100 #line 2103 "grammar.y"
17101     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].exp)); ;}
17102     break;
17103
17104   case 627:
17105
17106 /* Line 1464 of yacc.c  */
17107 #line 2104 "grammar.y"
17108     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].exp)); ;}
17109     break;
17110
17111   case 628:
17112
17113 /* Line 1464 of yacc.c  */
17114 #line 2108 "grammar.y"
17115     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].enumerator)); ;}
17116     break;
17117
17118   case 629:
17119
17120 /* Line 1464 of yacc.c  */
17121 #line 2109 "grammar.y"
17122     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].enumerator)); ;}
17123     break;
17124
17125   case 631:
17126
17127 /* Line 1464 of yacc.c  */
17128 #line 2114 "grammar.y"
17129     { memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
17130     break;
17131
17132   case 632:
17133
17134 /* Line 1464 of yacc.c  */
17135 #line 2118 "grammar.y"
17136     { (yyval.specifier) = MkEnum((yyvsp[(2) - (2)].id), null); POP_DEFAULT_ACCESS ;}
17137     break;
17138
17139   case 633:
17140
17141 /* Line 1464 of yacc.c  */
17142 #line 2119 "grammar.y"
17143     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (2)].specifier).name), null); POP_DEFAULT_ACCESS ;}
17144     break;
17145
17146   case 634:
17147
17148 /* Line 1464 of yacc.c  */
17149 #line 2123 "grammar.y"
17150     { (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS (yyval.specifier) = (yyvsp[(1) - (2)].specifier); ;}
17151     break;
17152
17153   case 635:
17154
17155 /* Line 1464 of yacc.c  */
17156 #line 2124 "grammar.y"
17157     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17158     break;
17159
17160   case 636:
17161
17162 /* Line 1464 of yacc.c  */
17163 #line 2125 "grammar.y"
17164     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), null); FreeSpecifier((yyvsp[(2) - (4)].specifier)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17165     break;
17166
17167   case 637:
17168
17169 /* Line 1464 of yacc.c  */
17170 #line 2129 "grammar.y"
17171     { (yyval.specifier) = MkEnum(null, (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17172     break;
17173
17174   case 638:
17175
17176 /* Line 1464 of yacc.c  */
17177 #line 2130 "grammar.y"
17178     { (yyval.specifier) = MkEnum(null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17179     break;
17180
17181   case 639:
17182
17183 /* Line 1464 of yacc.c  */
17184 #line 2132 "grammar.y"
17185     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), (yyvsp[(4) - (4)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17186     break;
17187
17188   case 640:
17189
17190 /* Line 1464 of yacc.c  */
17191 #line 2133 "grammar.y"
17192     { (yyval.specifier) = MkEnum((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].list));  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17193     break;
17194
17195   case 641:
17196
17197 /* Line 1464 of yacc.c  */
17198 #line 2134 "grammar.y"
17199     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), null);  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17200     break;
17201
17202   case 642:
17203
17204 /* Line 1464 of yacc.c  */
17205 #line 2135 "grammar.y"
17206     { (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 ;}
17207     break;
17208
17209   case 643:
17210
17211 /* Line 1464 of yacc.c  */
17212 #line 2136 "grammar.y"
17213     { (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 ;}
17214     break;
17215
17216   case 644:
17217
17218 /* Line 1464 of yacc.c  */
17219 #line 2138 "grammar.y"
17220     { (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 ;}
17221     break;
17222
17223   case 645:
17224
17225 /* Line 1464 of yacc.c  */
17226 #line 2139 "grammar.y"
17227     { (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 ;}
17228     break;
17229
17230   case 646:
17231
17232 /* Line 1464 of yacc.c  */
17233 #line 2140 "grammar.y"
17234     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), null); (yyval.specifier).loc = (yyloc); FreeSpecifier((yyvsp[(2) - (4)].specifier)); POP_DEFAULT_ACCESS ;}
17235     break;
17236
17237   case 647:
17238
17239 /* Line 1464 of yacc.c  */
17240 #line 2141 "grammar.y"
17241     { (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 ;}
17242     break;
17243
17244   case 648:
17245
17246 /* Line 1464 of yacc.c  */
17247 #line 2142 "grammar.y"
17248     { (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 ;}
17249     break;
17250
17251   case 649:
17252
17253 /* Line 1464 of yacc.c  */
17254 #line 2146 "grammar.y"
17255     { (yyval.id) = (yyvsp[(2) - (2)].id); if(declMode) DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (2)].id).string); ;}
17256     break;
17257
17258   case 650:
17259
17260 /* Line 1464 of yacc.c  */
17261 #line 2147 "grammar.y"
17262     { (yyval.id) = MkIdentifier((yyvsp[(2) - (2)].specifier).name); if(declMode) DeclClass(globalContext.nextID++, (yyvsp[(2) - (2)].specifier).name); FreeSpecifier((yyvsp[(2) - (2)].specifier)); ;}
17263     break;
17264
17265   case 651:
17266
17267 /* Line 1464 of yacc.c  */
17268 #line 2151 "grammar.y"
17269     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
17270     break;
17271
17272   case 652:
17273
17274 /* Line 1464 of yacc.c  */
17275 #line 2152 "grammar.y"
17276     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17277     break;
17278
17279   case 653:
17280
17281 /* Line 1464 of yacc.c  */
17282 #line 2153 "grammar.y"
17283     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), null); POP_DEFAULT_ACCESS ;}
17284     break;
17285
17286   case 654:
17287
17288 /* Line 1464 of yacc.c  */
17289 #line 2157 "grammar.y"
17290     { (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 ;}
17291     break;
17292
17293   case 655:
17294
17295 /* Line 1464 of yacc.c  */
17296 #line 2158 "grammar.y"
17297     { (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 ;}
17298     break;
17299
17300   case 656:
17301
17302 /* Line 1464 of yacc.c  */
17303 #line 2159 "grammar.y"
17304     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17305     break;
17306
17307   case 657:
17308
17309 /* Line 1464 of yacc.c  */
17310 #line 2160 "grammar.y"
17311     { (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 ;}
17312     break;
17313
17314   case 658:
17315
17316 /* Line 1464 of yacc.c  */
17317 #line 2161 "grammar.y"
17318     { (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 ;}
17319     break;
17320
17321   case 659:
17322
17323 /* Line 1464 of yacc.c  */
17324 #line 2162 "grammar.y"
17325     { (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 ;}
17326     break;
17327
17328   case 660:
17329
17330 /* Line 1464 of yacc.c  */
17331 #line 2163 "grammar.y"
17332     { (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 ;}
17333     break;
17334
17335   case 661:
17336
17337 /* Line 1464 of yacc.c  */
17338 #line 2164 "grammar.y"
17339     { (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 ;}
17340     break;
17341
17342   case 662:
17343
17344 /* Line 1464 of yacc.c  */
17345 #line 2165 "grammar.y"
17346     { (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 ;}
17347     break;
17348
17349   case 663:
17350
17351 /* Line 1464 of yacc.c  */
17352 #line 2167 "grammar.y"
17353     { (yyval.specifier) = MkEnum(null, (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17354     break;
17355
17356   case 664:
17357
17358 /* Line 1464 of yacc.c  */
17359 #line 2168 "grammar.y"
17360     { (yyval.specifier) = MkEnum(null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17361     break;
17362
17363   case 665:
17364
17365 /* Line 1464 of yacc.c  */
17366 #line 2170 "grammar.y"
17367     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17368     break;
17369
17370   case 666:
17371
17372 /* Line 1464 of yacc.c  */
17373 #line 2171 "grammar.y"
17374     { (yyval.specifier) = MkEnum((yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17375     break;
17376
17377   case 667:
17378
17379 /* Line 1464 of yacc.c  */
17380 #line 2172 "grammar.y"
17381     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17382     break;
17383
17384   case 668:
17385
17386 /* Line 1464 of yacc.c  */
17387 #line 2173 "grammar.y"
17388     { (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 ;}
17389     break;
17390
17391   case 669:
17392
17393 /* Line 1464 of yacc.c  */
17394 #line 2174 "grammar.y"
17395     { (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 ;}
17396     break;
17397
17398   case 674:
17399
17400 /* Line 1464 of yacc.c  */
17401 #line 2188 "grammar.y"
17402     { (yyval.specifier) = MkSpecifierExtended((yyvsp[(1) - (1)].extDecl)); ;}
17403     break;
17404
17405   case 675:
17406
17407 /* Line 1464 of yacc.c  */
17408 #line 2192 "grammar.y"
17409     { (yyval.specifier) = MkSpecifier(CONST); ;}
17410     break;
17411
17412   case 676:
17413
17414 /* Line 1464 of yacc.c  */
17415 #line 2193 "grammar.y"
17416     { (yyval.specifier) = MkSpecifier(VOLATILE); ;}
17417     break;
17418
17419   case 677:
17420
17421 /* Line 1464 of yacc.c  */
17422 #line 2194 "grammar.y"
17423     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); ;}
17424     break;
17425
17426   case 678:
17427
17428 /* Line 1464 of yacc.c  */
17429 #line 2199 "grammar.y"
17430     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17431     break;
17432
17433   case 679:
17434
17435 /* Line 1464 of yacc.c  */
17436 #line 2200 "grammar.y"
17437     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier));  ;}
17438     break;
17439
17440   case 680:
17441
17442 /* Line 1464 of yacc.c  */
17443 #line 2204 "grammar.y"
17444     { (yyval.specifier) = MkSpecifier(VOID); ;}
17445     break;
17446
17447   case 681:
17448
17449 /* Line 1464 of yacc.c  */
17450 #line 2205 "grammar.y"
17451     { (yyval.specifier) = MkSpecifier(CHAR); ;}
17452     break;
17453
17454   case 682:
17455
17456 /* Line 1464 of yacc.c  */
17457 #line 2206 "grammar.y"
17458     { (yyval.specifier) = MkSpecifier(SHORT); ;}
17459     break;
17460
17461   case 683:
17462
17463 /* Line 1464 of yacc.c  */
17464 #line 2207 "grammar.y"
17465     { (yyval.specifier) = MkSpecifier(INT); ;}
17466     break;
17467
17468   case 684:
17469
17470 /* Line 1464 of yacc.c  */
17471 #line 2208 "grammar.y"
17472     { (yyval.specifier) = MkSpecifier(UINT); ;}
17473     break;
17474
17475   case 685:
17476
17477 /* Line 1464 of yacc.c  */
17478 #line 2209 "grammar.y"
17479     { (yyval.specifier) = MkSpecifier(INT64); ;}
17480     break;
17481
17482   case 686:
17483
17484 /* Line 1464 of yacc.c  */
17485 #line 2210 "grammar.y"
17486     { (yyval.specifier) = MkSpecifier(VALIST); ;}
17487     break;
17488
17489   case 687:
17490
17491 /* Line 1464 of yacc.c  */
17492 #line 2211 "grammar.y"
17493     { (yyval.specifier) = MkSpecifier(LONG); ;}
17494     break;
17495
17496   case 688:
17497
17498 /* Line 1464 of yacc.c  */
17499 #line 2212 "grammar.y"
17500     { (yyval.specifier) = MkSpecifier(FLOAT); ;}
17501     break;
17502
17503   case 689:
17504
17505 /* Line 1464 of yacc.c  */
17506 #line 2213 "grammar.y"
17507     { (yyval.specifier) = MkSpecifier(DOUBLE); ;}
17508     break;
17509
17510   case 690:
17511
17512 /* Line 1464 of yacc.c  */
17513 #line 2214 "grammar.y"
17514     { (yyval.specifier) = MkSpecifier(SIGNED); ;}
17515     break;
17516
17517   case 691:
17518
17519 /* Line 1464 of yacc.c  */
17520 #line 2215 "grammar.y"
17521     { (yyval.specifier) = MkSpecifier(UNSIGNED); ;}
17522     break;
17523
17524   case 692:
17525
17526 /* Line 1464 of yacc.c  */
17527 #line 2216 "grammar.y"
17528     { (yyval.specifier) = MkSpecifier(EXTENSION); ;}
17529     break;
17530
17531   case 696:
17532
17533 /* Line 1464 of yacc.c  */
17534 #line 2220 "grammar.y"
17535     { (yyval.specifier) = MkSpecifierTypeOf((yyvsp[(3) - (4)].exp)); ;}
17536     break;
17537
17538   case 697:
17539
17540 /* Line 1464 of yacc.c  */
17541 #line 2221 "grammar.y"
17542     { (yyval.specifier) = MkSpecifierSubClass((yyvsp[(3) - (4)].specifier)); ;}
17543     break;
17544
17545   case 698:
17546
17547 /* Line 1464 of yacc.c  */
17548 #line 2222 "grammar.y"
17549     { _DeclClass(0, (yyvsp[(3) - (4)].id).string); (yyval.specifier) = MkSpecifierSubClass(MkSpecifierName((yyvsp[(3) - (4)].id).string)); FreeIdentifier((yyvsp[(3) - (4)].id)); ;}
17550     break;
17551
17552   case 699:
17553
17554 /* Line 1464 of yacc.c  */
17555 #line 2223 "grammar.y"
17556     { (yyval.specifier) = MkSpecifier(THISCLASS); ;}
17557     break;
17558
17559   case 700:
17560
17561 /* Line 1464 of yacc.c  */
17562 #line 2224 "grammar.y"
17563     { (yyval.specifier) = MkSpecifier(TYPED_OBJECT); ;}
17564     break;
17565
17566   case 701:
17567
17568 /* Line 1464 of yacc.c  */
17569 #line 2225 "grammar.y"
17570     { (yyval.specifier) = MkSpecifier(ANY_OBJECT); ;}
17571     break;
17572
17573   case 702:
17574
17575 /* Line 1464 of yacc.c  */
17576 #line 2229 "grammar.y"
17577     { (yyval.specifier) = MkSpecifier(VOID); ;}
17578     break;
17579
17580   case 703:
17581
17582 /* Line 1464 of yacc.c  */
17583 #line 2230 "grammar.y"
17584     { (yyval.specifier) = MkSpecifier(CHAR); ;}
17585     break;
17586
17587   case 704:
17588
17589 /* Line 1464 of yacc.c  */
17590 #line 2231 "grammar.y"
17591     { (yyval.specifier) = MkSpecifier(SHORT); ;}
17592     break;
17593
17594   case 705:
17595
17596 /* Line 1464 of yacc.c  */
17597 #line 2232 "grammar.y"
17598     { (yyval.specifier) = MkSpecifier(INT); ;}
17599     break;
17600
17601   case 706:
17602
17603 /* Line 1464 of yacc.c  */
17604 #line 2233 "grammar.y"
17605     { (yyval.specifier) = MkSpecifier(UINT); ;}
17606     break;
17607
17608   case 707:
17609
17610 /* Line 1464 of yacc.c  */
17611 #line 2234 "grammar.y"
17612     { (yyval.specifier) = MkSpecifier(INT64); ;}
17613     break;
17614
17615   case 708:
17616
17617 /* Line 1464 of yacc.c  */
17618 #line 2235 "grammar.y"
17619     { (yyval.specifier) = MkSpecifier(VALIST); ;}
17620     break;
17621
17622   case 709:
17623
17624 /* Line 1464 of yacc.c  */
17625 #line 2236 "grammar.y"
17626     { (yyval.specifier) = MkSpecifier(LONG); ;}
17627     break;
17628
17629   case 710:
17630
17631 /* Line 1464 of yacc.c  */
17632 #line 2237 "grammar.y"
17633     { (yyval.specifier) = MkSpecifier(FLOAT); ;}
17634     break;
17635
17636   case 711:
17637
17638 /* Line 1464 of yacc.c  */
17639 #line 2238 "grammar.y"
17640     { (yyval.specifier) = MkSpecifier(DOUBLE); ;}
17641     break;
17642
17643   case 712:
17644
17645 /* Line 1464 of yacc.c  */
17646 #line 2239 "grammar.y"
17647     { (yyval.specifier) = MkSpecifier(SIGNED); ;}
17648     break;
17649
17650   case 713:
17651
17652 /* Line 1464 of yacc.c  */
17653 #line 2240 "grammar.y"
17654     { (yyval.specifier) = MkSpecifier(UNSIGNED); ;}
17655     break;
17656
17657   case 714:
17658
17659 /* Line 1464 of yacc.c  */
17660 #line 2241 "grammar.y"
17661     { (yyval.specifier) = MkSpecifier(EXTENSION); ;}
17662     break;
17663
17664   case 718:
17665
17666 /* Line 1464 of yacc.c  */
17667 #line 2245 "grammar.y"
17668     { (yyval.specifier) = MkSpecifierTypeOf((yyvsp[(3) - (4)].exp)); ;}
17669     break;
17670
17671   case 719:
17672
17673 /* Line 1464 of yacc.c  */
17674 #line 2246 "grammar.y"
17675     { (yyval.specifier) = MkSpecifierSubClass((yyvsp[(3) - (4)].specifier)); ;}
17676     break;
17677
17678   case 720:
17679
17680 /* Line 1464 of yacc.c  */
17681 #line 2247 "grammar.y"
17682     { _DeclClass(0, (yyvsp[(3) - (4)].id).string); (yyval.specifier) = MkSpecifierSubClass(MkSpecifierName((yyvsp[(3) - (4)].id).string)); FreeIdentifier((yyvsp[(3) - (4)].id)); ;}
17683     break;
17684
17685   case 721:
17686
17687 /* Line 1464 of yacc.c  */
17688 #line 2248 "grammar.y"
17689     { (yyval.specifier) = MkSpecifier(THISCLASS); ;}
17690     break;
17691
17692   case 722:
17693
17694 /* Line 1464 of yacc.c  */
17695 #line 2255 "grammar.y"
17696     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.declarator).loc = (yyloc); ;}
17697     break;
17698
17699   case 723:
17700
17701 /* Line 1464 of yacc.c  */
17702 #line 2257 "grammar.y"
17703     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (2)].declarator), null); (yyval.declarator).structDecl.attrib = (yyvsp[(2) - (2)].attrib); (yyval.declarator).loc = (yyloc); ;}
17704     break;
17705
17706   case 724:
17707
17708 /* Line 1464 of yacc.c  */
17709 #line 2259 "grammar.y"
17710     { (yyval.declarator) = MkStructDeclarator(null, (yyvsp[(2) - (2)].exp));  (yyval.declarator).loc = (yyloc); ;}
17711     break;
17712
17713   case 725:
17714
17715 /* Line 1464 of yacc.c  */
17716 #line 2261 "grammar.y"
17717     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].exp));  (yyval.declarator).loc = (yyloc); ;}
17718     break;
17719
17720   case 726:
17721
17722 /* Line 1464 of yacc.c  */
17723 #line 2263 "grammar.y"
17724     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
17725     break;
17726
17727   case 727:
17728
17729 /* Line 1464 of yacc.c  */
17730 #line 2265 "grammar.y"
17731     { (yyval.declarator) = MkStructDeclarator(null, (yyvsp[(2) - (2)].exp));  (yyval.declarator).loc = (yyloc); ;}
17732     break;
17733
17734   case 728:
17735
17736 /* Line 1464 of yacc.c  */
17737 #line 2267 "grammar.y"
17738     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].exp));  (yyval.declarator).loc = (yyloc); ;}
17739     break;
17740
17741   case 729:
17742
17743 /* Line 1464 of yacc.c  */
17744 #line 2269 "grammar.y"
17745     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
17746     break;
17747
17748   case 730:
17749
17750 /* Line 1464 of yacc.c  */
17751 #line 2271 "grammar.y"
17752     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
17753     break;
17754
17755   case 731:
17756
17757 /* Line 1464 of yacc.c  */
17758 #line 2273 "grammar.y"
17759     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
17760     break;
17761
17762   case 732:
17763
17764 /* Line 1464 of yacc.c  */
17765 #line 2277 "grammar.y"
17766     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declarator)); ;}
17767     break;
17768
17769   case 733:
17770
17771 /* Line 1464 of yacc.c  */
17772 #line 2278 "grammar.y"
17773     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].declarator)); ;}
17774     break;
17775
17776   case 734:
17777
17778 /* Line 1464 of yacc.c  */
17779 #line 2283 "grammar.y"
17780     {
17781          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (2)].specifierType), (yyvsp[(2) - (2)].id), null);
17782          (yyval.specifier).addNameSpace = true;
17783          (yyval.specifier).ctx = PushContext();
17784       ;}
17785     break;
17786
17787   case 735:
17788
17789 /* Line 1464 of yacc.c  */
17790 #line 2289 "grammar.y"
17791     {
17792          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (2)].specifierType), MkIdentifier((yyvsp[(2) - (2)].specifier).name), null);
17793          (yyval.specifier).ctx = PushContext();
17794          FreeSpecifier((yyvsp[(2) - (2)].specifier));
17795       ;}
17796     break;
17797
17798   case 736:
17799
17800 /* Line 1464 of yacc.c  */
17801 #line 2295 "grammar.y"
17802     {
17803          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), (yyvsp[(3) - (3)].id), null);
17804          (yyval.specifier).extDeclStruct = (yyvsp[(2) - (3)].extDecl);
17805          (yyval.specifier).addNameSpace = true;
17806          (yyval.specifier).ctx = PushContext();
17807       ;}
17808     break;
17809
17810   case 737:
17811
17812 /* Line 1464 of yacc.c  */
17813 #line 2302 "grammar.y"
17814     {
17815          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), MkIdentifier((yyvsp[(3) - (3)].specifier).name), null);
17816          (yyval.specifier).extDeclStruct = (yyvsp[(2) - (3)].extDecl);
17817          (yyval.specifier).ctx = PushContext();
17818          FreeSpecifier((yyvsp[(3) - (3)].specifier));
17819       ;}
17820     break;
17821
17822   case 738:
17823
17824 /* Line 1464 of yacc.c  */
17825 #line 2311 "grammar.y"
17826     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
17827     break;
17828
17829   case 739:
17830
17831 /* Line 1464 of yacc.c  */
17832 #line 2312 "grammar.y"
17833     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS PopContext(curContext); ;}
17834     break;
17835
17836   case 740:
17837
17838 /* Line 1464 of yacc.c  */
17839 #line 2313 "grammar.y"
17840     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17841     break;
17842
17843   case 741:
17844
17845 /* Line 1464 of yacc.c  */
17846 #line 2314 "grammar.y"
17847     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, null); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17848     break;
17849
17850   case 742:
17851
17852 /* Line 1464 of yacc.c  */
17853 #line 2318 "grammar.y"
17854     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); AddStructDefinitions((yyvsp[(1) - (3)].specifier), (yyvsp[(3) - (3)].list));  POP_DEFAULT_ACCESS PopContext(curContext); ;}
17855     break;
17856
17857   case 743:
17858
17859 /* Line 1464 of yacc.c  */
17860 #line 2319 "grammar.y"
17861     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); AddStructDefinitions((yyvsp[(1) - (3)].specifier), (yyvsp[(3) - (3)].list));  POP_DEFAULT_ACCESS PopContext(curContext); ;}
17862     break;
17863
17864   case 744:
17865
17866 /* Line 1464 of yacc.c  */
17867 #line 2320 "grammar.y"
17868     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
17869     break;
17870
17871   case 745:
17872
17873 /* Line 1464 of yacc.c  */
17874 #line 2322 "grammar.y"
17875     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
17876     break;
17877
17878   case 746:
17879
17880 /* Line 1464 of yacc.c  */
17881 #line 2323 "grammar.y"
17882     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
17883     break;
17884
17885   case 747:
17886
17887 /* Line 1464 of yacc.c  */
17888 #line 2324 "grammar.y"
17889     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
17890     break;
17891
17892   case 748:
17893
17894 /* Line 1464 of yacc.c  */
17895 #line 2326 "grammar.y"
17896     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, (yyvsp[(4) - (4)].list)); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
17897     break;
17898
17899   case 749:
17900
17901 /* Line 1464 of yacc.c  */
17902 #line 2327 "grammar.y"
17903     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, (yyvsp[(4) - (4)].list)); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
17904     break;
17905
17906   case 750:
17907
17908 /* Line 1464 of yacc.c  */
17909 #line 2328 "grammar.y"
17910     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, null); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
17911     break;
17912
17913   case 751:
17914
17915 /* Line 1464 of yacc.c  */
17916 #line 2332 "grammar.y"
17917     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
17918     break;
17919
17920   case 752:
17921
17922 /* Line 1464 of yacc.c  */
17923 #line 2337 "grammar.y"
17924     {
17925         (yyval.specifier) = (yyvsp[(1) - (1)].specifier);
17926         if(declMode)
17927         {
17928            ((yyvsp[(1) - (1)].specifier).addNameSpace ? DeclClassAddNameSpace : DeclClass)(globalContext.nextID++, (yyvsp[(1) - (1)].specifier).id.string);
17929         }
17930      ;}
17931     break;
17932
17933   case 753:
17934
17935 /* Line 1464 of yacc.c  */
17936 #line 2345 "grammar.y"
17937     {
17938       Symbol symbol = ((yyvsp[(1) - (4)].specifier).addNameSpace ? DeclClassAddNameSpace : DeclClass)(globalContext.nextID++, (yyvsp[(1) - (4)].specifier).id.string);
17939       (yyval.specifier) = (yyvsp[(1) - (4)].specifier);
17940       symbol.templateParams = (yyvsp[(3) - (4)].list);
17941    ;}
17942     break;
17943
17944   case 754:
17945
17946 /* Line 1464 of yacc.c  */
17947 #line 2354 "grammar.y"
17948     {
17949       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
17950       (yyval.specifier).baseSpecs = (yyvsp[(3) - (3)].list);
17951       SetupBaseSpecs(null, (yyvsp[(3) - (3)].list));
17952    ;}
17953     break;
17954
17955   case 755:
17956
17957 /* Line 1464 of yacc.c  */
17958 #line 2362 "grammar.y"
17959     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
17960     break;
17961
17962   case 756:
17963
17964 /* Line 1464 of yacc.c  */
17965 #line 2364 "grammar.y"
17966     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
17967     break;
17968
17969   case 757:
17970
17971 /* Line 1464 of yacc.c  */
17972 #line 2365 "grammar.y"
17973     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
17974     break;
17975
17976   case 758:
17977
17978 /* Line 1464 of yacc.c  */
17979 #line 2366 "grammar.y"
17980     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
17981     break;
17982
17983   case 759:
17984
17985 /* Line 1464 of yacc.c  */
17986 #line 2371 "grammar.y"
17987     {
17988       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
17989       (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
17990       POP_DEFAULT_ACCESS
17991       PopContext(curContext);
17992    ;}
17993     break;
17994
17995   case 760:
17996
17997 /* Line 1464 of yacc.c  */
17998 #line 2378 "grammar.y"
17999     {
18000       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18001       (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18002       POP_DEFAULT_ACCESS
18003       PopContext(curContext);
18004    ;}
18005     break;
18006
18007   case 761:
18008
18009 /* Line 1464 of yacc.c  */
18010 #line 2385 "grammar.y"
18011     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext);;}
18012     break;
18013
18014   case 762:
18015
18016 /* Line 1464 of yacc.c  */
18017 #line 2388 "grammar.y"
18018     {
18019         PopContext(curContext);
18020         if(!declMode)
18021         {
18022            (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifier).type, (yyvsp[(1) - (3)].specifier).id, (yyvsp[(3) - (3)].list));
18023            (yyvsp[(1) - (3)].specifier).id = null;
18024            FreeSpecifier((yyvsp[(1) - (3)].specifier));
18025         }
18026         else
18027            (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18028         POP_DEFAULT_ACCESS
18029      ;}
18030     break;
18031
18032   case 763:
18033
18034 /* Line 1464 of yacc.c  */
18035 #line 2401 "grammar.y"
18036     {
18037         PopContext(curContext);
18038
18039         if(!declMode)
18040         {
18041            (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifier).type, (yyvsp[(1) - (3)].specifier).id, (yyvsp[(3) - (3)].list));
18042            (yyvsp[(1) - (3)].specifier).id = null;
18043            FreeSpecifier((yyvsp[(1) - (3)].specifier));
18044         }
18045         else
18046            (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18047         POP_DEFAULT_ACCESS
18048      ;}
18049     break;
18050
18051   case 764:
18052
18053 /* Line 1464 of yacc.c  */
18054 #line 2415 "grammar.y"
18055     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18056     break;
18057
18058   case 765:
18059
18060 /* Line 1464 of yacc.c  */
18061 #line 2418 "grammar.y"
18062     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS  ;}
18063     break;
18064
18065   case 766:
18066
18067 /* Line 1464 of yacc.c  */
18068 #line 2420 "grammar.y"
18069     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18070     break;
18071
18072   case 767:
18073
18074 /* Line 1464 of yacc.c  */
18075 #line 2422 "grammar.y"
18076     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18077     break;
18078
18079   case 768:
18080
18081 /* Line 1464 of yacc.c  */
18082 #line 2426 "grammar.y"
18083     { (yyval.specifierType) = structSpecifier; memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
18084     break;
18085
18086   case 769:
18087
18088 /* Line 1464 of yacc.c  */
18089 #line 2427 "grammar.y"
18090     { (yyval.specifierType) = unionSpecifier; memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
18091     break;
18092
18093   case 770:
18094
18095 /* Line 1464 of yacc.c  */
18096 #line 2431 "grammar.y"
18097     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18098     break;
18099
18100   case 771:
18101
18102 /* Line 1464 of yacc.c  */
18103 #line 2432 "grammar.y"
18104     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18105     break;
18106
18107   case 772:
18108
18109 /* Line 1464 of yacc.c  */
18110 #line 2433 "grammar.y"
18111     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18112     break;
18113
18114   case 773:
18115
18116 /* Line 1464 of yacc.c  */
18117 #line 2434 "grammar.y"
18118     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18119     break;
18120
18121   case 774:
18122
18123 /* Line 1464 of yacc.c  */
18124 #line 2435 "grammar.y"
18125     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18126     break;
18127
18128   case 775:
18129
18130 /* Line 1464 of yacc.c  */
18131 #line 2436 "grammar.y"
18132     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18133     break;
18134
18135   case 776:
18136
18137 /* Line 1464 of yacc.c  */
18138 #line 2437 "grammar.y"
18139     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18140     break;
18141
18142   case 777:
18143
18144 /* Line 1464 of yacc.c  */
18145 #line 2438 "grammar.y"
18146     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18147     break;
18148
18149   case 778:
18150
18151 /* Line 1464 of yacc.c  */
18152 #line 2442 "grammar.y"
18153     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18154     break;
18155
18156   case 779:
18157
18158 /* Line 1464 of yacc.c  */
18159 #line 2443 "grammar.y"
18160     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18161     break;
18162
18163   case 780:
18164
18165 /* Line 1464 of yacc.c  */
18166 #line 2444 "grammar.y"
18167     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18168     break;
18169
18170   case 781:
18171
18172 /* Line 1464 of yacc.c  */
18173 #line 2445 "grammar.y"
18174     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18175     break;
18176
18177   case 782:
18178
18179 /* Line 1464 of yacc.c  */
18180 #line 2446 "grammar.y"
18181     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18182     break;
18183
18184   case 783:
18185
18186 /* Line 1464 of yacc.c  */
18187 #line 2447 "grammar.y"
18188     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18189     break;
18190
18191   case 784:
18192
18193 /* Line 1464 of yacc.c  */
18194 #line 2448 "grammar.y"
18195     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18196     break;
18197
18198   case 785:
18199
18200 /* Line 1464 of yacc.c  */
18201 #line 2449 "grammar.y"
18202     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18203     break;
18204
18205   case 786:
18206
18207 /* Line 1464 of yacc.c  */
18208 #line 2450 "grammar.y"
18209     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18210     break;
18211
18212   case 787:
18213
18214 /* Line 1464 of yacc.c  */
18215 #line 2451 "grammar.y"
18216     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18217     break;
18218
18219   case 788:
18220
18221 /* Line 1464 of yacc.c  */
18222 #line 2455 "grammar.y"
18223     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18224     break;
18225
18226   case 789:
18227
18228 /* Line 1464 of yacc.c  */
18229 #line 2456 "grammar.y"
18230     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18231     break;
18232
18233   case 790:
18234
18235 /* Line 1464 of yacc.c  */
18236 #line 2457 "grammar.y"
18237     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18238     break;
18239
18240   case 791:
18241
18242 /* Line 1464 of yacc.c  */
18243 #line 2458 "grammar.y"
18244     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18245     break;
18246
18247   case 792:
18248
18249 /* Line 1464 of yacc.c  */
18250 #line 2459 "grammar.y"
18251     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18252     break;
18253
18254   case 793:
18255
18256 /* Line 1464 of yacc.c  */
18257 #line 2460 "grammar.y"
18258     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18259     break;
18260
18261   case 794:
18262
18263 /* Line 1464 of yacc.c  */
18264 #line 2461 "grammar.y"
18265     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18266     break;
18267
18268   case 795:
18269
18270 /* Line 1464 of yacc.c  */
18271 #line 2462 "grammar.y"
18272     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18273     break;
18274
18275   case 796:
18276
18277 /* Line 1464 of yacc.c  */
18278 #line 2463 "grammar.y"
18279     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18280     break;
18281
18282   case 797:
18283
18284 /* Line 1464 of yacc.c  */
18285 #line 2464 "grammar.y"
18286     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18287     break;
18288
18289   case 798:
18290
18291 /* Line 1464 of yacc.c  */
18292 #line 2468 "grammar.y"
18293     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18294     break;
18295
18296   case 799:
18297
18298 /* Line 1464 of yacc.c  */
18299 #line 2469 "grammar.y"
18300     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18301     break;
18302
18303   case 800:
18304
18305 /* Line 1464 of yacc.c  */
18306 #line 2470 "grammar.y"
18307     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18308     break;
18309
18310   case 801:
18311
18312 /* Line 1464 of yacc.c  */
18313 #line 2471 "grammar.y"
18314     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18315     break;
18316
18317   case 802:
18318
18319 /* Line 1464 of yacc.c  */
18320 #line 2472 "grammar.y"
18321     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18322     break;
18323
18324   case 803:
18325
18326 /* Line 1464 of yacc.c  */
18327 #line 2473 "grammar.y"
18328     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18329     break;
18330
18331   case 804:
18332
18333 /* Line 1464 of yacc.c  */
18334 #line 2474 "grammar.y"
18335     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18336     break;
18337
18338   case 805:
18339
18340 /* Line 1464 of yacc.c  */
18341 #line 2475 "grammar.y"
18342     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18343     break;
18344
18345   case 806:
18346
18347 /* Line 1464 of yacc.c  */
18348 #line 2476 "grammar.y"
18349     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18350     break;
18351
18352   case 807:
18353
18354 /* Line 1464 of yacc.c  */
18355 #line 2477 "grammar.y"
18356     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18357     break;
18358
18359   case 808:
18360
18361 /* Line 1464 of yacc.c  */
18362 #line 2478 "grammar.y"
18363     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18364     break;
18365
18366   case 809:
18367
18368 /* Line 1464 of yacc.c  */
18369 #line 2479 "grammar.y"
18370     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18371     break;
18372
18373   case 810:
18374
18375 /* Line 1464 of yacc.c  */
18376 #line 2483 "grammar.y"
18377     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18378     break;
18379
18380   case 811:
18381
18382 /* Line 1464 of yacc.c  */
18383 #line 2484 "grammar.y"
18384     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18385     break;
18386
18387   case 812:
18388
18389 /* Line 1464 of yacc.c  */
18390 #line 2485 "grammar.y"
18391     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18392     break;
18393
18394   case 813:
18395
18396 /* Line 1464 of yacc.c  */
18397 #line 2486 "grammar.y"
18398     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18399     break;
18400
18401   case 814:
18402
18403 /* Line 1464 of yacc.c  */
18404 #line 2487 "grammar.y"
18405     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18406     break;
18407
18408   case 815:
18409
18410 /* Line 1464 of yacc.c  */
18411 #line 2488 "grammar.y"
18412     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18413     break;
18414
18415   case 816:
18416
18417 /* Line 1464 of yacc.c  */
18418 #line 2489 "grammar.y"
18419     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18420     break;
18421
18422   case 817:
18423
18424 /* Line 1464 of yacc.c  */
18425 #line 2490 "grammar.y"
18426     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18427     break;
18428
18429   case 818:
18430
18431 /* Line 1464 of yacc.c  */
18432 #line 2491 "grammar.y"
18433     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18434     break;
18435
18436   case 819:
18437
18438 /* Line 1464 of yacc.c  */
18439 #line 2492 "grammar.y"
18440     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18441     break;
18442
18443   case 820:
18444
18445 /* Line 1464 of yacc.c  */
18446 #line 2496 "grammar.y"
18447     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18448     break;
18449
18450   case 821:
18451
18452 /* Line 1464 of yacc.c  */
18453 #line 2497 "grammar.y"
18454     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18455     break;
18456
18457   case 822:
18458
18459 /* Line 1464 of yacc.c  */
18460 #line 2501 "grammar.y"
18461     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifier(PRIVATE)); ;}
18462     break;
18463
18464   case 823:
18465
18466 /* Line 1464 of yacc.c  */
18467 #line 2502 "grammar.y"
18468     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifier(PUBLIC)); ;}
18469     break;
18470
18471   case 824:
18472
18473 /* Line 1464 of yacc.c  */
18474 #line 2503 "grammar.y"
18475     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18476     break;
18477
18478   case 825:
18479
18480 /* Line 1464 of yacc.c  */
18481 #line 2504 "grammar.y"
18482     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18483     break;
18484
18485   case 826:
18486
18487 /* Line 1464 of yacc.c  */
18488 #line 2505 "grammar.y"
18489     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18490     break;
18491
18492   case 827:
18493
18494 /* Line 1464 of yacc.c  */
18495 #line 2506 "grammar.y"
18496     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18497     break;
18498
18499   case 828:
18500
18501 /* Line 1464 of yacc.c  */
18502 #line 2507 "grammar.y"
18503     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18504     break;
18505
18506   case 829:
18507
18508 /* Line 1464 of yacc.c  */
18509 #line 2508 "grammar.y"
18510     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18511     break;
18512
18513   case 830:
18514
18515 /* Line 1464 of yacc.c  */
18516 #line 2510 "grammar.y"
18517     { _DeclClass(0, (yyvsp[(1) - (1)].id).string); (yyval.list) = MkListOne(MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id)); ;}
18518     break;
18519
18520   case 831:
18521
18522 /* Line 1464 of yacc.c  */
18523 #line 2511 "grammar.y"
18524     { (yyval.list) = (yyvsp[(1) - (2)].list); _DeclClass(0, (yyvsp[(2) - (2)].id).string); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id)); ;}
18525     break;
18526
18527   case 832:
18528
18529 /* Line 1464 of yacc.c  */
18530 #line 2514 "grammar.y"
18531     {
18532          // if($1._class && !$1._class.name)
18533          if((yyvsp[(1) - (4)].id)._class)
18534          {
18535             char name[1024];
18536             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
18537             strcat(name, "::");
18538             strcat(name, (yyvsp[(1) - (4)].id).string);
18539             _DeclClass(0, name);
18540          }
18541          else
18542             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
18543
18544          (yyval.list) = MkList();
18545          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
18546          FreeIdentifier((yyvsp[(1) - (4)].id));
18547       ;}
18548     break;
18549
18550   case 833:
18551
18552 /* Line 1464 of yacc.c  */
18553 #line 2532 "grammar.y"
18554     {
18555          (yyval.list) = (yyvsp[(1) - (5)].list);
18556          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
18557          {
18558             char name[1024];
18559             strcpy(name, "::");
18560             strcat(name, (yyvsp[(2) - (5)].id).string);
18561             _DeclClass(0, name);
18562          }
18563          else
18564             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
18565          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
18566          FreeIdentifier((yyvsp[(2) - (5)].id));
18567       ;}
18568     break;
18569
18570   case 835:
18571
18572 /* Line 1464 of yacc.c  */
18573 #line 2550 "grammar.y"
18574     { (yyval.list) = MkListOne(MkStructOrUnion((yyvsp[(1) - (1)].specifierType), null, null)); POP_DEFAULT_ACCESS ;}
18575     break;
18576
18577   case 836:
18578
18579 /* Line 1464 of yacc.c  */
18580 #line 2554 "grammar.y"
18581     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18582     break;
18583
18584   case 837:
18585
18586 /* Line 1464 of yacc.c  */
18587 #line 2555 "grammar.y"
18588     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18589     break;
18590
18591   case 838:
18592
18593 /* Line 1464 of yacc.c  */
18594 #line 2556 "grammar.y"
18595     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18596     break;
18597
18598   case 839:
18599
18600 /* Line 1464 of yacc.c  */
18601 #line 2557 "grammar.y"
18602     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18603     break;
18604
18605   case 840:
18606
18607 /* Line 1464 of yacc.c  */
18608 #line 2558 "grammar.y"
18609     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18610     break;
18611
18612   case 841:
18613
18614 /* Line 1464 of yacc.c  */
18615 #line 2559 "grammar.y"
18616     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18617     break;
18618
18619   case 842:
18620
18621 /* Line 1464 of yacc.c  */
18622 #line 2560 "grammar.y"
18623     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
18624     break;
18625
18626   case 843:
18627
18628 /* Line 1464 of yacc.c  */
18629 #line 2561 "grammar.y"
18630     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
18631     break;
18632
18633   case 844:
18634
18635 /* Line 1464 of yacc.c  */
18636 #line 2563 "grammar.y"
18637     {
18638          // if($1._class && !$1._class.name)
18639          if((yyvsp[(1) - (4)].id)._class)
18640          {
18641             char name[1024];
18642             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
18643             strcat(name, "::");
18644             strcat(name, (yyvsp[(1) - (4)].id).string);
18645             _DeclClass(0, name);
18646          }
18647          else
18648             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
18649
18650          (yyval.list) = MkList();
18651          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
18652          FreeIdentifier((yyvsp[(1) - (4)].id));
18653       ;}
18654     break;
18655
18656   case 845:
18657
18658 /* Line 1464 of yacc.c  */
18659 #line 2581 "grammar.y"
18660     {
18661          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
18662          {
18663             char name[1024];
18664             strcpy(name, "::");
18665             strcat(name, (yyvsp[(2) - (5)].id).string);
18666             _DeclClass(0, name);
18667          }
18668          else
18669             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
18670          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
18671          FreeIdentifier((yyvsp[(2) - (5)].id));
18672       ;}
18673     break;
18674
18675   case 846:
18676
18677 /* Line 1464 of yacc.c  */
18678 #line 2597 "grammar.y"
18679     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18680     break;
18681
18682   case 847:
18683
18684 /* Line 1464 of yacc.c  */
18685 #line 2598 "grammar.y"
18686     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18687     break;
18688
18689   case 848:
18690
18691 /* Line 1464 of yacc.c  */
18692 #line 2599 "grammar.y"
18693     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18694     break;
18695
18696   case 849:
18697
18698 /* Line 1464 of yacc.c  */
18699 #line 2600 "grammar.y"
18700     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18701     break;
18702
18703   case 850:
18704
18705 /* Line 1464 of yacc.c  */
18706 #line 2601 "grammar.y"
18707     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18708     break;
18709
18710   case 851:
18711
18712 /* Line 1464 of yacc.c  */
18713 #line 2602 "grammar.y"
18714     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18715     break;
18716
18717   case 852:
18718
18719 /* Line 1464 of yacc.c  */
18720 #line 2603 "grammar.y"
18721     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18722     break;
18723
18724   case 853:
18725
18726 /* Line 1464 of yacc.c  */
18727 #line 2604 "grammar.y"
18728     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18729     break;
18730
18731   case 854:
18732
18733 /* Line 1464 of yacc.c  */
18734 #line 2605 "grammar.y"
18735     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18736     break;
18737
18738   case 855:
18739
18740 /* Line 1464 of yacc.c  */
18741 #line 2606 "grammar.y"
18742     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18743     break;
18744
18745   case 856:
18746
18747 /* Line 1464 of yacc.c  */
18748 #line 2607 "grammar.y"
18749     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
18750     break;
18751
18752   case 857:
18753
18754 /* Line 1464 of yacc.c  */
18755 #line 2608 "grammar.y"
18756     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
18757     break;
18758
18759   case 858:
18760
18761 /* Line 1464 of yacc.c  */
18762 #line 2610 "grammar.y"
18763     {
18764          // if($1._class && !$1._class.name)
18765          if((yyvsp[(1) - (4)].id)._class)
18766          {
18767             char name[1024];
18768             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
18769             strcat(name, "::");
18770             strcat(name, (yyvsp[(1) - (4)].id).string);
18771             _DeclClass(0, name);
18772          }
18773          else
18774             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
18775
18776          (yyval.list) = MkList();
18777          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
18778          FreeIdentifier((yyvsp[(1) - (4)].id));
18779       ;}
18780     break;
18781
18782   case 859:
18783
18784 /* Line 1464 of yacc.c  */
18785 #line 2628 "grammar.y"
18786     {
18787          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
18788          {
18789             char name[1024];
18790             strcpy(name, "::");
18791             strcat(name, (yyvsp[(2) - (5)].id).string);
18792             _DeclClass(0, name);
18793          }
18794          else
18795             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
18796          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
18797          FreeIdentifier((yyvsp[(2) - (5)].id));
18798       ;}
18799     break;
18800
18801   case 860:
18802
18803 /* Line 1464 of yacc.c  */
18804 #line 2644 "grammar.y"
18805     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18806     break;
18807
18808   case 861:
18809
18810 /* Line 1464 of yacc.c  */
18811 #line 2645 "grammar.y"
18812     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18813     break;
18814
18815   case 862:
18816
18817 /* Line 1464 of yacc.c  */
18818 #line 2646 "grammar.y"
18819     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18820     break;
18821
18822   case 863:
18823
18824 /* Line 1464 of yacc.c  */
18825 #line 2647 "grammar.y"
18826     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18827     break;
18828
18829   case 864:
18830
18831 /* Line 1464 of yacc.c  */
18832 #line 2648 "grammar.y"
18833     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18834     break;
18835
18836   case 865:
18837
18838 /* Line 1464 of yacc.c  */
18839 #line 2649 "grammar.y"
18840     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18841     break;
18842
18843   case 866:
18844
18845 /* Line 1464 of yacc.c  */
18846 #line 2650 "grammar.y"
18847     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18848     break;
18849
18850   case 867:
18851
18852 /* Line 1464 of yacc.c  */
18853 #line 2651 "grammar.y"
18854     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18855     break;
18856
18857   case 868:
18858
18859 /* Line 1464 of yacc.c  */
18860 #line 2652 "grammar.y"
18861     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18862     break;
18863
18864   case 869:
18865
18866 /* Line 1464 of yacc.c  */
18867 #line 2653 "grammar.y"
18868     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18869     break;
18870
18871   case 870:
18872
18873 /* Line 1464 of yacc.c  */
18874 #line 2654 "grammar.y"
18875     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
18876     break;
18877
18878   case 871:
18879
18880 /* Line 1464 of yacc.c  */
18881 #line 2655 "grammar.y"
18882     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
18883     break;
18884
18885   case 872:
18886
18887 /* Line 1464 of yacc.c  */
18888 #line 2657 "grammar.y"
18889     {
18890          // if($1._class && !$1._class.name)
18891          if((yyvsp[(1) - (4)].id)._class)
18892          {
18893             char name[1024];
18894             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
18895             strcat(name, "::");
18896             strcat(name, (yyvsp[(1) - (4)].id).string);
18897             _DeclClass(0, name);
18898          }
18899          else
18900             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
18901
18902          (yyval.list) = MkList();
18903          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
18904          FreeIdentifier((yyvsp[(1) - (4)].id));
18905       ;}
18906     break;
18907
18908   case 873:
18909
18910 /* Line 1464 of yacc.c  */
18911 #line 2675 "grammar.y"
18912     {
18913          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
18914          {
18915             char name[1024];
18916             strcpy(name, "::");
18917             strcat(name, (yyvsp[(2) - (5)].id).string);
18918             _DeclClass(0, name);
18919          }
18920          else
18921             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
18922          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
18923          FreeIdentifier((yyvsp[(2) - (5)].id));
18924       ;}
18925     break;
18926
18927   case 874:
18928
18929 /* Line 1464 of yacc.c  */
18930 #line 2691 "grammar.y"
18931     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
18932     break;
18933
18934   case 875:
18935
18936 /* Line 1464 of yacc.c  */
18937 #line 2692 "grammar.y"
18938     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
18939     break;
18940
18941   case 876:
18942
18943 /* Line 1464 of yacc.c  */
18944 #line 2696 "grammar.y"
18945     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(1) - (1)].id)))); ;}
18946     break;
18947
18948   case 877:
18949
18950 /* Line 1464 of yacc.c  */
18951 #line 2697 "grammar.y"
18952     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
18953     break;
18954
18955   case 878:
18956
18957 /* Line 1464 of yacc.c  */
18958 #line 2698 "grammar.y"
18959     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
18960     break;
18961
18962   case 879:
18963
18964 /* Line 1464 of yacc.c  */
18965 #line 2699 "grammar.y"
18966     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
18967     break;
18968
18969   case 880:
18970
18971 /* Line 1464 of yacc.c  */
18972 #line 2700 "grammar.y"
18973     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
18974     break;
18975
18976   case 882:
18977
18978 /* Line 1464 of yacc.c  */
18979 #line 2706 "grammar.y"
18980     {
18981       char * colon = RSearchString((yyvsp[(1) - (1)].specifier).name, "::", strlen((yyvsp[(1) - (1)].specifier).name), true, false);
18982       String s = colon ? colon + 2 : (yyvsp[(1) - (1)].specifier).name;
18983       (yyval.declarator) = MkDeclaratorIdentifier(MkIdentifier(s));
18984       FreeSpecifier((yyvsp[(1) - (1)].specifier));
18985    ;}
18986     break;
18987
18988   case 883:
18989
18990 /* Line 1464 of yacc.c  */
18991 #line 2712 "grammar.y"
18992     { (yyval.declarator) = MkDeclaratorIdentifier(MkIdentifier("uint")); ;}
18993     break;
18994
18995   case 884:
18996
18997 /* Line 1464 of yacc.c  */
18998 #line 2715 "grammar.y"
18999     {
19000          Declarator decl;
19001          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19002          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19003          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19004          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19005          (yyval.declarator) = MkDeclaratorArray(decl, (yyvsp[(3) - (4)].exp));
19006       ;}
19007     break;
19008
19009   case 885:
19010
19011 /* Line 1464 of yacc.c  */
19012 #line 2724 "grammar.y"
19013     {
19014          Declarator decl;
19015          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19016          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19017          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19018          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19019          (yyval.declarator) = MkDeclaratorArray(decl, (yyvsp[(3) - (4)].exp));
19020       ;}
19021     break;
19022
19023   case 886:
19024
19025 /* Line 1464 of yacc.c  */
19026 #line 2733 "grammar.y"
19027     {
19028          Declarator decl;
19029          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19030          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19031          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19032          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19033          (yyval.declarator) = MkDeclaratorEnumArray(decl, (yyvsp[(3) - (4)].specifier));
19034       ;}
19035     break;
19036
19037   case 887:
19038
19039 /* Line 1464 of yacc.c  */
19040 #line 2742 "grammar.y"
19041     {
19042          Declarator decl;
19043          char * colon = RSearchString((yyvsp[(1) - (3)].specifier).name, "::", strlen((yyvsp[(1) - (3)].specifier).name), true, false);
19044          String s = colon ? colon + 2 : (yyvsp[(1) - (3)].specifier).name;
19045          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19046          FreeSpecifier((yyvsp[(1) - (3)].specifier));
19047          (yyval.declarator) = MkDeclaratorEnumArray(decl, null);
19048       ;}
19049     break;
19050
19051   case 888:
19052
19053 /* Line 1464 of yacc.c  */
19054 #line 2750 "grammar.y"
19055     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19056     break;
19057
19058   case 889:
19059
19060 /* Line 1464 of yacc.c  */
19061 #line 2751 "grammar.y"
19062     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19063     break;
19064
19065   case 890:
19066
19067 /* Line 1464 of yacc.c  */
19068 #line 2752 "grammar.y"
19069     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
19070     break;
19071
19072   case 891:
19073
19074 /* Line 1464 of yacc.c  */
19075 #line 2753 "grammar.y"
19076     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19077     break;
19078
19079   case 892:
19080
19081 /* Line 1464 of yacc.c  */
19082 #line 2757 "grammar.y"
19083     { (yyval.declarator) = MkDeclaratorIdentifier((yyvsp[(1) - (1)].id)); ;}
19084     break;
19085
19086   case 893:
19087
19088 /* Line 1464 of yacc.c  */
19089 #line 2758 "grammar.y"
19090     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19091     break;
19092
19093   case 894:
19094
19095 /* Line 1464 of yacc.c  */
19096 #line 2759 "grammar.y"
19097     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19098     break;
19099
19100   case 895:
19101
19102 /* Line 1464 of yacc.c  */
19103 #line 2760 "grammar.y"
19104     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19105     break;
19106
19107   case 896:
19108
19109 /* Line 1464 of yacc.c  */
19110 #line 2761 "grammar.y"
19111     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19112     break;
19113
19114   case 897:
19115
19116 /* Line 1464 of yacc.c  */
19117 #line 2762 "grammar.y"
19118     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19119     break;
19120
19121   case 898:
19122
19123 /* Line 1464 of yacc.c  */
19124 #line 2763 "grammar.y"
19125     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19126     break;
19127
19128   case 899:
19129
19130 /* Line 1464 of yacc.c  */
19131 #line 2764 "grammar.y"
19132     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
19133     break;
19134
19135   case 900:
19136
19137 /* Line 1464 of yacc.c  */
19138 #line 2765 "grammar.y"
19139     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19140     break;
19141
19142   case 902:
19143
19144 /* Line 1464 of yacc.c  */
19145 #line 2773 "grammar.y"
19146     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19147     break;
19148
19149   case 903:
19150
19151 /* Line 1464 of yacc.c  */
19152 #line 2774 "grammar.y"
19153     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19154     break;
19155
19156   case 904:
19157
19158 /* Line 1464 of yacc.c  */
19159 #line 2775 "grammar.y"
19160     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19161     break;
19162
19163   case 905:
19164
19165 /* Line 1464 of yacc.c  */
19166 #line 2776 "grammar.y"
19167     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19168     break;
19169
19170   case 906:
19171
19172 /* Line 1464 of yacc.c  */
19173 #line 2777 "grammar.y"
19174     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); ;}
19175     break;
19176
19177   case 907:
19178
19179 /* Line 1464 of yacc.c  */
19180 #line 2783 "grammar.y"
19181     {
19182          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), (yyvsp[(2) - (2)].list)); 
19183          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start); 
19184          yyclearin;
19185          resetScannerPos(&(yylsp[(1) - (2)]).end);
19186          (yyloc).start = (yylsp[(1) - (2)]).start;
19187          (yyloc).end = (yylsp[(1) - (2)]).end;
19188       ;}
19189     break;
19190
19191   case 908:
19192
19193 /* Line 1464 of yacc.c  */
19194 #line 2792 "grammar.y"
19195     { 
19196          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); 
19197          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start); 
19198          yyclearin;
19199          resetScannerPos(&(yylsp[(1) - (2)]).end);
19200          (yyloc).start = (yylsp[(1) - (2)]).start;
19201          (yyloc).end = (yylsp[(1) - (2)]).end;
19202       ;}
19203     break;
19204
19205   case 909:
19206
19207 /* Line 1464 of yacc.c  */
19208 #line 2801 "grammar.y"
19209     { 
19210          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); 
19211          fileInput.Seek((yylsp[(1) - (3)]).end.pos, start); 
19212          yyclearin;
19213          resetScannerPos(&(yylsp[(1) - (3)]).end);
19214          (yyloc).start = (yylsp[(1) - (3)]).start;
19215          (yyloc).end = (yylsp[(1) - (3)]).end;
19216       ;}
19217     break;
19218
19219   case 910:
19220
19221 /* Line 1464 of yacc.c  */
19222 #line 2810 "grammar.y"
19223     { 
19224          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), null); 
19225          fileInput.Seek((yylsp[(1) - (4)]).end.pos, start); 
19226          yyclearin;
19227          resetScannerPos(&(yylsp[(1) - (4)]).end);
19228          (yyloc).start = (yylsp[(1) - (4)]).start;
19229          (yyloc).end = (yylsp[(1) - (4)]).end;
19230          FreeList((yyvsp[(2) - (4)].list), FreeSpecifier);
19231          FreeIdentifier((yyvsp[(3) - (4)].id));
19232       ;}
19233     break;
19234
19235   case 914:
19236
19237 /* Line 1464 of yacc.c  */
19238 #line 2833 "grammar.y"
19239     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19240     break;
19241
19242   case 915:
19243
19244 /* Line 1464 of yacc.c  */
19245 #line 2834 "grammar.y"
19246     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19247     break;
19248
19249   case 916:
19250
19251 /* Line 1464 of yacc.c  */
19252 #line 2835 "grammar.y"
19253     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19254     break;
19255
19256   case 917:
19257
19258 /* Line 1464 of yacc.c  */
19259 #line 2836 "grammar.y"
19260     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19261     break;
19262
19263   case 918:
19264
19265 /* Line 1464 of yacc.c  */
19266 #line 2837 "grammar.y"
19267     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); ;}
19268     break;
19269
19270   case 919:
19271
19272 /* Line 1464 of yacc.c  */
19273 #line 2843 "grammar.y"
19274     {
19275          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), (yyvsp[(2) - (2)].list)); 
19276          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start); 
19277          yyclearin;
19278          resetScannerPos(&(yylsp[(1) - (2)]).end);
19279          (yyloc).start = (yylsp[(1) - (2)]).start;
19280          (yyloc).end = (yylsp[(1) - (2)]).end;
19281       ;}
19282     break;
19283
19284   case 920:
19285
19286 /* Line 1464 of yacc.c  */
19287 #line 2852 "grammar.y"
19288     { 
19289          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); 
19290          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start); 
19291          yyclearin;
19292          resetScannerPos(&(yylsp[(1) - (2)]).end);
19293          (yyloc).start = (yylsp[(1) - (2)]).start;
19294          (yyloc).end = (yylsp[(1) - (2)]).end;
19295       ;}
19296     break;
19297
19298   case 921:
19299
19300 /* Line 1464 of yacc.c  */
19301 #line 2861 "grammar.y"
19302     { 
19303          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); 
19304          fileInput.Seek((yylsp[(1) - (3)]).end.pos, start); 
19305          yyclearin;
19306          resetScannerPos(&(yylsp[(1) - (3)]).end);
19307          (yyloc).start = (yylsp[(1) - (3)]).start;
19308          (yyloc).end = (yylsp[(1) - (3)]).end;
19309       ;}
19310     break;
19311
19312   case 922:
19313
19314 /* Line 1464 of yacc.c  */
19315 #line 2870 "grammar.y"
19316     { 
19317          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), null); 
19318          fileInput.Seek((yylsp[(1) - (4)]).end.pos, start); 
19319          yyclearin;
19320          resetScannerPos(&(yylsp[(1) - (4)]).end);
19321          (yyloc).start = (yylsp[(1) - (4)]).start;
19322          (yyloc).end = (yylsp[(1) - (4)]).end;
19323          FreeList((yyvsp[(2) - (4)].list), FreeSpecifier);
19324          FreeIdentifier((yyvsp[(3) - (4)].id));
19325       ;}
19326     break;
19327
19328   case 925:
19329
19330 /* Line 1464 of yacc.c  */
19331 #line 2933 "grammar.y"
19332     { (yyval.extDecl) = MkExtDeclString(CopyString(yytext)); ;}
19333     break;
19334
19335   case 926:
19336
19337 /* Line 1464 of yacc.c  */
19338 #line 2934 "grammar.y"
19339     { (yyval.extDecl) = MkExtDeclString(CopyString(yytext)); ;}
19340     break;
19341
19342   case 927:
19343
19344 /* Line 1464 of yacc.c  */
19345 #line 2935 "grammar.y"
19346     { (yyval.extDecl) = MkExtDeclAttrib((yyvsp[(1) - (1)].attrib)); ;}
19347     break;
19348
19349   case 928:
19350
19351 /* Line 1464 of yacc.c  */
19352 #line 2937 "grammar.y"
19353     {
19354          char temp[1024];
19355          strcpy(temp, "__asm__(");
19356          strcat(temp, (yyvsp[(3) - (4)].string));
19357          strcat(temp, ")");
19358          (yyval.extDecl) = MkExtDeclString(CopyString(temp));
19359          delete (yyvsp[(3) - (4)].string);
19360       ;}
19361     break;
19362
19363   case 929:
19364
19365 /* Line 1464 of yacc.c  */
19366 #line 2948 "grammar.y"
19367     { (yyval.i) = ATTRIB; ;}
19368     break;
19369
19370   case 930:
19371
19372 /* Line 1464 of yacc.c  */
19373 #line 2949 "grammar.y"
19374     { (yyval.i) = ATTRIB_DEP; ;}
19375     break;
19376
19377   case 931:
19378
19379 /* Line 1464 of yacc.c  */
19380 #line 2950 "grammar.y"
19381     { (yyval.i) = __ATTRIB; ;}
19382     break;
19383
19384   case 932:
19385
19386 /* Line 1464 of yacc.c  */
19387 #line 2955 "grammar.y"
19388     { (yyval.string)  = CopyString(yytext); ;}
19389     break;
19390
19391   case 933:
19392
19393 /* Line 1464 of yacc.c  */
19394 #line 2956 "grammar.y"
19395     { (yyval.string)  = CopyString(yytext); ;}
19396     break;
19397
19398   case 934:
19399
19400 /* Line 1464 of yacc.c  */
19401 #line 2957 "grammar.y"
19402     { (yyval.string)  = CopyString(yytext); ;}
19403     break;
19404
19405   case 935:
19406
19407 /* Line 1464 of yacc.c  */
19408 #line 2958 "grammar.y"
19409     { (yyval.string)  = CopyString(yytext); ;}
19410     break;
19411
19412   case 936:
19413
19414 /* Line 1464 of yacc.c  */
19415 #line 2959 "grammar.y"
19416     { (yyval.string)  = CopyString(yytext); ;}
19417     break;
19418
19419   case 937:
19420
19421 /* Line 1464 of yacc.c  */
19422 #line 2963 "grammar.y"
19423     { (yyval.attribute) = MkAttribute((yyvsp[(1) - (1)].string), null); (yyval.attribute).loc = (yyloc); ;}
19424     break;
19425
19426   case 938:
19427
19428 /* Line 1464 of yacc.c  */
19429 #line 2964 "grammar.y"
19430     { (yyval.attribute) = MkAttribute((yyvsp[(1) - (4)].string), MkExpBrackets((yyvsp[(3) - (4)].list))); (yyval.attribute).loc = (yyloc); ;}
19431     break;
19432
19433   case 939:
19434
19435 /* Line 1464 of yacc.c  */
19436 #line 2968 "grammar.y"
19437     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].attribute)); ;}
19438     break;
19439
19440   case 940:
19441
19442 /* Line 1464 of yacc.c  */
19443 #line 2969 "grammar.y"
19444     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].attribute)); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
19445     break;
19446
19447   case 941:
19448
19449 /* Line 1464 of yacc.c  */
19450 #line 2970 "grammar.y"
19451     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].attribute)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
19452     break;
19453
19454   case 942:
19455
19456 /* Line 1464 of yacc.c  */
19457 #line 2974 "grammar.y"
19458     { (yyval.attrib) = MkAttrib((yyvsp[(1) - (6)].i), (yyvsp[(4) - (6)].list)); (yyval.attrib).loc = (yyloc); ;}
19459     break;
19460
19461   case 943:
19462
19463 /* Line 1464 of yacc.c  */
19464 #line 2975 "grammar.y"
19465     { (yyval.attrib) = MkAttrib((yyvsp[(1) - (5)].i), null); (yyval.attrib).loc = (yyloc); ;}
19466     break;
19467
19468   case 944:
19469
19470 /* Line 1464 of yacc.c  */
19471 #line 2979 "grammar.y"
19472     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19473     break;
19474
19475   case 945:
19476
19477 /* Line 1464 of yacc.c  */
19478 #line 2980 "grammar.y"
19479     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19480     break;
19481
19482   case 946:
19483
19484 /* Line 1464 of yacc.c  */
19485 #line 2981 "grammar.y"
19486     { (yyval.declarator) = MkDeclaratorArray(null, null); ;}
19487     break;
19488
19489   case 947:
19490
19491 /* Line 1464 of yacc.c  */
19492 #line 2982 "grammar.y"
19493     { (yyval.declarator) = MkDeclaratorArray(null, (yyvsp[(2) - (3)].exp)); ;}
19494     break;
19495
19496   case 948:
19497
19498 /* Line 1464 of yacc.c  */
19499 #line 2983 "grammar.y"
19500     { (yyval.declarator) = MkDeclaratorArray(null, (yyvsp[(2) - (3)].exp)); ;}
19501     break;
19502
19503   case 949:
19504
19505 /* Line 1464 of yacc.c  */
19506 #line 2984 "grammar.y"
19507     { (yyval.declarator) = MkDeclaratorEnumArray(null, (yyvsp[(2) - (3)].specifier)); ;}
19508     break;
19509
19510   case 950:
19511
19512 /* Line 1464 of yacc.c  */
19513 #line 2985 "grammar.y"
19514     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19515     break;
19516
19517   case 951:
19518
19519 /* Line 1464 of yacc.c  */
19520 #line 2986 "grammar.y"
19521     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19522     break;
19523
19524   case 952:
19525
19526 /* Line 1464 of yacc.c  */
19527 #line 2987 "grammar.y"
19528     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
19529     break;
19530
19531   case 953:
19532
19533 /* Line 1464 of yacc.c  */
19534 #line 2988 "grammar.y"
19535     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19536     break;
19537
19538   case 954:
19539
19540 /* Line 1464 of yacc.c  */
19541 #line 2989 "grammar.y"
19542     { (yyval.declarator) = MkDeclaratorFunction(null, null); ;}
19543     break;
19544
19545   case 955:
19546
19547 /* Line 1464 of yacc.c  */
19548 #line 2990 "grammar.y"
19549     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
19550     break;
19551
19552   case 956:
19553
19554 /* Line 1464 of yacc.c  */
19555 #line 2991 "grammar.y"
19556     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
19557     break;
19558
19559   case 957:
19560
19561 /* Line 1464 of yacc.c  */
19562 #line 2992 "grammar.y"
19563     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), null); ;}
19564     break;
19565
19566   case 958:
19567
19568 /* Line 1464 of yacc.c  */
19569 #line 2993 "grammar.y"
19570     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
19571     break;
19572
19573   case 959:
19574
19575 /* Line 1464 of yacc.c  */
19576 #line 2994 "grammar.y"
19577     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
19578     break;
19579
19580   case 960:
19581
19582 /* Line 1464 of yacc.c  */
19583 #line 2998 "grammar.y"
19584     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19585     break;
19586
19587   case 961:
19588
19589 /* Line 1464 of yacc.c  */
19590 #line 2999 "grammar.y"
19591     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19592     break;
19593
19594   case 962:
19595
19596 /* Line 1464 of yacc.c  */
19597 #line 3000 "grammar.y"
19598     { (yyval.declarator) = MkDeclaratorFunction(null, null); ;}
19599     break;
19600
19601   case 963:
19602
19603 /* Line 1464 of yacc.c  */
19604 #line 3001 "grammar.y"
19605     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
19606     break;
19607
19608   case 964:
19609
19610 /* Line 1464 of yacc.c  */
19611 #line 3002 "grammar.y"
19612     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
19613     break;
19614
19615   case 965:
19616
19617 /* Line 1464 of yacc.c  */
19618 #line 3003 "grammar.y"
19619     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), null); ;}
19620     break;
19621
19622   case 966:
19623
19624 /* Line 1464 of yacc.c  */
19625 #line 3004 "grammar.y"
19626     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
19627     break;
19628
19629   case 967:
19630
19631 /* Line 1464 of yacc.c  */
19632 #line 3005 "grammar.y"
19633     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
19634     break;
19635
19636   case 968:
19637
19638 /* Line 1464 of yacc.c  */
19639 #line 3009 "grammar.y"
19640     { (yyval.pointer) = MkPointer(null, null); ;}
19641     break;
19642
19643   case 969:
19644
19645 /* Line 1464 of yacc.c  */
19646 #line 3010 "grammar.y"
19647     { (yyval.pointer) = MkPointer((yyvsp[(2) - (2)].list), null); ;}
19648     break;
19649
19650   case 970:
19651
19652 /* Line 1464 of yacc.c  */
19653 #line 3011 "grammar.y"
19654     { (yyval.pointer) = MkPointer(null, (yyvsp[(2) - (2)].pointer)); ;}
19655     break;
19656
19657   case 971:
19658
19659 /* Line 1464 of yacc.c  */
19660 #line 3012 "grammar.y"
19661     { (yyval.pointer) = MkPointer((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].pointer)); ;}
19662     break;
19663
19664   case 972:
19665
19666 /* Line 1464 of yacc.c  */
19667 #line 3016 "grammar.y"
19668     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (1)].pointer), null); ;}
19669     break;
19670
19671   case 974:
19672
19673 /* Line 1464 of yacc.c  */
19674 #line 3018 "grammar.y"
19675     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
19676     break;
19677
19678   case 975:
19679
19680 /* Line 1464 of yacc.c  */
19681 #line 3019 "grammar.y"
19682     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (2)].pointer), null)); ;}
19683     break;
19684
19685   case 976:
19686
19687 /* Line 1464 of yacc.c  */
19688 #line 3020 "grammar.y"
19689     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
19690     break;
19691
19692   case 977:
19693
19694 /* Line 1464 of yacc.c  */
19695 #line 3024 "grammar.y"
19696     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (1)].pointer), null); ;}
19697     break;
19698
19699   case 979:
19700
19701 /* Line 1464 of yacc.c  */
19702 #line 3026 "grammar.y"
19703     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
19704     break;
19705
19706   case 980:
19707
19708 /* Line 1464 of yacc.c  */
19709 #line 3027 "grammar.y"
19710     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (2)].pointer), null)); ;}
19711     break;
19712
19713   case 981:
19714
19715 /* Line 1464 of yacc.c  */
19716 #line 3028 "grammar.y"
19717     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
19718     break;
19719
19720   case 983:
19721
19722 /* Line 1464 of yacc.c  */
19723 #line 3034 "grammar.y"
19724     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
19725     break;
19726
19727   case 984:
19728
19729 /* Line 1464 of yacc.c  */
19730 #line 3036 "grammar.y"
19731     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
19732     break;
19733
19734   case 985:
19735
19736 /* Line 1464 of yacc.c  */
19737 #line 3038 "grammar.y"
19738     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
19739     break;
19740
19741   case 986:
19742
19743 /* Line 1464 of yacc.c  */
19744 #line 3040 "grammar.y"
19745     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
19746     break;
19747
19748   case 988:
19749
19750 /* Line 1464 of yacc.c  */
19751 #line 3046 "grammar.y"
19752     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
19753     break;
19754
19755   case 989:
19756
19757 /* Line 1464 of yacc.c  */
19758 #line 3048 "grammar.y"
19759     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
19760     break;
19761
19762   case 990:
19763
19764 /* Line 1464 of yacc.c  */
19765 #line 3050 "grammar.y"
19766     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
19767     break;
19768
19769   case 992:
19770
19771 /* Line 1464 of yacc.c  */
19772 #line 3055 "grammar.y"
19773     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
19774     break;
19775
19776   case 993:
19777
19778 /* Line 1464 of yacc.c  */
19779 #line 3056 "grammar.y"
19780     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
19781     break;
19782
19783   case 994:
19784
19785 /* Line 1464 of yacc.c  */
19786 #line 3057 "grammar.y"
19787     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
19788     break;
19789
19790   case 996:
19791
19792 /* Line 1464 of yacc.c  */
19793 #line 3062 "grammar.y"
19794     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
19795     break;
19796
19797   case 997:
19798
19799 /* Line 1464 of yacc.c  */
19800 #line 3063 "grammar.y"
19801     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
19802     break;
19803
19804   case 998:
19805
19806 /* Line 1464 of yacc.c  */
19807 #line 3064 "grammar.y"
19808     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
19809     break;
19810
19811   case 1000:
19812
19813 /* Line 1464 of yacc.c  */
19814 #line 3069 "grammar.y"
19815     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
19816     break;
19817
19818   case 1001:
19819
19820 /* Line 1464 of yacc.c  */
19821 #line 3070 "grammar.y"
19822     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
19823     break;
19824
19825   case 1002:
19826
19827 /* Line 1464 of yacc.c  */
19828 #line 3071 "grammar.y"
19829     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
19830     break;
19831
19832   case 1004:
19833
19834 /* Line 1464 of yacc.c  */
19835 #line 3076 "grammar.y"
19836     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
19837     break;
19838
19839   case 1005:
19840
19841 /* Line 1464 of yacc.c  */
19842 #line 3077 "grammar.y"
19843     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
19844     break;
19845
19846   case 1006:
19847
19848 /* Line 1464 of yacc.c  */
19849 #line 3078 "grammar.y"
19850     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
19851     break;
19852
19853   case 1008:
19854
19855 /* Line 1464 of yacc.c  */
19856 #line 3083 "grammar.y"
19857     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
19858     break;
19859
19860   case 1009:
19861
19862 /* Line 1464 of yacc.c  */
19863 #line 3084 "grammar.y"
19864     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
19865     break;
19866
19867   case 1010:
19868
19869 /* Line 1464 of yacc.c  */
19870 #line 3085 "grammar.y"
19871     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
19872     break;
19873
19874   case 1011:
19875
19876 /* Line 1464 of yacc.c  */
19877 #line 3089 "grammar.y"
19878     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
19879     break;
19880
19881   case 1012:
19882
19883 /* Line 1464 of yacc.c  */
19884 #line 3090 "grammar.y"
19885     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (3)].list)); (yyval.initializer).loc = (yyloc); ;}
19886     break;
19887
19888   case 1013:
19889
19890 /* Line 1464 of yacc.c  */
19891 #line 3092 "grammar.y"
19892     { 
19893          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (4)].list)); 
19894          (yyval.initializer).loc = (yyloc); 
19895
19896          {
19897             Expression exp = MkExpDummy();
19898             Initializer init = MkInitializerAssignment(exp);
19899             init.loc = (yylsp[(3) - (4)]);
19900             exp.loc = (yylsp[(3) - (4)]);
19901             ListAdd((yyvsp[(2) - (4)].list), init); 
19902          }
19903       ;}
19904     break;
19905
19906   case 1014:
19907
19908 /* Line 1464 of yacc.c  */
19909 #line 3107 "grammar.y"
19910     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
19911     break;
19912
19913   case 1015:
19914
19915 /* Line 1464 of yacc.c  */
19916 #line 3108 "grammar.y"
19917     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (4)].list)); (yyval.initializer).loc = (yyloc); ;}
19918     break;
19919
19920   case 1016:
19921
19922 /* Line 1464 of yacc.c  */
19923 #line 3109 "grammar.y"
19924     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (2)].list)); (yyval.initializer).loc = (yyloc); ;}
19925     break;
19926
19927   case 1017:
19928
19929 /* Line 1464 of yacc.c  */
19930 #line 3111 "grammar.y"
19931     { 
19932          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (5)].list)); 
19933          (yyval.initializer).loc = (yyloc);
19934
19935          {
19936             Expression exp = MkExpDummy();
19937             Initializer init = MkInitializerAssignment(exp);
19938             init.loc = (yylsp[(3) - (5)]);
19939             exp.loc = (yylsp[(3) - (5)]);
19940             ListAdd((yyvsp[(2) - (5)].list), init); 
19941          }
19942       ;}
19943     break;
19944
19945   case 1018:
19946
19947 /* Line 1464 of yacc.c  */
19948 #line 3124 "grammar.y"
19949     { 
19950          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (3)].list)); 
19951          (yyval.initializer).loc = (yyloc);
19952
19953          {
19954             Expression exp = MkExpDummy();
19955             Initializer init = MkInitializerAssignment(exp);
19956             init.loc = (yylsp[(3) - (3)]);
19957             exp.loc = (yylsp[(3) - (3)]);
19958             ListAdd((yyvsp[(2) - (3)].list), init); 
19959          }
19960       ;}
19961     break;
19962
19963   case 1019:
19964
19965 /* Line 1464 of yacc.c  */
19966 #line 3139 "grammar.y"
19967     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
19968     break;
19969
19970   case 1020:
19971
19972 /* Line 1464 of yacc.c  */
19973 #line 3141 "grammar.y"
19974     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
19975     break;
19976
19977   case 1021:
19978
19979 /* Line 1464 of yacc.c  */
19980 #line 3145 "grammar.y"
19981     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
19982     break;
19983
19984   case 1022:
19985
19986 /* Line 1464 of yacc.c  */
19987 #line 3146 "grammar.y"
19988     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
19989     break;
19990
19991   case 1023:
19992
19993 /* Line 1464 of yacc.c  */
19994 #line 3150 "grammar.y"
19995     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initializer)); ;}
19996     break;
19997
19998   case 1024:
19999
20000 /* Line 1464 of yacc.c  */
20001 #line 3151 "grammar.y"
20002     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initializer)); ;}
20003     break;
20004
20005   case 1025:
20006
20007 /* Line 1464 of yacc.c  */
20008 #line 3152 "grammar.y"
20009     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initializer)); ;}
20010     break;
20011
20012   case 1026:
20013
20014 /* Line 1464 of yacc.c  */
20015 #line 3153 "grammar.y"
20016     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initializer)); ;}
20017     break;
20018
20019   case 1027:
20020
20021 /* Line 1464 of yacc.c  */
20022 #line 3156 "grammar.y"
20023     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].initializer)); ;}
20024     break;
20025
20026   case 1028:
20027
20028 /* Line 1464 of yacc.c  */
20029 #line 3157 "grammar.y"
20030     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].initializer)); ;}
20031     break;
20032
20033   case 1029:
20034
20035 /* Line 1464 of yacc.c  */
20036 #line 3161 "grammar.y"
20037     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20038     break;
20039
20040   case 1030:
20041
20042 /* Line 1464 of yacc.c  */
20043 #line 3162 "grammar.y"
20044     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20045     break;
20046
20047   case 1031:
20048
20049 /* Line 1464 of yacc.c  */
20050 #line 3163 "grammar.y"
20051     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].initializer)); (yyval.initDeclarator).loc = (yyloc); (yyval.initDeclarator).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
20052     break;
20053
20054   case 1032:
20055
20056 /* Line 1464 of yacc.c  */
20057 #line 3167 "grammar.y"
20058     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (2)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20059     break;
20060
20061   case 1033:
20062
20063 /* Line 1464 of yacc.c  */
20064 #line 3171 "grammar.y"
20065     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].initializer)); (yyval.initDeclarator).loc = (yyloc); (yyval.initDeclarator).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
20066     break;
20067
20068   case 1034:
20069
20070 /* Line 1464 of yacc.c  */
20071 #line 3175 "grammar.y"
20072     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initDeclarator)); ;}
20073     break;
20074
20075   case 1035:
20076
20077 /* Line 1464 of yacc.c  */
20078 #line 3176 "grammar.y"
20079     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20080     break;
20081
20082   case 1036:
20083
20084 /* Line 1464 of yacc.c  */
20085 #line 3177 "grammar.y"
20086     { (yyval.list) = MkList(); ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("uint")), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20087     break;
20088
20089   case 1037:
20090
20091 /* Line 1464 of yacc.c  */
20092 #line 3178 "grammar.y"
20093     { (yyval.list) = MkList(); ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("int64")), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20094     break;
20095
20096   case 1038:
20097
20098 /* Line 1464 of yacc.c  */
20099 #line 3180 "grammar.y"
20100     {
20101       char * colon = RSearchString((yyvsp[(1) - (3)].specifier).name, "::", strlen((yyvsp[(1) - (3)].specifier).name), true, false);
20102       String s = colon ? colon + 2 : (yyvsp[(1) - (3)].specifier).name;
20103       (yyval.list) = MkList();
20104       ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), null));
20105       ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator));
20106       FreeSpecifier((yyvsp[(1) - (3)].specifier));
20107    ;}
20108     break;
20109
20110   case 1039:
20111
20112 /* Line 1464 of yacc.c  */
20113 #line 3188 "grammar.y"
20114     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20115     break;
20116
20117   case 1040:
20118
20119 /* Line 1464 of yacc.c  */
20120 #line 3197 "grammar.y"
20121     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initDeclarator)); ;}
20122     break;
20123
20124   case 1041:
20125
20126 /* Line 1464 of yacc.c  */
20127 #line 3198 "grammar.y"
20128     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].initDeclarator)); ;}
20129     break;
20130
20131   case 1042:
20132
20133 /* Line 1464 of yacc.c  */
20134 #line 3199 "grammar.y"
20135     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20136     break;
20137
20138   case 1043:
20139
20140 /* Line 1464 of yacc.c  */
20141 #line 3200 "grammar.y"
20142     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20143     break;
20144
20145   case 1044:
20146
20147 /* Line 1464 of yacc.c  */
20148 #line 3204 "grammar.y"
20149     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (1)].list), null); ;}
20150     break;
20151
20152   case 1045:
20153
20154 /* Line 1464 of yacc.c  */
20155 #line 3205 "grammar.y"
20156     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20157     break;
20158
20159   case 1046:
20160
20161 /* Line 1464 of yacc.c  */
20162 #line 3209 "grammar.y"
20163     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (1)].list), null); ;}
20164     break;
20165
20166   case 1047:
20167
20168 /* Line 1464 of yacc.c  */
20169 #line 3210 "grammar.y"
20170     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20171     break;
20172
20173   case 1048:
20174
20175 /* Line 1464 of yacc.c  */
20176 #line 3215 "grammar.y"
20177     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20178     break;
20179
20180   case 1049:
20181
20182 /* Line 1464 of yacc.c  */
20183 #line 3216 "grammar.y"
20184     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20185     break;
20186
20187   case 1050:
20188
20189 /* Line 1464 of yacc.c  */
20190 #line 3217 "grammar.y"
20191     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), MkDeclaratorPointer(MkPointer(null,null), null)); ;}
20192     break;
20193
20194   case 1051:
20195
20196 /* Line 1464 of yacc.c  */
20197 #line 3218 "grammar.y"
20198     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), MkDeclaratorPointer(MkPointer(null,null), (yyvsp[(3) - (3)].declarator))); ;}
20199     break;
20200
20201   case 1052:
20202
20203 /* Line 1464 of yacc.c  */
20204 #line 3219 "grammar.y"
20205     { (yyval.typeName) = MkTypeNameGuessDecl((yyvsp[(1) - (1)].list), null); ;}
20206     break;
20207
20208   case 1053:
20209
20210 /* Line 1464 of yacc.c  */
20211 #line 3221 "grammar.y"
20212     { (yyval.typeName) = MkTypeName(MkListOne(MkSpecifier(CLASS)), null); ;}
20213     break;
20214
20215   case 1054:
20216
20217 /* Line 1464 of yacc.c  */
20218 #line 3239 "grammar.y"
20219     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator)); ;}
20220     break;
20221
20222   case 1055:
20223
20224 /* Line 1464 of yacc.c  */
20225 #line 3240 "grammar.y"
20226     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator)); ;}
20227     break;
20228
20229   case 1056:
20230
20231 /* Line 1464 of yacc.c  */
20232 #line 3244 "grammar.y"
20233     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].typeName)); ;}
20234     break;
20235
20236   case 1057:
20237
20238 /* Line 1464 of yacc.c  */
20239 #line 3245 "grammar.y"
20240     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20241     break;
20242
20243   case 1058:
20244
20245 /* Line 1464 of yacc.c  */
20246 #line 3246 "grammar.y"
20247     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20248     break;
20249
20250   case 1059:
20251
20252 /* Line 1464 of yacc.c  */
20253 #line 3247 "grammar.y"
20254     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20255     break;
20256
20257   case 1060:
20258
20259 /* Line 1464 of yacc.c  */
20260 #line 3248 "grammar.y"
20261     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20262     break;
20263
20264   case 1061:
20265
20266 /* Line 1464 of yacc.c  */
20267 #line 3249 "grammar.y"
20268     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(MkList(), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].typeName)); ;}
20269     break;
20270
20271   case 1062:
20272
20273 /* Line 1464 of yacc.c  */
20274 #line 3251 "grammar.y"
20275     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20276     break;
20277
20278   case 1063:
20279
20280 /* Line 1464 of yacc.c  */
20281 #line 3252 "grammar.y"
20282     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20283     break;
20284
20285   case 1064:
20286
20287 /* Line 1464 of yacc.c  */
20288 #line 3253 "grammar.y"
20289     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20290     break;
20291
20292   case 1065:
20293
20294 /* Line 1464 of yacc.c  */
20295 #line 3254 "grammar.y"
20296     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20297     break;
20298
20299   case 1066:
20300
20301 /* Line 1464 of yacc.c  */
20302 #line 3258 "grammar.y"
20303     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].typeName)); ;}
20304     break;
20305
20306   case 1067:
20307
20308 /* Line 1464 of yacc.c  */
20309 #line 3259 "grammar.y"
20310     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20311     break;
20312
20313   case 1068:
20314
20315 /* Line 1464 of yacc.c  */
20316 #line 3260 "grammar.y"
20317     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20318     break;
20319
20320   case 1069:
20321
20322 /* Line 1464 of yacc.c  */
20323 #line 3261 "grammar.y"
20324     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20325     break;
20326
20327   case 1070:
20328
20329 /* Line 1464 of yacc.c  */
20330 #line 3262 "grammar.y"
20331     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(MkList(), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].typeName)); ;}
20332     break;
20333
20334   case 1071:
20335
20336 /* Line 1464 of yacc.c  */
20337 #line 3264 "grammar.y"
20338     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20339     break;
20340
20341   case 1072:
20342
20343 /* Line 1464 of yacc.c  */
20344 #line 3265 "grammar.y"
20345     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20346     break;
20347
20348   case 1073:
20349
20350 /* Line 1464 of yacc.c  */
20351 #line 3266 "grammar.y"
20352     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20353     break;
20354
20355   case 1075:
20356
20357 /* Line 1464 of yacc.c  */
20358 #line 3271 "grammar.y"
20359     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20360     break;
20361
20362   case 1076:
20363
20364 /* Line 1464 of yacc.c  */
20365 #line 3272 "grammar.y"
20366     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20367     break;
20368
20369   case 1077:
20370
20371 /* Line 1464 of yacc.c  */
20372 #line 3273 "grammar.y"
20373     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20374     break;
20375
20376   case 1078:
20377
20378 /* Line 1464 of yacc.c  */
20379 #line 3274 "grammar.y"
20380     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20381     break;
20382
20383   case 1079:
20384
20385 /* Line 1464 of yacc.c  */
20386 #line 3275 "grammar.y"
20387     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(null, null)); ;}
20388     break;
20389
20390   case 1081:
20391
20392 /* Line 1464 of yacc.c  */
20393 #line 3280 "grammar.y"
20394     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
20395     break;
20396
20397   case 1084:
20398
20399 /* Line 1464 of yacc.c  */
20400 #line 3287 "grammar.y"
20401     { (yyval.stmt) = MkExpressionStmt(null); FreeAttrib((yyvsp[(1) - (1)].attrib)); ;}
20402     break;
20403
20404   case 1086:
20405
20406 /* Line 1464 of yacc.c  */
20407 #line 3289 "grammar.y"
20408     { (yyval.stmt) = MkExpressionStmt(null); ;}
20409     break;
20410
20411   case 1087:
20412
20413 /* Line 1464 of yacc.c  */
20414 #line 3290 "grammar.y"
20415     { (yyval.stmt) = MkExpressionStmt(null); ;}
20416     break;
20417
20418   case 1088:
20419
20420 /* Line 1464 of yacc.c  */
20421 #line 3291 "grammar.y"
20422     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
20423     break;
20424
20425   case 1096:
20426
20427 /* Line 1464 of yacc.c  */
20428 #line 3302 "grammar.y"
20429     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20430     break;
20431
20432   case 1097:
20433
20434 /* Line 1464 of yacc.c  */
20435 #line 3303 "grammar.y"
20436     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20437     break;
20438
20439   case 1098:
20440
20441 /* Line 1464 of yacc.c  */
20442 #line 3304 "grammar.y"
20443     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20444     break;
20445
20446   case 1099:
20447
20448 /* Line 1464 of yacc.c  */
20449 #line 3305 "grammar.y"
20450     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20451     break;
20452
20453   case 1100:
20454
20455 /* Line 1464 of yacc.c  */
20456 #line 3306 "grammar.y"
20457     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20458     break;
20459
20460   case 1101:
20461
20462 /* Line 1464 of yacc.c  */
20463 #line 3307 "grammar.y"
20464     { (yyval.stmt) = (yyvsp[(1) - (2)].stmt); Compiler_Error($"syntax error\n"); ;}
20465     break;
20466
20467   case 1102:
20468
20469 /* Line 1464 of yacc.c  */
20470 #line 3308 "grammar.y"
20471     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (1)].list)); Compiler_Error($"syntax error\n"); (yyval.stmt).loc = (yylsp[(1) - (1)]); ;}
20472     break;
20473
20474   case 1103:
20475
20476 /* Line 1464 of yacc.c  */
20477 #line 3312 "grammar.y"
20478     { (yyval.asmField) = MkAsmField((yyvsp[(1) - (1)].string), null); (yyval.asmField).loc = (yylsp[(1) - (1)]); ;}
20479     break;
20480
20481   case 1104:
20482
20483 /* Line 1464 of yacc.c  */
20484 #line 3313 "grammar.y"
20485     { (yyval.asmField) = MkAsmField((yyvsp[(1) - (4)].string), (yyvsp[(3) - (4)].exp)); (yyval.asmField).loc = (yyloc); ;}
20486     break;
20487
20488   case 1105:
20489
20490 /* Line 1464 of yacc.c  */
20491 #line 3317 "grammar.y"
20492     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].asmField)); ;}
20493     break;
20494
20495   case 1106:
20496
20497 /* Line 1464 of yacc.c  */
20498 #line 3318 "grammar.y"
20499     { ListAdd((yyval.list), (yyvsp[(3) - (3)].asmField)); ;}
20500     break;
20501
20502   case 1107:
20503
20504 /* Line 1464 of yacc.c  */
20505 #line 3319 "grammar.y"
20506     { (yyval.list) = null; ;}
20507     break;
20508
20509   case 1108:
20510
20511 /* Line 1464 of yacc.c  */
20512 #line 3323 "grammar.y"
20513     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (6)].specifier), (yyvsp[(4) - (6)].string), null, null, null); (yyval.stmt).loc = (yyloc); ;}
20514     break;
20515
20516   case 1109:
20517
20518 /* Line 1464 of yacc.c  */
20519 #line 3324 "grammar.y"
20520     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (8)].specifier), (yyvsp[(4) - (8)].string), (yyvsp[(6) - (8)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
20521     break;
20522
20523   case 1110:
20524
20525 /* Line 1464 of yacc.c  */
20526 #line 3325 "grammar.y"
20527     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), (yyvsp[(6) - (10)].list), (yyvsp[(8) - (10)].list), null); (yyval.stmt).loc = (yyloc); ;}
20528     break;
20529
20530   case 1111:
20531
20532 /* Line 1464 of yacc.c  */
20533 #line 3326 "grammar.y"
20534     { (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); ;}
20535     break;
20536
20537   case 1112:
20538
20539 /* Line 1464 of yacc.c  */
20540 #line 3328 "grammar.y"
20541     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (8)].specifier), (yyvsp[(4) - (8)].string), null, (yyvsp[(6) - (8)].list), null); (yyval.stmt).loc = (yyloc); ;}
20542     break;
20543
20544   case 1113:
20545
20546 /* Line 1464 of yacc.c  */
20547 #line 3329 "grammar.y"
20548     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), null, (yyvsp[(6) - (10)].list), (yyvsp[(8) - (10)].list)); (yyval.stmt).loc = (yyloc); ;}
20549     break;
20550
20551   case 1114:
20552
20553 /* Line 1464 of yacc.c  */
20554 #line 3330 "grammar.y"
20555     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), (yyvsp[(6) - (10)].list), null, (yyvsp[(8) - (10)].list)); (yyval.stmt).loc = (yyloc); ;}
20556     break;
20557
20558   case 1115:
20559
20560 /* Line 1464 of yacc.c  */
20561 #line 3332 "grammar.y"
20562     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (5)].string), null, null, null); (yyval.stmt).loc = (yyloc); ;}
20563     break;
20564
20565   case 1116:
20566
20567 /* Line 1464 of yacc.c  */
20568 #line 3333 "grammar.y"
20569     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (7)].string), (yyvsp[(5) - (7)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
20570     break;
20571
20572   case 1117:
20573
20574 /* Line 1464 of yacc.c  */
20575 #line 3334 "grammar.y"
20576     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list), null); (yyval.stmt).loc = (yyloc); ;}
20577     break;
20578
20579   case 1118:
20580
20581 /* Line 1464 of yacc.c  */
20582 #line 3335 "grammar.y"
20583     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (11)].string), (yyvsp[(5) - (11)].list), (yyvsp[(7) - (11)].list), (yyvsp[(9) - (11)].list)); (yyval.stmt).loc = (yyloc); ;}
20584     break;
20585
20586   case 1119:
20587
20588 /* Line 1464 of yacc.c  */
20589 #line 3337 "grammar.y"
20590     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (7)].string), null, (yyvsp[(5) - (7)].list), null); (yyval.stmt).loc = (yyloc); ;}
20591     break;
20592
20593   case 1120:
20594
20595 /* Line 1464 of yacc.c  */
20596 #line 3338 "grammar.y"
20597     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), null, (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list)); (yyval.stmt).loc = (yyloc); ;}
20598     break;
20599
20600   case 1121:
20601
20602 /* Line 1464 of yacc.c  */
20603 #line 3339 "grammar.y"
20604     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), (yyvsp[(5) - (9)].list), null, (yyvsp[(7) - (9)].list)); (yyval.stmt).loc = (yyloc); ;}
20605     break;
20606
20607   case 1122:
20608
20609 /* Line 1464 of yacc.c  */
20610 #line 3343 "grammar.y"
20611     { (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20612     break;
20613
20614   case 1123:
20615
20616 /* Line 1464 of yacc.c  */
20617 #line 3344 "grammar.y"
20618     { (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; ;}
20619     break;
20620
20621   case 1124:
20622
20623 /* Line 1464 of yacc.c  */
20624 #line 3345 "grammar.y"
20625     { (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; ;}
20626     break;
20627
20628   case 1125:
20629
20630 /* Line 1464 of yacc.c  */
20631 #line 3346 "grammar.y"
20632     { (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; ;}
20633     break;
20634
20635   case 1126:
20636
20637 /* Line 1464 of yacc.c  */
20638 #line 3347 "grammar.y"
20639     { (yyval.stmt) = MkCaseStmt(null, (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20640     break;
20641
20642   case 1127:
20643
20644 /* Line 1464 of yacc.c  */
20645 #line 3351 "grammar.y"
20646     { (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20647     break;
20648
20649   case 1128:
20650
20651 /* Line 1464 of yacc.c  */
20652 #line 3352 "grammar.y"
20653     { (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; ;}
20654     break;
20655
20656   case 1129:
20657
20658 /* Line 1464 of yacc.c  */
20659 #line 3353 "grammar.y"
20660     { (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; ;}
20661     break;
20662
20663   case 1130:
20664
20665 /* Line 1464 of yacc.c  */
20666 #line 3354 "grammar.y"
20667     { (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; ;}
20668     break;
20669
20670   case 1131:
20671
20672 /* Line 1464 of yacc.c  */
20673 #line 3355 "grammar.y"
20674     { (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; ;}
20675     break;
20676
20677   case 1132:
20678
20679 /* Line 1464 of yacc.c  */
20680 #line 3356 "grammar.y"
20681     { (yyval.stmt) = MkCaseStmt(null, (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20682     break;
20683
20684   case 1133:
20685
20686 /* Line 1464 of yacc.c  */
20687 #line 3357 "grammar.y"
20688     { (yyval.stmt) = MkCaseStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
20689     break;
20690
20691   case 1134:
20692
20693 /* Line 1464 of yacc.c  */
20694 #line 3361 "grammar.y"
20695     { (yyval.declMode) = declMode = publicAccess; ;}
20696     break;
20697
20698   case 1135:
20699
20700 /* Line 1464 of yacc.c  */
20701 #line 3362 "grammar.y"
20702     { (yyval.declMode) = declMode = privateAccess; ;}
20703     break;
20704
20705   case 1136:
20706
20707 /* Line 1464 of yacc.c  */
20708 #line 3363 "grammar.y"
20709     { (yyval.declMode) = declMode = defaultAccess; ;}
20710     break;
20711
20712   case 1137:
20713
20714 /* Line 1464 of yacc.c  */
20715 #line 3367 "grammar.y"
20716     { (yyval.declMode) = publicAccess; ;}
20717     break;
20718
20719   case 1138:
20720
20721 /* Line 1464 of yacc.c  */
20722 #line 3368 "grammar.y"
20723     { (yyval.declMode) = privateAccess; ;}
20724     break;
20725
20726   case 1139:
20727
20728 /* Line 1464 of yacc.c  */
20729 #line 3372 "grammar.y"
20730     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); ;}
20731     break;
20732
20733   case 1140:
20734
20735 /* Line 1464 of yacc.c  */
20736 #line 3373 "grammar.y"
20737     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
20738     break;
20739
20740   case 1141:
20741
20742 /* Line 1464 of yacc.c  */
20743 #line 3374 "grammar.y"
20744     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); ;}
20745     break;
20746
20747   case 1142:
20748
20749 /* Line 1464 of yacc.c  */
20750 #line 3375 "grammar.y"
20751     { (yyval.declaration) = (yyvsp[(1) - (2)].declaration); ;}
20752     break;
20753
20754   case 1143:
20755
20756 /* Line 1464 of yacc.c  */
20757 #line 3379 "grammar.y"
20758     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); ;}
20759     break;
20760
20761   case 1144:
20762
20763 /* Line 1464 of yacc.c  */
20764 #line 3380 "grammar.y"
20765     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
20766     break;
20767
20768   case 1145:
20769
20770 /* Line 1464 of yacc.c  */
20771 #line 3381 "grammar.y"
20772     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
20773     break;
20774
20775   case 1146:
20776
20777 /* Line 1464 of yacc.c  */
20778 #line 3383 "grammar.y"
20779     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); ;}
20780     break;
20781
20782   case 1147:
20783
20784 /* Line 1464 of yacc.c  */
20785 #line 3384 "grammar.y"
20786     { (yyval.declaration) = MkDeclarationDefine((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].exp)); (yyval.declaration).loc = (yyloc); ;}
20787     break;
20788
20789   case 1148:
20790
20791 /* Line 1464 of yacc.c  */
20792 #line 3385 "grammar.y"
20793     { declMode = staticAccess; (yyval.declaration) = MkDeclarationDefine((yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].exp)); (yyval.declaration).loc = (yyloc); ;}
20794     break;
20795
20796   case 1149:
20797
20798 /* Line 1464 of yacc.c  */
20799 #line 3389 "grammar.y"
20800     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); yyerrok; ;}
20801     break;
20802
20803   case 1150:
20804
20805 /* Line 1464 of yacc.c  */
20806 #line 3393 "grammar.y"
20807     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); ;}
20808     break;
20809
20810   case 1151:
20811
20812 /* Line 1464 of yacc.c  */
20813 #line 3394 "grammar.y"
20814     {;}
20815     break;
20816
20817   case 1152:
20818
20819 /* Line 1464 of yacc.c  */
20820 #line 3396 "grammar.y"
20821     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); ;}
20822     break;
20823
20824   case 1153:
20825
20826 /* Line 1464 of yacc.c  */
20827 #line 3397 "grammar.y"
20828     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); ;}
20829     break;
20830
20831   case 1154:
20832
20833 /* Line 1464 of yacc.c  */
20834 #line 3398 "grammar.y"
20835     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); (yyval.declaration).loc = (yyloc); ;}
20836     break;
20837
20838   case 1155:
20839
20840 /* Line 1464 of yacc.c  */
20841 #line 3402 "grammar.y"
20842     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declaration)); /*declMode = defaultDeclMode;*/ ;}
20843     break;
20844
20845   case 1156:
20846
20847 /* Line 1464 of yacc.c  */
20848 #line 3403 "grammar.y"
20849     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); /*declMode = defaultDeclMode; */;}
20850     break;
20851
20852   case 1157:
20853
20854 /* Line 1464 of yacc.c  */
20855 #line 3404 "grammar.y"
20856     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); /*declMode = defaultDeclMode; */;}
20857     break;
20858
20859   case 1158:
20860
20861 /* Line 1464 of yacc.c  */
20862 #line 3405 "grammar.y"
20863     { (yyval.list) = (yyvsp[(1) - (3)].list); ;}
20864     break;
20865
20866   case 1159:
20867
20868 /* Line 1464 of yacc.c  */
20869 #line 3409 "grammar.y"
20870     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declaration)); ;}
20871     break;
20872
20873   case 1160:
20874
20875 /* Line 1464 of yacc.c  */
20876 #line 3410 "grammar.y"
20877     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); ;}
20878     break;
20879
20880   case 1161:
20881
20882 /* Line 1464 of yacc.c  */
20883 #line 3414 "grammar.y"
20884     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].stmt)); ;}
20885     break;
20886
20887   case 1162:
20888
20889 /* Line 1464 of yacc.c  */
20890 #line 3415 "grammar.y"
20891     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
20892     break;
20893
20894   case 1163:
20895
20896 /* Line 1464 of yacc.c  */
20897 #line 3416 "grammar.y"
20898     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
20899     break;
20900
20901   case 1164:
20902
20903 /* Line 1464 of yacc.c  */
20904 #line 3420 "grammar.y"
20905     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].stmt)); ;}
20906     break;
20907
20908   case 1165:
20909
20910 /* Line 1464 of yacc.c  */
20911 #line 3421 "grammar.y"
20912     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
20913     break;
20914
20915   case 1166:
20916
20917 /* Line 1464 of yacc.c  */
20918 #line 3422 "grammar.y"
20919     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
20920     break;
20921
20922   case 1167:
20923
20924 /* Line 1464 of yacc.c  */
20925 #line 3423 "grammar.y"
20926     { 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;*/ ;}
20927     break;
20928
20929   case 1168:
20930
20931 /* Line 1464 of yacc.c  */
20932 #line 3424 "grammar.y"
20933     { 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;*/ ;}
20934     break;
20935
20936   case 1169:
20937
20938 /* Line 1464 of yacc.c  */
20939 #line 3425 "grammar.y"
20940     { 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;*/ ;}
20941     break;
20942
20943   case 1170:
20944
20945 /* Line 1464 of yacc.c  */
20946 #line 3426 "grammar.y"
20947     { 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;*/ ;}
20948     break;
20949
20950   case 1171:
20951
20952 /* Line 1464 of yacc.c  */
20953 #line 3430 "grammar.y"
20954     { (yyval.stmt) = MkCompoundStmt(null, (yyvsp[(1) - (1)].list)); ;}
20955     break;
20956
20957   case 1172:
20958
20959 /* Line 1464 of yacc.c  */
20960 #line 3431 "grammar.y"
20961     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (1)].list), null); ;}
20962     break;
20963
20964   case 1173:
20965
20966 /* Line 1464 of yacc.c  */
20967 #line 3432 "grammar.y"
20968     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
20969     break;
20970
20971   case 1174:
20972
20973 /* Line 1464 of yacc.c  */
20974 #line 3433 "grammar.y"
20975     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
20976     break;
20977
20978   case 1175:
20979
20980 /* Line 1464 of yacc.c  */
20981 #line 3437 "grammar.y"
20982     { (yyval.stmt) = MkCompoundStmt(null, (yyvsp[(1) - (1)].list)); ;}
20983     break;
20984
20985   case 1176:
20986
20987 /* Line 1464 of yacc.c  */
20988 #line 3438 "grammar.y"
20989     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (1)].list), null); ;}
20990     break;
20991
20992   case 1177:
20993
20994 /* Line 1464 of yacc.c  */
20995 #line 3439 "grammar.y"
20996     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
20997     break;
20998
20999   case 1178:
21000
21001 /* Line 1464 of yacc.c  */
21002 #line 3440 "grammar.y"
21003     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21004     break;
21005
21006   case 1179:
21007
21008 /* Line 1464 of yacc.c  */
21009 #line 3444 "grammar.y"
21010     { (yyval.context) = PushContext(); ;}
21011     break;
21012
21013   case 1180:
21014
21015 /* Line 1464 of yacc.c  */
21016 #line 3448 "grammar.y"
21017     { (yyval.stmt) = (yyvsp[(1) - (2)].stmt); (yyval.stmt).loc = (yyloc); ;}
21018     break;
21019
21020   case 1181:
21021
21022 /* Line 1464 of yacc.c  */
21023 #line 3453 "grammar.y"
21024     { (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++; ;}
21025     break;
21026
21027   case 1182:
21028
21029 /* Line 1464 of yacc.c  */
21030 #line 3455 "grammar.y"
21031     { (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++; ;}
21032     break;
21033
21034   case 1183:
21035
21036 /* Line 1464 of yacc.c  */
21037 #line 3458 "grammar.y"
21038     { (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++; ;}
21039     break;
21040
21041   case 1184:
21042
21043 /* Line 1464 of yacc.c  */
21044 #line 3463 "grammar.y"
21045     { (yyval.stmt) = MkExpressionStmt(null); (yyval.stmt).loc = (yyloc); ;}
21046     break;
21047
21048   case 1185:
21049
21050 /* Line 1464 of yacc.c  */
21051 #line 3464 "grammar.y"
21052     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21053     break;
21054
21055   case 1186:
21056
21057 /* Line 1464 of yacc.c  */
21058 #line 3465 "grammar.y"
21059     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21060     break;
21061
21062   case 1187:
21063
21064 /* Line 1464 of yacc.c  */
21065 #line 3469 "grammar.y"
21066     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21067     break;
21068
21069   case 1188:
21070
21071 /* Line 1464 of yacc.c  */
21072 #line 3470 "grammar.y"
21073     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21074     break;
21075
21076   case 1189:
21077
21078 /* Line 1464 of yacc.c  */
21079 #line 3471 "grammar.y"
21080     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].stmt), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21081     break;
21082
21083   case 1190:
21084
21085 /* Line 1464 of yacc.c  */
21086 #line 3472 "grammar.y"
21087     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].stmt), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21088     break;
21089
21090   case 1191:
21091
21092 /* Line 1464 of yacc.c  */
21093 #line 3473 "grammar.y"
21094     { (yyval.stmt) = MkSwitchStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21095     break;
21096
21097   case 1192:
21098
21099 /* Line 1464 of yacc.c  */
21100 #line 3474 "grammar.y"
21101     { (yyval.stmt) = MkSwitchStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21102     break;
21103
21104   case 1193:
21105
21106 /* Line 1464 of yacc.c  */
21107 #line 3478 "grammar.y"
21108     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (3)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
21109     break;
21110
21111   case 1195:
21112
21113 /* Line 1464 of yacc.c  */
21114 #line 3483 "grammar.y"
21115     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21116     break;
21117
21118   case 1196:
21119
21120 /* Line 1464 of yacc.c  */
21121 #line 3484 "grammar.y"
21122     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21123     break;
21124
21125   case 1197:
21126
21127 /* Line 1464 of yacc.c  */
21128 #line 3485 "grammar.y"
21129     { (yyval.stmt) = MkWhileStmt(null, (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21130     break;
21131
21132   case 1198:
21133
21134 /* Line 1464 of yacc.c  */
21135 #line 3487 "grammar.y"
21136     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (7)].stmt), (yyvsp[(5) - (7)].list)); (yyval.stmt).loc = (yyloc); ;}
21137     break;
21138
21139   case 1199:
21140
21141 /* Line 1464 of yacc.c  */
21142 #line 3488 "grammar.y"
21143     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (6)].stmt), (yyvsp[(5) - (6)].list)); (yyval.stmt).loc = (yyloc); ;}
21144     break;
21145
21146   case 1200:
21147
21148 /* Line 1464 of yacc.c  */
21149 #line 3490 "grammar.y"
21150     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), null, (yyvsp[(6) - (6)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21151     break;
21152
21153   case 1201:
21154
21155 /* Line 1464 of yacc.c  */
21156 #line 3491 "grammar.y"
21157     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), null, null, (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21158     break;
21159
21160   case 1202:
21161
21162 /* Line 1464 of yacc.c  */
21163 #line 3492 "grammar.y"
21164     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (7)].stmt), (yyvsp[(4) - (7)].stmt), (yyvsp[(5) - (7)].list), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21165     break;
21166
21167   case 1203:
21168
21169 /* Line 1464 of yacc.c  */
21170 #line 3493 "grammar.y"
21171     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), (yyvsp[(5) - (6)].list), (yyvsp[(6) - (6)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21172     break;
21173
21174   case 1204:
21175
21176 /* Line 1464 of yacc.c  */
21177 #line 3494 "grammar.y"
21178     { (yyval.stmt) = MkForStmt(null, null, null, (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21179     break;
21180
21181   case 1205:
21182
21183 /* Line 1464 of yacc.c  */
21184 #line 3496 "grammar.y"
21185     { (yyval.stmt) = MkForEachStmt((yyvsp[(3) - (7)].id), (yyvsp[(5) - (7)].list), null, (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21186     break;
21187
21188   case 1206:
21189
21190 /* Line 1464 of yacc.c  */
21191 #line 3497 "grammar.y"
21192     { (yyval.stmt) = MkForEachStmt((yyvsp[(3) - (9)].id), (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list), (yyvsp[(9) - (9)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21193     break;
21194
21195   case 1207:
21196
21197 /* Line 1464 of yacc.c  */
21198 #line 3501 "grammar.y"
21199     { (yyval.stmt) = MkForStmt(null, null, null, null); (yyval.stmt).loc = (yyloc); ;}
21200     break;
21201
21202   case 1208:
21203
21204 /* Line 1464 of yacc.c  */
21205 #line 3502 "grammar.y"
21206     { (yyval.stmt) = MkForStmt(MkExpressionStmt((yyvsp[(3) - (4)].list)), null, null, null); (yyval.stmt).forStmt.init.loc = (yylsp[(3) - (4)]); (yyval.stmt).loc = (yyloc); ;}
21207     break;
21208
21209   case 1209:
21210
21211 /* Line 1464 of yacc.c  */
21212 #line 3503 "grammar.y"
21213     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (4)].stmt), null, null, null); (yyval.stmt).loc = (yyloc); ;}
21214     break;
21215
21216   case 1210:
21217
21218 /* Line 1464 of yacc.c  */
21219 #line 3504 "grammar.y"
21220     { (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)]); ;}
21221     break;
21222
21223   case 1211:
21224
21225 /* Line 1464 of yacc.c  */
21226 #line 3508 "grammar.y"
21227     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), (yyvsp[(4) - (5)].stmt), (yyvsp[(5) - (5)].list), null); (yyval.stmt).loc = (yyloc); ;}
21228     break;
21229
21230   case 1212:
21231
21232 /* Line 1464 of yacc.c  */
21233 #line 3509 "grammar.y"
21234     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), null, (yyvsp[(6) - (6)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21235     break;
21236
21237   case 1213:
21238
21239 /* Line 1464 of yacc.c  */
21240 #line 3510 "grammar.y"
21241     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (7)].stmt), (yyvsp[(4) - (7)].stmt), (yyvsp[(5) - (7)].list), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21242     break;
21243
21244   case 1214:
21245
21246 /* Line 1464 of yacc.c  */
21247 #line 3511 "grammar.y"
21248     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), (yyvsp[(5) - (6)].list), (yyvsp[(6) - (6)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21249     break;
21250
21251   case 1215:
21252
21253 /* Line 1464 of yacc.c  */
21254 #line 3513 "grammar.y"
21255     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (6)].stmt), (yyvsp[(5) - (6)].list)); (yyval.stmt).loc = (yyloc); ;}
21256     break;
21257
21258   case 1216:
21259
21260 /* Line 1464 of yacc.c  */
21261 #line 3514 "grammar.y"
21262     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (5)].stmt), (yyvsp[(5) - (5)].list)); (yyval.stmt).loc = (yyloc); ;}
21263     break;
21264
21265   case 1217:
21266
21267 /* Line 1464 of yacc.c  */
21268 #line 3515 "grammar.y"
21269     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (5)].stmt), (yyvsp[(5) - (5)].list)); (yyval.stmt).loc = (yyloc); ;}
21270     break;
21271
21272   case 1218:
21273
21274 /* Line 1464 of yacc.c  */
21275 #line 3516 "grammar.y"
21276     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (4)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21277     break;
21278
21279   case 1219:
21280
21281 /* Line 1464 of yacc.c  */
21282 #line 3517 "grammar.y"
21283     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (3)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21284     break;
21285
21286   case 1220:
21287
21288 /* Line 1464 of yacc.c  */
21289 #line 3518 "grammar.y"
21290     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (2)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21291     break;
21292
21293   case 1221:
21294
21295 /* Line 1464 of yacc.c  */
21296 #line 3519 "grammar.y"
21297     { (yyval.stmt) = MkDoWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21298     break;
21299
21300   case 1222:
21301
21302 /* Line 1464 of yacc.c  */
21303 #line 3522 "grammar.y"
21304     { (yyval.stmt) = MkWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21305     break;
21306
21307   case 1223:
21308
21309 /* Line 1464 of yacc.c  */
21310 #line 3526 "grammar.y"
21311     { (yyval.stmt) = MkWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21312     break;
21313
21314   case 1224:
21315
21316 /* Line 1464 of yacc.c  */
21317 #line 3527 "grammar.y"
21318     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (3)].list), null); (yyval.stmt).loc = (yyloc); ;}
21319     break;
21320
21321   case 1225:
21322
21323 /* Line 1464 of yacc.c  */
21324 #line 3531 "grammar.y"
21325     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21326     break;
21327
21328   case 1226:
21329
21330 /* Line 1464 of yacc.c  */
21331 #line 3532 "grammar.y"
21332     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21333     break;
21334
21335   case 1227:
21336
21337 /* Line 1464 of yacc.c  */
21338 #line 3536 "grammar.y"
21339     { (yyval.stmt) = MkGotoStmt((yyvsp[(2) - (3)].id)); (yyval.stmt).loc = (yyloc); ;}
21340     break;
21341
21342   case 1228:
21343
21344 /* Line 1464 of yacc.c  */
21345 #line 3537 "grammar.y"
21346     { (yyval.stmt) = MkContinueStmt(); (yyval.stmt).loc = (yyloc); ;}
21347     break;
21348
21349   case 1229:
21350
21351 /* Line 1464 of yacc.c  */
21352 #line 3538 "grammar.y"
21353     { (yyval.stmt) = MkBreakStmt(); (yyval.stmt).loc = (yyloc); ;}
21354     break;
21355
21356   case 1230:
21357
21358 /* Line 1464 of yacc.c  */
21359 #line 3539 "grammar.y"
21360     { Expression exp = MkExpDummy(); (yyval.stmt) = MkReturnStmt(MkListOne(exp)); (yyval.stmt).loc = (yyloc); exp.loc = (yylsp[(2) - (2)]); ;}
21361     break;
21362
21363   case 1231:
21364
21365 /* Line 1464 of yacc.c  */
21366 #line 3540 "grammar.y"
21367     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (3)].list)); (yyval.stmt).loc = (yyloc); ;}
21368     break;
21369
21370   case 1232:
21371
21372 /* Line 1464 of yacc.c  */
21373 #line 3541 "grammar.y"
21374     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (3)].list)); (yyval.stmt).loc = (yyloc); ;}
21375     break;
21376
21377   case 1233:
21378
21379 /* Line 1464 of yacc.c  */
21380 #line 3542 "grammar.y"
21381     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (3)].exp))); (yyval.stmt).loc = (yyloc); ;}
21382     break;
21383
21384   case 1234:
21385
21386 /* Line 1464 of yacc.c  */
21387 #line 3543 "grammar.y"
21388     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (3)].exp))); (yyval.stmt).loc = (yyloc); ;}
21389     break;
21390
21391   case 1235:
21392
21393 /* Line 1464 of yacc.c  */
21394 #line 3547 "grammar.y"
21395     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21396     break;
21397
21398   case 1236:
21399
21400 /* Line 1464 of yacc.c  */
21401 #line 3548 "grammar.y"
21402     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (2)].exp))); (yyval.stmt).loc = (yyloc); ;}
21403     break;
21404
21405   case 1237:
21406
21407 /* Line 1464 of yacc.c  */
21408 #line 3549 "grammar.y"
21409     { Expression exp = MkExpDummy(); (yyval.stmt) = MkReturnStmt(MkListOne(exp)); (yyval.stmt).loc = (yyloc); exp.loc.start = exp.loc.end = (yylsp[(1) - (1)]).end; ;}
21410     break;
21411
21412   case 1238:
21413
21414 /* Line 1464 of yacc.c  */
21415 #line 3550 "grammar.y"
21416     { (yyval.stmt) = MkGotoStmt(null); (yyval.stmt).loc = (yyloc); ;}
21417     break;
21418
21419   case 1239:
21420
21421 /* Line 1464 of yacc.c  */
21422 #line 3556 "grammar.y"
21423     { (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); ;}
21424     break;
21425
21426   case 1240:
21427
21428 /* Line 1464 of yacc.c  */
21429 #line 3558 "grammar.y"
21430     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
21431     break;
21432
21433   case 1241:
21434
21435 /* Line 1464 of yacc.c  */
21436 #line 3559 "grammar.y"
21437     { (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); ;}
21438     break;
21439
21440   case 1242:
21441
21442 /* Line 1464 of yacc.c  */
21443 #line 3561 "grammar.y"
21444     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
21445     break;
21446
21447   case 1243:
21448
21449 /* Line 1464 of yacc.c  */
21450 #line 3563 "grammar.y"
21451     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
21452     break;
21453
21454   case 1244:
21455
21456 /* Line 1464 of yacc.c  */
21457 #line 3564 "grammar.y"
21458     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (2)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(2) - (2)].stmt)); (yyval.function).loc = (yyloc);;}
21459     break;
21460
21461   case 1245:
21462
21463 /* Line 1464 of yacc.c  */
21464 #line 3567 "grammar.y"
21465     { (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; ;}
21466     break;
21467
21468   case 1246:
21469
21470 /* Line 1464 of yacc.c  */
21471 #line 3568 "grammar.y"
21472     { (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; ;}
21473     break;
21474
21475   case 1247:
21476
21477 /* Line 1464 of yacc.c  */
21478 #line 3569 "grammar.y"
21479     { (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; ;}
21480     break;
21481
21482   case 1248:
21483
21484 /* Line 1464 of yacc.c  */
21485 #line 3570 "grammar.y"
21486     { (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; ;}
21487     break;
21488
21489   case 1249:
21490
21491 /* Line 1464 of yacc.c  */
21492 #line 3571 "grammar.y"
21493     { (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; ;}
21494     break;
21495
21496   case 1250:
21497
21498 /* Line 1464 of yacc.c  */
21499 #line 3572 "grammar.y"
21500     { (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; ;}
21501     break;
21502
21503   case 1251:
21504
21505 /* Line 1464 of yacc.c  */
21506 #line 3576 "grammar.y"
21507     { (yyval.string) = CopyString(yytext); ;}
21508     break;
21509
21510   case 1252:
21511
21512 /* Line 1464 of yacc.c  */
21513 #line 3578 "grammar.y"
21514     { 
21515       int len1 = strlen((yyvsp[(1) - (2)].string));
21516       int len2 = strlen(yytext);
21517       (yyval.string) = new byte[len1-1 + len2-1 + 1];
21518       memcpy((yyval.string), (yyvsp[(1) - (2)].string), len1-1);
21519       memcpy((yyval.string) + len1-1, yytext+1, len2);
21520       delete (yyvsp[(1) - (2)].string);
21521    ;}
21522     break;
21523
21524   case 1253:
21525
21526 /* Line 1464 of yacc.c  */
21527 #line 3589 "grammar.y"
21528     { (yyval.external) = MkExternalFunction((yyvsp[(1) - (1)].function)); (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].function).declMode = declMode; declMode = defaultDeclMode; ;}
21529     break;
21530
21531   case 1254:
21532
21533 /* Line 1464 of yacc.c  */
21534 #line 3591 "grammar.y"
21535     { (yyval.external) = MkExternalClass((yyvsp[(1) - (1)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; ;}
21536     break;
21537
21538   case 1255:
21539
21540 /* Line 1464 of yacc.c  */
21541 #line 3594 "grammar.y"
21542     { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; FreeList((yyvsp[(1) - (2)].list), FreeSpecifier); ;}
21543     break;
21544
21545   case 1256:
21546
21547 /* Line 1464 of yacc.c  */
21548 #line 3597 "grammar.y"
21549     { (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; declMode = defaultDeclMode; ;}
21550     break;
21551
21552   case 1257:
21553
21554 /* Line 1464 of yacc.c  */
21555 #line 3598 "grammar.y"
21556     { (yyval.external) = MkExternalImport((yyvsp[(2) - (2)].string), normalImport, (declMode != defaultAccess) ? declMode : privateAccess);  (yyval.external).loc = (yyloc); ;}
21557     break;
21558
21559   case 1258:
21560
21561 /* Line 1464 of yacc.c  */
21562 #line 3599 "grammar.y"
21563     { (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), staticImport, (declMode != defaultAccess) ? declMode : privateAccess);  (yyval.external).loc = (yyloc); ;}
21564     break;
21565
21566   case 1259:
21567
21568 /* Line 1464 of yacc.c  */
21569 #line 3601 "grammar.y"
21570     {
21571       bool isRemote = !strcmp((yyvsp[(2) - (3)].id).string, "remote");
21572       (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), isRemote ? remoteImport : normalImport, (declMode != defaultAccess) ? declMode : privateAccess); 
21573       (yyval.external).loc = (yyloc);
21574       FreeIdentifier((yyvsp[(2) - (3)].id));
21575       if(!isRemote)
21576          yyerror(); 
21577    ;}
21578     break;
21579
21580   case 1260:
21581
21582 /* Line 1464 of yacc.c  */
21583 #line 3610 "grammar.y"
21584     { (yyval.external) = null; ;}
21585     break;
21586
21587   case 1261:
21588
21589 /* Line 1464 of yacc.c  */
21590 #line 3612 "grammar.y"
21591     { (yyval.external) = MkExternalFunction((yyvsp[(2) - (2)].function)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].function).declMode = (yyvsp[(1) - (2)].declMode); declMode = defaultDeclMode; ;}
21592     break;
21593
21594   case 1262:
21595
21596 /* Line 1464 of yacc.c  */
21597 #line 3614 "grammar.y"
21598     { (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; declMode = defaultDeclMode; ;}
21599     break;
21600
21601   case 1263:
21602
21603 /* Line 1464 of yacc.c  */
21604 #line 3615 "grammar.y"
21605     { (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); declMode = defaultDeclMode; ;}
21606     break;
21607
21608   case 1264:
21609
21610 /* Line 1464 of yacc.c  */
21611 #line 3616 "grammar.y"
21612     { (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), normalImport, ((yyvsp[(1) - (3)].declMode) != defaultAccess) ? (yyvsp[(1) - (3)].declMode) : privateAccess);  (yyval.external).loc = (yyloc); declMode = defaultDeclMode; ;}
21613     break;
21614
21615   case 1265:
21616
21617 /* Line 1464 of yacc.c  */
21618 #line 3617 "grammar.y"
21619     { (yyval.external) = MkExternalImport((yyvsp[(4) - (4)].string), staticImport, ((yyvsp[(1) - (4)].declMode) != defaultAccess) ? (yyvsp[(1) - (4)].declMode) : privateAccess);  (yyval.external).loc = (yyloc); declMode = defaultDeclMode; ;}
21620     break;
21621
21622   case 1266:
21623
21624 /* Line 1464 of yacc.c  */
21625 #line 3619 "grammar.y"
21626     {
21627       bool isRemote = !strcmp((yyvsp[(3) - (4)].id).string, "remote");
21628       (yyval.external) = MkExternalImport((yyvsp[(4) - (4)].string), isRemote ? remoteImport : normalImport, ((yyvsp[(1) - (4)].declMode) != defaultAccess) ? (yyvsp[(1) - (4)].declMode) : privateAccess);
21629       (yyval.external).loc = (yyloc);
21630       FreeIdentifier((yyvsp[(3) - (4)].id));
21631       declMode = defaultDeclMode;
21632       if(!isRemote)
21633          yyerror();  
21634    ;}
21635     break;
21636
21637   case 1267:
21638
21639 /* Line 1464 of yacc.c  */
21640 #line 3628 "grammar.y"
21641     { defaultDeclMode = (yyvsp[(1) - (2)].declMode); (yyval.external) = null; ;}
21642     break;
21643
21644   case 1268:
21645
21646 /* Line 1464 of yacc.c  */
21647 #line 3629 "grammar.y"
21648     { defaultDeclMode = staticAccess; (yyval.external) = null; ;}
21649     break;
21650
21651   case 1269:
21652
21653 /* Line 1464 of yacc.c  */
21654 #line 3630 "grammar.y"
21655     { (yyval.external) = MkExternalNameSpace((yyvsp[(2) - (2)].id)); (yyval.external).loc = (yyloc); ;}
21656     break;
21657
21658   case 1270:
21659
21660 /* Line 1464 of yacc.c  */
21661 #line 3631 "grammar.y"
21662     { (yyval.external) = MkExternalNameSpace(MkIdentifier((yyvsp[(2) - (2)].specifier).name)); FreeSpecifier((yyvsp[(2) - (2)].specifier)); (yyval.external).loc = (yyloc); ;}
21663     break;
21664
21665   case 1271:
21666
21667 /* Line 1464 of yacc.c  */
21668 #line 3632 "grammar.y"
21669     { (yyval.external) = MkExternalDBTable((yyvsp[(1) - (1)].dbtableDef)); (yyval.external).loc = (yyloc);  (yyvsp[(1) - (1)].dbtableDef).declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; ;}
21670     break;
21671
21672   case 1272:
21673
21674 /* Line 1464 of yacc.c  */
21675 #line 3633 "grammar.y"
21676     { (yyval.external) = MkExternalDBTable((yyvsp[(2) - (2)].dbtableDef)); (yyval.external).loc = (yyloc);  (yyvsp[(2) - (2)].dbtableDef).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; ;}
21677     break;
21678
21679   case 1273:
21680
21681 /* Line 1464 of yacc.c  */
21682 #line 3637 "grammar.y"
21683     { (yyval.external) = MkExternalClass((yyvsp[(1) - (1)]._class));  (yyval.external).loc = (yyvsp[(1) - (1)]._class).loc; (yyvsp[(1) - (1)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; ;}
21684     break;
21685
21686   case 1274:
21687
21688 /* Line 1464 of yacc.c  */
21689 #line 3639 "grammar.y"
21690     {
21691       FreeList((yyvsp[(1) - (2)].list), FreeSpecifier);
21692       (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));
21693       (yyval.external).loc = (yyvsp[(2) - (2)]._class).loc;
21694       (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess;
21695       declMode = defaultDeclMode;
21696    ;}
21697     break;
21698
21699   case 1275:
21700
21701 /* Line 1464 of yacc.c  */
21702 #line 3646 "grammar.y"
21703     { (yyval.external) = MkExternalFunction((yyvsp[(1) - (1)].function)); (yyval.external).loc = (yyvsp[(1) - (1)].function).loc;  (yyvsp[(1) - (1)].function).declMode = declMode; declMode = defaultDeclMode; ;}
21704     break;
21705
21706   case 1276:
21707
21708 /* Line 1464 of yacc.c  */
21709 #line 3648 "grammar.y"
21710     { (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; declMode = defaultDeclMode; ;}
21711     break;
21712
21713   case 1277:
21714
21715 /* Line 1464 of yacc.c  */
21716 #line 3649 "grammar.y"
21717     { (yyval.external) = MkExternalFunction((yyvsp[(2) - (2)].function)); (yyval.external).loc = (yyvsp[(2) - (2)].function).loc; (yyvsp[(2) - (2)].function).declMode = (yyvsp[(1) - (2)].declMode); declMode = defaultDeclMode; ;}
21718     break;
21719
21720   case 1278:
21721
21722 /* Line 1464 of yacc.c  */
21723 #line 3652 "grammar.y"
21724     { (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; declMode = defaultDeclMode; ;}
21725     break;
21726
21727   case 1279:
21728
21729 /* Line 1464 of yacc.c  */
21730 #line 3653 "grammar.y"
21731     { (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); declMode = defaultDeclMode; ;}
21732     break;
21733
21734   case 1280:
21735
21736 /* Line 1464 of yacc.c  */
21737 #line 3657 "grammar.y"
21738     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].external)); ast = (yyval.list); ;}
21739     break;
21740
21741   case 1281:
21742
21743 /* Line 1464 of yacc.c  */
21744 #line 3658 "grammar.y"
21745     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
21746     break;
21747
21748   case 1282:
21749
21750 /* Line 1464 of yacc.c  */
21751 #line 3659 "grammar.y"
21752     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
21753     break;
21754
21755   case 1285:
21756
21757 /* Line 1464 of yacc.c  */
21758 #line 3665 "grammar.y"
21759     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].external)); ast = (yyval.list); ;}
21760     break;
21761
21762   case 1286:
21763
21764 /* Line 1464 of yacc.c  */
21765 #line 3666 "grammar.y"
21766     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
21767     break;
21768
21769   case 1287:
21770
21771 /* Line 1464 of yacc.c  */
21772 #line 3668 "grammar.y"
21773     { 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; declMode = defaultDeclMode; ;}
21774     break;
21775
21776   case 1288:
21777
21778 /* Line 1464 of yacc.c  */
21779 #line 3670 "grammar.y"
21780     { 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; declMode = defaultDeclMode; ;}
21781     break;
21782
21783   case 1291:
21784
21785 /* Line 1464 of yacc.c  */
21786 #line 3676 "grammar.y"
21787     { ast = MkList(); ;}
21788     break;
21789
21790   case 1292:
21791
21792 /* Line 1464 of yacc.c  */
21793 #line 3680 "grammar.y"
21794     { Symbol symbol = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(3) - (6)].id).string); FreeIdentifier((yyvsp[(3) - (6)].id)); (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (6)].string), symbol, (yyvsp[(5) - (6)].list)); ;}
21795     break;
21796
21797   case 1293:
21798
21799 /* Line 1464 of yacc.c  */
21800 #line 3681 "grammar.y"
21801     { Symbol symbol = DeclClass(globalContext.nextID++, (yyvsp[(3) - (6)].specifier).name); FreeSpecifier((yyvsp[(3) - (6)].specifier)); (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (6)].string), symbol, (yyvsp[(5) - (6)].list)); ;}
21802     break;
21803
21804   case 1294:
21805
21806 /* Line 1464 of yacc.c  */
21807 #line 3682 "grammar.y"
21808     { (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (5)].string), null, (yyvsp[(4) - (5)].list)); ;}
21809     break;
21810
21811   case 1295:
21812
21813 /* Line 1464 of yacc.c  */
21814 #line 3686 "grammar.y"
21815     { (yyval.dbtableEntry) = MkDBFieldEntry(MkTypeName((yyvsp[(1) - (4)].list), null), (yyvsp[(2) - (4)].id), (yyvsp[(3) - (4)].string)); ;}
21816     break;
21817
21818   case 1296:
21819
21820 /* Line 1464 of yacc.c  */
21821 #line 3690 "grammar.y"
21822     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(1) - (1)].id), ascending); ;}
21823     break;
21824
21825   case 1297:
21826
21827 /* Line 1464 of yacc.c  */
21828 #line 3691 "grammar.y"
21829     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(2) - (2)].id), descending); ;}
21830     break;
21831
21832   case 1298:
21833
21834 /* Line 1464 of yacc.c  */
21835 #line 3692 "grammar.y"
21836     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(2) - (2)].id), ascending); ;}
21837     break;
21838
21839   case 1299:
21840
21841 /* Line 1464 of yacc.c  */
21842 #line 3696 "grammar.y"
21843     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbindexItem)); ;}
21844     break;
21845
21846   case 1300:
21847
21848 /* Line 1464 of yacc.c  */
21849 #line 3697 "grammar.y"
21850     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].dbindexItem)); ;}
21851     break;
21852
21853   case 1301:
21854
21855 /* Line 1464 of yacc.c  */
21856 #line 3701 "grammar.y"
21857     { (yyval.dbtableEntry) = MkDBIndexEntry((yyvsp[(2) - (3)].list), null); ;}
21858     break;
21859
21860   case 1302:
21861
21862 /* Line 1464 of yacc.c  */
21863 #line 3702 "grammar.y"
21864     { (yyval.dbtableEntry) = MkDBIndexEntry((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].id)); ;}
21865     break;
21866
21867   case 1303:
21868
21869 /* Line 1464 of yacc.c  */
21870 #line 3706 "grammar.y"
21871     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbtableEntry)); ;}
21872     break;
21873
21874   case 1304:
21875
21876 /* Line 1464 of yacc.c  */
21877 #line 3707 "grammar.y"
21878     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbtableEntry)); ;}
21879     break;
21880
21881   case 1305:
21882
21883 /* Line 1464 of yacc.c  */
21884 #line 3708 "grammar.y"
21885     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].dbtableEntry)); ;}
21886     break;
21887
21888   case 1306:
21889
21890 /* Line 1464 of yacc.c  */
21891 #line 3709 "grammar.y"
21892     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].dbtableEntry)); ;}
21893     break;
21894
21895   case 1307:
21896
21897 /* Line 1464 of yacc.c  */
21898 #line 3713 "grammar.y"
21899     { (yyval.exp) = MkExpDBOpen((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].exp)); ;}
21900     break;
21901
21902   case 1308:
21903
21904 /* Line 1464 of yacc.c  */
21905 #line 3717 "grammar.y"
21906     { (yyval.exp) = MkExpDBField((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].id)); ;}
21907     break;
21908
21909   case 1309:
21910
21911 /* Line 1464 of yacc.c  */
21912 #line 3721 "grammar.y"
21913     { (yyval.exp) = MkExpDBIndex((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].id)); ;}
21914     break;
21915
21916   case 1310:
21917
21918 /* Line 1464 of yacc.c  */
21919 #line 3725 "grammar.y"
21920     { (yyval.exp) = MkExpDBTable((yyvsp[(3) - (4)].string)); ;}
21921     break;
21922
21923
21924
21925 /* Line 1464 of yacc.c  */
21926 #line 21927 "grammar.ec"
21927       default: break;
21928     }
21929   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
21930
21931   YYPOPSTACK (yylen);
21932   yylen = 0;
21933   YY_STACK_PRINT (yyss, yyssp);
21934
21935   *++yyvsp = yyval;
21936   *++yylsp = yyloc;
21937
21938   /* Now `shift' the result of the reduction.  Determine what state
21939      that goes to, based on the state we popped back to and the rule
21940      number reduced by.  */
21941
21942   yyn = yyr1[yyn];
21943
21944   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
21945   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
21946     yystate = yytable[yystate];
21947   else
21948     yystate = yydefgoto[yyn - YYNTOKENS];
21949
21950   goto yynewstate;
21951
21952
21953 /*------------------------------------.
21954 | yyerrlab -- here on detecting error |
21955 `------------------------------------*/
21956 yyerrlab:
21957   /* If not already recovering from an error, report this error.  */
21958   if (!yyerrstatus)
21959     {
21960       ++yynerrs;
21961 #if ! YYERROR_VERBOSE
21962       yyerror (YY_("syntax error"));
21963 #else
21964       {
21965         YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
21966         if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
21967           {
21968             YYSIZE_T yyalloc = 2 * yysize;
21969             if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
21970               yyalloc = YYSTACK_ALLOC_MAXIMUM;
21971             if (yymsg != yymsgbuf)
21972               YYSTACK_FREE (yymsg);
21973             yymsg = (char *) YYSTACK_ALLOC (yyalloc);
21974             if (yymsg)
21975               yymsg_alloc = yyalloc;
21976             else
21977               {
21978                 yymsg = yymsgbuf;
21979                 yymsg_alloc = sizeof yymsgbuf;
21980               }
21981           }
21982
21983         if (0 < yysize && yysize <= yymsg_alloc)
21984           {
21985             (void) yysyntax_error (yymsg, yystate, yychar);
21986             yyerror (yymsg);
21987           }
21988         else
21989           {
21990             yyerror (YY_("syntax error"));
21991             if (yysize != 0)
21992               goto yyexhaustedlab;
21993           }
21994       }
21995 #endif
21996     }
21997
21998   yyerror_range[0] = yylloc;
21999
22000   if (yyerrstatus == 3)
22001     {
22002       /* If just tried and failed to reuse lookahead token after an
22003          error, discard it.  */
22004
22005       if (yychar <= YYEOF)
22006         {
22007           /* Return failure if at end of input.  */
22008           if (yychar == YYEOF)
22009             YYABORT;
22010         }
22011       else
22012         {
22013           yydestruct ("Error: discarding",
22014                       yytoken, &yylval, &yylloc);
22015           yychar = YYEMPTY;
22016         }
22017     }
22018
22019   /* Else will try to reuse lookahead token after shifting the error
22020      token.  */
22021   goto yyerrlab1;
22022
22023
22024 /*---------------------------------------------------.
22025 | yyerrorlab -- error raised explicitly by YYERROR.  |
22026 `---------------------------------------------------*/
22027 yyerrorlab:
22028
22029   /* Pacify compilers like GCC when the user code never invokes
22030      YYERROR and the label yyerrorlab therefore never appears in user
22031      code.  */
22032   if (/*CONSTCOND*/ 0)
22033      goto yyerrorlab;
22034
22035   yyerror_range[0] = yylsp[1-yylen];
22036   /* Do not reclaim the symbols of the rule which action triggered
22037      this YYERROR.  */
22038   YYPOPSTACK (yylen);
22039   yylen = 0;
22040   YY_STACK_PRINT (yyss, yyssp);
22041   yystate = *yyssp;
22042   goto yyerrlab1;
22043
22044
22045 /*-------------------------------------------------------------.
22046 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
22047 `-------------------------------------------------------------*/
22048 yyerrlab1:
22049   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
22050
22051   for (;;)
22052     {
22053       yyn = yypact[yystate];
22054       if (yyn != YYPACT_NINF)
22055         {
22056           yyn += YYTERROR;
22057           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
22058             {
22059               yyn = yytable[yyn];
22060               if (0 < yyn)
22061                 break;
22062             }
22063         }
22064
22065       /* Pop the current state because it cannot handle the error token.  */
22066       if (yyssp == yyss)
22067         YYABORT;
22068
22069       yyerror_range[0] = *yylsp;
22070       yydestruct ("Error: popping",
22071                   yystos[yystate], yyvsp, yylsp);
22072       YYPOPSTACK (1);
22073       yystate = *yyssp;
22074       YY_STACK_PRINT (yyss, yyssp);
22075     }
22076
22077   *++yyvsp = yylval;
22078
22079   yyerror_range[1] = yylloc;
22080   /* Using YYLLOC is tempting, but would change the location of
22081      the lookahead.  YYLOC is available though.  */
22082   YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
22083   *++yylsp = yyloc;
22084
22085   /* Shift the error token.  */
22086   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
22087
22088   yystate = yyn;
22089   goto yynewstate;
22090
22091
22092 /*-------------------------------------.
22093 | yyacceptlab -- YYACCEPT comes here.  |
22094 `-------------------------------------*/
22095 yyacceptlab:
22096   yyresult = 0;
22097   goto yyreturn;
22098
22099 /*-----------------------------------.
22100 | yyabortlab -- YYABORT comes here.  |
22101 `-----------------------------------*/
22102 yyabortlab:
22103   yyresult = 1;
22104   goto yyreturn;
22105
22106 #if !defined(yyoverflow) || YYERROR_VERBOSE
22107 /*-------------------------------------------------.
22108 | yyexhaustedlab -- memory exhaustion comes here.  |
22109 `-------------------------------------------------*/
22110 yyexhaustedlab:
22111   yyerror (YY_("memory exhausted"));
22112   yyresult = 2;
22113   /* Fall through.  */
22114 #endif
22115
22116 yyreturn:
22117   if (yychar != YYEMPTY)
22118      yydestruct ("Cleanup: discarding lookahead",
22119                  yytoken, &yylval, &yylloc);
22120   /* Do not reclaim the symbols of the rule which action triggered
22121      this YYABORT or YYACCEPT.  */
22122   YYPOPSTACK (yylen);
22123   YY_STACK_PRINT (yyss, yyssp);
22124   while (yyssp != yyss)
22125     {
22126       yydestruct ("Cleanup: popping",
22127                   yystos[*yyssp], yyvsp, yylsp);
22128       YYPOPSTACK (1);
22129     }
22130 #ifndef yyoverflow
22131   if (yyss != yyssa)
22132     YYSTACK_FREE (yyss);
22133 #endif
22134 #if YYERROR_VERBOSE
22135   if (yymsg != yymsgbuf)
22136     YYSTACK_FREE (yymsg);
22137 #endif
22138   /* Make sure YYID is used.  */
22139   return YYID (yyresult);
22140 }
22141
22142
22143
22144 /* Line 1684 of yacc.c  */
22145 #line 3728 "grammar.y"
22146
22147