compiler/libec: Added support for symbolic identifier for GCC inline assembly
[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      BOOL = 367,
243      _BOOL = 368,
244      _COMPLEX = 369,
245      _IMAGINARY = 370,
246      RESTRICT = 371
247    };
248 #endif
249
250
251
252 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
253 typedef union YYSTYPE
254 {
255
256 /* Line 214 of yacc.c  */
257 #line 37 "grammar.y"
258
259    SpecifierType specifierType;
260    int i;
261    AccessMode declMode;
262    Identifier id;
263    Expression exp;
264    Specifier specifier;
265    OldList * list;
266    Enumerator enumerator;
267    Declarator declarator;
268    Pointer pointer;
269    Initializer initializer;
270    InitDeclarator initDeclarator;
271    TypeName typeName;
272    Declaration declaration;
273    Statement stmt;
274    FunctionDefinition function;
275    External external;
276    Context context;
277    AsmField asmField;
278    Attrib attrib;
279    ExtDecl extDecl;
280    Attribute attribute;
281
282    Instantiation instance;
283    MembersInit membersInit;
284    MemberInit memberInit;
285    ClassFunction classFunction;
286    ClassDefinition _class;
287    ClassDef classDef;
288    PropertyDef prop;
289    char * string;
290    Symbol symbol;
291    PropertyWatch propertyWatch;
292    TemplateParameter templateParameter;
293    TemplateArgument templateArgument;
294    TemplateDatatype templateDatatype;
295
296    DBTableEntry dbtableEntry;
297    DBIndexItem dbindexItem;
298    DBTableDef dbtableDef;
299
300
301
302 /* Line 214 of yacc.c  */
303 #line 304 "grammar.ec"
304 } YYSTYPE;
305 # define YYSTYPE_IS_TRIVIAL 1
306 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
307 # define YYSTYPE_IS_DECLARED 1
308 #endif
309
310 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
311 typedef struct YYLTYPE
312 {
313   int first_line;
314   int first_column;
315   int last_line;
316   int last_column;
317 } YYLTYPE;
318 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
319 # define YYLTYPE_IS_DECLARED 1
320 # define YYLTYPE_IS_TRIVIAL 1
321 #endif
322
323
324 /* Copy the second part of user declarations.  */
325
326
327 /* Line 264 of yacc.c  */
328 #line 329 "grammar.ec"
329
330 #ifdef short
331 # undef short
332 #endif
333
334 #ifdef YYTYPE_UINT8
335 typedef YYTYPE_UINT8 yytype_uint8;
336 #else
337 typedef unsigned char yytype_uint8;
338 #endif
339
340 #ifdef YYTYPE_INT8
341 typedef YYTYPE_INT8 yytype_int8;
342 #elif (defined __STDC__ || defined __C99__FUNC__ \
343      || defined __cplusplus || defined _MSC_VER)
344 typedef signed char yytype_int8;
345 #else
346 typedef short int yytype_int8;
347 #endif
348
349 #ifdef YYTYPE_UINT16
350 typedef YYTYPE_UINT16 yytype_uint16;
351 #else
352 typedef unsigned short int yytype_uint16;
353 #endif
354
355 #ifdef YYTYPE_INT16
356 typedef YYTYPE_INT16 yytype_int16;
357 #else
358 typedef short int yytype_int16;
359 #endif
360
361 #ifndef YYSIZE_T
362 # ifdef __SIZE_TYPE__
363 #  define YYSIZE_T __SIZE_TYPE__
364 # elif defined size_t
365 #  define YYSIZE_T size_t
366 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
367      || defined __cplusplus || defined _MSC_VER)
368 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
369 #  define YYSIZE_T size_t
370 # else
371 #  define YYSIZE_T unsigned int
372 # endif
373 #endif
374
375 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
376
377 #ifndef YY_
378 # if defined YYENABLE_NLS && YYENABLE_NLS
379 #  if ENABLE_NLS
380 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
381 #   define YY_(msgid) dgettext ("bison-runtime", msgid)
382 #  endif
383 # endif
384 # ifndef YY_
385 #  define YY_(msgid) msgid
386 # endif
387 #endif
388
389 /* Suppress unused-variable warnings by "using" E.  */
390 #if ! defined lint || defined __GNUC__
391 # define YYUSE(e) ((void) (e))
392 #else
393 # define YYUSE(e) /* empty */
394 #endif
395
396 /* Identity function, used to suppress warnings about constant conditions.  */
397 #ifndef lint
398 # define YYID(n) (n)
399 #else
400 #if (defined __STDC__ || defined __C99__FUNC__ \
401      || defined __cplusplus || defined _MSC_VER)
402 static int
403 YYID (int yyi)
404 #else
405 static int
406 YYID (yyi)
407     int yyi;
408 #endif
409 {
410   return yyi;
411 }
412 #endif
413
414 #if ! defined yyoverflow || YYERROR_VERBOSE
415
416 /* The parser invokes alloca or malloc; define the necessary symbols.  */
417
418 # ifdef YYSTACK_USE_ALLOCA
419 #  if YYSTACK_USE_ALLOCA
420 #   ifdef __GNUC__
421 #    define YYSTACK_ALLOC __builtin_alloca
422 #   elif defined __BUILTIN_VA_ARG_INCR
423 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
424 #   elif defined _AIX
425 #    define YYSTACK_ALLOC __alloca
426 #   elif defined _MSC_VER
427 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
428 #    define alloca _alloca
429 #   else
430 #    define YYSTACK_ALLOC alloca
431 #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
432      || defined __cplusplus || defined _MSC_VER)
433 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
434 #     ifndef _STDLIB_H
435 #      define _STDLIB_H 1
436 #     endif
437 #    endif
438 #   endif
439 #  endif
440 # endif
441
442 # ifdef YYSTACK_ALLOC
443    /* Pacify GCC's `empty if-body' warning.  */
444 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
445 #  ifndef YYSTACK_ALLOC_MAXIMUM
446     /* The OS might guarantee only one guard page at the bottom of the stack,
447        and a page size can be as small as 4096 bytes.  So we cannot safely
448        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
449        to allow for a few compiler-allocated temporary stack slots.  */
450 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
451 #  endif
452 # else
453 #  define YYSTACK_ALLOC YYMALLOC
454 #  define YYSTACK_FREE YYFREE
455 #  ifndef YYSTACK_ALLOC_MAXIMUM
456 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
457 #  endif
458 #  if (defined __cplusplus && ! defined _STDLIB_H \
459        && ! ((defined YYMALLOC || defined malloc) \
460              && (defined YYFREE || defined free)))
461 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
462 #   ifndef _STDLIB_H
463 #    define _STDLIB_H 1
464 #   endif
465 #  endif
466 #  ifndef YYMALLOC
467 #   define YYMALLOC malloc
468 #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
469      || defined __cplusplus || defined _MSC_VER)
470 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
471 #   endif
472 #  endif
473 #  ifndef YYFREE
474 #   define YYFREE free
475 #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
476      || defined __cplusplus || defined _MSC_VER)
477 void free (void *); /* INFRINGES ON USER NAME SPACE */
478 #   endif
479 #  endif
480 # endif
481 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
482
483
484 #if (! defined yyoverflow \
485      && (! defined __cplusplus \
486          || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
487              && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
488
489 /* A type that is properly aligned for any stack member.  */
490 union yyalloc
491 {
492   yytype_int16 yyss_alloc;
493   YYSTYPE yyvs_alloc;
494   YYLTYPE yyls_alloc;
495 };
496
497 /* The size of the maximum gap between one aligned stack and the next.  */
498 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
499
500 /* The size of an array large to enough to hold all stacks, each with
501    N elements.  */
502 # define YYSTACK_BYTES(N) \
503      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
504       + 2 * YYSTACK_GAP_MAXIMUM)
505
506 /* Copy COUNT objects from FROM to TO.  The source and destination do
507    not overlap.  */
508 # ifndef YYCOPY
509 #  if defined __GNUC__ && 1 < __GNUC__
510 #   define YYCOPY(To, From, Count) \
511       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
512 #  else
513 #   define YYCOPY(To, From, Count)              \
514       do                                        \
515         {                                       \
516           YYSIZE_T yyi;                         \
517           for (yyi = 0; yyi < (Count); yyi++)   \
518             (To)[yyi] = (From)[yyi];            \
519         }                                       \
520       while (YYID (0))
521 #  endif
522 # endif
523
524 /* Relocate STACK from its old location to the new one.  The
525    local variables YYSIZE and YYSTACKSIZE give the old and new number of
526    elements in the stack, and YYPTR gives the new location of the
527    stack.  Advance YYPTR to a properly aligned location for the next
528    stack.  */
529 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
530     do                                                                  \
531       {                                                                 \
532         YYSIZE_T yynewbytes;                                            \
533         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
534         Stack = &yyptr->Stack_alloc;                                    \
535         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
536         yyptr += yynewbytes / sizeof (*yyptr);                          \
537       }                                                                 \
538     while (YYID (0))
539
540 #endif
541
542 /* YYFINAL -- State number of the termination state.  */
543 #define YYFINAL  293
544 /* YYLAST -- Last index in YYTABLE.  */
545 #define YYLAST   40671
546
547 /* YYNTOKENS -- Number of terminals.  */
548 #define YYNTOKENS  142
549 /* YYNNTS -- Number of nonterminals.  */
550 #define YYNNTS  261
551 /* YYNRULES -- Number of rules.  */
552 #define YYNRULES  1335
553 /* YYNRULES -- Number of states.  */
554 #define YYNSTATES  2217
555
556 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
557 #define YYUNDEFTOK  2
558 #define YYMAXUTOK   371
559
560 #define YYTRANSLATE(YYX)                                                \
561   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
562
563 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
564 static const yytype_uint8 yytranslate[] =
565 {
566        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
567        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
568        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
569        2,     2,     2,   136,     2,     2,   130,   138,   133,     2,
570      120,   121,   117,   134,   125,   135,   128,   137,     2,     2,
571        2,     2,     2,     2,     2,     2,     2,     2,   129,   123,
572      118,   124,   119,   141,     2,     2,     2,     2,     2,     2,
573        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
574        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
575        2,   131,     2,   132,   139,     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,   127,   140,   126,   122,     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,     2,     2,     2,     2,
587        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
588        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
589        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
590        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
591        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
592        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
593       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
594       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
595       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
596       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
597       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
598       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
599       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
600       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
601       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
602      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
603      115,   116
604 };
605
606 #if YYDEBUG
607 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
608    YYRHS.  */
609 static const yytype_uint16 yyprhs[] =
610 {
611        0,     0,     3,     6,     9,    11,    14,    16,    18,    20,
612       25,    30,    33,    35,    39,    44,    48,    51,    54,    56,
613       60,    63,    66,    69,    72,    75,    78,    81,    85,    88,
614       90,    93,    95,    98,   101,   104,   107,   110,   113,   115,
615      117,   121,   123,   127,   131,   133,   135,   139,   143,   145,
616      149,   153,   157,   161,   163,   166,   169,   171,   173,   176,
617      179,   182,   185,   187,   190,   193,   195,   197,   200,   203,
618      205,   208,   211,   214,   217,   219,   222,   225,   229,   234,
619      240,   245,   249,   254,   257,   261,   266,   272,   277,   281,
620      286,   292,   298,   303,   306,   310,   314,   318,   322,   325,
621      330,   334,   338,   341,   346,   350,   353,   357,   360,   364,
622      367,   369,   372,   376,   380,   384,   387,   389,   393,   397,
623      399,   403,   407,   410,   415,   421,   425,   430,   434,   436,
624      440,   444,   448,   451,   455,   458,   463,   469,   473,   478,
625      482,   484,   488,   492,   495,   497,   500,   503,   506,   508,
626      511,   517,   525,   535,   542,   551,   556,   563,   565,   568,
627      572,   577,   580,   583,   585,   587,   590,   593,   595,   597,
628      599,   601,   609,   611,   614,   619,   621,   623,   626,   630,
629      633,   636,   639,   643,   645,   648,   651,   654,   656,   658,
630      660,   663,   666,   669,   673,   677,   679,   681,   684,   687,
631      689,   692,   695,   698,   701,   703,   706,   708,   711,   714,
632      719,   724,   731,   734,   739,   744,   751,   753,   755,   759,
633      761,   766,   772,   774,   776,   778,   780,   784,   786,   788,
634      790,   794,   798,   802,   804,   808,   810,   813,   816,   820,
635      824,   830,   836,   843,   850,   853,   856,   860,   864,   868,
636      872,   876,   880,   884,   888,   892,   896,   900,   902,   904,
637      908,   910,   913,   918,   920,   922,   924,   929,   934,   940,
638      949,   952,   954,   956,   959,   966,   973,   979,   985,   992,
639      999,  1005,  1011,  1019,  1027,  1034,  1041,  1049,  1057,  1064,
640     1071,  1076,  1082,  1087,  1094,  1099,  1101,  1103,  1105,  1107,
641     1111,  1114,  1116,  1119,  1122,  1125,  1127,  1132,  1137,  1141,
642     1146,  1151,  1155,  1159,  1162,  1165,  1170,  1175,  1179,  1184,
643     1188,  1192,  1195,  1198,  1200,  1205,  1210,  1214,  1219,  1224,
644     1228,  1232,  1235,  1238,  1243,  1248,  1252,  1257,  1261,  1265,
645     1268,  1271,  1273,  1275,  1279,  1283,  1285,  1287,  1291,  1295,
646     1298,  1301,  1304,  1307,  1310,  1315,  1318,  1323,  1329,  1335,
647     1340,  1343,  1348,  1350,  1352,  1354,  1356,  1358,  1360,  1362,
648     1364,  1366,  1368,  1370,  1372,  1374,  1379,  1381,  1385,  1389,
649     1393,  1397,  1401,  1405,  1407,  1411,  1415,  1419,  1423,  1425,
650     1429,  1433,  1437,  1441,  1444,  1446,  1449,  1453,  1457,  1461,
651     1465,  1469,  1473,  1477,  1479,  1483,  1487,  1491,  1495,  1499,
652     1503,  1507,  1511,  1513,  1517,  1521,  1525,  1529,  1531,  1535,
653     1539,  1543,  1547,  1549,  1553,  1557,  1561,  1565,  1567,  1571,
654     1575,  1577,  1581,  1585,  1587,  1593,  1599,  1605,  1611,  1617,
655     1623,  1629,  1635,  1641,  1647,  1653,  1659,  1665,  1671,  1677,
656     1683,  1685,  1689,  1693,  1697,  1701,  1705,  1709,  1713,  1717,
657     1719,  1721,  1723,  1725,  1727,  1729,  1731,  1733,  1735,  1737,
658     1739,  1741,  1745,  1749,  1752,  1754,  1758,  1762,  1764,  1766,
659     1769,  1772,  1776,  1780,  1784,  1788,  1792,  1796,  1800,  1802,
660     1805,  1808,  1812,  1816,  1820,  1824,  1828,  1832,  1836,  1839,
661     1842,  1845,  1848,  1852,  1855,  1861,  1868,  1875,  1879,  1882,
662     1888,  1890,  1892,  1894,  1896,  1898,  1903,  1905,  1909,  1913,
663     1917,  1921,  1925,  1929,  1931,  1935,  1939,  1943,  1947,  1949,
664     1953,  1957,  1961,  1965,  1967,  1970,  1974,  1978,  1982,  1986,
665     1990,  1994,  1998,  2000,  2004,  2008,  2012,  2016,  2020,  2024,
666     2028,  2032,  2034,  2038,  2042,  2046,  2050,  2052,  2056,  2060,
667     2064,  2068,  2070,  2074,  2078,  2082,  2086,  2088,  2092,  2096,
668     2098,  2102,  2106,  2108,  2114,  2120,  2126,  2132,  2137,  2142,
669     2147,  2152,  2158,  2164,  2170,  2176,  2181,  2186,  2191,  2196,
670     2202,  2208,  2214,  2220,  2226,  2232,  2238,  2244,  2248,  2252,
671     2255,  2258,  2260,  2264,  2268,  2272,  2276,  2278,  2281,  2285,
672     2289,  2292,  2295,  2298,  2300,  2303,  2307,  2311,  2313,  2315,
673     2317,  2319,  2321,  2323,  2325,  2327,  2329,  2331,  2333,  2335,
674     2337,  2339,  2341,  2345,  2349,  2351,  2355,  2358,  2360,  2363,
675     2366,  2369,  2374,  2379,  2383,  2387,  2392,  2398,  2403,  2410,
676     2417,  2422,  2428,  2433,  2440,  2447,  2450,  2453,  2456,  2462,
677     2466,  2472,  2479,  2485,  2493,  2501,  2510,  2519,  2527,  2535,
678     2539,  2543,  2547,  2552,  2556,  2562,  2568,  2570,  2572,  2574,
679     2576,  2578,  2580,  2582,  2584,  2586,  2589,  2591,  2593,  2595,
680     2597,  2599,  2601,  2603,  2605,  2607,  2609,  2611,  2613,  2615,
681     2617,  2619,  2621,  2626,  2631,  2636,  2638,  2640,  2642,  2644,
682     2646,  2648,  2650,  2652,  2654,  2656,  2658,  2660,  2662,  2664,
683     2666,  2668,  2670,  2672,  2674,  2676,  2678,  2680,  2682,  2684,
684     2686,  2688,  2690,  2695,  2700,  2705,  2707,  2709,  2712,  2715,
685     2719,  2725,  2728,  2732,  2738,  2744,  2750,  2752,  2756,  2759,
686     2762,  2766,  2770,  2773,  2777,  2781,  2786,  2790,  2794,  2798,
687     2802,  2806,  2810,  2815,  2820,  2825,  2827,  2829,  2834,  2838,
688     2841,  2845,  2849,  2853,  2857,  2861,  2865,  2869,  2873,  2877,
689     2881,  2885,  2889,  2891,  2893,  2895,  2898,  2900,  2903,  2905,
690     2908,  2910,  2913,  2915,  2918,  2920,  2923,  2925,  2928,  2930,
691     2933,  2935,  2938,  2940,  2943,  2945,  2948,  2950,  2953,  2955,
692     2958,  2960,  2963,  2965,  2968,  2970,  2973,  2975,  2978,  2980,
693     2983,  2985,  2988,  2990,  2993,  2995,  2998,  3000,  3003,  3005,
694     3008,  3010,  3013,  3015,  3018,  3020,  3023,  3025,  3027,  3029,
695     3032,  3034,  3037,  3039,  3042,  3044,  3047,  3052,  3058,  3060,
696     3062,  3064,  3067,  3069,  3072,  3074,  3077,  3079,  3082,  3087,
697     3093,  3095,  3098,  3100,  3103,  3105,  3108,  3110,  3113,  3115,
698     3118,  3120,  3123,  3128,  3134,  3136,  3139,  3141,  3144,  3146,
699     3149,  3151,  3154,  3156,  3159,  3161,  3164,  3169,  3175,  3179,
700     3183,  3185,  3189,  3193,  3197,  3201,  3203,  3205,  3207,  3212,
701     3217,  3222,  3226,  3231,  3236,  3241,  3245,  3247,  3251,  3256,
702     3260,  3265,  3270,  3275,  3280,  3284,  3287,  3291,  3295,  3299,
703     3303,  3306,  3309,  3312,  3316,  3321,  3323,  3325,  3328,  3332,
704     3336,  3340,  3344,  3347,  3350,  3353,  3357,  3362,  3364,  3366,
705     3368,  3370,  3372,  3377,  3379,  3381,  3383,  3385,  3387,  3389,
706     3391,  3393,  3395,  3400,  3402,  3405,  3409,  3416,  3422,  3426,
707     3431,  3434,  3438,  3442,  3446,  3450,  3455,  3460,  3465,  3468,
708     3472,  3476,  3480,  3485,  3490,  3494,  3499,  3502,  3506,  3510,
709     3514,  3519,  3524,  3526,  3529,  3532,  3536,  3538,  3540,  3543,
710     3546,  3550,  3552,  3554,  3557,  3560,  3564,  3566,  3569,  3573,
711     3576,  3579,  3581,  3584,  3588,  3591,  3593,  3596,  3600,  3604,
712     3606,  3609,  3613,  3617,  3619,  3622,  3626,  3630,  3632,  3635,
713     3639,  3643,  3645,  3648,  3652,  3656,  3658,  3662,  3667,  3669,
714     3674,  3677,  3683,  3687,  3689,  3691,  3693,  3695,  3697,  3699,
715     3703,  3707,  3710,  3713,  3715,  3717,  3721,  3724,  3728,  3730,
716     3734,  3738,  3742,  3746,  3750,  3752,  3755,  3759,  3763,  3765,
717     3768,  3770,  3773,  3776,  3779,  3782,  3786,  3788,  3790,  3794,
718     3798,  3800,  3804,  3809,  3813,  3818,  3822,  3826,  3831,  3835,
719     3840,  3842,  3846,  3850,  3855,  3859,  3863,  3867,  3872,  3874,
720     3878,  3882,  3886,  3890,  3894,  3896,  3900,  3903,  3905,  3907,
721     3909,  3911,  3913,  3916,  3918,  3920,  3922,  3924,  3927,  3930,
722     3933,  3935,  3937,  3939,  3941,  3943,  3946,  3948,  3950,  3955,
723     3963,  3965,  3969,  3970,  3977,  3986,  3997,  4010,  4019,  4030,
724     4041,  4047,  4055,  4065,  4077,  4085,  4095,  4105,  4109,  4114,
725     4119,  4123,  4127,  4131,  4136,  4141,  4145,  4149,  4153,  4158,
726     4163,  4167,  4170,  4174,  4177,  4181,  4186,  4191,  4195,  4199,
727     4201,  4203,  4205,  4207,  4209,  4212,  4216,  4219,  4222,  4225,
728     4229,  4233,  4236,  4242,  4249,  4252,  4255,  4258,  4261,  4264,
729     4267,  4269,  4272,  4275,  4279,  4281,  4284,  4286,  4289,  4292,
730     4294,  4297,  4300,  4303,  4306,  4309,  4312,  4314,  4316,  4319,
731     4322,  4324,  4326,  4329,  4332,  4334,  4337,  4340,  4342,  4345,
732     4347,  4350,  4353,  4359,  4365,  4373,  4381,  4387,  4393,  4397,
733     4400,  4406,  4411,  4416,  4424,  4431,  4438,  4444,  4452,  4459,
734     4464,  4472,  4482,  4486,  4491,  4496,  4502,  4508,  4515,  4523,
735     4530,  4537,  4543,  4549,  4554,  4558,  4561,  4563,  4566,  4571,
736     4575,  4581,  4586,  4590,  4593,  4596,  4599,  4603,  4607,  4611,
737     4615,  4618,  4621,  4623,  4625,  4630,  4634,  4639,  4643,  4647,
738     4650,  4655,  4659,  4664,  4668,  4672,  4675,  4677,  4680,  4682,
739     4684,  4687,  4689,  4692,  4696,  4700,  4702,  4705,  4708,  4711,
740     4715,  4720,  4725,  4728,  4731,  4734,  4737,  4739,  4742,  4744,
741     4747,  4749,  4752,  4755,  4757,  4760,  4762,  4765,  4768,  4771,
742     4774,  4776,  4779,  4782,  4786,  4788,  4790,  4791,  4798,  4805,
743     4811,  4816,  4818,  4821,  4824,  4826,  4830,  4834,  4839,  4841,
744     4843,  4846,  4849,  4856,  4863,  4870
745 };
746
747 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
748 static const yytype_int16 yyrhs[] =
749 {
750      392,     0,    -1,   214,   117,    -1,   214,   118,    -1,   147,
751       -1,   214,   214,    -1,    28,    -1,    28,    -1,   145,    -1,
752      145,   118,   208,   119,    -1,   145,   118,   208,    11,    -1,
753      301,   336,    -1,   334,    -1,   301,   120,   121,    -1,   122,
754      301,   120,   121,    -1,    78,   301,   336,    -1,    78,   334,
755       -1,   301,   337,    -1,   335,    -1,    78,   301,   337,    -1,
756       78,   335,    -1,   148,   376,    -1,   151,   376,    -1,   151,
757      123,    -1,   149,   376,    -1,   150,   376,    -1,   148,   123,
758       -1,   148,   326,   123,    -1,   148,   377,    -1,   152,    -1,
759      151,   377,    -1,   153,    -1,   153,   123,    -1,   300,   336,
760       -1,   300,   338,    -1,   300,   337,    -1,   156,   376,    -1,
761      156,   377,    -1,   157,    -1,   156,    -1,   222,   124,   341,
762       -1,   341,    -1,   222,   124,   342,    -1,   222,   124,     1,
763       -1,   342,    -1,   160,    -1,   162,   125,   160,    -1,   163,
764      125,   160,    -1,   161,    -1,   162,   125,   161,    -1,   163,
765      125,   161,    -1,   162,   125,     1,    -1,   163,   125,     1,
766       -1,   125,    -1,   162,   123,    -1,   163,   123,    -1,   164,
767       -1,   158,    -1,   167,   164,    -1,   167,   158,    -1,   165,
768      164,    -1,   165,   158,    -1,   123,    -1,   167,   123,    -1,
769      165,   123,    -1,   165,    -1,   162,    -1,   165,   162,    -1,
770      167,   162,    -1,   159,    -1,   166,   159,    -1,   167,   159,
771       -1,   165,   159,    -1,   165,   163,    -1,   163,    -1,   162,
772        1,    -1,   169,   126,    -1,   169,     1,   126,    -1,   300,
773      214,   127,   167,    -1,   300,   214,   127,   166,     1,    -1,
774      300,   214,   127,   166,    -1,   300,   214,   127,    -1,   300,
775      214,   127,     1,    -1,   171,   126,    -1,   171,     1,   126,
776       -1,   301,   214,   127,   167,    -1,   301,   214,   127,   166,
777        1,    -1,   301,   214,   127,   166,    -1,   301,   214,   127,
778       -1,   301,   214,   127,     1,    -1,   302,   214,   127,   166,
779      126,    -1,   302,   214,   127,   167,   126,    -1,   302,   214,
780      127,   126,    -1,   174,   126,    -1,   174,     1,   126,    -1,
781      147,   127,   166,    -1,   214,   127,   166,    -1,   147,   127,
782      167,    -1,   147,   127,    -1,   147,   127,   166,     1,    -1,
783      147,   127,     1,    -1,   214,   127,   167,    -1,   214,   127,
784       -1,   214,   127,   166,     1,    -1,   214,   127,     1,    -1,
785      176,   126,    -1,   176,     1,   126,    -1,   127,   167,    -1,
786      127,   166,     1,    -1,   127,     1,    -1,   127,    -1,   127,
787      166,    -1,   222,   124,   341,    -1,   222,   124,   342,    -1,
788      222,   124,     1,    -1,   222,     1,    -1,   177,    -1,   179,
789      125,   177,    -1,   180,   125,   177,    -1,   178,    -1,   179,
790      125,   178,    -1,   180,   125,   178,    -1,   179,     1,    -1,
791       68,   306,   214,   127,    -1,    68,   306,   330,   214,   127,
792       -1,    68,   306,   127,    -1,    68,   306,   330,   127,    -1,
793       68,     1,   127,    -1,   181,    -1,   182,    69,   376,    -1,
794      182,    70,   376,    -1,   182,    95,   376,    -1,   182,    91,
795       -1,   182,    97,   216,    -1,   182,   126,    -1,    99,   306,
796      214,   127,    -1,    99,   306,   330,   214,   127,    -1,    99,
797      306,   127,    -1,    99,   306,   330,   127,    -1,    99,     1,
798      127,    -1,   184,    -1,   185,    69,   376,    -1,   185,    70,
799      376,    -1,   185,   126,    -1,   214,    -1,   187,   214,    -1,
800      187,   376,    -1,    73,   376,    -1,   188,    -1,   189,   188,
801       -1,    88,   120,   187,   121,   376,    -1,    88,   120,   243,
802      121,   127,   189,   126,    -1,   243,   128,    88,   120,   243,
803      121,   127,   189,   126,    -1,    89,   120,   243,   125,   187,
804      121,    -1,   243,   128,    89,   120,   243,   125,   187,   121,
805       -1,    89,   120,   243,   121,    -1,   243,   128,    89,   120,
806      243,   121,    -1,    90,    -1,    90,   187,    -1,   222,   128,
807       90,    -1,   243,   128,    90,   187,    -1,   195,   123,    -1,
808      179,   123,    -1,   154,    -1,   183,    -1,   364,   154,    -1,
809      364,   183,    -1,   186,    -1,    91,    -1,    93,    -1,    94,
810       -1,    99,   120,   214,   121,   124,   341,   123,    -1,   123,
811       -1,   364,   129,    -1,   364,   120,   214,   121,    -1,   155,
812       -1,   301,    -1,   301,   288,    -1,   364,   301,   288,    -1,
813      364,   301,    -1,   364,   173,    -1,   364,   170,    -1,    98,
814      301,   288,    -1,   190,    -1,    92,   214,    -1,    92,   147,
815       -1,    96,   214,    -1,   173,    -1,   170,    -1,   179,    -1,
816      171,     1,    -1,   174,     1,    -1,   364,   155,    -1,   364,
817      171,     1,    -1,   364,   174,     1,    -1,   180,    -1,   194,
818       -1,   196,   194,    -1,   197,   194,    -1,   195,    -1,   196,
819        1,    -1,   197,     1,    -1,   196,   195,    -1,   197,   195,
820       -1,   301,    -1,   301,   330,    -1,   301,    -1,   301,   330,
821       -1,    65,   214,    -1,    65,   214,   124,   199,    -1,    65,
822      214,   129,   198,    -1,    65,   214,   129,   198,   124,   199,
823       -1,    65,   146,    -1,    65,   146,   124,   199,    -1,    65,
824      146,   129,   198,    -1,    65,   146,   129,   198,   124,   199,
825       -1,   214,    -1,   214,    -1,   214,   124,   201,    -1,   233,
826       -1,   301,   214,   124,   203,    -1,   301,   330,   214,   124,
827      203,    -1,   200,    -1,   202,    -1,   204,    -1,   205,    -1,
828      206,   125,   205,    -1,   203,    -1,   201,    -1,   199,    -1,
829      214,   124,   203,    -1,   214,   124,   201,    -1,   214,   124,
830      199,    -1,   207,    -1,   208,   125,   207,    -1,    65,    -1,
831      209,   214,    -1,   209,   145,    -1,   214,   209,   214,    -1,
832      214,   209,   145,    -1,   209,   214,   118,   206,   119,    -1,
833      209,   145,   118,   206,   119,    -1,   214,   209,   214,   118,
834      206,   119,    -1,   214,   209,   145,   118,   206,   119,    -1,
835      213,   126,    -1,   212,   123,    -1,   210,   127,   126,    -1,
836      212,   127,   126,    -1,   209,   214,   123,    -1,   209,   144,
837      123,    -1,   210,   129,   305,    -1,   210,   127,   197,    -1,
838      212,   127,   197,    -1,   210,   127,   196,    -1,   212,   127,
839      196,    -1,   210,   127,     1,    -1,   212,   127,     1,    -1,
840        3,    -1,   218,    -1,   120,   245,   121,    -1,   387,    -1,
841      130,   387,    -1,   130,   387,   128,   387,    -1,     4,    -1,
842      214,    -1,   173,    -1,    85,   120,   376,   121,    -1,    85,
843      120,   245,   121,    -1,    85,   120,   348,   121,   339,    -1,
844       85,   120,   348,   121,   120,   348,   121,   339,    -1,   217,
845      214,    -1,   217,    -1,   216,    -1,   120,   121,    -1,    71,
846      308,   331,   131,   267,   132,    -1,    71,   308,   331,   131,
847      268,   132,    -1,    71,   308,   131,   267,   132,    -1,    71,
848      308,   131,   268,   132,    -1,   102,   308,   331,   131,   267,
849      132,    -1,   102,   308,   331,   131,   268,   132,    -1,   102,
850      308,   131,   267,   132,    -1,   102,   308,   131,   268,   132,
851       -1,    72,   267,   307,   331,   131,   267,   132,    -1,    72,
852      267,   307,   331,   131,   268,   132,    -1,    72,   267,   307,
853      131,   267,   132,    -1,    72,   267,   307,   131,   268,   132,
854       -1,   103,   267,   307,   331,   131,   267,   132,    -1,   103,
855      267,   307,   331,   131,   268,   132,    -1,   103,   267,   307,
856      131,   267,   132,    -1,   103,   267,   307,   131,   268,   132,
857       -1,    65,   120,   300,   121,    -1,    65,   120,   300,   330,
858      121,    -1,    65,   120,   214,   121,    -1,   104,   120,   243,
859      125,   348,   121,    -1,    98,   120,   214,   121,    -1,   399,
860       -1,   400,    -1,   401,    -1,   402,    -1,   131,   224,   132,
861       -1,   131,   132,    -1,   175,    -1,   176,     1,    -1,   120,
862      245,    -1,   120,   265,    -1,   215,    -1,   222,   131,   245,
863      132,    -1,   222,   131,   265,   132,    -1,   222,   120,   121,
864       -1,   222,   120,   224,   121,    -1,   222,   120,   225,   121,
865       -1,   222,   128,   214,    -1,   222,     7,   214,    -1,   222,
866        8,    -1,   222,     9,    -1,   247,   131,   245,   132,    -1,
867      247,   131,   265,   132,    -1,   247,   120,   121,    -1,   247,
868      120,   224,   121,    -1,   247,   128,   214,    -1,   247,     7,
869      214,    -1,   247,     8,    -1,   247,     9,    -1,   218,    -1,
870      223,   131,   245,   132,    -1,   223,   131,   265,   132,    -1,
871      223,   120,   121,    -1,   223,   120,   224,   121,    -1,   223,
872      120,   225,   121,    -1,   223,   128,   214,    -1,   223,     7,
873      214,    -1,   223,     8,    -1,   223,     9,    -1,   248,   131,
874      245,   132,    -1,   248,   131,   265,   132,    -1,   248,   120,
875      121,    -1,   248,   120,   224,   121,    -1,   248,   128,   214,
876       -1,   248,     7,   214,    -1,   248,     8,    -1,   248,     9,
877       -1,   243,    -1,   219,    -1,   224,   125,   243,    -1,   224,
878      125,   219,    -1,   264,    -1,   220,    -1,   224,   125,   264,
879       -1,   224,   125,   220,    -1,   224,   125,    -1,     8,   227,
880       -1,     9,   227,    -1,   229,   230,    -1,   229,   219,    -1,
881        6,   120,   227,   121,    -1,     6,   228,    -1,     6,   120,
882      349,   121,    -1,     6,   120,    65,   144,   121,    -1,     6,
883      120,    65,   143,   121,    -1,   109,   120,   227,   121,    -1,
884      109,   228,    -1,   109,   120,   349,   121,    -1,   226,    -1,
885      222,    -1,   226,    -1,   223,    -1,   133,    -1,   117,    -1,
886      134,    -1,   135,    -1,   122,    -1,   136,    -1,    73,    -1,
887       84,    -1,   227,    -1,   120,   348,   121,   230,    -1,   230,
888       -1,   231,   117,   230,    -1,   231,   137,   230,    -1,   231,
889      138,   230,    -1,   253,   117,   230,    -1,   253,   137,   230,
890       -1,   253,   138,   230,    -1,   231,    -1,   232,   134,   231,
891       -1,   232,   135,   231,    -1,   254,   134,   231,    -1,   254,
892      135,   231,    -1,   232,    -1,   233,    10,   232,    -1,   233,
893       11,   232,    -1,   255,    10,   232,    -1,   255,    11,   232,
894       -1,   235,   118,    -1,   233,    -1,   234,   233,    -1,   235,
895      119,   233,    -1,   235,    12,   233,    -1,   235,    13,   233,
896       -1,   256,   118,   233,    -1,   256,   119,   233,    -1,   256,
897       12,   233,    -1,   256,    13,   233,    -1,   235,    -1,   236,
898       14,   235,    -1,   236,    15,   235,    -1,   257,    14,   235,
899       -1,   257,    15,   235,    -1,   236,    14,   219,    -1,   236,
900       15,   219,    -1,   257,    14,   219,    -1,   257,    15,   219,
901       -1,   236,    -1,   237,   133,   236,    -1,   258,   133,   236,
902       -1,   237,   133,   219,    -1,   258,   133,   219,    -1,   237,
903       -1,   238,   139,   237,    -1,   259,   139,   237,    -1,   238,
904      139,   219,    -1,   259,   139,   219,    -1,   238,    -1,   239,
905      140,   238,    -1,   260,   140,   238,    -1,   239,   140,   219,
906       -1,   260,   140,   219,    -1,   239,    -1,   240,    16,   239,
907       -1,   261,    16,   239,    -1,   240,    -1,   241,    17,   240,
908       -1,   262,    17,   240,    -1,   241,    -1,   241,   141,   245,
909      129,   242,    -1,   241,   141,   265,   129,   242,    -1,   262,
910      141,   245,   129,   242,    -1,   262,   141,   265,   129,   242,
911       -1,   241,   141,   246,   129,   242,    -1,   241,   141,   266,
912      129,   242,    -1,   262,   141,   246,   129,   242,    -1,   262,
913      141,   266,   129,   242,    -1,   241,   141,   245,   129,   219,
914       -1,   241,   141,   265,   129,   219,    -1,   262,   141,   245,
915      129,   219,    -1,   262,   141,   265,   129,   219,    -1,   241,
916      141,   246,   129,   219,    -1,   241,   141,   266,   129,   219,
917       -1,   262,   141,   246,   129,   219,    -1,   262,   141,   266,
918      129,   219,    -1,   242,    -1,   227,   244,   243,    -1,   250,
919      244,   243,    -1,   242,   244,   243,    -1,   263,   244,   243,
920       -1,   227,   244,   219,    -1,   250,   244,   219,    -1,   242,
921      244,   219,    -1,   263,   244,   219,    -1,   124,    -1,    18,
922       -1,    19,    -1,    20,    -1,    21,    -1,    22,    -1,    23,
923       -1,    24,    -1,    25,    -1,    26,    -1,    27,    -1,   243,
924       -1,   245,   125,   243,    -1,   265,   125,   243,    -1,   265,
925      121,    -1,   219,    -1,   245,   125,   219,    -1,   265,   125,
926      219,    -1,   221,    -1,     1,    -1,   222,     1,    -1,   174,
927        1,    -1,   222,     7,     1,    -1,   247,     7,     1,    -1,
928      222,   120,   224,    -1,   222,   120,   225,    -1,   222,   128,
929        1,    -1,   247,   120,   225,    -1,   247,   128,     1,    -1,
930        1,    -1,   223,     1,    -1,   174,     1,    -1,   223,     7,
931        1,    -1,   248,     7,     1,    -1,   223,   120,   224,    -1,
932      223,   120,   225,    -1,   223,   128,     1,    -1,   248,   120,
933      225,    -1,   248,   128,     1,    -1,     8,   250,    -1,     9,
934      250,    -1,   229,   252,    -1,   229,   220,    -1,     6,   120,
935      250,    -1,     6,   251,    -1,     6,   120,   349,   121,     1,
936       -1,     6,   120,    65,   144,   121,     1,    -1,     6,   120,
937       65,   143,   121,     1,    -1,   109,   120,   250,    -1,   109,
938      251,    -1,   109,   120,   349,   121,     1,    -1,   249,    -1,
939      247,    -1,   249,    -1,   248,    -1,   250,    -1,   120,   348,
940      121,   252,    -1,   252,    -1,   231,   117,   252,    -1,   231,
941      137,   252,    -1,   231,   138,   252,    -1,   253,   117,   252,
942       -1,   253,   137,   252,    -1,   253,   138,   252,    -1,   253,
943       -1,   232,   134,   253,    -1,   232,   135,   253,    -1,   254,
944      134,   253,    -1,   254,   135,   253,    -1,   254,    -1,   233,
945       10,   254,    -1,   233,    11,   254,    -1,   255,    10,   254,
946       -1,   255,    11,   254,    -1,   255,    -1,   234,   255,    -1,
947      235,   119,   255,    -1,   235,    12,   255,    -1,   235,    13,
948      255,    -1,   256,   118,   255,    -1,   256,   119,   255,    -1,
949      256,    12,   255,    -1,   256,    13,   255,    -1,   256,    -1,
950      236,    14,   256,    -1,   236,    15,   256,    -1,   257,    14,
951      256,    -1,   257,    15,   256,    -1,   236,    14,   220,    -1,
952      236,    15,   220,    -1,   257,    14,   220,    -1,   257,    15,
953      220,    -1,   257,    -1,   237,   133,   257,    -1,   258,   133,
954      257,    -1,   237,   133,   220,    -1,   258,   133,   220,    -1,
955      258,    -1,   238,   139,   258,    -1,   259,   139,   258,    -1,
956      238,   139,   220,    -1,   259,   139,   220,    -1,   259,    -1,
957      239,   140,   259,    -1,   260,   140,   259,    -1,   239,   140,
958      220,    -1,   260,   140,   220,    -1,   260,    -1,   240,    16,
959      260,    -1,   261,    16,   260,    -1,   261,    -1,   241,    17,
960      261,    -1,   262,    17,   261,    -1,   262,    -1,   241,   141,
961      245,   129,   262,    -1,   241,   141,   265,   129,   262,    -1,
962      262,   141,   245,   129,   262,    -1,   262,   141,   265,   129,
963      262,    -1,   241,   141,   245,   129,    -1,   241,   141,   265,
964      129,    -1,   262,   141,   245,   129,    -1,   262,   141,   265,
965      129,    -1,   241,   141,   246,   129,   262,    -1,   241,   141,
966      266,   129,   262,    -1,   262,   141,   246,   129,   262,    -1,
967      262,   141,   266,   129,   262,    -1,   241,   141,   246,   129,
968       -1,   241,   141,   266,   129,    -1,   262,   141,   246,   129,
969       -1,   262,   141,   266,   129,    -1,   241,   141,   245,   129,
970      220,    -1,   241,   141,   265,   129,   220,    -1,   262,   141,
971      245,   129,   220,    -1,   262,   141,   265,   129,   220,    -1,
972      241,   141,   246,   129,   220,    -1,   241,   141,   266,   129,
973      220,    -1,   262,   141,   246,   129,   220,    -1,   262,   141,
974      266,   129,   220,    -1,   241,   141,   129,    -1,   262,   141,
975      129,    -1,   241,   141,    -1,   262,   141,    -1,   263,    -1,
976      227,   244,   264,    -1,   250,   244,   264,    -1,   227,   244,
977      220,    -1,   250,   244,   220,    -1,   264,    -1,   243,     1,
978       -1,   245,   125,   264,    -1,   265,   125,   264,    -1,   245,
979      245,    -1,   265,   245,    -1,   245,   265,    -1,   220,    -1,
980      219,     1,    -1,   245,   125,   220,    -1,   265,   125,   220,
981       -1,   242,    -1,   263,    -1,    29,    -1,    30,    -1,    31,
982       -1,    32,    -1,    33,    -1,   116,    -1,    29,    -1,    30,
983       -1,    31,    -1,    32,    -1,    33,    -1,   116,    -1,   214,
984       -1,   214,   124,   267,    -1,   214,   124,   268,    -1,   271,
985       -1,   272,   125,   271,    -1,   272,   125,    -1,    50,    -1,
986      273,   214,    -1,   273,   147,    -1,   276,   126,    -1,   273,
987      214,   127,   126,    -1,   273,   147,   127,   126,    -1,   273,
988      127,   272,    -1,   273,   127,     1,    -1,   273,   214,   127,
989      272,    -1,   273,   214,   127,   272,     1,    -1,   273,   214,
990      127,     1,    -1,   273,   214,   127,   272,   123,   196,    -1,
991      273,   214,   127,   272,   123,   197,    -1,   273,   147,   127,
992      272,    -1,   273,   147,   127,   272,     1,    -1,   273,   147,
993      127,     1,    -1,   273,   147,   127,   272,   123,   196,    -1,
994      273,   147,   127,   272,   123,   197,    -1,   273,   214,    -1,
995      273,   147,    -1,   279,   126,    -1,   277,   129,   305,   127,
996      126,    -1,   277,   127,   126,    -1,   277,   129,   305,   127,
997      272,    -1,   277,   129,   305,   127,   272,     1,    -1,   277,
998      129,   305,   127,     1,    -1,   277,   129,   305,   127,   272,
999      123,   196,    -1,   277,   129,   305,   127,   272,   123,   197,
1000       -1,   277,   129,   305,   127,   272,     1,   123,   196,    -1,
1001      277,   129,   305,   127,   272,     1,   123,   197,    -1,   277,
1002      129,   305,   127,     1,   123,   196,    -1,   277,   129,   305,
1003      127,     1,   123,   197,    -1,   273,   127,   272,    -1,   273,
1004      127,     1,    -1,   277,   127,   272,    -1,   277,   127,   272,
1005        1,    -1,   277,   127,     1,    -1,   277,   127,   272,   123,
1006      196,    -1,   277,   127,   272,   123,   197,    -1,   278,    -1,
1007      295,    -1,   279,    -1,   296,    -1,   321,    -1,    44,    -1,
1008       45,    -1,   282,    -1,   283,    -1,   284,   283,    -1,    46,
1009       -1,    34,    -1,    35,    -1,    36,    -1,    37,    -1,    38,
1010       -1,    47,    -1,    39,    -1,    42,    -1,    43,    -1,    40,
1011       -1,    41,    -1,    85,    -1,   292,    -1,   274,    -1,   144,
1012       -1,    87,   120,   243,   121,    -1,   100,   120,   144,   121,
1013       -1,   100,   120,   214,   121,    -1,    66,    -1,    82,    -1,
1014       83,    -1,   113,    -1,   112,    -1,   114,    -1,   115,    -1,
1015       46,    -1,    34,    -1,    35,    -1,    36,    -1,    37,    -1,
1016       38,    -1,    47,    -1,    39,    -1,    42,    -1,    43,    -1,
1017       40,    -1,    41,    -1,    85,    -1,   292,    -1,   274,    -1,
1018      147,    -1,   113,    -1,   112,    -1,   114,    -1,   115,    -1,
1019       87,   120,   243,   121,    -1,   100,   120,   144,   121,    -1,
1020      100,   120,   214,   121,    -1,    66,    -1,   338,    -1,   338,
1021      326,    -1,   129,   267,    -1,   338,   129,   267,    -1,   338,
1022      129,   267,   129,   267,    -1,   129,   268,    -1,   338,   129,
1023      268,    -1,   338,   129,   267,   129,   268,    -1,   338,   129,
1024      268,   129,   268,    -1,   338,   129,   268,   129,   267,    -1,
1025      287,    -1,   288,   125,   287,    -1,   297,   214,    -1,   297,
1026      145,    -1,   297,   321,   214,    -1,   297,   321,   145,    -1,
1027      291,   126,    -1,   289,   127,   126,    -1,   297,   127,   126,
1028       -1,   297,   321,   127,   126,    -1,   289,   127,   196,    -1,
1029      289,   127,   197,    -1,   289,   127,     1,    -1,   297,   127,
1030      196,    -1,   297,   127,   197,    -1,   297,   127,     1,    -1,
1031      297,   321,   127,   196,    -1,   297,   321,   127,   197,    -1,
1032      297,   321,   127,     1,    -1,   289,    -1,   289,    -1,   289,
1033      118,   206,   119,    -1,   293,   129,   305,    -1,   296,   126,
1034       -1,   294,   127,   126,    -1,   293,   127,   126,    -1,   297,
1035      127,   126,    -1,   294,   127,   196,    -1,   294,   127,   197,
1036       -1,   294,   127,     1,    -1,   293,   127,   196,    -1,   293,
1037      127,   197,    -1,   293,   127,     1,    -1,   297,   127,   196,
1038       -1,   297,   127,   197,    -1,   297,   127,     1,    -1,    48,
1039       -1,    49,    -1,   283,    -1,   298,   283,    -1,   285,    -1,
1040      298,   285,    -1,   275,    -1,   298,   275,    -1,   290,    -1,
1041      298,   290,    -1,   283,    -1,   299,   283,    -1,   285,    -1,
1042      299,   285,    -1,   143,    -1,   299,   143,    -1,   275,    -1,
1043      299,   275,    -1,   290,    -1,   299,   290,    -1,   269,    -1,
1044      300,   269,    -1,   283,    -1,   300,   283,    -1,   286,    -1,
1045      300,   286,    -1,   275,    -1,   300,   275,    -1,   290,    -1,
1046      300,   290,    -1,   269,    -1,   301,   269,    -1,   283,    -1,
1047      301,   283,    -1,   285,    -1,   301,   285,    -1,   143,    -1,
1048      301,   143,    -1,   290,    -1,   301,   290,    -1,   275,    -1,
1049      301,   275,    -1,   270,    -1,   302,   270,    -1,   283,    -1,
1050      302,   283,    -1,   285,    -1,   302,   285,    -1,   143,    -1,
1051      302,   143,    -1,   280,    -1,   302,   280,    -1,   281,    -1,
1052      302,   281,    -1,    81,    -1,    80,    -1,   269,    -1,   304,
1053      269,    -1,   283,    -1,   304,   283,    -1,   286,    -1,   304,
1054      286,    -1,   214,    -1,   304,   214,    -1,   214,   118,   208,
1055      119,    -1,   304,   214,   118,   208,   119,    -1,   304,    -1,
1056      297,    -1,   269,    -1,   306,   269,    -1,   283,    -1,   306,
1057      283,    -1,   286,    -1,   306,   286,    -1,   214,    -1,   306,
1058      214,    -1,   214,   118,   208,   119,    -1,   306,   214,   118,
1059      208,   119,    -1,   269,    -1,   307,   269,    -1,   283,    -1,
1060      307,   283,    -1,   286,    -1,   307,   286,    -1,   290,    -1,
1061      307,   290,    -1,   275,    -1,   307,   275,    -1,   214,    -1,
1062      307,   214,    -1,   214,   118,   208,   119,    -1,   307,   214,
1063      118,   208,   119,    -1,   269,    -1,   308,   269,    -1,   283,
1064       -1,   308,   283,    -1,   286,    -1,   308,   286,    -1,   290,
1065       -1,   308,   290,    -1,   275,    -1,   308,   275,    -1,   214,
1066       -1,   308,   214,    -1,   214,   118,   208,   119,    -1,   308,
1067      214,   118,   208,   119,    -1,   310,   125,     1,    -1,   309,
1068      125,     1,    -1,   214,    -1,   310,   125,   214,    -1,   309,
1069      125,   214,    -1,   352,   125,   214,    -1,   353,   125,   214,
1070       -1,   312,    -1,   145,    -1,    37,    -1,   145,   131,   267,
1071      132,    -1,   145,   131,   268,   132,    -1,   145,   131,   144,
1072      132,    -1,   145,   131,   132,    -1,   311,   131,   267,   132,
1073       -1,   311,   131,   268,   132,    -1,   311,   131,   144,   132,
1074       -1,   311,   131,   132,    -1,   214,    -1,   120,   332,   121,
1075       -1,   120,   321,   332,   121,    -1,   120,   333,   121,    -1,
1076      120,   321,   333,   121,    -1,   312,   131,   267,   132,    -1,
1077      312,   131,   268,   132,    -1,   312,   131,   144,   132,    -1,
1078      312,   131,   132,    -1,   312,   120,    -1,   313,   354,   121,
1079       -1,   313,   355,   121,    -1,   313,   310,   121,    -1,   313,
1080      309,   121,    -1,   313,   121,    -1,   313,   309,    -1,   313,
1081        1,    -1,   313,   352,   120,    -1,   313,   301,   214,   120,
1082       -1,   314,    -1,   312,    -1,   311,   120,    -1,   317,   354,
1083      121,    -1,   317,   355,   121,    -1,   317,   310,   121,    -1,
1084      317,   309,   121,    -1,   317,   121,    -1,   317,   309,    -1,
1085      317,     1,    -1,   317,   352,   120,    -1,   317,   301,   214,
1086      120,    -1,   318,    -1,   311,    -1,    74,    -1,    75,    -1,
1087      326,    -1,    86,   120,   387,   121,    -1,    79,    -1,   110,
1088       -1,   111,    -1,     3,    -1,    28,    -1,    75,    -1,    74,
1089       -1,    44,    -1,   323,    -1,   323,   120,   245,   121,    -1,
1090      324,    -1,   325,   324,    -1,   325,   125,   324,    -1,   322,
1091      120,   120,   325,   121,   121,    -1,   322,   120,   120,   121,
1092      121,    -1,   120,   330,   121,    -1,   120,   321,   330,   121,
1093       -1,   131,   132,    -1,   131,   267,   132,    -1,   131,   268,
1094      132,    -1,   131,   144,   132,    -1,   327,   131,   132,    -1,
1095      327,   131,   267,   132,    -1,   327,   131,   144,   132,    -1,
1096      327,   131,   268,   132,    -1,   120,   121,    -1,   120,   354,
1097      121,    -1,   120,   355,   121,    -1,   327,   120,   121,    -1,
1098      327,   120,   354,   121,    -1,   327,   120,   355,   121,    -1,
1099      120,   331,   121,    -1,   120,   321,   331,   121,    -1,   120,
1100      121,    -1,   120,   354,   121,    -1,   120,   355,   121,    -1,
1101      328,   120,   121,    -1,   328,   120,   354,   121,    -1,   328,
1102      120,   355,   121,    -1,   117,    -1,   117,   284,    -1,   117,
1103      329,    -1,   117,   284,   329,    -1,   329,    -1,   327,    -1,
1104      329,   327,    -1,   321,   329,    -1,   321,   329,   327,    -1,
1105      329,    -1,   328,    -1,   329,   328,    -1,   321,   329,    -1,
1106      321,   329,   328,    -1,   316,    -1,   329,   316,    -1,   321,
1107      329,   316,    -1,   332,   321,    -1,   338,   321,    -1,   320,
1108       -1,   329,   320,    -1,   321,   329,   320,    -1,   333,   321,
1109       -1,   314,    -1,   329,   314,    -1,   321,   329,   314,    -1,
1110      329,   321,   314,    -1,   315,    -1,   329,   315,    -1,   321,
1111      329,   315,    -1,   329,   321,   315,    -1,   318,    -1,   329,
1112      318,    -1,   321,   329,   318,    -1,   329,   321,   318,    -1,
1113      319,    -1,   329,   319,    -1,   321,   329,   319,    -1,   329,
1114      321,   319,    -1,   311,    -1,   329,   311,    -1,   321,   329,
1115      311,    -1,   329,   321,   311,    -1,   243,    -1,   127,   343,
1116      126,    -1,   127,   343,   125,   126,    -1,   264,    -1,   127,
1117      343,   126,     1,    -1,   127,   343,    -1,   127,   343,   125,
1118      126,     1,    -1,   127,   343,   125,    -1,   242,    -1,   219,
1119       -1,   263,    -1,   220,    -1,   339,    -1,   340,    -1,   343,
1120      125,   339,    -1,   343,   125,   340,    -1,   343,   339,    -1,
1121      343,   340,    -1,   332,    -1,   333,    -1,   332,   124,   339,
1122       -1,   332,     1,    -1,   332,   124,   340,    -1,   344,    -1,
1123      346,   125,   344,    -1,    37,   125,   344,    -1,    38,   125,
1124      344,    -1,   145,   125,   344,    -1,   347,   125,   344,    -1,
1125      345,    -1,   344,     1,    -1,   346,   125,   345,    -1,   347,
1126      125,   345,    -1,   298,    -1,   298,   330,    -1,   299,    -1,
1127      299,   330,    -1,   301,   333,    -1,   301,   330,    -1,   301,
1128      133,    -1,   301,   133,   333,    -1,   301,    -1,    65,    -1,
1129      301,   333,     1,    -1,   301,   330,     1,    -1,   350,    -1,
1130      352,   125,   350,    -1,   352,     1,   125,   350,    -1,   353,
1131      125,   350,    -1,   353,     1,   125,   350,    -1,     1,   125,
1132      350,    -1,   310,   125,   350,    -1,   310,     1,   125,   350,
1133       -1,   309,   125,   350,    -1,   309,     1,   125,   350,    -1,
1134      351,    -1,   352,   125,   351,    -1,   353,   125,   351,    -1,
1135      353,     1,   125,   351,    -1,     1,   125,   351,    -1,   310,
1136      125,   351,    -1,   309,   125,   351,    -1,   309,     1,   125,
1137      351,    -1,   352,    -1,   352,   125,    51,    -1,   353,   125,
1138       51,    -1,   310,   125,    51,    -1,   309,   125,    51,    -1,
1139        1,   125,    51,    -1,   353,    -1,   352,   125,     1,    -1,
1140      353,     1,    -1,   361,    -1,   326,    -1,   376,    -1,   123,
1141       -1,   129,    -1,   245,   123,    -1,   379,    -1,   381,    -1,
1142      383,    -1,   360,    -1,   193,   123,    -1,   192,   123,    -1,
1143      191,   123,    -1,   362,    -1,   382,    -1,   377,    -1,   380,
1144       -1,   384,    -1,   383,     1,    -1,   265,    -1,   387,    -1,
1145      387,   120,   243,   121,    -1,   131,   214,   132,   387,   120,
1146      243,   121,    -1,   358,    -1,   359,   125,   358,    -1,    -1,
1147       86,   283,   120,   387,   121,   123,    -1,    86,   283,   120,
1148      387,   129,   359,   121,   123,    -1,    86,   283,   120,   387,
1149      129,   359,   129,   359,   121,   123,    -1,    86,   283,   120,
1150      387,   129,   359,   129,   359,   129,   359,   121,   123,    -1,
1151       86,   283,   120,   387,     3,   359,   121,   123,    -1,    86,
1152      283,   120,   387,     3,   359,   129,   359,   121,   123,    -1,
1153       86,   283,   120,   387,   129,   359,     3,   359,   121,   123,
1154       -1,    86,   120,   387,   121,   123,    -1,    86,   120,   387,
1155      129,   359,   121,   123,    -1,    86,   120,   387,   129,   359,
1156      129,   359,   121,   123,    -1,    86,   120,   387,   129,   359,
1157      129,   359,   129,   359,   121,   123,    -1,    86,   120,   387,
1158        3,   359,   121,   123,    -1,    86,   120,   387,     3,   359,
1159      129,   359,   121,   123,    -1,    86,   120,   387,   129,   359,
1160        3,   359,   121,   123,    -1,   214,   129,   356,    -1,    52,
1161      267,   129,   356,    -1,    52,   268,   129,   356,    -1,    52,
1162      129,   356,    -1,    53,   129,   356,    -1,   214,   129,   365,
1163       -1,    52,   267,   129,   365,    -1,    52,   268,   129,   365,
1164       -1,    52,   129,   365,    -1,    53,   129,   365,    -1,   214,
1165      129,   357,    -1,    52,   267,   129,   357,    -1,    52,   268,
1166      129,   357,    -1,    52,   129,   357,    -1,    52,   129,    -1,
1167       53,   129,   357,    -1,    53,   129,    -1,   214,   129,   368,
1168       -1,    52,   267,   129,   368,    -1,    52,   268,   129,   368,
1169       -1,    52,   129,   368,    -1,    53,   129,   368,    -1,    80,
1170       -1,    81,    -1,    53,    -1,    80,    -1,    81,    -1,   300,
1171      123,    -1,   300,   346,   123,    -1,   168,   123,    -1,   368,
1172      123,    -1,   302,   123,    -1,   302,   346,   123,    -1,   303,
1173      346,   123,    -1,   172,   123,    -1,    77,   214,   124,   242,
1174      123,    -1,    31,    77,   214,   124,   242,   123,    -1,   302,
1175        1,    -1,   300,     1,    -1,   368,     1,    -1,   169,     1,
1176       -1,   168,     1,    -1,   300,   347,    -1,   365,    -1,   369,
1177      365,    -1,   370,   365,    -1,   369,     1,   123,    -1,   368,
1178       -1,   369,   368,    -1,   356,    -1,   371,   356,    -1,   372,
1179      356,    -1,   357,    -1,   371,   357,    -1,   372,   357,    -1,
1180      371,   365,    -1,   372,   365,    -1,   371,   368,    -1,   372,
1181      368,    -1,   371,    -1,   369,    -1,   369,   371,    -1,   370,
1182      371,    -1,   372,    -1,   370,    -1,   369,   372,    -1,   370,
1183      372,    -1,   127,    -1,   377,   126,    -1,   375,   374,    -1,
1184      375,    -1,   375,   373,    -1,   123,    -1,   245,   123,    -1,
1185      265,   123,    -1,    54,   120,   245,   121,   356,    -1,    54,
1186      120,   265,   121,   356,    -1,    54,   120,   245,   121,   356,
1187       64,   356,    -1,    54,   120,   265,   121,   356,    64,   356,
1188       -1,    55,   120,   245,   121,   356,    -1,    55,   120,   265,
1189      121,   356,    -1,    54,   120,   265,    -1,   379,     1,    -1,
1190       56,   120,   245,   121,   356,    -1,    56,   120,   265,   356,
1191       -1,    56,   120,   121,   356,    -1,    57,   356,    56,   120,
1192      245,   121,   123,    -1,    57,   356,    56,   120,   265,   123,
1193       -1,    58,   120,   378,   378,   121,   356,    -1,    58,   120,
1194      378,   121,   356,    -1,    58,   120,   378,   378,   245,   121,
1195      356,    -1,    58,   120,   378,   378,   265,   356,    -1,    58,
1196      120,   121,   356,    -1,    58,   120,   214,   129,   245,   121,
1197      356,    -1,    58,   120,   214,   129,   245,   123,   245,   121,
1198      356,    -1,    58,   120,     1,    -1,    58,   120,   265,     1,
1199       -1,    58,   120,   378,     1,    -1,    58,   120,   378,   265,
1200        1,    -1,    58,   120,   378,   378,   265,    -1,    58,   120,
1201      378,   378,   121,   357,    -1,    58,   120,   378,   378,   245,
1202      121,   357,    -1,    58,   120,   378,   378,   265,   357,    -1,
1203       57,   356,    56,   120,   245,   121,    -1,    57,   356,    56,
1204      120,   245,    -1,    57,   356,    56,   120,   265,    -1,    57,
1205      356,    56,   120,    -1,    57,   356,    56,    -1,    57,   356,
1206       -1,    57,    -1,    56,     1,    -1,    56,   120,   121,     1,
1207       -1,    56,   120,   265,    -1,    56,   120,   245,   121,   357,
1208       -1,    56,   120,   265,   357,    -1,    59,   214,   123,    -1,
1209       60,   123,    -1,    61,   123,    -1,    62,   123,    -1,    62,
1210      245,   123,    -1,    62,   265,   123,    -1,    62,   219,   123,
1211       -1,    62,   220,   123,    -1,    62,   265,    -1,    62,   220,
1212       -1,    62,    -1,    59,    -1,   302,   334,   369,   376,    -1,
1213      302,   334,   376,    -1,   302,   336,   369,   376,    -1,   302,
1214      336,   376,    -1,   334,   369,   376,    -1,   334,   376,    -1,
1215      302,   334,   369,   377,    -1,   302,   334,   377,    -1,   302,
1216      336,   369,   377,    -1,   302,   336,   377,    -1,   334,   369,
1217      377,    -1,   334,   377,    -1,     5,    -1,   387,     5,    -1,
1218      385,    -1,   211,    -1,   302,   211,    -1,   366,    -1,    76,
1219      387,    -1,    76,    31,   387,    -1,    76,   214,   387,    -1,
1220      123,    -1,   363,   385,    -1,   363,   211,    -1,   363,   366,
1221       -1,   363,    76,   387,    -1,   363,    76,    31,   387,    -1,
1222      363,    76,   214,   387,    -1,   363,   129,    -1,    31,   129,
1223       -1,   101,   214,    -1,   101,   147,    -1,   393,    -1,   363,
1224      393,    -1,   213,    -1,   302,   213,    -1,   386,    -1,   363,
1225      213,    -1,   363,   386,    -1,   367,    -1,   363,   367,    -1,
1226      389,    -1,   391,   389,    -1,   390,   389,    -1,   391,     1,
1227       -1,   390,     1,    -1,   388,    -1,   391,   388,    -1,   390,
1228      211,    -1,   390,   363,   211,    -1,   391,    -1,   390,    -1,
1229       -1,   105,   387,   214,   127,   398,   126,    -1,   105,   387,
1230      147,   127,   398,   126,    -1,   105,   387,   127,   398,   126,
1231       -1,   301,   214,   387,   123,    -1,   214,    -1,   119,   214,
1232       -1,   118,   214,    -1,   395,    -1,   396,   125,   395,    -1,
1233      107,   396,   123,    -1,   107,   396,   214,   123,    -1,   394,
1234       -1,   397,    -1,   398,   394,    -1,   398,   397,    -1,   108,
1235      120,   243,   125,   243,   121,    -1,   106,   120,   387,   125,
1236      214,   121,    -1,   107,   120,   387,   125,   214,   121,    -1,
1237      105,   120,   387,   121,    -1
1238 };
1239
1240 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1241 static const yytype_uint16 yyrline[] =
1242 {
1243        0,   279,   279,   308,   367,   368,   468,   472,   475,   476,
1244      477,   526,   528,   533,   538,   543,   545,   550,   552,   557,
1245      559,   564,   566,   568,   570,   572,   576,   580,   593,   595,
1246      597,   599,   601,   607,   609,   614,   619,   624,   626,   628,
1247      633,   634,   638,   639,   650,   654,   655,   657,   662,   663,
1248      665,   668,   680,   691,   710,   712,   717,   718,   719,   720,
1249      721,   722,   723,   724,   725,   729,   730,   731,   732,   736,
1250      737,   738,   739,   740,   741,   742,   746,   748,   753,   755,
1251      757,   759,   761,   791,   793,   798,   800,   802,   804,   806,
1252      835,   837,   839,   844,   846,   851,   853,   857,   859,   861,
1253      863,   868,   871,   874,   877,   942,   944,   949,   951,   953,
1254      955,   957,   988,   992,   993,   994,   998,   999,  1000,  1004,
1255     1005,  1006,  1007,  1011,  1014,  1017,  1020,  1023,  1028,  1029,
1256     1031,  1033,  1035,  1037,  1042,  1046,  1049,  1052,  1055,  1058,
1257     1063,  1064,  1066,  1071,  1075,  1077,  1082,  1084,  1089,  1091,
1258     1096,  1101,  1103,  1108,  1110,  1112,  1114,  1119,  1121,  1123,
1259     1125,  1130,  1131,  1132,  1133,  1134,  1135,  1136,  1137,  1138,
1260     1139,  1140,  1142,  1143,  1145,  1149,  1152,  1153,  1154,  1155,
1261     1156,  1157,  1158,  1159,  1160,  1161,  1162,  1163,  1164,  1165,
1262     1167,  1168,  1172,  1173,  1174,  1178,  1182,  1183,  1184,  1188,
1263     1189,  1190,  1191,  1192,  1196,  1197,  1209,  1210,  1214,  1215,
1264     1216,  1217,  1218,  1219,  1220,  1221,  1225,  1229,  1230,  1234,
1265     1242,  1243,  1247,  1248,  1249,  1253,  1254,  1258,  1259,  1260,
1266     1261,  1262,  1263,  1303,  1304,  1308,  1316,  1317,  1325,  1326,
1267     1328,  1329,  1338,  1339,  1343,  1350,  1357,  1363,  1370,  1376,
1268     1385,  1392,  1398,  1404,  1410,  1416,  1422,  1433,  1438,  1439,
1269     1444,  1445,  1446,  1450,  1454,  1455,  1456,  1457,  1458,  1459,
1270     1460,  1473,  1474,  1475,  1476,  1477,  1478,  1479,  1480,  1481,
1271     1482,  1483,  1484,  1485,  1486,  1487,  1488,  1489,  1490,  1491,
1272     1492,  1493,  1494,  1495,  1497,  1498,  1499,  1500,  1501,  1503,
1273     1504,  1508,  1512,  1516,  1517,  1521,  1523,  1524,  1525,  1526,
1274     1527,  1528,  1529,  1530,  1531,  1533,  1534,  1535,  1536,  1537,
1275     1538,  1539,  1540,  1544,  1546,  1547,  1548,  1549,  1550,  1551,
1276     1552,  1553,  1554,  1556,  1557,  1558,  1559,  1560,  1561,  1562,
1277     1563,  1567,  1568,  1569,  1570,  1574,  1575,  1576,  1577,  1578,
1278     1582,  1583,  1584,  1585,  1586,  1587,  1588,  1589,  1590,  1592,
1279     1593,  1594,  1598,  1599,  1603,  1604,  1608,  1609,  1610,  1611,
1280     1612,  1613,  1614,  1615,  1619,  1620,  1624,  1625,  1626,  1627,
1281     1628,  1629,  1630,  1634,  1635,  1636,  1637,  1638,  1642,  1643,
1282     1644,  1645,  1646,  1650,  1658,  1659,  1660,  1661,  1662,  1663,
1283     1664,  1665,  1666,  1670,  1671,  1672,  1673,  1674,  1676,  1677,
1284     1678,  1679,  1683,  1684,  1685,  1687,  1688,  1692,  1693,  1694,
1285     1696,  1697,  1701,  1702,  1703,  1705,  1706,  1710,  1711,  1712,
1286     1716,  1717,  1718,  1722,  1723,  1724,  1725,  1726,  1728,  1729,
1287     1730,  1731,  1733,  1734,  1735,  1736,  1738,  1739,  1740,  1741,
1288     1745,  1746,  1747,  1748,  1749,  1751,  1752,  1753,  1754,  1758,
1289     1759,  1760,  1761,  1762,  1763,  1764,  1765,  1766,  1767,  1768,
1290     1772,  1773,  1774,  1775,  1779,  1780,  1781,  1785,  1786,  1787,
1291     1788,  1790,  1791,  1793,  1794,  1799,  1801,  1806,  1810,  1811,
1292     1812,  1814,  1815,  1817,  1818,  1823,  1825,  1830,  1834,  1835,
1293     1836,  1837,  1838,  1839,  1840,  1841,  1842,  1843,  1844,  1845,
1294     1849,  1850,  1854,  1855,  1860,  1861,  1865,  1866,  1867,  1868,
1295     1869,  1870,  1871,  1875,  1876,  1880,  1884,  1888,  1895,  1896,
1296     1897,  1898,  1899,  1903,  1904,  1955,  1956,  1957,  1958,  1959,
1297     1960,  1961,  1965,  1966,  1967,  1968,  1969,  1976,  1977,  1978,
1298     1979,  1983,  1984,  1985,  1987,  1988,  1992,  1993,  1994,  1996,
1299     1997,  2001,  2002,  2003,  2005,  2006,  2010,  2011,  2012,  2016,
1300     2017,  2018,  2022,  2023,  2024,  2025,  2026,  2027,  2028,  2029,
1301     2030,  2032,  2033,  2034,  2035,  2036,  2037,  2038,  2039,  2041,
1302     2042,  2043,  2044,  2046,  2047,  2048,  2049,  2051,  2058,  2062,
1303     2066,  2073,  2074,  2078,  2083,  2084,  2088,  2089,  2090,  2091,
1304     2097,  2098,  2099,  2103,  2104,  2105,  2106,  2110,  2112,  2116,
1305     2117,  2118,  2119,  2120,  2121,  2125,  2126,  2127,  2128,  2129,
1306     2130,  2134,  2135,  2136,  2140,  2141,  2142,  2146,  2150,  2151,
1307     2155,  2156,  2157,  2161,  2162,  2164,  2165,  2166,  2167,  2168,
1308     2170,  2171,  2172,  2173,  2174,  2178,  2179,  2183,  2184,  2185,
1309     2189,  2190,  2191,  2192,  2193,  2194,  2195,  2196,  2197,  2199,
1310     2200,  2202,  2203,  2204,  2205,  2206,  2210,  2211,  2215,  2216,
1311     2220,  2224,  2225,  2226,  2231,  2232,  2236,  2237,  2238,  2239,
1312     2240,  2241,  2242,  2243,  2244,  2245,  2246,  2247,  2248,  2249,
1313     2250,  2251,  2252,  2253,  2254,  2255,  2256,  2257,  2258,  2259,
1314     2260,  2261,  2265,  2266,  2267,  2268,  2269,  2270,  2271,  2272,
1315     2273,  2274,  2275,  2276,  2277,  2278,  2279,  2280,  2281,  2282,
1316     2283,  2284,  2285,  2286,  2287,  2288,  2294,  2296,  2298,  2300,
1317     2302,  2304,  2306,  2308,  2310,  2312,  2317,  2318,  2322,  2328,
1318     2334,  2341,  2351,  2352,  2353,  2354,  2358,  2359,  2360,  2362,
1319     2363,  2364,  2366,  2367,  2368,  2372,  2376,  2384,  2393,  2402,
1320     2403,  2405,  2406,  2410,  2417,  2424,  2427,  2440,  2454,  2457,
1321     2459,  2461,  2466,  2467,  2471,  2472,  2473,  2474,  2475,  2476,
1322     2477,  2478,  2482,  2483,  2484,  2485,  2486,  2487,  2488,  2489,
1323     2490,  2491,  2495,  2496,  2497,  2498,  2499,  2500,  2501,  2502,
1324     2503,  2504,  2508,  2509,  2510,  2511,  2512,  2513,  2514,  2515,
1325     2516,  2517,  2518,  2519,  2523,  2524,  2525,  2526,  2527,  2528,
1326     2529,  2530,  2531,  2532,  2536,  2537,  2541,  2542,  2543,  2544,
1327     2545,  2546,  2547,  2548,  2549,  2551,  2553,  2571,  2589,  2590,
1328     2594,  2595,  2596,  2597,  2598,  2599,  2600,  2601,  2602,  2620,
1329     2637,  2638,  2639,  2640,  2641,  2642,  2643,  2644,  2645,  2646,
1330     2647,  2648,  2649,  2667,  2684,  2685,  2686,  2687,  2688,  2689,
1331     2690,  2691,  2692,  2693,  2694,  2695,  2696,  2714,  2731,  2732,
1332     2736,  2737,  2738,  2739,  2740,  2744,  2745,  2752,  2754,  2763,
1333     2772,  2781,  2790,  2791,  2792,  2793,  2797,  2798,  2799,  2800,
1334     2801,  2802,  2803,  2804,  2805,  2809,  2813,  2814,  2815,  2816,
1335     2817,  2822,  2831,  2840,  2849,  2863,  2864,  2869,  2873,  2874,
1336     2875,  2876,  2877,  2882,  2891,  2900,  2909,  2923,  2924,  2973,
1337     2974,  2975,  2976,  2988,  2989,  2990,  2995,  2996,  2997,  2998,
1338     2999,  3003,  3004,  3008,  3009,  3010,  3014,  3015,  3019,  3020,
1339     3021,  3022,  3023,  3024,  3025,  3026,  3027,  3028,  3029,  3030,
1340     3031,  3032,  3033,  3034,  3038,  3039,  3040,  3041,  3042,  3043,
1341     3044,  3045,  3049,  3050,  3051,  3052,  3056,  3057,  3058,  3059,
1342     3060,  3064,  3065,  3066,  3067,  3068,  3072,  3073,  3075,  3077,
1343     3079,  3084,  3085,  3087,  3089,  3094,  3095,  3096,  3097,  3101,
1344     3102,  3103,  3104,  3108,  3109,  3110,  3111,  3115,  3116,  3117,
1345     3118,  3122,  3123,  3124,  3125,  3129,  3130,  3131,  3147,  3148,
1346     3149,  3150,  3163,  3179,  3180,  3185,  3186,  3190,  3191,  3192,
1347     3193,  3196,  3197,  3201,  3202,  3203,  3207,  3211,  3215,  3216,
1348     3217,  3218,  3219,  3228,  3237,  3238,  3239,  3240,  3244,  3245,
1349     3249,  3250,  3255,  3256,  3257,  3258,  3259,  3260,  3279,  3280,
1350     3284,  3285,  3286,  3287,  3288,  3289,  3291,  3292,  3293,  3294,
1351     3298,  3299,  3300,  3301,  3302,  3304,  3305,  3306,  3310,  3311,
1352     3312,  3313,  3314,  3315,  3319,  3320,  3321,  3326,  3327,  3328,
1353     3329,  3330,  3331,  3332,  3333,  3334,  3335,  3336,  3337,  3338,
1354     3342,  3343,  3344,  3345,  3346,  3347,  3348,  3352,  3353,  3354,
1355     3358,  3359,  3360,  3364,  3365,  3366,  3367,  3369,  3370,  3371,
1356     3373,  3374,  3375,  3376,  3378,  3379,  3380,  3384,  3385,  3386,
1357     3387,  3388,  3390,  3391,  3392,  3393,  3394,  3398,  3399,  3400,
1358     3401,  3402,  3403,  3404,  3406,  3407,  3408,  3409,  3410,  3414,
1359     3415,  3416,  3420,  3421,  3425,  3426,  3427,  3428,  3432,  3433,
1360     3434,  3436,  3437,  3438,  3442,  3446,  3447,  3449,  3450,  3451,
1361     3455,  3456,  3457,  3458,  3462,  3463,  3467,  3468,  3469,  3473,
1362     3474,  3475,  3476,  3477,  3478,  3479,  3483,  3484,  3485,  3486,
1363     3490,  3491,  3492,  3493,  3497,  3501,  3505,  3507,  3510,  3516,
1364     3517,  3518,  3522,  3523,  3524,  3525,  3526,  3527,  3531,  3532,
1365     3536,  3537,  3538,  3540,  3541,  3543,  3544,  3545,  3546,  3547,
1366     3549,  3550,  3554,  3555,  3556,  3557,  3561,  3562,  3563,  3564,
1367     3566,  3567,  3568,  3569,  3570,  3571,  3572,  3575,  3579,  3580,
1368     3584,  3585,  3589,  3590,  3591,  3592,  3593,  3594,  3595,  3596,
1369     3600,  3601,  3602,  3603,  3609,  3610,  3612,  3613,  3616,  3617,
1370     3620,  3621,  3622,  3623,  3624,  3625,  3629,  3630,  3642,  3643,
1371     3646,  3649,  3651,  3652,  3653,  3663,  3665,  3666,  3668,  3669,
1372     3670,  3671,  3681,  3682,  3683,  3684,  3685,  3686,  3690,  3691,
1373     3699,  3701,  3702,  3704,  3706,  3710,  3711,  3712,  3713,  3714,
1374     3718,  3719,  3720,  3722,  3727,  3728,  3729,  3733,  3734,  3735,
1375     3739,  3743,  3744,  3745,  3749,  3750,  3754,  3755,  3759,  3760,
1376     3761,  3762,  3766,  3770,  3774,  3778
1377 };
1378 #endif
1379
1380 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1381 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1382    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1383 static const char *const yytname[] =
1384 {
1385   "$end", "error", "$undefined", "IDENTIFIER", "CONSTANT",
1386   "STRING_LITERAL", "SIZEOF", "PTR_OP", "INC_OP", "DEC_OP", "LEFT_OP",
1387   "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP",
1388   "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "ADD_ASSIGN", "SUB_ASSIGN",
1389   "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN",
1390   "TYPE_NAME", "TYPEDEF", "EXTERN", "STATIC", "AUTO", "REGISTER", "CHAR",
1391   "SHORT", "INT", "UINT", "INT64", "LONG", "SIGNED", "UNSIGNED", "FLOAT",
1392   "DOUBLE", "CONST", "VOLATILE", "VOID", "VALIST", "STRUCT", "UNION",
1393   "ENUM", "ELLIPSIS", "CASE", "DEFAULT", "IF", "SWITCH", "WHILE", "DO",
1394   "FOR", "GOTO", "CONTINUE", "BREAK", "RETURN", "IFX", "ELSE", "CLASS",
1395   "THISCLASS", "CLASS_NAME", "PROPERTY", "SETPROP", "GETPROP", "NEWOP",
1396   "RENEW", "DELETE", "EXT_DECL", "EXT_STORAGE", "IMPORT", "DEFINE",
1397   "VIRTUAL", "ATTRIB", "PUBLIC", "PRIVATE", "TYPED_OBJECT", "ANY_OBJECT",
1398   "_INCREF", "EXTENSION", "ASM", "TYPEOF", "WATCH", "STOPWATCHING",
1399   "FIREWATCHERS", "WATCHABLE", "CLASS_DESIGNER", "CLASS_NO_EXPANSION",
1400   "CLASS_FIXED", "ISPROPSET", "CLASS_DEFAULT_PROPERTY",
1401   "PROPERTY_CATEGORY", "CLASS_DATA", "CLASS_PROPERTY", "SUBCLASS",
1402   "NAMESPACE", "NEW0OP", "RENEW0", "VAARG", "DBTABLE", "DBFIELD",
1403   "DBINDEX", "DATABASE_OPEN", "ALIGNOF", "ATTRIB_DEP", "__ATTRIB", "BOOL",
1404   "_BOOL", "_COMPLEX", "_IMAGINARY", "RESTRICT", "'*'", "'<'", "'>'",
1405   "'('", "')'", "'~'", "';'", "'='", "','", "'}'", "'{'", "'.'", "':'",
1406   "'$'", "'['", "']'", "'&'", "'+'", "'-'", "'!'", "'/'", "'%'", "'^'",
1407   "'|'", "'?'", "$accept", "guess_type", "type", "base_strict_type",
1408   "base_strict_type_name", "strict_type",
1409   "class_function_definition_start",
1410   "constructor_function_definition_start",
1411   "destructor_function_definition_start",
1412   "virtual_class_function_definition_start",
1413   "class_function_definition_start_error",
1414   "virtual_class_function_definition_start_error",
1415   "class_function_definition", "class_function_definition_error",
1416   "instance_class_function_definition_start",
1417   "instance_class_function_definition_start_error",
1418   "instance_class_function_definition",
1419   "instance_class_function_definition_error", "data_member_initialization",
1420   "data_member_initialization_error", "data_member_initialization_list",
1421   "data_member_initialization_list_error",
1422   "data_member_initialization_list_coloned",
1423   "members_initialization_list_coloned", "members_initialization_list",
1424   "members_initialization_list_error", "instantiation_named",
1425   "instantiation_named_error", "guess_instantiation_named",
1426   "guess_instantiation_named_error", "external_guess_instantiation_named",
1427   "instantiation_unnamed", "instantiation_unnamed_error",
1428   "instantiation_anon", "instantiation_anon_error", "default_property",
1429   "default_property_error", "default_property_list",
1430   "default_property_list_error", "property_start", "property_body",
1431   "property", "class_property_start", "class_property_body",
1432   "class_property", "watch_property_list", "property_watch",
1433   "property_watch_list", "self_watch_definition", "watch_definition",
1434   "stopwatching", "firewatchers", "struct_declaration",
1435   "struct_declaration_error", "struct_declaration_list",
1436   "struct_declaration_list_error", "template_datatype",
1437   "template_type_argument", "template_type_parameter",
1438   "template_identifier_argument", "template_identifier_parameter",
1439   "template_expression_argument", "template_expression_parameter",
1440   "template_parameter", "template_parameters_list", "template_argument",
1441   "template_arguments_list", "class_entry", "class_decl", "class",
1442   "class_head", "class_error", "identifier", "primary_expression",
1443   "i18n_string", "constant", "simple_primary_expression",
1444   "anon_instantiation_expression", "anon_instantiation_expression_error",
1445   "primary_expression_error", "postfix_expression",
1446   "simple_postfix_expression", "argument_expression_list",
1447   "argument_expression_list_error", "common_unary_expression",
1448   "unary_expression", "simple_unary_expression", "unary_operator",
1449   "cast_expression", "multiplicative_expression", "additive_expression",
1450   "shift_expression", "relational_expression_smaller_than",
1451   "relational_expression", "equality_expression", "and_expression",
1452   "exclusive_or_expression", "inclusive_or_expression",
1453   "logical_and_expression", "logical_or_expression",
1454   "conditional_expression", "assignment_expression", "assignment_operator",
1455   "expression", "expression_anon_inst", "postfix_expression_error",
1456   "simple_postfix_expression_error", "common_unary_expression_error",
1457   "unary_expression_error", "simple_unary_expression_error",
1458   "cast_expression_error", "multiplicative_expression_error",
1459   "additive_expression_error", "shift_expression_error",
1460   "relational_expression_error", "equality_expression_error",
1461   "and_expression_error", "exclusive_or_expression_error",
1462   "inclusive_or_expression_error", "logical_and_expression_error",
1463   "logical_or_expression_error", "conditional_expression_error",
1464   "assignment_expression_error", "expression_error",
1465   "expression_anon_inst_error", "constant_expression",
1466   "constant_expression_error", "storage_class_specifier",
1467   "external_storage_class_specifier", "enumerator", "enumerator_list",
1468   "enum_specifier", "enum_specifier_nocompound", "enum_specifier_compound",
1469   "enum_specifier_compound_error", "enum_decl", "enum_class",
1470   "enum_class_error", "class_specifier", "class_specifier_error",
1471   "ext_storage", "type_qualifier", "type_qualifier_list", "type_specifier",
1472   "strict_type_specifier", "struct_declarator", "struct_declarator_list",
1473   "struct_entry", "struct_or_union_specifier_compound",
1474   "struct_or_union_specifier_compound_error",
1475   "struct_or_union_specifier_nocompound", "struct_decl", "struct_head",
1476   "struct_class", "struct_class_error", "struct_or_union",
1477   "specifier_qualifier_list", "guess_specifier_qualifier_list",
1478   "declaration_specifiers", "guess_declaration_specifiers",
1479   "external_guess_declaration_specifiers",
1480   "external_guess_declaration_specifiers_error", "_inheritance_specifiers",
1481   "inheritance_specifiers", "property_specifiers", "renew_specifiers",
1482   "new_specifiers", "identifier_list_error", "identifier_list",
1483   "direct_declarator_nofunction_type_ok", "direct_declarator_nofunction",
1484   "direct_declarator_function_start", "direct_declarator_function",
1485   "direct_declarator_function_error", "direct_declarator",
1486   "direct_declarator_function_start_type_ok",
1487   "direct_declarator_function_type_ok",
1488   "direct_declarator_function_error_type_ok", "direct_declarator_type_ok",
1489   "ext_decl", "_attrib", "attribute_word", "attribute", "attribs_list",
1490   "attrib", "direct_abstract_declarator",
1491   "direct_abstract_declarator_noarray", "pointer", "abstract_declarator",
1492   "abstract_declarator_noarray", "declarator", "declarator_type_ok",
1493   "declarator_function", "declarator_function_error",
1494   "declarator_function_type_ok", "declarator_function_error_type_ok",
1495   "declarator_nofunction_type_ok", "initializer", "initializer_error",
1496   "initializer_condition", "initializer_condition_error",
1497   "initializer_list", "init_declarator", "init_declarator_error",
1498   "init_declarator_list", "init_declarator_list_error", "type_name",
1499   "guess_type_name", "parameter_declaration",
1500   "parameter_declaration_error", "parameter_list", "parameter_list_error",
1501   "parameter_type_list", "parameter_type_list_error", "statement",
1502   "statement_error", "asm_field", "asm_field_list", "asm_statement",
1503   "labeled_statement", "labeled_statement_error", "declaration_mode",
1504   "member_access", "declaration", "external_guess_declaration",
1505   "external_guess_declaration_error", "declaration_error",
1506   "declaration_list", "declaration_list_error", "statement_list",
1507   "statement_list_error", "compound_inside", "compound_inside_error",
1508   "compound_start", "compound_statement", "compound_statement_error",
1509   "expression_statement", "selection_statement",
1510   "selection_statement_error", "iteration_statement",
1511   "iteration_statement_error", "jump_statement", "jump_statement_error",
1512   "function_definition", "function_definition_error", "string_literal",
1513   "external_declaration", "external_declaration_error",
1514   "translation_unit_error", "translation_unit", "thefile",
1515   "dbtable_definition", "dbfield_entry", "dbindex_item",
1516   "dbindex_item_list", "dbindex_entry", "dbfield_definition_list",
1517   "database_open", "dbfield", "dbindex", "dbtable", 0
1518 };
1519 #endif
1520
1521 # ifdef YYPRINT
1522 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1523    token YYLEX-NUM.  */
1524 static const yytype_uint16 yytoknum[] =
1525 {
1526        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1527      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1528      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1529      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1530      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1531      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1532      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1533      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1534      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1535      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1536      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1537      365,   366,   367,   368,   369,   370,   371,    42,    60,    62,
1538       40,    41,   126,    59,    61,    44,   125,   123,    46,    58,
1539       36,    91,    93,    38,    43,    45,    33,    47,    37,    94,
1540      124,    63
1541 };
1542 # endif
1543
1544 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1545 static const yytype_uint16 yyr1[] =
1546 {
1547        0,   142,   143,   143,   144,   144,   145,   146,   147,   147,
1548      147,   148,   148,   149,   150,   151,   151,   152,   152,   153,
1549      153,   154,   154,   154,   154,   154,   154,   154,   155,   155,
1550      155,   155,   155,   156,   156,   157,   158,   159,   159,   159,
1551      160,   160,   161,   161,   161,   162,   162,   162,   163,   163,
1552      163,   163,   163,   163,   164,   164,   165,   165,   165,   165,
1553      165,   165,   165,   165,   165,   166,   166,   166,   166,   167,
1554      167,   167,   167,   167,   167,   167,   168,   168,   169,   169,
1555      169,   169,   169,   170,   170,   171,   171,   171,   171,   171,
1556      172,   172,   172,   173,   173,   174,   174,   174,   174,   174,
1557      174,   174,   174,   174,   174,   175,   175,   176,   176,   176,
1558      176,   176,   177,   178,   178,   178,   179,   179,   179,   180,
1559      180,   180,   180,   181,   181,   181,   181,   181,   182,   182,
1560      182,   182,   182,   182,   183,   184,   184,   184,   184,   184,
1561      185,   185,   185,   186,   187,   187,   188,   188,   189,   189,
1562      190,   191,   191,   192,   192,   192,   192,   193,   193,   193,
1563      193,   194,   194,   194,   194,   194,   194,   194,   194,   194,
1564      194,   194,   194,   194,   194,   195,   195,   195,   195,   195,
1565      195,   195,   195,   195,   195,   195,   195,   195,   195,   195,
1566      195,   195,   195,   195,   195,   195,   196,   196,   196,   197,
1567      197,   197,   197,   197,   198,   198,   199,   199,   200,   200,
1568      200,   200,   200,   200,   200,   200,   201,   202,   202,   203,
1569      204,   204,   205,   205,   205,   206,   206,   207,   207,   207,
1570      207,   207,   207,   208,   208,   209,   210,   210,   210,   210,
1571      210,   210,   210,   210,   211,   211,   211,   211,   211,   211,
1572      212,   213,   213,   213,   213,   213,   213,   214,   215,   215,
1573      216,   216,   216,   217,   218,   218,   218,   218,   218,   218,
1574      218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
1575      218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
1576      218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
1577      218,   219,   220,   221,   221,   222,   222,   222,   222,   222,
1578      222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
1579      222,   222,   222,   223,   223,   223,   223,   223,   223,   223,
1580      223,   223,   223,   223,   223,   223,   223,   223,   223,   223,
1581      223,   224,   224,   224,   224,   225,   225,   225,   225,   225,
1582      226,   226,   226,   226,   226,   226,   226,   226,   226,   226,
1583      226,   226,   227,   227,   228,   228,   229,   229,   229,   229,
1584      229,   229,   229,   229,   230,   230,   231,   231,   231,   231,
1585      231,   231,   231,   232,   232,   232,   232,   232,   233,   233,
1586      233,   233,   233,   234,   235,   235,   235,   235,   235,   235,
1587      235,   235,   235,   236,   236,   236,   236,   236,   236,   236,
1588      236,   236,   237,   237,   237,   237,   237,   238,   238,   238,
1589      238,   238,   239,   239,   239,   239,   239,   240,   240,   240,
1590      241,   241,   241,   242,   242,   242,   242,   242,   242,   242,
1591      242,   242,   242,   242,   242,   242,   242,   242,   242,   242,
1592      243,   243,   243,   243,   243,   243,   243,   243,   243,   244,
1593      244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
1594      245,   245,   245,   245,   246,   246,   246,   247,   247,   247,
1595      247,   247,   247,   247,   247,   247,   247,   247,   248,   248,
1596      248,   248,   248,   248,   248,   248,   248,   248,   249,   249,
1597      249,   249,   249,   249,   249,   249,   249,   249,   249,   249,
1598      250,   250,   251,   251,   252,   252,   253,   253,   253,   253,
1599      253,   253,   253,   254,   254,   254,   254,   254,   255,   255,
1600      255,   255,   255,   256,   256,   256,   256,   256,   256,   256,
1601      256,   256,   257,   257,   257,   257,   257,   257,   257,   257,
1602      257,   258,   258,   258,   258,   258,   259,   259,   259,   259,
1603      259,   260,   260,   260,   260,   260,   261,   261,   261,   262,
1604      262,   262,   263,   263,   263,   263,   263,   263,   263,   263,
1605      263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
1606      263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
1607      263,   264,   264,   264,   264,   264,   265,   265,   265,   265,
1608      265,   265,   265,   266,   266,   266,   266,   267,   268,   269,
1609      269,   269,   269,   269,   269,   270,   270,   270,   270,   270,
1610      270,   271,   271,   271,   272,   272,   272,   273,   274,   274,
1611      275,   275,   275,   276,   276,   276,   276,   276,   276,   276,
1612      276,   276,   276,   276,   276,   277,   277,   278,   278,   278,
1613      279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
1614      279,   279,   279,   279,   279,   279,   280,   280,   281,   281,
1615      282,   283,   283,   283,   284,   284,   285,   285,   285,   285,
1616      285,   285,   285,   285,   285,   285,   285,   285,   285,   285,
1617      285,   285,   285,   285,   285,   285,   285,   285,   285,   285,
1618      285,   285,   286,   286,   286,   286,   286,   286,   286,   286,
1619      286,   286,   286,   286,   286,   286,   286,   286,   286,   286,
1620      286,   286,   286,   286,   286,   286,   287,   287,   287,   287,
1621      287,   287,   287,   287,   287,   287,   288,   288,   289,   289,
1622      289,   289,   290,   290,   290,   290,   291,   291,   291,   291,
1623      291,   291,   291,   291,   291,   292,   293,   293,   294,   295,
1624      295,   295,   295,   296,   296,   296,   296,   296,   296,   296,
1625      296,   296,   297,   297,   298,   298,   298,   298,   298,   298,
1626      298,   298,   299,   299,   299,   299,   299,   299,   299,   299,
1627      299,   299,   300,   300,   300,   300,   300,   300,   300,   300,
1628      300,   300,   301,   301,   301,   301,   301,   301,   301,   301,
1629      301,   301,   301,   301,   302,   302,   302,   302,   302,   302,
1630      302,   302,   302,   302,   303,   303,   304,   304,   304,   304,
1631      304,   304,   304,   304,   304,   304,   304,   304,   305,   305,
1632      306,   306,   306,   306,   306,   306,   306,   306,   306,   306,
1633      307,   307,   307,   307,   307,   307,   307,   307,   307,   307,
1634      307,   307,   307,   307,   308,   308,   308,   308,   308,   308,
1635      308,   308,   308,   308,   308,   308,   308,   308,   309,   309,
1636      310,   310,   310,   310,   310,   311,   311,   311,   311,   311,
1637      311,   311,   311,   311,   311,   311,   312,   312,   312,   312,
1638      312,   312,   312,   312,   312,   313,   314,   314,   314,   314,
1639      314,   315,   315,   315,   315,   316,   316,   317,   318,   318,
1640      318,   318,   318,   319,   319,   319,   319,   320,   320,   321,
1641      321,   321,   321,   322,   322,   322,   323,   323,   323,   323,
1642      323,   324,   324,   325,   325,   325,   326,   326,   327,   327,
1643      327,   327,   327,   327,   327,   327,   327,   327,   327,   327,
1644      327,   327,   327,   327,   328,   328,   328,   328,   328,   328,
1645      328,   328,   329,   329,   329,   329,   330,   330,   330,   330,
1646      330,   331,   331,   331,   331,   331,   332,   332,   332,   332,
1647      332,   333,   333,   333,   333,   334,   334,   334,   334,   335,
1648      335,   335,   335,   336,   336,   336,   336,   337,   337,   337,
1649      337,   338,   338,   338,   338,   339,   339,   339,   340,   340,
1650      340,   340,   340,   341,   341,   342,   342,   343,   343,   343,
1651      343,   343,   343,   344,   344,   344,   345,   345,   346,   346,
1652      346,   346,   346,   346,   347,   347,   347,   347,   348,   348,
1653      349,   349,   350,   350,   350,   350,   350,   350,   351,   351,
1654      352,   352,   352,   352,   352,   352,   352,   352,   352,   352,
1655      353,   353,   353,   353,   353,   353,   353,   353,   354,   354,
1656      354,   354,   354,   354,   355,   355,   355,   356,   356,   356,
1657      356,   356,   356,   356,   356,   356,   356,   356,   356,   356,
1658      357,   357,   357,   357,   357,   357,   357,   358,   358,   358,
1659      359,   359,   359,   360,   360,   360,   360,   360,   360,   360,
1660      360,   360,   360,   360,   360,   360,   360,   361,   361,   361,
1661      361,   361,   361,   361,   361,   361,   361,   362,   362,   362,
1662      362,   362,   362,   362,   362,   362,   362,   362,   362,   363,
1663      363,   363,   364,   364,   365,   365,   365,   365,   366,   366,
1664      366,   366,   366,   366,   367,   368,   368,   368,   368,   368,
1665      369,   369,   369,   369,   370,   370,   371,   371,   371,   372,
1666      372,   372,   372,   372,   372,   372,   373,   373,   373,   373,
1667      374,   374,   374,   374,   375,   376,   377,   377,   377,   378,
1668      378,   378,   379,   379,   379,   379,   379,   379,   380,   380,
1669      381,   381,   381,   381,   381,   381,   381,   381,   381,   381,
1670      381,   381,   382,   382,   382,   382,   382,   382,   382,   382,
1671      382,   382,   382,   382,   382,   382,   382,   382,   382,   382,
1672      382,   382,   383,   383,   383,   383,   383,   383,   383,   383,
1673      384,   384,   384,   384,   385,   385,   385,   385,   385,   385,
1674      386,   386,   386,   386,   386,   386,   387,   387,   388,   388,
1675      388,   388,   388,   388,   388,   388,   388,   388,   388,   388,
1676      388,   388,   388,   388,   388,   388,   388,   388,   389,   389,
1677      389,   389,   389,   389,   389,   390,   390,   390,   390,   390,
1678      391,   391,   391,   391,   392,   392,   392,   393,   393,   393,
1679      394,   395,   395,   395,   396,   396,   397,   397,   398,   398,
1680      398,   398,   399,   400,   401,   402
1681 };
1682
1683 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1684 static const yytype_uint8 yyr2[] =
1685 {
1686        0,     2,     2,     2,     1,     2,     1,     1,     1,     4,
1687        4,     2,     1,     3,     4,     3,     2,     2,     1,     3,
1688        2,     2,     2,     2,     2,     2,     2,     3,     2,     1,
1689        2,     1,     2,     2,     2,     2,     2,     2,     1,     1,
1690        3,     1,     3,     3,     1,     1,     3,     3,     1,     3,
1691        3,     3,     3,     1,     2,     2,     1,     1,     2,     2,
1692        2,     2,     1,     2,     2,     1,     1,     2,     2,     1,
1693        2,     2,     2,     2,     1,     2,     2,     3,     4,     5,
1694        4,     3,     4,     2,     3,     4,     5,     4,     3,     4,
1695        5,     5,     4,     2,     3,     3,     3,     3,     2,     4,
1696        3,     3,     2,     4,     3,     2,     3,     2,     3,     2,
1697        1,     2,     3,     3,     3,     2,     1,     3,     3,     1,
1698        3,     3,     2,     4,     5,     3,     4,     3,     1,     3,
1699        3,     3,     2,     3,     2,     4,     5,     3,     4,     3,
1700        1,     3,     3,     2,     1,     2,     2,     2,     1,     2,
1701        5,     7,     9,     6,     8,     4,     6,     1,     2,     3,
1702        4,     2,     2,     1,     1,     2,     2,     1,     1,     1,
1703        1,     7,     1,     2,     4,     1,     1,     2,     3,     2,
1704        2,     2,     3,     1,     2,     2,     2,     1,     1,     1,
1705        2,     2,     2,     3,     3,     1,     1,     2,     2,     1,
1706        2,     2,     2,     2,     1,     2,     1,     2,     2,     4,
1707        4,     6,     2,     4,     4,     6,     1,     1,     3,     1,
1708        4,     5,     1,     1,     1,     1,     3,     1,     1,     1,
1709        3,     3,     3,     1,     3,     1,     2,     2,     3,     3,
1710        5,     5,     6,     6,     2,     2,     3,     3,     3,     3,
1711        3,     3,     3,     3,     3,     3,     3,     1,     1,     3,
1712        1,     2,     4,     1,     1,     1,     4,     4,     5,     8,
1713        2,     1,     1,     2,     6,     6,     5,     5,     6,     6,
1714        5,     5,     7,     7,     6,     6,     7,     7,     6,     6,
1715        4,     5,     4,     6,     4,     1,     1,     1,     1,     3,
1716        2,     1,     2,     2,     2,     1,     4,     4,     3,     4,
1717        4,     3,     3,     2,     2,     4,     4,     3,     4,     3,
1718        3,     2,     2,     1,     4,     4,     3,     4,     4,     3,
1719        3,     2,     2,     4,     4,     3,     4,     3,     3,     2,
1720        2,     1,     1,     3,     3,     1,     1,     3,     3,     2,
1721        2,     2,     2,     2,     4,     2,     4,     5,     5,     4,
1722        2,     4,     1,     1,     1,     1,     1,     1,     1,     1,
1723        1,     1,     1,     1,     1,     4,     1,     3,     3,     3,
1724        3,     3,     3,     1,     3,     3,     3,     3,     1,     3,
1725        3,     3,     3,     2,     1,     2,     3,     3,     3,     3,
1726        3,     3,     3,     1,     3,     3,     3,     3,     3,     3,
1727        3,     3,     1,     3,     3,     3,     3,     1,     3,     3,
1728        3,     3,     1,     3,     3,     3,     3,     1,     3,     3,
1729        1,     3,     3,     1,     5,     5,     5,     5,     5,     5,
1730        5,     5,     5,     5,     5,     5,     5,     5,     5,     5,
1731        1,     3,     3,     3,     3,     3,     3,     3,     3,     1,
1732        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1733        1,     3,     3,     2,     1,     3,     3,     1,     1,     2,
1734        2,     3,     3,     3,     3,     3,     3,     3,     1,     2,
1735        2,     3,     3,     3,     3,     3,     3,     3,     2,     2,
1736        2,     2,     3,     2,     5,     6,     6,     3,     2,     5,
1737        1,     1,     1,     1,     1,     4,     1,     3,     3,     3,
1738        3,     3,     3,     1,     3,     3,     3,     3,     1,     3,
1739        3,     3,     3,     1,     2,     3,     3,     3,     3,     3,
1740        3,     3,     1,     3,     3,     3,     3,     3,     3,     3,
1741        3,     1,     3,     3,     3,     3,     1,     3,     3,     3,
1742        3,     1,     3,     3,     3,     3,     1,     3,     3,     1,
1743        3,     3,     1,     5,     5,     5,     5,     4,     4,     4,
1744        4,     5,     5,     5,     5,     4,     4,     4,     4,     5,
1745        5,     5,     5,     5,     5,     5,     5,     3,     3,     2,
1746        2,     1,     3,     3,     3,     3,     1,     2,     3,     3,
1747        2,     2,     2,     1,     2,     3,     3,     1,     1,     1,
1748        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1749        1,     1,     3,     3,     1,     3,     2,     1,     2,     2,
1750        2,     4,     4,     3,     3,     4,     5,     4,     6,     6,
1751        4,     5,     4,     6,     6,     2,     2,     2,     5,     3,
1752        5,     6,     5,     7,     7,     8,     8,     7,     7,     3,
1753        3,     3,     4,     3,     5,     5,     1,     1,     1,     1,
1754        1,     1,     1,     1,     1,     2,     1,     1,     1,     1,
1755        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1756        1,     1,     4,     4,     4,     1,     1,     1,     1,     1,
1757        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1758        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1759        1,     1,     4,     4,     4,     1,     1,     2,     2,     3,
1760        5,     2,     3,     5,     5,     5,     1,     3,     2,     2,
1761        3,     3,     2,     3,     3,     4,     3,     3,     3,     3,
1762        3,     3,     4,     4,     4,     1,     1,     4,     3,     2,
1763        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
1764        3,     3,     1,     1,     1,     2,     1,     2,     1,     2,
1765        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1766        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1767        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1768        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1769        1,     2,     1,     2,     1,     2,     1,     1,     1,     2,
1770        1,     2,     1,     2,     1,     2,     4,     5,     1,     1,
1771        1,     2,     1,     2,     1,     2,     1,     2,     4,     5,
1772        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1773        1,     2,     4,     5,     1,     2,     1,     2,     1,     2,
1774        1,     2,     1,     2,     1,     2,     4,     5,     3,     3,
1775        1,     3,     3,     3,     3,     1,     1,     1,     4,     4,
1776        4,     3,     4,     4,     4,     3,     1,     3,     4,     3,
1777        4,     4,     4,     4,     3,     2,     3,     3,     3,     3,
1778        2,     2,     2,     3,     4,     1,     1,     2,     3,     3,
1779        3,     3,     2,     2,     2,     3,     4,     1,     1,     1,
1780        1,     1,     4,     1,     1,     1,     1,     1,     1,     1,
1781        1,     1,     4,     1,     2,     3,     6,     5,     3,     4,
1782        2,     3,     3,     3,     3,     4,     4,     4,     2,     3,
1783        3,     3,     4,     4,     3,     4,     2,     3,     3,     3,
1784        4,     4,     1,     2,     2,     3,     1,     1,     2,     2,
1785        3,     1,     1,     2,     2,     3,     1,     2,     3,     2,
1786        2,     1,     2,     3,     2,     1,     2,     3,     3,     1,
1787        2,     3,     3,     1,     2,     3,     3,     1,     2,     3,
1788        3,     1,     2,     3,     3,     1,     3,     4,     1,     4,
1789        2,     5,     3,     1,     1,     1,     1,     1,     1,     3,
1790        3,     2,     2,     1,     1,     3,     2,     3,     1,     3,
1791        3,     3,     3,     3,     1,     2,     3,     3,     1,     2,
1792        1,     2,     2,     2,     2,     3,     1,     1,     3,     3,
1793        1,     3,     4,     3,     4,     3,     3,     4,     3,     4,
1794        1,     3,     3,     4,     3,     3,     3,     4,     1,     3,
1795        3,     3,     3,     3,     1,     3,     2,     1,     1,     1,
1796        1,     1,     2,     1,     1,     1,     1,     2,     2,     2,
1797        1,     1,     1,     1,     1,     2,     1,     1,     4,     7,
1798        1,     3,     0,     6,     8,    10,    12,     8,    10,    10,
1799        5,     7,     9,    11,     7,     9,     9,     3,     4,     4,
1800        3,     3,     3,     4,     4,     3,     3,     3,     4,     4,
1801        3,     2,     3,     2,     3,     4,     4,     3,     3,     1,
1802        1,     1,     1,     1,     2,     3,     2,     2,     2,     3,
1803        3,     2,     5,     6,     2,     2,     2,     2,     2,     2,
1804        1,     2,     2,     3,     1,     2,     1,     2,     2,     1,
1805        2,     2,     2,     2,     2,     2,     1,     1,     2,     2,
1806        1,     1,     2,     2,     1,     2,     2,     1,     2,     1,
1807        2,     2,     5,     5,     7,     7,     5,     5,     3,     2,
1808        5,     4,     4,     7,     6,     6,     5,     7,     6,     4,
1809        7,     9,     3,     4,     4,     5,     5,     6,     7,     6,
1810        6,     5,     5,     4,     3,     2,     1,     2,     4,     3,
1811        5,     4,     3,     2,     2,     2,     3,     3,     3,     3,
1812        2,     2,     1,     1,     4,     3,     4,     3,     3,     2,
1813        4,     3,     4,     3,     3,     2,     1,     2,     1,     1,
1814        2,     1,     2,     3,     3,     1,     2,     2,     2,     3,
1815        4,     4,     2,     2,     2,     2,     1,     2,     1,     2,
1816        1,     2,     2,     1,     2,     1,     2,     2,     2,     2,
1817        1,     2,     2,     3,     1,     1,     0,     6,     6,     5,
1818        4,     1,     2,     2,     1,     3,     3,     4,     1,     1,
1819        2,     2,     6,     6,     6,     4
1820 };
1821
1822 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1823    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1824    means the default is an error.  */
1825 static const yytype_uint16 yydefact[] =
1826 {
1827     1316,   257,     6,   625,   626,   627,   628,   629,   687,   688,
1828      689,   690,   691,   693,   696,   697,   694,   695,   681,   682,
1829      686,   692,   782,   783,   637,  1161,   235,   705,   939,   940,
1830        0,     0,   943,  1159,  1160,   706,   707,   698,     0,     0,
1831        0,     0,     0,   944,   945,   709,   708,   710,   711,   630,
1832      982,     0,  1285,   830,   701,     8,     4,     0,     0,     0,
1833     1279,     0,  1298,   906,   824,     0,   700,     0,   676,   678,
1834      832,   834,   683,   826,   828,   765,   699,     0,     0,   677,
1835      679,     0,     0,     0,     0,     0,  1005,   680,     0,   941,
1836        0,     0,     0,  1281,  1303,  1278,  1300,  1310,  1305,     0,
1837        0,     0,  1296,     0,  1293,  1276,     0,     0,  1282,     0,
1838        0,     0,     0,  1295,  1294,     0,   684,   983,   680,   984,
1839      897,   896,   906,   938,   895,   925,   996,     0,   937,  1001,
1840        0,     0,     0,     0,     0,     0,  1171,     0,   237,   236,
1841        0,     0,   245,     0,   244,     2,     3,     0,     5,     0,
1842      639,   638,     0,     0,   657,     0,     0,     0,     0,   769,
1843        0,   749,   748,     0,  1174,   627,   690,   691,  1168,   831,
1844        8,  1280,  1299,   906,   825,   833,   835,   827,   829,  1005,
1845     1013,   680,     0,     0,  1044,     0,     0,     0,  1054,     0,
1846        0,   897,     0,   896,     0,     0,   915,     0,     0,   619,
1847      620,   621,   622,   623,  1067,   624,   920,   818,   890,   812,
1848        0,   822,     0,   814,   816,   765,   820,     0,     0,  1066,
1849        0,     0,  1070,  1080,     0,     0,     0,     0,     0,     0,
1850     1006,     0,   713,   714,   715,   716,   717,   719,   722,   723,
1851      720,   721,   712,   718,   735,   724,     0,     0,   729,   728,
1852      730,   731,  1204,   727,     0,     0,   802,   726,   808,   804,
1853      806,   810,   725,     0,  1180,     0,     0,     0,     0,  1269,
1854     1275,   627,     0,  1292,  1287,  1301,     0,  1288,  1304,  1286,
1855     1302,  1297,  1309,  1312,     0,     0,     0,     0,     0,  1307,
1856     1308,  1311,  1306,     1,     0,  1283,  1284,  1277,     0,     0,
1857      478,   263,     0,     0,     0,     0,     0,     0,   372,   373,
1858        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1859      367,     0,   370,     0,     0,   366,   368,   369,   371,     0,
1860      265,     0,   264,   305,   272,   271,   258,   477,     0,   362,
1861      374,     0,   376,   383,   388,   394,     0,   403,   412,   417,
1862      422,   427,   430,   433,   450,     0,   511,   510,   514,   516,
1863      523,   528,   533,   542,   551,   556,   561,   566,   569,   572,
1864        0,   260,   295,   296,   297,   298,     0,     0,     0,     0,
1865        0,   685,   985,     0,   927,     0,   932,     0,     0,     0,
1866        0,     0,     0,     0,   938,   997,  1002,     0,   907,   999,
1867      909,  1004,  1000,   698,     4,   229,   228,   227,   233,     0,
1868      264,   374,   219,   514,     0,   206,   249,     0,     0,   248,
1869      255,     0,     0,  1162,  1163,     0,   168,     0,   169,   170,
1870        0,     0,     0,     0,     0,   172,   246,     0,     0,     0,
1871        0,    29,    31,   163,   175,   188,     0,   187,     0,   116,
1872      119,     0,   195,   128,     0,   164,   140,     0,   167,   183,
1873      196,   199,     0,     0,   264,     0,     0,   176,     0,  1009,
1874      680,     0,    12,    18,     0,   837,   836,   844,   838,     0,
1875      840,   842,   765,   849,   848,   250,   256,   247,     0,     0,
1876      239,   238,   670,   631,   634,   669,   673,   659,     0,     0,
1877        0,   222,   223,   224,   225,     0,   217,     0,   778,   771,
1878        0,     0,   768,   775,   770,     0,     0,   781,   772,     0,
1879        0,   751,   750,     0,     0,     0,     0,     0,  1006,  1014,
1880        0,  1046,     0,     0,  1265,  1271,     0,  1267,  1273,  1055,
1881     1169,     0,     0,     0,  1170,   914,     0,   264,   617,   618,
1882        0,     0,     0,     0,   639,   638,   640,     0,   752,     0,
1883        0,   690,     0,     0,  1064,   819,     8,   906,   813,   823,
1884      815,   817,   821,   938,   895,   680,   987,   986,     0,     0,
1885        0,   919,     0,     0,   918,     0,     0,     0,  1096,     0,
1886      916,   917,  1007,     0,  1008,     0,     0,  1178,  1166,  1177,
1887       76,  1175,   716,   717,  1164,   906,   803,   809,   805,   807,
1888      811,   680,     0,  1179,  1176,  1167,     0,  1181,     0,  1268,
1889     1274,  1182,     0,     0,     0,     0,     0,     0,     0,     0,
1890     1263,     0,     0,     0,   724,     0,     0,     0,   157,  1100,
1891     1101,   727,     0,     0,     0,   264,     0,   374,     0,     0,
1892      514,   601,   606,     0,  1098,  1186,  1189,  1106,  1097,  1110,
1893        0,     0,     0,     0,  1208,  1206,  1099,  1112,     0,  1113,
1894     1104,  1111,     0,  1114,  1205,     0,     0,  1289,   906,     0,
1895        0,     0,  1299,     0,   895,  1013,   680,     0,     0,     0,
1896        0,  1275,  1313,     0,     0,   433,     0,     0,   942,   488,
1897        0,     0,   323,     0,   364,   355,   513,   512,   503,     0,
1898      350,   498,   351,   499,     0,   884,   874,   882,   876,   878,
1899      880,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1900        0,     0,     0,   360,   508,   273,     0,     0,     0,   788,
1901      784,   786,   790,  1058,     0,   261,     0,   300,   301,     0,
1902      342,     0,   341,     0,   480,    93,     0,   270,   479,     0,
1903      313,   314,     0,     0,     0,   460,   461,   462,   463,   464,
1904      465,   466,   467,   468,   469,   459,     0,     0,   353,   501,
1905      352,   500,     0,     0,     0,     0,     0,     0,     0,   395,
1906      534,     0,     0,   393,     0,     0,     0,     0,     0,     0,
1907        0,     0,     0,     0,   702,     0,   321,   322,     0,     0,
1908        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1909        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1910        0,     0,   703,   704,     0,     0,     0,  1328,  1329,     0,
1911        0,     0,   901,     0,     0,     0,   905,     0,     0,     0,
1912      931,   930,   928,   929,   938,   997,  1002,   908,   910,  1024,
1913       10,     9,     0,     0,     0,   680,   986,   207,     0,     0,
1914      264,   206,     0,     0,   856,   850,   852,   854,     0,     0,
1915        0,    16,    20,     0,   185,   184,   186,     0,     0,     0,
1916        0,   367,     0,   264,     0,    26,     0,    21,    28,    24,
1917        0,    25,    23,    22,    30,    32,   190,    83,   191,   122,
1918      162,     0,     0,     0,     0,   132,     0,     0,   134,     0,
1919        0,   143,   161,   200,   197,   202,   201,   198,   203,   115,
1920        0,     0,     0,   906,   746,   177,  1021,     0,  1017,   680,
1921        0,    11,    17,   736,   922,  1066,     0,     0,     0,  1010,
1922        0,     0,   173,   165,   192,   181,     0,   180,     0,   166,
1923      906,   179,     0,   639,   638,   845,   839,   841,   843,     0,
1924        0,     0,   636,   672,     0,     0,     7,   212,   208,   767,
1925        0,     0,     0,     0,  1043,  1050,  1051,  1052,    62,    53,
1926       92,    39,    38,    57,    69,    45,    48,     0,    74,    56,
1927        0,     0,     0,  1034,  1036,     0,  1033,  1035,     0,    41,
1928       44,   938,  1007,   998,  1015,  1003,  1024,  1016,     0,  1025,
1929     1028,  1045,  1047,  1264,  1270,  1266,  1272,  1049,  1056,  1053,
1930     1057,   913,   911,   912,  1093,  1075,  1084,   644,   643,     0,
1931        0,   478,   753,     0,     0,   478,   754,     0,     0,     0,
1932      968,   906,     0,     0,   680,   986,     0,     0,     0,   960,
1933        0,     0,     0,     0,     0,  1065,   989,     0,     0,   988,
1934     1069,  1068,     0,   889,  1092,   892,  1078,  1086,     0,   888,
1935     1091,   891,  1076,  1085,     0,  1095,  1089,   893,  1071,  1081,
1936        0,  1090,   894,  1073,  1082,   946,   947,   950,   949,   948,
1937        0,   951,   953,     0,     0,     0,     0,    77,     0,  1165,
1938     1183,     0,     0,     0,     0,     0,     0,  1247,     0,     0,
1939        0,     0,     0,     0,     0,     0,     0,     0,   264,     0,
1940     1098,  1245,  1103,  1105,     0,     0,  1253,  1254,  1255,     0,
1941     1261,     0,     0,     0,     0,     0,     0,   158,   144,  1109,
1942     1108,  1107,     0,     0,     0,   607,     0,  1102,     0,     0,
1943        0,     0,   473,     0,     0,   478,     0,     0,     0,     0,
1944     1187,  1190,  1192,     0,  1188,  1191,  1193,     0,  1219,  1115,
1945     1290,  1291,   237,   236,     0,     0,     0,  1014,     0,     0,
1946     1271,     0,  1273,  1274,     0,     0,  1172,     0,     0,   796,
1947      264,     0,   502,   798,   792,   794,   800,  1060,     0,   490,
1948      489,     0,   331,   332,     0,     0,     0,     0,   339,   340,
1949        0,     0,     0,     0,     0,     0,     0,     0,   885,   875,
1950      883,   877,   879,   881,   680,   992,   991,     0,   870,   860,
1951      868,   862,   864,   866,     0,     0,     0,     0,     0,     0,
1952        0,     0,     0,     0,     0,     0,     0,     0,   507,     0,
1953      259,     0,   789,   785,   787,   791,  1059,     0,     0,   478,
1954        0,     0,     0,   105,     0,   299,   478,     0,     0,    94,
1955      478,     0,     0,   481,   312,   308,   346,   483,   484,   345,
1956      485,   311,     0,     0,   455,   451,   302,   377,   517,   378,
1957      518,   379,   519,   384,   524,   385,   525,   389,   529,   390,
1958      530,   397,   536,   398,   537,   396,   535,   408,   547,   404,
1959      543,   409,   548,   405,   544,   415,   554,   413,   552,   420,
1960      559,   418,   557,   425,   564,   423,   562,   428,   567,   431,
1961      570,   597,     0,   613,     0,     0,     0,     0,   457,   453,
1962      482,   320,   317,     0,   486,   487,   319,     0,     0,   456,
1963      452,   380,   520,   381,   521,   382,   522,   386,   526,   387,
1964      527,   391,   531,   392,   532,   401,   540,   402,   541,   399,
1965      538,   400,   539,   410,   549,   406,   545,   411,   550,   407,
1966      546,   416,   555,   414,   553,   421,   560,   419,   558,   426,
1967      565,   424,   563,   429,   568,   432,   571,   598,     0,     0,
1968        0,     0,   458,   454,     0,     0,  1321,  1324,     0,     0,
1969     1319,  1330,  1331,     0,     0,   900,   898,   899,   904,   902,
1970      903,   234,   232,   231,   230,   264,   680,   989,   241,     0,
1971      207,   240,   127,     0,   125,   857,   851,   853,   855,     0,
1972      680,     0,    15,    19,     0,   182,  1021,   680,     0,   139,
1973        0,   137,   857,     0,   264,   680,     0,    27,    84,   117,
1974      120,   118,   121,   129,   130,   131,   133,   141,   142,   114,
1975      112,   113,    13,   738,   741,     0,     0,   934,  1066,     0,
1976        0,     0,  1022,  1018,     0,     0,   737,   906,   923,  1011,
1977     1012,   906,   193,   194,   178,     0,     0,     0,     0,   632,
1978      633,   635,     0,     0,   662,   658,     0,     0,     0,     0,
1979        0,   226,   218,   216,     0,     0,     0,    36,    37,    75,
1980       54,     0,    55,     0,    64,    61,    72,    67,    73,    60,
1981       90,    39,    70,    63,    91,    59,    71,    68,     0,    58,
1982        0,   716,    33,    35,    34,  1037,  1038,     0,   652,   642,
1983        0,   647,   641,     0,   478,   755,     0,     0,     0,   986,
1984        0,   958,   969,   970,   963,   961,   962,     0,   990,   971,
1985        0,     0,   964,     0,     0,     0,  1079,  1087,  1066,  1077,
1986     1072,  1074,  1083,   957,     0,     0,     0,   954,   732,   733,
1987      734,   478,     0,     0,  1140,  1150,  1145,     0,     0,     0,
1988     1141,  1152,  1146,     0,     0,     0,     0,     0,     0,     0,
1989        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1990        0,     0,     0,  1244,  1232,     0,  1209,   264,     0,     0,
1991        0,  1252,  1258,  1259,  1256,  1257,     0,     0,     0,     0,
1992      145,  1137,  1147,  1142,     0,   159,   604,   602,     0,     0,
1993        0,   471,   608,   605,   603,   472,   609,     0,  1015,  1270,
1994     1272,  1173,     0,     0,     0,     0,     0,     0,     0,     0,
1995        0,     0,   354,   797,   799,   793,   795,   801,  1061,     0,
1996      491,   330,   326,   493,   494,   495,   329,     0,     0,   492,
1997      338,   335,     0,   496,   497,   337,     0,     0,   292,   290,
1998        0,     0,   976,   680,     0,     0,     0,     0,     0,     0,
1999      994,     0,   993,     0,     0,     0,   871,   861,   869,   863,
2000      865,   867,     0,   267,     0,   266,   294,     0,     0,     0,
2001        0,     0,     0,  1335,     0,     0,     0,   359,     0,   375,
2002      515,   262,   108,   106,   344,   343,    99,   103,   309,     0,
2003      310,   306,   307,   614,     0,     0,     0,     0,     0,     0,
2004      318,   315,   316,     0,     0,     0,     0,  1323,  1322,  1326,
2005        0,     0,     0,  1318,  1317,     0,   986,   218,     0,     0,
2006      123,   126,     0,     0,     0,     0,     0,  1022,     0,   135,
2007      138,     0,    14,   478,     0,     0,   747,     0,   906,   935,
2008     1023,  1019,  1020,   739,   742,   924,   174,   846,     0,   243,
2009      242,     0,   661,     0,   213,   214,   204,   209,   210,   220,
2010        0,     0,    51,    46,    49,    52,    47,    50,    37,    43,
2011       40,    42,     0,     0,  1041,  1042,   651,     0,   646,     0,
2012      989,   988,   959,   972,   973,   966,   965,   967,  1063,  1062,
2013        0,   956,   955,    79,  1138,  1148,  1143,     0,  1139,  1149,
2014     1144,     0,     0,     0,     0,     0,  1248,  1222,     0,     0,
2015     1221,  1251,     0,     0,     0,     0,     0,     0,     0,     0,
2016        0,     0,     0,  1229,     0,  1210,  1233,  1211,  1234,     0,
2017        0,     0,  1122,   942,  1122,     0,     0,   155,     0,     0,
2018        0,   160,     0,     0,     0,     0,     0,     0,     0,     0,
2019        0,     0,   504,   327,   328,   324,   325,   336,   333,   334,
2020      291,   886,     0,   991,     0,   974,   977,   978,   276,   277,
2021        0,   995,   979,     0,     0,     0,     0,     0,     0,     0,
2022        0,     0,     0,   268,   280,   281,     0,     0,     0,     0,
2023        0,     0,     0,     0,     0,   509,   348,   347,   475,   615,
2024      442,   589,   434,   573,   446,   593,   438,   581,   476,   616,
2025      443,   590,   435,   574,   447,   594,   439,   582,   444,   591,
2026      436,   575,   448,   595,   440,   583,   445,   592,   437,   576,
2027      449,   596,   441,   584,  1325,  1327,  1320,   858,     0,   124,
2028      150,  1023,     0,   136,    86,   936,     0,     0,   847,     0,
2029        0,     0,     0,     0,     0,   205,     0,   221,     0,     0,
2030     1039,  1040,  1029,     0,     0,     0,     0,   952,  1212,  1213,
2031     1216,  1217,  1220,  1250,     0,     0,     0,     0,     0,     0,
2032        0,  1226,  1235,     0,     0,     0,     0,  1120,     0,  1117,
2033     1130,     0,  1122,     0,  1122,     0,     0,     0,     0,   506,
2034      505,   993,   975,   887,   980,   981,   274,   275,   872,   284,
2035      285,     0,     0,     0,     0,   278,   279,   288,   289,     0,
2036        0,   293,  1333,  1334,  1332,   859,     0,   740,   743,   745,
2037      744,     0,     0,   215,   211,     0,  1026,  1031,     0,     0,
2038        0,     0,     0,     0,     0,  1240,  1224,     0,     0,  1225,
2039     1237,     0,  1228,  1239,     0,     0,     0,  1122,     0,  1122,
2040        0,  1122,     0,  1123,     0,     0,     0,   148,     0,   153,
2041        0,   156,     0,   873,   282,   283,     0,   286,   287,   171,
2042     1027,  1214,  1215,     0,     0,  1223,  1230,     0,  1227,  1238,
2043        0,  1134,  1121,     0,     0,     0,  1131,     0,     0,  1122,
2044     1122,     0,  1122,   147,   146,   151,   149,     0,     0,   375,
2045      515,   269,     0,     0,     0,  1118,     0,     0,  1122,  1127,
2046        0,     0,  1124,     0,     0,   154,  1231,     0,  1135,  1136,
2047     1132,     0,     0,     0,     0,  1122,   152,     0,     0,  1128,
2048     1129,  1125,     0,  1119,  1133,     0,  1126
2049 };
2050
2051 /* YYDEFGOTO[NTERM-NUM].  */
2052 static const yytype_int16 yydefgoto[] =
2053 {
2054       -1,   207,    54,    55,   977,   329,   437,   438,   439,   440,
2055      441,   442,   443,   444,   991,   992,   993,   994,   995,   996,
2056      997,   998,   999,  1000,  1001,  1002,   254,   255,   445,   446,
2057       57,   330,   331,   748,   777,   449,   450,   451,   452,   453,
2058      454,   455,   456,   457,   458,  2136,  2137,  2138,   459,   642,
2059      643,   644,   460,   461,   462,   463,  1825,   405,   501,   406,
2060      502,   407,   503,   504,   869,   408,   409,    58,    59,    60,
2061       61,    62,   332,   333,   334,   335,   336,  1003,  1004,   337,
2062      338,   703,   751,  1288,   339,   647,   705,   341,   342,   343,
2063      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
2064      354,   736,   831,   649,  1345,   356,   706,   357,   650,   708,
2065      359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
2066      369,   651,   652,  1129,  1347,   550,   551,   209,    64,   494,
2067      495,   210,    66,   211,   212,    67,    68,    69,    70,    71,
2068       72,   213,   117,   214,   260,   934,   935,   215,   216,   217,
2069       76,    77,    78,    79,    80,   218,   743,  1207,   263,   467,
2070       82,    83,   484,   485,   879,  1244,   721,  1052,  1053,   123,
2071       84,   468,    86,   469,   126,   127,   128,   938,   129,   118,
2072       88,  1101,  1102,  1103,    89,   576,  1235,   471,   578,  1237,
2073      132,   184,   472,   473,   186,   942,   134,  1021,  1556,  1009,
2074     1010,  1557,   187,   188,   189,   190,   744,  1208,   222,   223,
2075      224,   225,   226,   227,   655,   656,  2057,  2058,   657,   658,
2076      659,    92,   474,   264,    93,    94,   265,   266,   267,   662,
2077      663,   664,   665,   268,   666,   900,  1640,  1132,   669,   670,
2078      671,  1133,   673,    95,    96,   371,    97,    98,    99,   100,
2079      101,   102,   837,  1417,  1418,   838,   839,   372,   373,   374,
2080      375
2081 };
2082
2083 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2084    STATE-NUM.  */
2085 #define YYPACT_NINF -2033
2086 static const int yypact[] =
2087 {
2088    37501, -2033, -2033, -2033, -2033,   514, -2033, -2033, -2033, -2033,
2089    -2033, -2033, -2033, -2033, -2033, -2033, -2033, -2033, -2033, -2033,
2090    -2033, -2033, -2033, -2033, -2033, -2033, -2033, -2033, -2033, -2033,
2091     1021,   107, -2033, -2033, -2033, -2033, -2033, -2033,    -7,    68,
2092       80,    95,   198, -2033, -2033, -2033, -2033, -2033, -2033, -2033,
2093     2460,  3145, -2033, -2033, -2033,   291, -2033,   160,    95,   983,
2094    -2033,   482,   227,  1224, -2033,   165, -2033,  1054, -2033,   360,
2095    -2033, -2033, -2033, -2033, -2033,  1053, -2033,  1065,   382, -2033,
2096      450,  1831, 37117,  2702,   589, 37784, -2033,   485,   497, -2033,
2097     1662, 40445, 35713, -2033, -2033, -2033, -2033, -2033, -2033, 37597,
2098    36723,   624, -2033,   107, -2033, -2033,   198,   198,   627,   535,
2099      198, 29356,    95, -2033, -2033,   914, -2033,  2460, -2033, -2033,
2100    -2033,   552, -2033,   673,  1079, -2033, -2033, 37878, -2033, -2033,
2101     3145,  2134,  1860,  2126,  2195, 10286, -2033,   573,   692,   221,
2102    30445, 39986, -2033, 30569, -2033, -2033, -2033,    95, -2033,   788,
2103     1068,  1128,   145, 39986, -2033, 39719, 30693, 39986, 30817, -2033,
2104    30941, -2033, -2033,    95, -2033, -2033,   972,   603, -2033, -2033,
2105      997, -2033,   227,   796, -2033, -2033, -2033, -2033, -2033,  1244,
2106     1854,   485,  2134,  1660,  2195, 40445, 40445,   283, -2033,  1297,
2107      611,   628,   603,   996,   485,  1373, -2033, 27896,   635, -2033,
2108    -2033, -2033, -2033, -2033, -2033, -2033, -2033, -2033,  1042, -2033,
2109      445, -2033,   806, -2033, -2033,   795, -2033,   813,  1963,  9630,
2110      280,   336, -2033, -2033,   411,   612,   804,   828,   372,   851,
2111    -2033,   372, -2033, -2033, -2033, -2033, -2033, -2033, -2033, -2033,
2112    -2033, -2033, -2033, -2033, -2033, -2033,   858,   889, -2033, -2033,
2113    -2033, -2033, -2033, -2033,   150,   113, -2033, -2033, -2033, -2033,
2114    -2033, -2033, -2033, 37309, -2033, 18179, 12991, 13238, 18316, -2033,
2115      912,  1006,  1026, -2033, -2033,   227, 37213, -2033, -2033, -2033,
2116    -2033, -2033, -2033, -2033,   360,   450, 38348, 40445, 38627, -2033,
2117    -2033, -2033, -2033, -2033,   842,   627,   627, -2033, 29356,   128,
2118    -2033, -2033, 29429, 29502, 29502,   899, 40164, 29356, -2033, -2033,
2119      975,  1011, 40164, 29356,  1018,  1025,  1037,  1044,  1056, 29575,
2120    -2033, 24448, -2033,   198,  8044, -2033, -2033, -2033, -2033,  1078,
2121    -2033,   127,  1111, -2033, -2033,   107, -2033, -2033, 13122, -2033,
2122     2825, 27969, -2033,   614,   197,  1203, 29356,   942,  1349,  1119,
2123     1125,  1132,  1267,   199,  2825,  1172,   607, -2033,  2825, -2033,
2124      847,  1450,  1291,   982,  1638,  1181,  1178,  1187,  1323,   284,
2125     2825,   627, -2033, -2033, -2033, -2033,  1232,   275, 39808,  1245,
2126     1250, -2033, -2033, 28042, -2033, 28115, -2033,   799,   832,  1278,
2127     1304,  2134,  2209,  2314,   673, -2033, -2033,  1070, -2033, -2033,
2128    -2033, -2033, -2033,   975,  1078, -2033, -2033, -2033, -2033,   539,
2129      791, -2033,  1203, -2033,  1291, 34985, -2033, 24328, 39719, -2033,
2130      774, 39452, 38720, -2033, -2033,  1314, -2033,    95, -2033, -2033,
2131      107, 38906, 38534,  6152, 40075, -2033, -2033,  1168,  1281,  1281,
2132      650, -2033,  1327, -2033, -2033, -2033,   136,   839,   149, -2033,
2133    -2033, 29817,  1330, -2033,  1234, -2033, -2033,   616, -2033, -2033,
2134    -2033,  1359, 29949, 30073,   580,   683,   607, 35918, 37972, -2033,
2135      485,  1662, -2033, -2033, 35816, -2033, -2033,  1354, -2033,    95,
2136    -2033, -2033, -2033,  1482, 40164, -2033,   774, -2033, 30197, 30321,
2137     1369,  1372, -2033,  1371, -2033,  1391, -2033, -2033,  2979,  1411,
2138      141, -2033, -2033, -2033, -2033,  1005,   668, 34985,   810, -2033,
2139    31065, 31189, -2033,   810, -2033, 31313, 31437,   810, -2033, 31561,
2140    31685, -2033, -2033,  3145,  3145,  3145, 22560,  1070,  1244,  1854,
2141     1070, -2033, 28188, 12991, -2033,   912, 12991, -2033,   912, -2033,
2142    -2033,  3145,  3145,  1070, -2033, -2033,  1396,   192, -2033, -2033,
2143     1420,  1442, 39541,  1395,  1453,  1463, -2033, 31809, -2033, 31933,
2144      474, -2033, 34777, 28261,  3145, -2033,  1240,  1042, -2033, -2033,
2145    -2033, -2033, -2033,   673,  1472,   485,   754,   183,   592,   655,
2146     1521, -2033, 39185,  1538, -2033, 39274,  1546, 39363,  1548, 39630,
2147    -2033, -2033, -2033,  1184, -2033, 29356,    95, -2033, -2033,  1560,
2148    -2033, -2033,   972,   603, -2033,  1483, -2033, -2033, -2033, -2033,
2149    -2033,   485,  1430,   611, -2033, -2033,  1566, -2033, 18453, -2033,
2150      912, -2033,   174, 28334,  1564,  1582,  1584,   333, 18590,  1588,
2151      107,  1575,  1589, 18727,   975,  1382,  1594,  1602,   107, -2033,
2152    -2033,  1078,  1595,  1603,  1609,  1436, 16522,  2825, 16946, 12826,
2153     2825,  2825, -2033, 17083, 37405, -2033, -2033, -2033, -2033, -2033,
2154    18864, 19001, 19138, 19275, -2033, -2033, -2033,   912, 19412, -2033,
2155    -2033, -2033, 19549, -2033, -2033,   198,   198,   627,   809,    95,
2156     1443,  1606, -2033,   673,   589, -2033,   485,  2134, 40445, 40445,
2157    12991, -2033, -2033, 38441, 29356,   337,  1615,   373, -2033, -2033,
2158    24584,   169, -2033, 13364, -2033, -2033,   848, -2033, -2033, 28407,
2159    -2033, -2033, -2033, -2033, 40164,  1607, -2033, -2033, -2033, -2033,
2160    -2033, 35297, 40164, 24720,   107, 35401, 40164, 29356,   198,   198,
2161      198, 29356, 24840, -2033, -2033, -2033, 13540, 13682, 13824, -2033,
2162    -2033, -2033, -2033, 11970,  1622,    97, 22696, -2033, -2033,   176,
2163    -2033,   424, -2033, 22832,  1621, -2033, 22968, -2033, -2033,  1572,
2164    -2033, -2033, 25519,  1578, 29356, -2033, -2033, -2033, -2033, -2033,
2165    -2033, -2033, -2033, -2033, -2033, -2033, 27969,   225, -2033, -2033,
2166    -2033, -2033, 29356, 29356, 29356, 29356, 29356, 29356, 29356,  1203,
2167     1291, 29356, 29356, -2033, 29356, 27969, 27969, 27969, 27969, 27969,
2168    29356, 29356, 13966, 27969, -2033,  1597, -2033, -2033, 25572,  1598,
2169    29356, 27969, 29356, 29356, 29356, 29356, 29356, 29356, 29356, 29356,
2170    29356, 29356, 29356, 27969, 27969, 27969, 27969, 27969, 29356, 29356,
2171    14108, 27969, -2033, -2033,   840,  1042, 40075, -2033, -2033, 36819,
2172    39808, 39808, -2033,  1617,  1618,  1630, -2033,  1632,  1634,  1635,
2173    -2033, -2033, -2033, -2033,   673, -2033, -2033, -2033, -2033,  1637,
2174    -2033, -2033, 10286, 10286, 34881,   485,   951, -2033,   383,  1104,
2175      893, 34985,  1117,  1625,  1647, -2033, -2033, -2033,  1482, 35089,
2176    38813, -2033, -2033,   107, -2033, -2033, -2033, 36020,  1626,   107,
2177    35193,  2915, 24976,  1485, 38999, -2033,  1646, -2033,   912, -2033,
2178      912, -2033, -2033, -2033,   912, -2033,  1648, -2033,  1007, -2033,
2179    -2033,  4048,  4048,  1281,  1281, -2033,  1281,   200, -2033,  1281,
2180     1281, -2033, -2033,   991, -2033,  1359,   991, -2033,  1359,  1028,
2181    28480,  2638, 29356,   829, -2033,  1650,   673, 38066, -2033,   485,
2182     2134, -2033, -2033,  1171,   635,  9630, 29685,   761,   372, -2033,
2183      372,  3145, -2033, -2033, -2033, -2033,   229, -2033,   239, -2033,
2184      580, 35918, 10286, -2033, -2033,  1658, -2033, -2033, -2033, 39719,
2185    39719, 29356,   107, -2033, 34413,   164, -2033,   696,   764, -2033,
2186    39719,   107,   962,   107,  1851, -2033, -2033, -2033, -2033, -2033,
2187    -2033,  1281, -2033, -2033, -2033, -2033, -2033, 36122,  1481, -2033,
2188    23104, 40545, 23240, -2033, -2033, 12517, -2033, -2033, 39092, -2033,
2189    -2033,   673,  1244, -2033,  1854, -2033,   673, -2033, 28188, -2033,
2190    -2033, -2033, -2033, -2033,   912, -2033,   912, -2033, -2033, -2033,
2191    -2033, -2033, -2033, -2033, -2033, -2033, -2033, -2033,  1391,   220,
2192      247,  1651, -2033, 32057, 32181,  1653, -2033, 32305, 32429, 32553,
2193    -2033,   639,   392,   440,  1342,  1620,  1665,  1666,  1667, -2033,
2194     1649,  1659,  1663,   485,  1070,  2195,   183, 38160, 28553,   754,
2195    -2033, -2033, 39897, -2033, -2033,  1042, -2033, -2033, 39897, -2033,
2196    -2033,  1042, -2033, -2033, 39897, -2033, -2033,  1042, -2033, -2033,
2197    39897, -2033,  1042, -2033, -2033, -2033, -2033, -2033, -2033, -2033,
2198     1669,  1672, -2033,  1030,  1676,  1677,   425, -2033, 23376, -2033,
2199    -2033, 19686,  1671,  1674, 19823, 29356, 29356, -2033, 28626, 28699,
2200     1675,  1685,  1686, 25246,  1687,   107, 25657,  2212,  1484, 25710,
2201    -2033,  1754, -2033, -2033, 25795,  1689, -2033, -2033, -2033,  1692,
2202     1693, 25848, 17220,   198,  1698, 29356, 29356,   107, -2033, -2033,
2203    -2033, -2033, 22288,   698, 27969, -2033,  1415, -2033, 29356, 14250,
2204    14392, 27969, -2033, 29356, 14534,  1566, 19960, 20097, 20234, 20371,
2205    -2033, -2033, -2033, 20508, -2033, -2033, -2033, 20645, -2033, -2033,
2206      627,   627,  1701,  1704, 34536, 34659,  1070, -2033,  1070, 12991,
2207    -2033, 12991, -2033, -2033,  1705, 27969, -2033, 27969,   385, -2033,
2208      580,  1703, -2033, -2033, -2033, -2033, -2033, 11970,  1708,  1621,
2209    -2033,  1616, -2033, -2033, 25933,  1624, 29356,  1628, -2033, -2033,
2210    25986,  1633, 29356,  1709, 40341, 10286, 37690, 29356,  1713, -2033,
2211    -2033, -2033, -2033, -2033,   485,  1712,  1716,  1706,  1720, -2033,
2212    -2033, -2033, -2033, -2033, 35505, 26071,  1718,  1721,  1723, 29356,
2213     1714, 35609,  1726,   387,   186,   366,  1728,  1725, -2033,  1735,
2214    -2033,   107, -2033, -2033, -2033, -2033, -2033, 29356,   198,   253,
2215    36222, 23512,  1732, -2033, 27969, -2033,   255, 36322, 23648, -2033,
2216      256, 36422, 23784, -2033, -2033, -2033, -2033,   925,  1740, -2033,
2217    -2033, -2033, 26144,  5144, -2033, -2033,  1732, -2033, -2033, -2033,
2218    -2033, -2033, -2033,   614,   847,   614,   847,   197,  1450,   197,
2219     1450,  1203,  1291,  1203,  1291,  1203,  1291, -2033, -2033,   942,
2220      982, -2033, -2033,   942,   982, -2033, -2033,  1349,  1638, -2033,
2221    -2033,  1119,  1181, -2033, -2033,  1125,  1178,  1132,  1187,  1267,
2222     1323, -2033,    83, -2033, 26217,  1733,  7504,  1734, -2033, -2033,
2223    -2033, -2033, -2033,  1029, -2033, -2033, -2033, 26290,  5288, -2033,
2224    -2033, -2033, -2033, -2033, -2033, -2033, -2033,   614,   847,   614,
2225      847,   197,  1450,   197,  1450,  1203,  1291,  1203,  1291,  1203,
2226     1291,  1203,  1291, -2033, -2033,   942,   982, -2033, -2033,   942,
2227      982, -2033, -2033,  1349,  1638, -2033, -2033,  1119,  1181, -2033,
2228    -2033,  1125,  1178,  1132,  1187,  1267,  1323, -2033, 26363,  1736,
2229     8392,  1737, -2033, -2033,   107,   107, -2033, -2033,   233,  1215,
2230    -2033, -2033, -2033, 36918, 37017, -2033, -2033, -2033, -2033, -2033,
2231    -2033, -2033, -2033, -2033, -2033,  1167,  1273,   951, -2033, 10286,
2232      107, -2033, -2033, 10286, -2033,   296, -2033, -2033, -2033,   439,
2233      485,  2134, -2033, -2033,   433,  1650,  1637,   485,  2134, -2033,
2234     1746, -2033,   785,   467,  1857,  3145,  1747, -2033, -2033, -2033,
2235    -2033, -2033, -2033, -2033, -2033, -2033, -2033, -2033, -2033,  4355,
2236    -2033, -2033, -2033, -2033, -2033, 23920,  2148,   635,  9630, 22152,
2237      876,  1070,   673, -2033,  1070, 29356, -2033,  1019, -2033, -2033,
2238    -2033,  1749,  1648,  1621,  1650,  1137, 10286,  1148,  1191, -2033,
2239    -2033, -2033, 32677, 32801,  1753, -2033,  3569, 40075, 40075, 40075,
2240    40075, -2033, -2033, -2033, 29356,  1755, 28772, -2033,   912, -2033,
2241    -2033, 28845, -2033, 28918, -2033, -2033, -2033,  1517,  1481, -2033,
2242    -2033,  1281, -2033, -2033, -2033, -2033, -2033,  1517,  1481, -2033,
2243    28991,  8710, -2033, -2033, -2033, -2033, -2033, 20782, -2033, -2033,
2244      236, -2033, -2033,   244,  1751, -2033, 32925, 33049,   485,  1620,
2245     1759, -2033, -2033, -2033, -2033, -2033, -2033,  1070,   754, -2033,
2246     1765,  1770, -2033,  1764,  1766,  1768, -2033, -2033,  9630, -2033,
2247    -2033, -2033, -2033, -2033, 29356,  1776,   825, -2033, -2033, -2033,
2248    -2033,   276, 36522, 24056, -2033, -2033, -2033, 20919, 22288, 22288,
2249    -2033, -2033, -2033, 21056, 26436, 17357, 26509, 26582, 25337, 26655,
2250    17494, 22424,  1774,  1775, 22424, 29356, 29064,  1853, 26728,  1693,
2251     8249,   198, 22424,  1792, 16663, 25246, -2033,  1514, 26801,  9308,
2252    26874, -2033, -2033, -2033, -2033, -2033,    75,   198,  1798,  1266,
2253    -2033, -2033, -2033, -2033, 21193, -2033, -2033, -2033,  1800,  1804,
2254      107, -2033, -2033, -2033, -2033, -2033, -2033, 39719, -2033, -2033,
2255    -2033, -2033, 26947,  1815,  8986,  1818, 27020,  1820,  9777,  1822,
2256     1806,  1827, -2033, -2033, -2033, -2033, -2033, -2033, -2033, 14676,
2257    -2033, -2033, -2033,  1288,  1832, -2033, -2033, 27093,  9975, -2033,
2258    -2033, -2033,  1346, -2033, -2033, -2033, 27166, 10531, -2033, -2033,
2259     1833,  1218, -2033,  1983,  1835,  1836,  1838,  1837,  1842, 10286,
2260     1716, 38254,  1712, 29356, 10286, 29356,  1845, -2033, -2033, -2033,
2261    -2033, -2033,  1847, -2033, 29137, -2033, -2033,  1850,  1855, 29356,
2262    29356,  1852, 40253, -2033,   107,   107, 29356, -2033, 14818, -2033,
2263    -2033,   627, -2033, -2033, -2033, -2033, -2033, -2033, -2033, 14960,
2264    -2033, -2033, -2033, -2033, 27969, 15102, 15244, 27969, 15386, 15528,
2265    -2033, -2033, -2033, 15670, 15812, 15954, 16096, -2033, -2033, -2033,
2266      840,  1862,   529, -2033, -2033,   485,   951,  1979,  1219, 10286,
2267    -2033, -2033,  1865,  1070,  1070,  1281,  1070,  1637,  1869, -2033,
2268    -2033,  1867, -2033,   278, 36622, 24192, -2033,   485,  1115, -2033,
2269      673, -2033, -2033,  1866,  1868, -2033, -2033, -2033,  1269, -2033,
2270    -2033, 34413,  1875, 34413, -2033,  1876, 34985, -2033,  1877, -2033,
2271    29356, 28188,  2632, -2033, -2033,  2632, -2033, -2033, -2033,  2632,
2272    -2033, -2033, 21330, 21467, -2033, -2033, -2033, 34413, -2033, 34413,
2273      183,   754, -2033, -2033, -2033, -2033, -2033, -2033, -2033,  2195,
2274    27239, -2033, -2033, -2033, -2033, -2033, -2033, 21604, -2033, -2033,
2275    -2033, 21741, 25246, 25064, 25246, 25064, 16804, -2033, 25428, 17631,
2276    -2033, -2033, 22424, 22424, 27312, 25246, 27385, 25155,  1882, 10870,
2277    27458,   106, 21878, -2033, 29356, -2033, 16804, -2033, 16663, 25246,
2278    11267, 29210,    30,  1883,    30,   178,  1878, -2033,   107, 29356,
2279    29356,   107, 27969, 27969, 27969, 27969, 27969, 27969, 27969, 27969,
2280    16238, 16380, -2033, -2033, -2033, -2033, -2033, -2033, -2033, -2033,
2281    -2033, -2033,   485,  1716,  1886, -2033, -2033, -2033, -2033, -2033,
2282     1287,  1712, -2033,  1887,  1888,  1880,  1881,  1341,  1884,  1885,
2283    10286, 29356, 24448, -2033, -2033, -2033,  1893,  1896,  1900,  1907,
2284    29356,  1894,  1897,  1919,  1920, -2033, -2033, -2033, -2033, -2033,
2285    -2033, -2033, -2033,   373, -2033, -2033, -2033,   373, -2033, -2033,
2286    -2033, -2033, -2033,   373, -2033, -2033, -2033,   373, -2033, -2033,
2287    -2033,   373, -2033, -2033, -2033,   373, -2033, -2033, -2033,   373,
2288    -2033, -2033, -2033,   373, -2033, -2033, -2033, -2033,  1355, -2033,
2289    -2033,  1637, 27969, -2033, -2033, -2033, 29356, 29356, -2033, 33173,
2290    33297, 34413, 33421, 33545, 40075, -2033, 40075, -2033,  6457, 22015,
2291    -2033, -2033, -2033, 33669, 33793, 33917, 34041, -2033,  1950,  1984,
2292    -2033, -2033, -2033, -2033, 25246, 29356, 29283,  1883, 17768, 17905,
2293    11681, -2033, 16804, 25428, 27531, 18042,   107, -2033,   629,   454,
2294    -2033,   184,    30,  1924,    30,   116,   555,  1922,  1390, -2033,
2295    -2033,  1712, -2033, -2033, -2033, -2033, -2033, -2033, -2033, -2033,
2296    -2033,  1364,  1918,  1931,  1930, -2033, -2033, -2033, -2033,  1935,
2297     1940, -2033, -2033, -2033, -2033, -2033,  1929, -2033, -2033, -2033,
2298    -2033, 34165, 34289, -2033, -2033, 27604, -2033, -2033, 25246, 25246,
2299    27677, 12676, 25246, 27750, 25155,  1937, -2033, 25246, 29356, -2033,
2300    -2033, 25428, -2033, -2033,  1944,  1954,    30,    30, 29356,    30,
2301     1955,    30,  1257, -2033,   204,  1281,   473, -2033,   293, -2033,
2302     1952, -2033,   107, -2033, -2033, -2033, 28772, -2033, -2033, -2033,
2303    -2033, -2033, -2033,  1937, 25246, -2033, -2033, 27823, -2033, -2033,
2304      198, -2033, -2033,  1401,  1959,  1402, -2033,  1312,  1964,    30,
2305       30,  1966,    30, -2033, -2033, -2033, -2033,   116,   585, -2033,
2306    -2033, -2033, 25246,   460,  1968, -2033,  1969,  1973,    30, -2033,
2307     1408,  1424, -2033,  1422,   396, -2033, -2033, 29356, -2033, -2033,
2308    -2033,  1429,  1974,  1975,  1976,    30, -2033,  1985,  1982, -2033,
2309    -2033, -2033,  1437, -2033, -2033,  1987, -2033
2310 };
2311
2312 /* YYPGOTO[NTERM-NUM].  */
2313 static const yytype_int16 yypgoto[] =
2314 {
2315    -2033,  1109,   148, 10648, -2033,  2075, -2033, -2033, -2033, -2033,
2316    -2033, -2033,  1639,  1641,  -953, -2033,  -914,  -955,   114,   131,
2317     -884,  -692,  -659, -2033,  -724,  -679, -2033, -2033,  1644,  1645,
2318    -2033,  5657,   846, -2033,  -158,   747,   757, -2033, -2033, -2033,
2319    -2033,  1652, -2033, -2033, -2033,  -628, -2032,   -70, -2033, -2033,
2320    -2033, -2033,  2163,  3770,  -120,   -22,   591,  -847, -2033,  -836,
2321    -2033,  -842, -2033,  1140,  -148,  1260,  -945,    12,  1843,    72,
2322     1844,    50,     0, -2033,  1206, -2033,  -118,  5519,  3916, -2033,
2323     5850, -2033,  -748,  -765,    61,  3824,  1805, -2033,  -332,   565,
2324      658,  -117, -2033,   606,  -623,  -169,  -111,    31,   -62,  -234,
2325     8946,  4811,  -160,  9404,  -771,  1928, -2033,    70,  4162,  1809,
2326     -244,   662,   682,   449,   713,    40,   230,   235,   242,   262,
2327      560,  4921,    76,  7576,  -739,  2047,  1965, 11238,   -54,  1162,
2328     -133,  3095, 11168,  8645, -2033, -2033, -2033,   -73,   -43,   -10,
2329    -2033,  7054, -2033,   977,  1819,   649,  -783,  3384,  9299, -2033,
2330    11734, -2033, -2033, -2033,   -42,  3509, -2033, -2033,  2556,  6683,
2331      -23, -2033, -2033,  1183,  1707,  1417,  1829,   -65,   -61,  4950,
2332    10673,  2468,  3194,  -377,  -127,  -362,  1124,  -896,   138,  3347,
2333    -2033, -2033, -1095, -2033,  1253,  -562, -1223,  8013,   -63,  -700,
2334      -29,    42,   159,  1722,  -253,  -791,  -433,  -839,  -527,  -919,
2335     -924,   316,  1114,  1134,   -71,  1889,  -721,  1421,  -300,  -465,
2336     -416, -2033,  -124,   -77,  6988,  1348,    23,  -583, -2033, -2033,
2337    -2033,  2056, -2033,  2801,  2064,   -50,  2890,   -78,  1890,  1027,
2338     1031, -2033, -2033, -2033,   -90,   108, -1572,   -26, -2033, -2033,
2339    -2033,     6, -2033,  2067,   -21,    19,  2065,  1611, -2033, -2033,
2340    -2033,  2072,  -802,   389, -2033,  -769,   856, -2033, -2033, -2033,
2341    -2033
2342 };
2343
2344 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
2345    positive, shift that token.  If negative, reduce the rule which
2346    number is the opposite.  If zero, do what YYDEFACT says.
2347    If YYTABLE_NINF, syntax error.  */
2348 #define YYTABLE_NINF -1316
2349 static const yytype_int16 yytable[] =
2350 {
2351       63,   269,  1246,   389,   395,  1022,  1481,   505,  1597,   780,
2352     1147,  1480,   195,  1722,  1287,  1069,  1432,  1505,   412,   498,
2353      220,  1434,  1270,   488,   221,  1250,   284,  1433,   174,  1277,
2354      107,   109,  1281,   689,   943,   105,   510,  1421,   515,   175,
2355      519,   114,   278,  1354,  1493,  1536,  1542,  1546,  1541,   108,
2356      390,   122,   947,   183,   183,   395,  1890,   285,   139,  1409,
2357     1353,   115,   387,   148,   695,   151,   388,  1271,  1901,   276,
2358     1422,   280,   176,   695,  1278,   147,   286,  1282,  1902,   695,
2359      297,   162,   173,   122,  1763,   208,  1535,  1036,  1545,  1453,
2360      122,  1411,    63,   133,   949,   534,   537,   781,     1,    63,
2361       63,   392,   297,   294,  1455,   937,  2176,   533,   536,  1902,
2362        1,   297,   377,   110,   599,   380,  1537,  1077,  1547,     1,
2363     1083,   489,  1089,     2,  1094,   295,   296,   208,   754,   299,
2364      122,   122,   172,   297,   511,   410,   516,   906,   520,   148,
2365      464,   477,   275,   464,     1,  1522,   496,   491,     1,   493,
2366      908,   597,   493,   477,   171,   506,   464,   477,   464,    91,
2367      464,  2056,  2176,   522,   274,  1514,   749,     1,     1,   976,
2368     1209,   283,   393,   148,  1327,   614,   619,  1272,  1504,  1555,
2369      776,  2062,   122,   297,   702,   147,     1,  2129,   111,  2135,
2370      660,   297,   612,     2,   803,     1,  1903,   547,   811,   270,
2371      112,   702,  1393,   105,  1904,   105,   137,  2170,   148,   690,
2372      555,     2,  -474,   284,   941,   284,   801,  1553,   162,   567,
2373      120,  1558,   174,     1,     1,  1268,  1296,  2047,   122,   789,
2374     1502,   122,   174,   175,   183,  1904,     1,  1846,   278,   600,
2375     1503,   185,   668,   175,   285,  1848,   285,   183,  1561,   698,
2376        1,    91,  1035,   755,  -109,  1454,  -100,  -104,   287,    91,
2377      376,   579,   907,   605,   855,   693,   176,   280,   645,   396,
2378      872,   497,   676,   598,   672,   755,   678,   -82,     1,   -89,
2379     1711,   580,  1076,   136,   539,  1082,    63,  1088,    63,  1093,
2380     1515,   677,   149,   535,   538,   755,     1,   615,   679,  2063,
2381      412,   829,  1273,   562,  1069,  2130,   715,  2064,  1538,  2126,
2382     1548,  1744,   715,  2131,   563,  1542,  1546,  1541,  2046,   756,
2383      396,   547,  1542,  1546,  1541,  2171,  1542,  1546,  1541,  2126,
2384      323,   785,   786,  2172,  1117,   757,   682,   583,   275,   418,
2385      802,  1539,   745,  1549,   419,   546,  1559,   897,   899,   901,
2386      903,  1273,   867,   144,   801,   907,  1779,  1545,  1780,  1847,
2387      692,   972,  -650,   704,  1545,   755,  2135,  1849,  1545,   972,
2388     -645,   297,   707,  1562,   620,     1,   667,   148,   835,  -109,
2389      704,  -100,  -104,   547,  1602,   547,     1,  1547,     1,   707,
2390      829,   122,   297,   580,  1547,   691,   833,   122,  1547,     1,
2391     1013,   581,   -82,   946,   -89,   582, -1048,   221, -1048,   135,
2392      148,   976,   586,     2,  1789,   835,  1013,   870,   506,  2175,
2393     1038,   874,   567,  1790,  1673,   830,  1677,   885,     1,  1603,
2394      886,   835,   874,   893,   835,   185,     1,  1043,  1057,  1047,
2395      689,   583,     1,  1023,   983,   688,  1025,   287,     1,  1694,
2396     1297,  1299,  1301,  1118,   943,  1703,  1675,   584,  1679,   297,
2397      695,   585,   464,   464,   148,   297,  1693,   933,   208,  2135,
2398        1,   122,  1702,     2,   960,   133,     1,     1,  1195,   964,
2399     1361,  1363,  1365,   162,   965,  1058,   154,  1154,   464,   464,
2400     1161,  1745,    51,  1069,   984,   984,   984,  1941,  1788,  1056,
2401      978,  1862,     2,   714,  1578,   714,   148,   982,  1743,   158,
2402      464,   464,   183,   183,  1197,   464,   464,   582,   937,   464,
2403      464,  1490,  2206,   122,   122,   122,  1714,   122,   943,   856,
2404      122,   843, -1088,   847,   297,  1044,   587,  1048,  1298,  1300,
2405     1302,   122,   122,   122,  1732,   898,  1600,   148,   904,  1274,
2406      860,  1741,   835,   493,  1795,  1493,  1275,   464,     1,   464,
2407      522,  1818,  1051,   547,   122,   585,  1791,   148,  1362,  1364,
2408     1366,  1499,   553,  1500,  2128,  1554,   159,   122,   937,  1548,
2409     2197,   881,  1075,     1,   414,  1081,  1548,  1087,     1,  1092,
2410     1548,   103,  1432,  1070,  1800,  1811,  1106,  1434,  1812,   937,
2411      252,  1049,    50,  1787,   133,   142,  1065,  1587,  1020,   143,
2412     1189,  1191,  1549,   588,   805,   806,   807,   229,   749,  1549,
2413      284,  1421,  1421,  1549,   293,  1592,  1841,  1452,  1128,  1331,
2414     1135,  1840,   297,  1247,   668,   668,   668,   668,  1148,   174,
2415     -890,  1024,     1,   104,  1026,   749,   937,  1542,  1546,  1541,
2416      175,   285,  2006,   749,  1422,  1422,  1071,  1397,   861,   298,
2417      645,   645,   645,   645,   862,  1015,   672,   672,   672,   672,
2418     1824,     1,  1827,   749,  1311,  1313,  2139,  1315,   148,  1183,
2419     1266,  1015,  1829,   383,   929,   919,   920,   122,  1335,  1545,
2420      759,   760,   761,   567,  1180,  1181,   416,   145,   146,  1290,
2421     1200,     1,  1375,  1377,  1379,  1381,  2195,   756,   941,   196,
2422     2071,  1060, -1063, -1063,  1223,   396,  1401, -1063,  1844,  1547,
2423      197,  1228,  1238,   547,  1248,  1228,  1238,   808,   524,    28,
2424       29,   782,  1200, -1094,    32,   809,   542,   589,   810,  1339,
2425     1057,    38,   921,  1261,  1105,   412,   412,  1253,  1254,  1255,
2426     2125,   783,   784,   523,  2126,  1552,   145,   146,  2127,  1284,
2427      552,  1804,   586,  1291,  -890,    43,    44,  1405,   667,   667,
2428      667,   667,  1586,   902,  1940, -1062, -1062,   252,  1589,  1947,
2429    -1062,  -478,  -478,  -478,  1590,   145,   146,  1058,  1655,   492,
2430     1591,     1,   981,   384,     1,   790,  1190,  1192,  1193,     1,
2431      580,  1056,  -216,   762,   385,  1351,  1805,   930,  1440,  1356,
2432      417,   763,     1,   389,   764,    -8,  1449,  -478,  -478,  -478,
2433     1517,  1507,  1508,  1473,  1474,  1518,  1475,  1463,  1095,  1477,
2434     1478,  1337,     1,   583,  1416,   148,  1419,  1328,  1289,   835,
2435      835,   835,  1516,     1,  2008,   412,  -265,  -265,  -265,  1542,
2436     1546,  1541,   688,  1096,  1512,  1217,  1218,  1219,   697,  1403,
2437      390,    26,   410,  1435,   208,  1394,   414,   697,   978,  1097,
2438      148,   982,  1489,   697,  1067,  1578,   388,   586,   162,  1445,
2439      567,  1498, -1088,  1148,  1289,  1068,   587,   567,  1519,  1460,
2440     1462,  1545,  1464,  1520,   835,  1953,     1,  1811,  1812,  1098,
2441     1099,  1527,  -478,  1789,  -216,  -478,  1560,  1563,   145,   146,
2442     -216,  1548,  1799,   145,   146,   863,  -216,     1,   756,   297,
2443      850,  1547,   557,   526,   582,   590,   145,   146,   395,  1566,
2444     -478,   122,   556,   148,   133,  1749,   526,   208,  -478,   558,
2445      122,  -478,     2,  1580,  1549,  1497,   145,   146,   122,   591,
2446      122,  1501,  1513,   851,   791,   792,  1485,   585,  1414,  1415,
2447      148,   933,   410,  -265,   812,     1,   694,  -265,  1220,   506,
2448      506,   593,   493,   133,   464,   493,  1221,    74,   595,  1222,
2449      506,  1523,   148,  1525,   813,   814,   448,   579,  2027,   448,
2450     1581,  1570,  1555,   133,   819,   820,  1809, -1088,  -478,  -478,
2451     -478,   587,   448,  2030,   448,  2081,   448,  1851,   122,   596,
2452      145,   146,  -216,  1934,  -480,  -480,  -480,  1439,  -216,   714,
2453      756,  1961,     1,  1750,     1,   392,   105,  1567,  1332,     1,
2454     1845,   105,  1911,  1095,  1336,  -479,  -479,  -479,   674,   493,
2455      493,   378,  1338,   464,   464,     1,  1758,   464,   464,   464,
2456     1759,   148,   106,   943,   122,   122,  1398,   675,  1096,   178,
2457      793,   794,  1402,  1340,   122,   488,   122,   208,   547,    74,
2458     1404,   864,   835,     1,  1097,   148,    74,    74,   835,   145,
2459      146,   148,   563,   103,   835,   668,  1524,   148,   668,   937,
2460      835,  1406,   148,  2096,  1020,   723,   393,   523,     2,  1528,
2461      821,   822,  1715,  -897,  1098,  1099,   148,   120,   412,    53,
2462      140,   645,   141,  1548,   645,   135,   749,   672,     1,  -478,
2463      672,   525,   525,  1128,   979,  1135,   668,   383,   383,   937,
2464      980,   724,   937,  1279,  1637,  -480,   145,   146,   727,  1815,
2465      668,   668,   668,   668,  1688,   728,  1549,  1650,   701,  1716,
2466     1770,  1595,   645,  1291,  1759,  1596,  -479,   729,   672,   145,
2467      146,  1710,  1646,   489,   730,   701,   645,   645,   645,   645,
2468        1,   155,   672,   672,   672,   672,   731,  2103,  -216,  2104,
2469     -766,   152,  -766,   153,   464,   464,   122,  1095,   122,  1844,
2470       51,   169,   156,   396,   157,  -656,   571,  -656,   835,   196,
2471      148,    53,   396,  -926,  1015,   753,   180,   835,    53,    53,
2472      197,  1691,  1096,   787,   788,  1696,  1583,  1700,     1,   667,
2473      105,  1705,   667,  1438,  1851,   410,   208,     1,  1097,   980,
2474     1657,  2084,   145,   146,  1662,  2015,  1441,  1664,   756,  1666,
2475     1312,  1314,   980,  1316,  1726,  -925,  -896,    32,  -896,  -896,
2476       32,  1726,   797,   178,   697,  -655,  1817,  -655,  1098,  1099,
2477      667,   148,   862,   178,   798,    74,  2030,  1819,  1376,  1378,
2478     1380,  1382,   799,   980,   667,   667,   667,   667,    43,    44,
2479     2066,    43,    44,   800,   145,   146,  -216,  1751,  1578,    26,
2480     1289,   895,  -216,   804,   756,   252,  1289,  1669,   741,  1670,
2481     1495,   817,   818,   913,   914,  1100,   529,  2181,   448,   448,
2482     1820,   414,   414,  -896,   825,  2031,   980,   826,  -925,  -925,
2483      958,  2061,   412,  -925,  -896,   915,   412,   827,   565,   916,
2484     -925,   917,   145,   146,   448,   448,   499,  1931,  2007,   828,
2485      512,   145,   146,   862,   862,     1,  1681,    28,    29,  -896,
2486     1303,  1305,    32,   832,  -925,  -925,   448,   448,   135,    38,
2487      918,   448,   448,   795,   796,   448,   448,  -925,  -925,  -925,
2488        2,   383,   840,  1570,  -896,  -896,  -896,   841,  2168,   120,
2489     1367,  1369,  2126,    43,    44,   169,  2169,  1907,  2018,   412,
2490       50,  1908,   571,   864,   862,   169,  1037,    53,     1,   852,
2491      180,  1319,  1323,   448,   563,   448,  2073,   412,   252,  1923,
2492      685,   414,   862,  1759,  1777,  1778,    28,    29,  1781,   148,
2493      540,    32,   541,   835,   835,   853,    18,    19,    38,  1385,
2494     1389,   937,   937,  2187,   883,   148,   392,  2126,  1782,  1435,
2495     1525,  2188,   855,   410,   571,  1307,  1309,  1304,  1306,  1792,
2496      905,   122,    43,    44,  1650,   912,    28,    29,   122,    50,
2497     2078,    32,   562,  1801,   148,   122,   862,  1927,    38,  1308,
2498     1310,  1759,   962,   563,  2095,  1371,  1373,  1368,  1370,  2132,
2499      862,  2134,   922,  2143,   571,     1,   122,   969,  1808,   862,
2500      970,   122,    43,    44,   122,   971,   544,   148,   541,  1372,
2501     1374,  1845,  1143,  1658,  1659,  1660,   410,   393,  1320,  1324,
2502        2,  2141,   464,   464,  2178,  2142,   972,   835,   835,   835,
2503      835,   654,  2184,  2186,   565,  1858,  2126,  2126,  1031,  2202,
2504      579,   695,   695,  2126,   695,   695,  1386,  1390,   975,   695,
2505      695,   695,   695,  2204,  2163,  2203,  2165,  2126,  2167,  2126,
2506     2208,  2205,  1032,  1109,  2126,   541,    28,    29,  2215,  -906,
2507     -906,    32,  2126,   756,  -906,  1152,   464,   464,    38,   122,
2508     1184,  -906,   141,  1283,  1033,     1,   565,   122,  2031,  1290,
2509     1039,     1,   668,   668,   815,   816,  2190,  2191,   567,  2193,
2510     1040,   685,    43,    44,   668,  -906,  -906,  1943,  1350,  1355,
2511        1,     1,   412,   197,  1532,  2201,  1533,   412,   645,   645,
2512     1108,   756,   756,  1632,   672,   672,   565,  1690,  1128,     1,
2513      645,  1128,  2212,     1,  1128,  1695,   672,     1,  1637,  1699,
2514     1859,     1,  1128,  1020,  1704,  1128,     1,   985,   986,   987,
2515     1530,   756,  1531,  1894,  1944,  1833,  1072,  1836,     2,  1838,
2516     1891,  1014,   823,   824,  1017,  1027,  1029,   120,  1469,  1471,
2517     1148,   531,  1834,  1078,  1837,     1,  1905,   506,  1470,  1472,
2518      178,  1084,   412,  1090,   414,  1028,  1030,  1205,   695,   695,
2519      695,   695,   695,   695,   695,   695,  1107,  1166,  1168,  1110,
2520      896,  1167,  1169,  1114,    28,    29,  1423,  1424,  1136,    32,
2521      741,  2019,  1115,  2022,  1116,  2010,    38,   856,  1134,  1205,
2522      289,   292,  1137,   412,  1145,  1015,   667,   667,  1149,   410,
2523     1264,   208,  1146,  1013,   410,  1225,  1150,  2033,   667,  2035,
2524       43,    44,  1151,  1185,    28,    29,    28,    29,  1196,    32,
2525      562,    32,  1261,  1267,  1962,  1963,    38,  1279,    38,  1425,
2526     1426,   563,  1442,  1459,   749,   749,   749,   749,   749,   749,
2527      749,   749,  1427,  2025,  1428,  1443,  1429,  1430,   385,  1467,
2528       43,    44,    43,    44,  1468,  1486,  1506,  -758,   695,  -761,
2529     1416,  1574,    51, -1043,   532, -1043,  1571,  1572,  1573,   410,
2530     1593,  1575,  1594,   122,   122,  1576,   122,  1598,  1599,  2020,
2531     1608,  2023,   169,  1609,  1624,  1625,  1626,  1628,   148,  1199,
2532     1633,  1187,  1641,   571,  2179,  1642,  1643,   685,  1647,  1667,
2533      448,   464,   418,   464,  1682,  2034,   835,  2036,  1671,  1689,
2534     1708,  1719,  1721,   412,     1,  1967,  1226,  1723,  1724,  1734,
2535     1662,  1199,  1735,  1666,  1736,  1739,  1747,   464,   571,   464,
2536      122,  1742,   668,  1746,   749,  -937,  1748,   571,  1753,     2,
2537        1,  1760,  1766,  1769,   571,  1774,  1776,  1798,  1802,   741,
2538     1816,   571,  1128,  1128,  1128,  1128,  1821,  -764,   645,  1830,
2539     1852,  1130,  1128,  1128,   672,  1128,  1853,  1128,   414,   448,
2540      448,  1854,   414,   448,   448,   448,  1855,  1861,  1856,  1128,
2541     1857,  2101,  2180,  1882,  1883,    28,    29,  1020,  1148,  1888,
2542       32,  1650,  1892,   654,   654,   654,   654,    38,  1020,  1906,
2543     1909,  2059,   571,  2059,  1910,    28,    29,  1920,  -937,  -937,
2544       32,  -906,  -906,  -937,    28,    29,  -906,    38,   571,    32,
2545     -937,    43,    44,  -906,  1913,   565,    38,  1915,  1921,  1917,
2546      410,  1919,   547,  1924,  1930,   414,  1935,  1936,   160,  1937,
2547      481,    43,    44,  1950,  -937,  -937,     1,  -906,  -906,  1938,
2548       43,    44,   481,   414,  1939,  1526,   481,  -937,  1951,  -937,
2549      565,   398,  1954,  1960,   756,  2005,   667,  1955,  1015,   565,
2550     -231,     2,  2009,  2012,  2013,  2016,   565,  2017,  2021,  2102,
2551     2024,  2026,  2045,   565,   685,  2065,  2060,  2072,  2074,  2075,
2552     1171,  1175,  2076,  2077,  2108,  2091,  2079,  2080,  2092,   464,
2553      464,   464,   464,   464,   835,  2085,   835,   668,  2086,   668,
2554      448,   448,  2087,   464,   464,   464,   464,    28,    29,  2088,
2555     2093,  2094,    32,  2140,  1128,  2173,  2174,  2133,  2109,    38,
2556     2144,  2146,  2149,   645,   565,   645,  2124,    28,    29,   672,
2557     2155,   672,    32,  2145,  1187,  1148,  1650,  2147,   466,    38,
2558      565,   466,  2148,    43,    44,    56,  2160,  2161,  2166,  2177,
2559     2185,  2059,   609,  2059,   466,   685,   466,  2189,   466,  2192,
2560      559,  2198,  2199,    43,    44,   668,  2200,  2209,  2210,  2211,
2561       50,   464,   464,  1226,  1020,  2214,  2213,  2194,  1128,  1128,
2562     2216,  1828,  1128,   953,  1128,   954,   113,  1128,   955,   956,
2563     1521,   645,  1431,  1476,   733,   719,   959,   672,   734,   680,
2564      681,   719,   685,    56,  1511,  1806,  1650,     1,  1148,   890,
2565      150,   725,  1148,  1251,   882,  2059,  2059,  2028,  2059,  2162,
2566     2059,     1,   613,  1259,  1128,   288,   277,    56,   661,   279,
2567       56,   667,     2,   667,   281,   291,   253,    56,   414,  2004,
2568        0,   120,     0,   414,    56,    56,     2,  1148,  1650,  2183,
2569        0,  1020,  1128,     0,  1686,   120,     0,    56,  2059,  2059,
2570      379,  2059,     0,     0,  1148,     0,  1496,     0,     0,     0,
2571       28,    29,    56,     0,     0,    32,     0,  2059,    28,    29,
2572      404,     0,    38,    32,     0,   404,   253,     0,   404,     0,
2573       38,     0,    28,    29,  2059,     0,     0,    32,   253,   667,
2574       56,   404,   253,   404,    38,   404,    43,    44,   414,     0,
2575      877,     0,     0,     0,    43,    44,     0,   400,     0,     0,
2576        0,   877,     0,     0,    51,     0,    18,    19,    43,    44,
2577      253,   253,     0,     0,     0,    50,     0,     0,    51,    28,
2578       29,     0,   404,     0,    32,     0,     0,   932,     0,   414,
2579        0,    38,     0,    28,    29,   554,    28,    29,    32,     0,
2580        0,    32,     0,     0,    56,    38,     0,     0,    38,     0,
2581        0,     0,     0,   968,     0,    43,    44,  1680,     0,     0,
2582     1668,     0,  1017,     0,     0,     0,  1683,     0,     0,    43,
2583       44,     0,    43,    44,     0,  1973,  1977,     0,  1983,  1987,
2584      857,     0,  1631,  1991,  1995,  1999,  2003,     0,   253,     0,
2585        0,   253,   253,   641,     0,     0,     0,     0,   845,     0,
2586      849,    56,     0,     0,   722,     0,     0,     0,   448,   448,
2587      726,    56,   253,    56,   654,     0,     0,   654,     0,     0,
2588        0,     0,     0,     0,     0,     0,  1130,     0,     0,     0,
2589        0,   253,     0,     0,     0,     0,     0,   253,    28,    29,
2590      466,   466,     0,    32,     0,     0,   404,     0,     0,   414,
2591       38,     0,     0,     0,     0,   654,     0,     0,     0,     0,
2592        0,     0,   448,   448,     0,     0,   466,   466,     0,   654,
2593      654,   654,   654,     0,    43,    44,     0,     0,     0,     0,
2594      844,     0,   848,     0,     0,   858,     0,     0,   466,   466,
2595        0,     0,     0,   466,   466,     0,     0,   466,   466,     0,
2596        0,     0,     0,    56,     0,     0,     0,     0,   404,  1605,
2597      404,     0,  1611,     0,     0,   571,     0,     0,    85,     0,
2598        0,     0,   697,   697,   697,   697,   697,   697,   697,   697,
2599        0,     0,     0,     0,     0,   466,     0,   466,     0,     0,
2600       56,     0,   404,    56,     0,     0,   253,    56,     0,     0,
2601     1652,     0,   884,     0,    18,    19,    56,   253,     0,    56,
2602        0,     0,     0,     0,  1171,  1175,  1171,  1175,     0,    85,
2603        0,     0,     0,     0,     0,     0,     0,     0,  1062,     0,
2604        0,     0,     0,     0,    28,    29,     0,   404,   404,    32,
2605     1232,  1242,    56,    56,  1232,  1242,    38,     0,     0,   404,
2606       85,    85,     0,     0,   963,     0,     0,     0,    85,   253,
2607       85,     0,     0,   404,   404,   571,     0,    85,    85,     0,
2608       43,    44,   697,     0,     0,  1187,     0,    50,     0,     0,
2609        0,     0,    56,     0,     0,   404,   404,     0,  1113,     0,
2610      404,   404,     0,     0,   404,   404,     0,   565,    85,    85,
2611        0,   641,     0,     0,     0,     0,     0,     0,   253,     0,
2612     1061,   253,     0,     0,     0,  1668,     0,     0,  1017,     0,
2613        0,     0,     0,     0,     0,   924,   927,    56,     0,     0,
2614        0,     0,   404,     0,   404,     0,     0,    56,   404,  -478,
2615        0,     1,  -478,  -478,  -478,  -478,  -478,  -478,  -478,  -478,
2616       85,   924,   927,     0,     0,     0,     0,    56,     0,     0,
2617       56,     0,    56,     0,    56,     0,     2,   448,     0,   448,
2618     1112,    56,     0,   924,   927,   120,     0,     0,   924,   927,
2619        0,     0,   924,   927,     0,     0,     0,     0,     0,     0,
2620        0,     0,     0,   448,     0,   448,    85,   565,  1448,    85,
2621        0,     0,     0,     0,     0,     1,     0,     0,     0,  1448,
2622        0,     0,    28,    29,     0,     0,     0,    32,     0,   741,
2623        0,     0,     0,     0,    38,     0,     0,     0,     0,     0,
2624        2,    85,     0,     0,     0,   641,   641,   641,   641,   191,
2625      192,     0,     0,     0,    85,     0,     0,     0,    43,    44,
2626     -478,  -478,     0,     0,    85,    50,    85,     0,    51,  1482,
2627     -478,     0,     0,   253,   253,   253,     0,     0,    56,  -478,
2628     -478,  -478,  -478,  -478,     0,   404,    28,    29,     0,     0,
2629        0,    32,     0,     0,     0,     0,     0,     0,    38,   253,
2630        0,     0,     0,     0,     0,     0,   253,   253,   404,     0,
2631      253,   253,     0,   571,     0,     0,     0,   404,     0,     0,
2632        0,     0,    43,    44,     0,     0,     0,     0,    56,    50,
2633        0,   641,    51,     0,     0,     0,     0,   609,   641,     0,
2634        0,   641,     0,     0,     0,     0,     0,     0,     0,   466,
2635      466,     0,     0,   765,   766,   767,   768,   769,   770,   771,
2636      772,   773,   774,     0,     0,     0,     0,     0,     0,    85,
2637        0,   654,   654,     0,     0,   448,   448,   448,   448,   448,
2638        0,  1130,     0,  1130,   654,     0,     0,   654,     0,   448,
2639      448,   448,   448,     0,     0,   654,     0,     0,  1130,     0,
2640        0,     0,     0,     0,     0,     0,     0,  1484,     0,     0,
2641        0,    85,   466,     0,     0,     0,     0,     0,     0,     0,
2642        0,    56,     0,     0,    56,    56,    56,  1668,  1017,     0,
2643        0,     0,     0,     0,     0,     0,     0,     0,     0,   741,
2644        0,     0,     0,     0,     0,   565,  1510,   404,   404,    56,
2645        0,     0,     0,     0,     0,     0,    56,   448,   448,   775,
2646        0,     0,  -982,     0,   253,    56,  1865,  1869,     0,    18,
2647       19,     0,    56,     0,     0,   253,     0,   404,  1881,    56,
2648        0,   466,   466,     0,     0,   466,   466,   466,     0,  1483,
2649      973,     0,  -671,     0,     0,     0,     0,     0,     0,    28,
2650       29,    85,    85,    85,    32,    85,     0,     0,    85,     0,
2651        0,    38,     0,     0,     0,     0,     0,  -671,     0,    85,
2652       85,    85,    56,     0,     0,     0,  -671,  -671,  1509,     0,
2653       56,     0,     0,     0,     0,    43,    44,     0,     0,     0,
2654       85,     0,    50,  1585,     0,     0,    56,   404,     0,     0,
2655        0,     0,     0,   609,    56,    56,     0,     0,     0,   404,
2656        0,     0,     0,  -671,  -671,    56,     0,     0,  -671,     0,
2657        0,     0,     0,  1730,     0,  -671,     0,   617,   621,     0,
2658     1730,     0,     0,     0,     0,   641,   253,   641,     0,     0,
2659        0,     0,  1008,   253,  1623,     0,     0,     0,     0,  -671,
2660     -671,     0,     0,     0,     0,    65,  -671,     0,     0,  -671,
2661        0,     0,   974,     0,   972,  -671,     0,     0,     0,     0,
2662        0,     0,   466,   466,     0,  1584,     0,     0,   404,   404,
2663        0,     0,   404,   404,   404,  1130,  1130,  1130,  1130,     0,
2664        0,  1130,     0,     0,     0,   654,   654,     0,  1130,     0,
2665     1130,     0,    56,   404,     0,     0,     0,    56,     1,     0,
2666        0,     0,  1130,    56,     0,    85,   618,   622,     0,    56,
2667        0,    85,     0,     0,     0,    56,  1622,     0,     0,     0,
2668        0,     0,     0,     2,     0,     0,     0,    65,     0,     0,
2669        0,     0,   120,   641,     0,     0,   641,    65,     0,   641,
2670        0,     0,  1718,     0,    65,    65,     0,     0,     0,     0,
2671        0,     0,     0,     0,     0,     0,   924,   927,     0,     0,
2672      924,   927,     0,     0,  1738,     0,     0,     0,     0,    28,
2673       29,     0,     0,     0,    32,     0,  2043,   641,     0,     0,
2674        0,    38,     0,     0,     0,     0,   479,     0,     0,     0,
2675        0,   641,   641,   641,   641,   125,     0,     0,   479,     0,
2676        0,     0,   479,     0,     0,    43,    44,     0,     0,   404,
2677      404,     0,    50,     0,   253,    51,   253,     0,     0,     0,
2678     1224,     0,     0,    56,  1717,     0,   179,   125,     0,     0,
2679        0,     0,    56,     0,   230,     0,     0,     0,     0,     0,
2680        0,     0,     0,     0,     0,     0,  1737,  1130,     0,   253,
2681      404,    56,  1008,     0,     0,     0,  1130,     0,  1130,  1008,
2682        0,     0,  1008,     0,     0,     0,     0,     0,     0,   253,
2683        0,     0,     0,     0,   125,   125,   253,     0,     0,     0,
2684        0,     0,     0,     0,   617,     0,     0,   617,     0,     0,
2685        0,     0,     0,     0,     0,   253,   641,    87,     0,     0,
2686        0,     0,   253,   641,     0,     0,   253,   641,     0,     0,
2687       85,  1130,  1130,     0,     0,  1130,     0,  1130,     0,     0,
2688     1130,    65,     0,     0,  1130,     0,   528,     0,     0,     0,
2689        0,    65,     0,    65,    75,     0,     0,     0,     0,     0,
2690        0,     0,     0,     0,     0,     0,     0,     0,   130,    85,
2691        0,  2120,     0,  2123,     0,     0,     0,  1130,     0,     0,
2692        0,     0,     0,     0,     0,     0,     0,     0,     0,    85,
2693        0,     0,   592,   618,     0,   594,   618,     0,   163,   181,
2694      194,     0,     0,     0,     0,  1130,     0,   231,     0,    87,
2695      466,   466,     0,     0,     0,     0,    87,    87,     0,     0,
2696        0,     0,     0,     0,     0,     0,     0,   125,     0,     0,
2697     1814,   617,   621,  1172,  1176,     0,    75,     0,     0,  2159,
2698      179,     0,     0,     0,     0,     0,    75,   194,   397,   399,
2699      401,   402,     0,    75,    75,     0,     0,   470,     0,     0,
2700      470,   617,     0,     0,   466,   466,     0,     0,    56,    56,
2701        0,     0,     0,   470,     0,   470,     0,   470,     0,    81,
2702        0,     0,     0,     0,   404,     0,   479,     0,   404,     0,
2703        0,     0,    85,    85,     0,   482,     0,   479,     0,   530,
2704      399,   401,     0,     0,     0,     0,     0,   482,     0,     0,
2705        0,   482,  1813,     0,     0,     0,     0,     0,     0,     0,
2706      618,   622,  1173,  1177,     0,     0,  1008,  1008,  1008,     0,
2707      641,     0,     0,    56,     0,   560,   575,     0,     0,     0,
2708     1822,     0,  -660,     0,     0,     0,     0,     0,     0,   479,
2709      618,   404,     0,     0,     0,   125,     0,   404,   404,     0,
2710        0,    81,    56,    56,    56,    56,     0,  -660,     0,     0,
2711        0,    81,     0,     0,     0,     0,  -660,  -660,    81,    81,
2712      611,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2713        0,     0,     0,   181,     0,     0,     0,   125,     0,     0,
2714        0,     0,     0,   686,     0,    87,     0,     0,     0,     0,
2715        0,   404,   404,  -660,  -660,     0,     0,     0,  -660,     0,
2716      483,     0,     0,     0,    85,  -660,    85,     0,     0,     0,
2717       75,     0,   483,    56,  1008,   230,   483,     0,     0,     0,
2718       75,     0,    75,     0,     0,   924,   927,   253,   641,  -660,
2719     -660,     0,     0,   641,   641,     0,  -660,     0,  1946,  -660,
2720     1949,     0,  1823,     0,   972,  -660,   641,     0,     0,   641,
2721        0,     0,     0,     0,  1957,  1959,     0,   641,     0,     0,
2722        0,     0,     0,     0,     0,     0,     0,   125,   125,   125,
2723        0,  1012,     0,     0,   594,     0,     0,     0,     0,   924,
2724      927,     0,     0,     0,     0,   125,   125,   125,   397,   399,
2725      401,     0,    56,     0,     0,     0,     0,     0,     0,   466,
2726        0,   466,     0,     0,     0,     0,   125,     0,     0,     0,
2727        0,     0,   865,     0,     0,     0,     0,     0,     0,   470,
2728     1945,     0,  1948,     0,     0,   466,     0,   466,     0,     0,
2729      130,     0,     0,     0,     0,    81,  1956,  1958,    65,     0,
2730        0,     0,     0,     0,   404,    81,    56,    81,     0,   404,
2731        0,     0,     0,     0,     0,   482,     0,     0,     0,   470,
2732      470,     0,     0,     0,   939,     0,   482,    56,   950,     0,
2733        0,   470,     0,     0,     0,     0,  1008,  1008,     0,     0,
2734      163,     0,     0,  1008,  1008,   470,   470,  1008,  1008,     0,
2735        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2736        0,     0,     0,     0,   865,     0,     0,   470,   470,     0,
2737        0,     0,   470,   470,   404,     0,   470,   470,   482,     0,
2738      194,   194,   194,     0,     0,     0,     0,     0,     0,   253,
2739      641,   230,     0,     0,     0,     0,     0,     0,   194,   194,
2740        0,     0,     0,     0,     0,     0,   404,     0,   404,     0,
2741        0,    56,     0,     0,   470,     0,   470,     0,     0,  1054,
2742        0,  1063,  1606,     0,     0,  1612,  2083,     0,     0,     0,
2743        0,     0,   404,     0,   404,  2090,   401,     0,     0,     0,
2744      878,     0,     0,    85,     0,   340,     0,     0,     0,     0,
2745        0,   878,     0,     0,     0,     0,     0,   466,   466,   466,
2746      466,   466,     0,  1653,     0,     0,     0,   641,   641,   411,
2747        0,   466,   466,   466,   466,     0,     0,  1172,  1176,  1172,
2748     1176,     0,     0,     0,   479,     0,     0,     0,     0,     0,
2749        0,  2098,  2100,     0,     0,   479,     0,     0,     0,     0,
2750      617,     0,   617,   878,     0,     0,     0,     0,  2082,     0,
2751        0,  1607,     0,     0,  1613,     0,     0,  2089,     0,     0,
2752        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2753        0,   411,     0,     0,     0,   404,     0,   404,     0,   466,
2754      466,     0,     0,     0,  1188,     0,     0,    85,     0,     0,
2755      686,  1008,  1654,     0,     0,     0,     0,     0,     0,   300,
2756        0,     1,   301,   105,     0,     0,  1173,  1177,  1173,  1177,
2757        0,     0,     0,  2097,  2099,     0,     0,     0,  1234,     0,
2758        0,     0,  1234,     0,     0,     0,     2,    75,     0,   618,
2759        0,   618,     0,     0,     0,     0,   125,     0,     0,     0,
2760      865,     0,     0,     0,   404,   404,   404,   404,   404,    56,
2761        0,    56,     0,     0,     0,     0,     0,     0,   404,   404,
2762      404,   404,     0,   305,     0,     0,     0,     0,     0,   306,
2763      307,     0,   411,     0,     0,   125,     0,   710,   712,     0,
2764        0,   411,     0,   310,     0,     0,     0,   411,     0,     0,
2765        0,     0,   592,     0,   594,   125,   311,     0,   340,     0,
2766      312,   313,   314,   315,   316,   317,   318,     0,  1008,  1008,
2767        0,     0,     0,     0,     0,   411,     0,     0,   709,     0,
2768      411,     0,     0,     0,     0,     0,   404,   404,   323,   324,
2769        0,     0,   924,   927,     0,   924,   927,     0,     0,     0,
2770        0,     0,     0,     0,     0,     0,   924,   927,   924,   927,
2771        0,     0,    81,     0,     0,     0,     0,   411,     0,   411,
2772        0,  1436,     0,     0,     0,     0,     0,     0,   865,     0,
2773        0,     0,     0,     0,     0,   163,   865,  1450,     0,     0,
2774        0,     0,   925,   928,  1457,     0,     0,   865,     0,  1465,
2775        0,   411,     0,     0,     0,     0,     0,     0,   125,   125,
2776        0,     0,     0,     0,     0,     0,     0,   779,   925,   928,
2777        0,     0,     0,   482,   924,   927,     0,     0,     0,     0,
2778        0,     0,     0,   358,   482,     0,     0,     0,   130,     0,
2779      925,   928,     0,     0,     0,   925,   928,  1494,     0,   925,
2780      928,     0,   575,     0,     0,     0,     0,   413,   130,     0,
2781        0,     0,     0,     0,     0,     0,     0,     0,   939,     0,
2782        0,     0,     0,     0,     0,     0,     0,     0,    85,     0,
2783        0,   470,     0,     0,     0,     0,     0,     0,     0,     0,
2784        0,   399,     0,     0,     0,     0,     0,     0,     0,     0,
2785        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2786      411,     0,     0,     0,     0,   939,     0,     0,     0,   413,
2787     1008,  1008,  -478,  -478,  -478,  -478,  -478,  -478,  -478,  -478,
2788     -478,  -478,  -478,     0,     0,     0,     0,     0,     0,     0,
2789      592,     0,   594,     0,     0,     0,     0,   411,   878,     0,
2790      470,   470,     0,     0,   470,   470,   470,     0,     0,   878,
2791        0,  1568,   397,     0,     0,     0,     0,     0,     0,  1866,
2792     1870,     0,   401,     0,     0,     0,     0,     0,     0,   340,
2793        0,     0,  1606,     0,     0,  1612,     0,     0,     0,     0,
2794        0,     0,     0,  1653,     0,     0,     0,     0,     0,     0,
2795        0,     0,     0,     0,     0,     0,     0,   411,     0,     0,
2796        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2797      413,     0,     0,     0,     0,   711,   713,     0,     0,   413,
2798        0,     0,     0,  -478,  -478,   413,     0,     0,     0,     0,
2799        0,     0,     0,  -478,     0,     0,   358,     0,  -478,  -478,
2800     -478,     0,  -478,  -478,  -478,  -478,  -478,     0,  1867,  1871,
2801        0,     0,     0,   413,     0,     0,     0,     0,   413,     0,
2802        0,   622,     0,     0,   622,     0,     0,     0,   411,     0,
2803        0,     0,   622,     0,  1201,     0,     0,     0,     0,     0,
2804        0,   470,   470,     0,     0,     0,     0,     0,     0,     0,
2805        0,     0,     0,     0,     0,   413,     0,   413,     0,  1140,
2806        0,   340,     0,     0,   865,   340,  1257,     0,     0,     0,
2807        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2808      411,   865,     0,  1713,     0,     0,     0,   411,     0,   413,
2809      411,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2810        0,  1234,     0,     0,     0,     0,     0,     0,  1234,     0,
2811      340,     0,     0,     0,     0,     0,   411,   411,   411,   411,
2812      411,   411,   411,     0,     0,   411,   411,     0,   411,   411,
2813      411,   411,   411,   411,   411,   411,     0,   340,     0,     0,
2814        0,     0,     0,     0,     0,   340,   411,   411,   411,   411,
2815      411,   411,   411,   411,   411,   411,   411,   411,   411,   411,
2816      411,   411,   411,   411,     0,   340,     0,     0,     0,   125,
2817        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2818        0,     0,     0,     0,     0,     0,     0,     0,  1286,     0,
2819        0,     0,     0,  1866,  1870,     0,   411,   411,   413,     0,
2820        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2821        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2822        0,  1318,  1322,  1326,  1330,  1334,     0,     0,  1343,     0,
2823        0,     0,     0,     0,  1286,   413,     0,     0,     0,     0,
2824        0,     0,     0,     0,     0,     0,     0,     0,     0,  1384,
2825     1388,  1392,  1396,  1400,     0,     0,  1343,     0,     0,     0,
2826        0,     0,     0,     0,   411,     0,   411,   358,     0,     0,
2827        0,     0,     0,   125,     0,     0,     0,     0,     0,     0,
2828        0,     0,   622,   622,     0,     0,     0,     0,     0,     0,
2829        0,     0,     0,  1785,     0,   413,   411,     0,     0,     0,
2830        0,     0,     0,     0,     0,   411,     0,     0,  1794,     0,
2831        0,     0,     0,     0,     0,   397,     0,     0,     0,     0,
2832        0,     0,   194,   925,   928,     0,     0,   925,   928,     0,
2833        0,     0,     0,     0,   411,     0,   411,     0,     0,     0,
2834        0,     0,     0,  1807,     0,   575,     0,     0,     0,     0,
2835        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2836        0,     0,     0,     0,     0,     0,   413,     0,     0,   470,
2837      470,     0,  1202,     0,     0,     0,     0,     0,     0,     0,
2838        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2839        0,     0,     0,     0,     0,     0,     0,     0,     0,   358,
2840        0,     0,   411,   358,  1258,     0,     0,     0,     0,     0,
2841        0,     0,     0,     0,     0,     0,     0,     0,   413,     0,
2842        0,     0,     0,   470,   470,   413,   397,     0,   413,     0,
2843        0,     0,   355,     0,     0,     0,     0,     0,     0,     0,
2844        0,     0,   411,     0,     0,   575,     0,     0,   358,     0,
2845        0,     0,     0,   411,   413,   413,   413,   413,   413,   413,
2846      413,     0,     0,   413,   413,     0,   413,   413,   413,   413,
2847      413,   413,   413,   413,     0,   358,     0,     0,     0,   340,
2848      340,     0,     0,   358,   413,   413,   413,   413,   413,   413,
2849      413,   413,   413,   413,   413,   413,   413,   413,   413,   413,
2850      413,   413,     0,   358,     0,     0,     0,     0,     0,     0,
2851        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2852        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2853        0,     0,     0,     0,   413,   413,     0,     0,     0,     0,
2854        0,     0,   370,     0,     0,     0,     0,     0,     0,     0,
2855        0,     0,  1629,     0,   125,     0,     0,     0,     0,   411,
2856        0,   411,     0,     0,     0,     0,     0,     0,     0,     0,
2857     1932,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2858     1656,     0,     0,   411,     0,     0,     0,  1663,     0,   648,
2859        0,   394,     0,     0,     0,     0,     0,     0,     0,     0,
2860        0,   411,   413,     0,   413,   411,     0,     0,   340,     0,
2861        0,     0,   411,     0,     0,     0,   411,     0,     0,     0,
2862        0,  1343,     0,  1343,     0,     0,     0,     0,   549,     0,
2863        0,     0,     0,     0,   413,     0,     0,     0,     0,     0,
2864     1286,     0,   394,   413,     0,   752,  1286,     0,     0,     0,
2865        0,     0,     0,     0,     0,   300,     0,     1,   301,   105,
2866      302,     0,   303,   304,     0,     0,     0,     0,     0,     0,
2867        0,     0,   413,     0,   413,     0,     0,     0,   470,   573,
2868      470,     0,     2,   865,     0,     0,     0,     0,     0,     0,
2869        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2870        0,     0,     0,     0,   470,     0,   470,     0,     0,     0,
2871        0,     0,     0,     0,     0,     0,   401,     0,     0,   305,
2872        0,     0,     0,     0,     0,   306,   307,   308,     0,     0,
2873        0,     0,     0,     0,     0,     0,     0,     0,   309,   310,
2874      413,     0,     0,     0,     0,     0,   683,     0,     0,     0,
2875        0,     0,   311,     0,     0,   370,   312,   313,   314,   315,
2876      316,   317,   318,   319,     0,     0,     0,     0,     0,     0,
2877        0,   320,     0,   411,   321,  1162,   322,   411,     0,  1163,
2878      413,     0,     0,     0,   323,   324,  1762,   325,   326,   327,
2879      328,   413,   925,   928,     0,     0,     0,     0,     0,   300,
2880        0,     1,   301,   105,   302,     0,   303,   304,     0,     0,
2881        0,     0,     0,     0,   549,     0,   549,   358,   358,   411,
2882        0,     0,     0,     0,     0,     0,     2,     0,     0,   411,
2883        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2884      411,     0,     0,     0,     0,     0,   925,   928,     0,     0,
2885        0,   854,     0,  1019,     0,     0,     0,   859,   411,     0,
2886      340,     0,     0,   305,     0,   411,     0,   411,     0,   306,
2887      307,   308,     0,     0,     0,     0,   470,   470,   470,   470,
2888      470,     0,   309,   310,   411,     0,     0,     0,     0,     0,
2889      470,   470,   470,   470,     0,     0,   311,   413,     0,   413,
2890      312,   313,   314,   315,   316,   317,   318,   319,     0,     0,
2891        0,     0,     0,     0,     0,   320,  1104,     0,   321,  1162,
2892      322,   413,     0,  1163,     0,     0,     0,   936,   323,   324,
2893     1772,   325,   326,   327,   328,     0,     0,   411,     0,   413,
2894        0,     0,     0,   413,     0,     0,   358,     0,     0,   648,
2895      413,     0,     0,     0,   413,     0,     0,  1007,   470,   470,
2896        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2897        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2898        0,   648,   648,   648,   648,     0,     0,  1011,     0,     0,
2899     1016,     0,     0,     0,   549,     0,     0,     0,     0,     0,
2900        0,     0,     0,  1011,     0,     0,     0,     0,     0,     0,
2901        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2902        0,     0,     0,     0,   573,     0,   370,     0,     0,     0,
2903        0,     0,     0,     0,     0,     0,     0,   573,     0,     0,
2904        0,     0,     0,     0,     0,     0,     0,     0,  1252,     0,
2905        0,     0,  1256,   411,   549,     0,     0,   411,   411,   411,
2906        0,     0,     0,     0,     0,     0,     0,     0,   340,     0,
2907        0,     0,     0,   411,   411,     0,     0,     0,     0,     0,
2908      340,     0,     0,   752,     0,     0,     0,     0,     0,     0,
2909        0,     0,     0,     0,     0,     0,     0,  1295,     0,   411,
2910      411,     0,   411,   411,     0,     0,     0,   411,   411,   411,
2911      411,   413,     0,     0,     0,   413,     0,     0,     0,     0,
2912        0,     0,     0,   411,  1349,     0,     0,     0,     0,   752,
2913        0,     0,  1360,     0,     0,     0,     0,     0,     0,   411,
2914        0,     0,     0,     0,     0,     0,     0,   683,     0,     0,
2915        0,     0,  1413,   683,     0,     0,     0,   413,   370,     0,
2916        0,     0,   370,     0,   411,     0,     0,   413,     0,     0,
2917        0,     0,     0,     0,     0,     0,     0,  1007,   413,     0,
2918        0,     0,     0,     0,  1007,  1966,     0,  1007,     0,     0,
2919     1969,  1971,  1975,  1979,  1981,  1985,   413,     0,   358,  1989,
2920     1993,  1997,  2001,   413,     0,   413,     0,   370,     0,     0,
2921        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2922        0,     0,   413,     0,     0,     0,     0,     0,     0,     0,
2923        0,     0,     0,     0,   370,     0,     0,     0,     0,     0,
2924        0,     0,   370,   340,   340,     0,   411,   411,   411,   411,
2925      411,   411,   411,   411,     0,     0,     0,     0,     0,     0,
2926        0,     0,   370,     0,     0,     0,     0,     0,     0,     0,
2927        0,     0,     0,     0,     0,   413,     0,     0,     0,     0,
2928        0,     0,     0,     0,   411,   411,     0,     0,     0,     0,
2929        0,     0,     0,     0,   411,     0,     0,     0,     0,   925,
2930      928,     0,   925,   928,     0,     0,     0,   447,     0,     0,
2931      447,     0,     0,   925,   928,   925,   928,     0,     0,     0,
2932        0,     0,     0,   447,     0,   447,     0,   447,     0,     0,
2933        0,     0,     0,     0,     0,     0,     0,     0,     0,  1019,
2934      683,     0,     0,     0,     0,     0,   411,  1456,     0,     0,
2935      411,   411,     0,   750,     0,     0,     0,     0,     0,     0,
2936        0,  1007,     0,   549,     0,     0,     0,     0,     0,     0,
2937      778,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2938        0,   925,   928,     0,     0,     0,     0,     0,     0,     0,
2939        0,   413,     0,     0,     0,   413,   413,   413,     0,     0,
2940     1492,     0,   549,     0,     0,   573,   358,     0,     0,     0,
2941        0,   413,   413,     0,     0,     0,     0,     0,   358,     0,
2942        0,   936,     0,     0,     0,     0,     0,     0,     0,     0,
2943        0,  1007,   648,  1007,     0,   648,     0,   413,   413,     0,
2944      413,   413,     0,     0,   648,   413,   413,   413,   413,     0,
2945        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2946        0,   413,   340,     0,     0,     0,  1648,  1649,   936,     0,
2947        0,     0,     0,   648,     0,  1295,     0,   413,     0,  1661,
2948      340,     0,  1360,     0,  1665,     0,     0,   648,   648,   648,
2949      648,     0,     0,     0,     0,     0,     0,     0,     0,   549,
2950      465,     0,   413,   465,     0,     0,     0,     0,     0,     0,
2951        0,     0,     0,     0,     0,   394,   465,     0,   465,     0,
2952      465,     0,     0,     0,   573,     0,   573,     0,     0,     0,
2953        0,   340,     0,     0,     0,   752,     0,     0,     0,  1007,
2954        0,   752,     0,     0,     0,     0,     0,     0,     0,     0,
2955      549,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2956        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2957        0,     0,     0,     0,     0,     0,   370,   370,     0,     0,
2958        0,   358,   358,     0,   413,   413,   413,   413,   413,   413,
2959      413,   413,     0,     0,     0,  1755,     0,     0,     0,     0,
2960        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2961        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2962        0,     0,   413,   413,     0,     0,     0,     0,   646,   447,
2963      447,     0,   413,     0,     0,     0,     0,     0,     0,     0,
2964        0,   957,     0,     0,     0,     0,   683,     0,   683,     0,
2965        0,     0,     0,     0,     0,   447,   447,     0,   549,     0,
2966        0,     0,  1139,   300,     0,     1,   301,   105,   302,     0,
2967      303,   304,     0,     0,     0,     0,     0,   447,   447,     0,
2968      549,     0,   447,   447,   413,     0,   447,   447,   413,   413,
2969        2,     0,     0,     0,     0,     0,     0,     0,     0,   120,
2970        0,     0,  1007,     0,     0,   370,     0,     0,     0,  1007,
2971        0,     0,     0,  1007,     0,     0,     0,     0,     0,     0,
2972        0,     0,     0,     0,   447,     0,   447,   305,     0,     0,
2973        0,     0,     0,   306,   307,   308,    28,    29,     0,     0,
2974        0,    32,     0,     0,     0,     0,   309,   310,    38,     0,
2975        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2976      311,     0,     0,     0,   312,   313,   314,   315,   316,   317,
2977      318,   319,    43,    44,     0,     0,     0,     0,     0,   891,
2978        0,     0,   892,   735,   322,     0,     0,     0,     0,     0,
2979        0,   750,   323,   324,     0,   325,   326,   327,   328,     0,
2980      358,     0,     0,     0,     0,  1294,     0,     0,     0,     0,
2981        0,     0,     0,     0,     0,     0,     0,     0,   358,     0,
2982        0,     0,   465,   465,  1317,  1321,  1325,  1329,  1333,     0,
2983        0,  1342,  1348,     0,     0,     0,     0,   750,     0,     0,
2984     1359,     0,     0,     0,     0,     0,     0,  1019,   465,   465,
2985        0,     0,  1383,  1387,  1391,  1395,  1399,     0,     0,  1342,
2986     1412,     0,     0,     0,     0,     0,     0,     0,     0,   358,
2987      465,   465,     0,     0,     0,   465,   465,     0,  1019,   465,
2988      465,     0,     0,     0,     0,     0,  1005,     0,     0,     0,
2989        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2990        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2991        0,   683,     0,     0,     0,     0,  1007,   465,  1797,   465,
2992        0,     0,     0,     0,     0,     0,   549,     0,     0,   648,
2993      648,     0,     0,     0,     0,     0,     0,     0,     0,   648,
2994        0,   648,   648,     0,     0,   648,  1456,     0,   573,     0,
2995        0,  1810,     0,   648,  1016,     0,   648,   370,     0,     0,
2996        0,     0,  1007,     0,  1007,     0,     0,     0,   300,     0,
2997        1,   301,   105,   302,     0,   303,   304,     0,     0,     0,
2998        0,  1007,     0,     0,     0,     0,     0,     0,   646,     0,
2999        0,     0,     0,     0,     0,     2,     0,     0,     0,     0,
3000        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3001        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3002      646,   646,   646,   646,     0,     0,     0,     0,     0,   854,
3003        0,     0,   305,     0,  1007,     0,     0,   573,   306,   307,
3004      308,     0,     0,     0,     0,     0,     0,     0,   573,     0,
3005        0,   309,   310,     0,     0,  1019,     0,     0,     0,     0,
3006        0,     0,     0,     0,     0,   311,     0,  1964,     0,   312,
3007      313,   314,   315,   316,   317,   318,   319,     0,     0,     0,
3008     1755,     0,     0,     0,   320,  1661,     0,   321,  1665,   322,
3009        0,     0,  2105,  2106,  1018,     0,     0,   323,   324,     0,
3010      325,   326,   327,   328,     0,     0,  1005,     0,     0,     0,
3011        0,     0,     0,  1005,     0,     0,  1005,     0,     0,     0,
3012        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3013        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3014        0,   447,     0,     0,     0,     0,     0,     0,     0,     0,
3015        0,     0,  1019,     0,   549,  1139,   549,     0,     0,     0,
3016        0,     0,     0,  1019,     0,   370,     0,     0,     0,     0,
3017      549,   549,     0,     0,     0,     0,     0,   370,     0,     0,
3018        0,     0,     0,  1294,     0,     0,     0,     0,     0,     0,
3019     1359,     0,     0,   648,   648,   648,   648,     0,     0,   648,
3020        0,     0,     0,   648,   648,     0,   648,     0,   648,     0,
3021      447,   447,     0,     0,   447,   447,   447,     0,     0,     0,
3022      648,     0,     0,     0,  1342,     0,  1342,     0,     0,     0,
3023     2067,  2068,     0,     0,     0,     0,  1007,     0,     0,     0,
3024        0,     0,     0,   750,     0,     0,     0,     0,     0,   750,
3025        0,     0,     0,   683,   683,     0,  2011,     0,     0,     0,
3026        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3027        0,   465,   465,     0,     0,     0,     0,     0,   219,     0,
3028        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3029        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3030        0,     0,     0,  1754,     0,     0,     0,     0,     0,     0,
3031     1011,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3032      219,     0,     0,     0,     0,     0,     0,     0,   415,     0,
3033        0,     0,     0,     0,   465,     0,     0,     0,     0,     0,
3034      370,   370,     0,     0,     0,     0,     0,     0,   507,  1019,
3035        0,   447,   447,     0,     0,     0,     0,     0,     0,     0,
3036     1005,     0,  1005,     0,     0,   648,     0,     0,     0,     0,
3037        0,     0,     0,     0,   648,     0,   648,     0,     0,     0,
3038        0,     0,   549,     0,     0,     0,     0,     0,     0,     0,
3039        0,   549,     0,     0,     0,     0,     0,     0,     0,     0,
3040        0,     0,     0,   465,   465,     0,     0,   465,   465,   465,
3041        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3042        0,     0,     0,     0,     0,     0,  1019,     0,     0,   648,
3043      648,     0,     0,   648,     0,   648,     0,     0,   648,     0,
3044        0,     0,   648,     0,     0,     0,     0,   549,   549,  2164,
3045        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3046        0,     0,     0,     0,     0,     0,     0,  1019,  1005,     0,
3047        0,   646,     0,     0,   646,   648,     0,     0,     0,     0,
3048        0,     0,     0,   646,     0,     0,     0,     0,     0,     0,
3049        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3050        0,     0,     0,   648,     0,     0,     0,     0,     0,     0,
3051        0,     0,   646,     0,     0,     0,     0,     0,  2207,     0,
3052        0,     0,     0,     0,     0,     0,   646,   646,   646,   646,
3053        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3054        0,     0,     0,     0,   465,   465,     0,     0,     0,     0,
3055        0,     0,     0,     0,     0,     0,     0,     0,     0,   370,
3056        0,     0,     0,     0,    73,     0,     0,     0,     0,     0,
3057        0,   836,     0,     0,     0,     0,     0,   370,     0,     0,
3058        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3059        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3060        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3061      871,   507,     0,     0,   116,   880,     0,     0,     0,     0,
3062        0,     0,     0,     0,   887,     0,     0,   894,   370,     0,
3063        0,  1005,     0,     0,     0,     0,     0,     0,  1005,     0,
3064        0,     0,  1005,     0,     0,     0,   177,     0,     0,     0,
3065        0,     0,     0,     0,     0,   259,    73,     0,     0,     0,
3066        0,   945,     0,    73,    73,     0,     0,   961,     0,     0,
3067        0,     0,     0,     0,     0,     0,     0,     0,     0,   447,
3068      447,   381,     0,     0,     0,     0,     0,     0,     0,     0,
3069        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3070        0,     0,     0,     0,     0,   480,     0,     0,     0,     0,
3071        0,     0,     0,     0,     0,     0,     0,   480,     0,     0,
3072        0,   480,     0,     0,     0,     0,     0,     0,     0,     0,
3073        0,     0,     0,   447,   447,     0,     0,     0,     0,     0,
3074        0,     0,     0,     0,     0,   219,     0,     0,     0,   259,
3075      259,     0,     0,     0,     0,   219,     0,     0,     0,     0,
3076        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3077        0,     0,     0,     0,     0,   219,     0,     0,   219,     0,
3078      219,     0,   219,   570,     0,     0,     0,     0,  1754,     0,
3079        0,     0,     0,  1968,  1970,  1974,  1978,  1980,  1984,     0,
3080        0,     0,  1988,  1992,  1996,  2000,     0,     0,     0,     0,
3081        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3082        0,     0,     0,     0,     0,     0,     0,   608,     0,     0,
3083      259,   259,   259,     0,     0,     0,     0,     0,     0,     0,
3084      177,     0,     0,     0,     0,  1005,     0,     0,     0,     0,
3085      177,   259,    73,     0,     0,     0,     0,     0,     0,     0,
3086        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3087      718,     0,   465,   465,     0,     0,   718,     0,     0,     0,
3088        0,     0,     0,     0,     0,   740,     0,     0,     0,     0,
3089        0,  1005,     0,  1005,     0,     0,     0,     0,     0,     0,
3090        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3091        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3092        0,     0,     0,     0,     0,     0,   465,   465,     0,     0,
3093        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3094        0,  1970,  1974,  1980,  1984,  1988,  1992,  1996,  2000,     0,
3095        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3096        0,     0,     0,  1005,     0,     0,     0,     0,   646,   646,
3097        0,     0,     0,     0,     0,     0,     0,     0,   646,   570,
3098      646,   646,     0,     0,   646,   876,     0,     0,   447,     0,
3099      447,     0,   646,     0,     0,   646,   876,     0,     0,     0,
3100        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3101        0,     0,     0,     0,   447,   300,   447,     1,   301,   105,
3102      302,     0,   303,   304,     0,     0,     0,     0,     0,     0,
3103        0,   570,   836,   836,   836,     0,     0,     0,     0,     0,
3104        0,     0,     2,     0,     0,     0,     0,     0,   967,     0,
3105        0,     0,     0,     0,     0,   415,   415,   219,     0,     0,
3106        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3107        0,   570,     0,     0,     0,     0,     0,     0,     0,   305,
3108        0,     0,     0,     0,     0,   306,   307,   308,     0,     0,
3109      259,     0,     0,     0,     0,     0,     0,   259,   309,   310,
3110      259,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3111        0,     0,   311,     0,     0,     0,   312,   313,   314,   315,
3112      316,   317,   318,   319,     0,     0,  1131,     0,     0,     0,
3113     1488,   320,     0,     0,   321,  1162,   322,     0,     0,  1767,
3114        0,     0,     0,  1768,   323,   324,     0,   325,   326,   327,
3115      328,     0,     0,     0,     0,   415,     0,     0,     0,     0,
3116     1170,  1174,   507,   507,     0,  1005,     0,     0,     0,     0,
3117        0,     0,     0,   507,     0,     0,     0,     0,     0,     0,
3118        0,   465,     0,   465,     0,     0,   447,   447,   447,   447,
3119      447,     0,     0,     0,     0,     0,     0,     0,     0,  1144,
3120      447,   447,   447,   447,     0,     0,     0,   465,     0,   465,
3121        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3122        0,     0,     0,     0,   259,   259,   259,   259,     0,     0,
3123        0,     0,   646,   646,   646,   646,     0,     0,   646,     0,
3124        0,     0,   646,   646,     0,   646,     0,   646,     0,     0,
3125        0,     0,   259,   259,   259,     0,     0,   177,     0,   646,
3126      219,     0,     0,     0,  1204,   219,     0,     0,   447,   447,
3127        0,  1588,     0,     0,     0,     0,     0,  1588,   259,     0,
3128        0,     0,     0,   219,     0,  1231,  1241,   740,     0,  1231,
3129     1241,     0,     0,     0,     0,     0,  1204,     0,     0,     0,
3130        0,     0,     0,     0,     0,     0,     0,  1263,     0,     0,
3131      259,     0,     0,     0,     0,     0,     0,   259,     0,     0,
3132      259,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3133        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3134        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3135        0,     0,     0,     0,   653,     0,     0,     0,     0,     0,
3136        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3137        0,     0,     0,     0,     0,     0,     0,     0,     0,   465,
3138      465,   465,   465,   465,     0,     0,     0,     0,     0,     0,
3139        0,     0,     0,   465,   465,   465,   465,     0,     0,     0,
3140      570,     0,     0,     0,   646,     0,     0,   738,     0,     0,
3141        0,     0,     0,   646,     0,   646,     0,     0,   415,   219,
3142        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3143        0,     0,     0,     0,     0,   570,     0,     0,     0,     0,
3144        0,     0,     0,  1447,   570,     0,     0,     0,     0,     0,
3145        0,   570,     0,     0,  1447,   116,   740,     0,   570,     0,
3146        0,   465,   465,     0,     0,     0,     0,     0,   646,   646,
3147        0,     0,   646,     0,   646,     0,     0,   646,     0,     0,
3148        0,   646,     0,     0,     0,     0,     0,     0,     0,     0,
3149        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3150        0,     0,     0,     0,     0,     0,     0,     0,     0,   570,
3151        0,     0,     0,     0,   646,     0,     0,     0,     0,   738,
3152        0,     0,     0,    90,     0,   570,     0,     0,     0,     0,
3153        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3154        0,     0,   646,     0,     0,     0,     0,     0,     0,     0,
3155        0,     0,     0,     0,     0,   300,     0,     1,   301,   105,
3156      302,     0,   303,   304,   259,   259,   259,     0,     0,     0,
3157        0,     0,   608,   119,   131,     0,     0,     0,     0,     0,
3158        0,     0,     2,     0,     0,     0,     0,     0,     0,     0,
3159        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3160        0,     0,     0,     0,     0,   182,   131,     0,     0,  1604,
3161      228,     0,  1610,     0,     0,    90,   836,   836,     0,   305,
3162        0,  1627,    90,    90,     0,   306,   307,   308,     0,     0,
3163        0,     0,   415,     0,     0,     0,   415,     0,   309,   310,
3164      382,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3165     1651,     0,   311,   391,     0,     0,   312,   313,   314,   315,
3166      316,   317,   318,   319,  1170,  1174,  1170,  1174,     0,     0,
3167        0,   320,   259,     0,   321,   259,   322,     0,   259,     0,
3168        0,   746,     0,     0,   323,   324,   747,   325,   326,   327,
3169      328,  1144,     0,     0,     0,     0,     0,     0,     0,   415,
3170        0,     0,     0,     0,   527,     0,     0,     0,     0,     0,
3171      415,  1826,   415,  1826,     0,     0,   259,   543,     0,  1142,
3172        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3173      259,   259,   259,   259,     0,  1160,     0,     0,     0,     0,
3174        0,     0,   577,     0,     0,     0,   653,   653,   653,   653,
3175        0,     0,     0,   259,     0,   259,     0,     0,     0,     0,
3176      300,     0,     1,   301,   105,   302,     0,   303,   304,     0,
3177        0,  1685,     0,     0,     0,     0,     0,     0,     0,     0,
3178        0,     0,     0,     0,     0,     0,   131,     2,   608,     0,
3179        0,     0,     0,     0,     0,   738,     0,     0,     0,   182,
3180        0,     0,     0,     0,     0,     0,     0,     0,  1729,   687,
3181        0,    90,     0,     0,     0,  1729,     0,     0,     0,     0,
3182        0,     0,     0,  1160,   305,     0,     0,     0,     0,     0,
3183      306,   307,   308,     0,   259,   259,     0,     0,     0,     0,
3184        0,   259,   259,   309,   310,   259,   259,     0,     0,     0,
3185     1293,     0,     0,     0,     0,     0,     0,   311,     0,     0,
3186      507,   312,   313,   314,   315,   316,   317,   318,   319,     0,
3187        0,     0,     0,     0,     0,     0,   320,     0,     0,   321,
3188     1162,   322,  1645,     0,  1163,     0,     0,     0,  1346,   323,
3189      324,     0,   325,   326,   327,   328,  1358,     0,     0,     0,
3190        0,     0,     0,   300,     0,     1,   301,   105,   302,     0,
3191      303,   304,   415,     0,   219,     0,  1410,   415,     0,     0,
3192        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3193        2,     0,     0,     0,     0,     0,     0,     0,   866,     0,
3194        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3195        0,     0,     0,     0,     0,     0,   131,     0,     0,     0,
3196        0,     0,     0,     0,     0,     0,     0,   305,     0,     0,
3197        0,     0,     0,   306,   307,   308,     0,     0,   738,     0,
3198        0,     0,   415,     0,     0,     0,   309,   310,     0,     0,
3199      940,     0,     0,   948,     0,     0,     0,     0,     0,     0,
3200      311,     0,     0,     0,   312,   313,   314,   315,   316,   317,
3201      318,   319,     0,     0,     0,     0,     0,     0,     0,   320,
3202        0,     0,   321,  1162,   322,     0,     0,  1767,     0,     0,
3203      866,  1775,   323,   324,     0,   325,   326,   327,   328,     0,
3204        0,     0,     0,     0,     0,     0,   131,   131,   131,   259,
3205        0,     0,   570,     0,     0,     0,     0,     0,     0,     0,
3206        0,     0,     0,     0,   131,   131,     0,     0,     0,     0,
3207        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3208        0,     0,     0,     0,     0,  1055,     0,  1064,     0,     0,
3209        0,     0,     0,     0,     0,     0,     0,     0,  1066,     0,
3210        0,     0,     0,     0,     0,     0,  1864,  1868,     0,     0,
3211        0,     0,     0,     0,     0,     0,  1877,     0,  1880,  1604,
3212        0,     0,  1610,     0,     0,     0,     0,     0,     0,     0,
3213     1651,     0,     0,  1893,   543,     0,     0,     0,     0,     0,
3214        0,     0,     0,   415,     0,     0,     0,     0,     0,     0,
3215        0,     0,   570,     0,     0,     0,     0,     0,     0,     0,
3216        0,     0,     0,     0,     0,     0,   259,   259,     0,     0,
3217        0,     0,   259,   259,     0,     0,     0,     0,     0,     0,
3218        0,     0,     0,     0,     0,   259,     0,     0,   259,     0,
3219        0,     0,     0,     0,     0,     0,   259,   653,     0,     0,
3220      653,  1615,  1617,     0,  1620,     0,     0,     0,     0,  1186,
3221        0,     0,  1630,     0,     0,     0,   687,   415,     0,   415,
3222     1639,  -897,     0,     0,  -897,  -897,  -897,  1160,  -897,  -897,
3223        0,     0,     0,     0,     0,     0,     0,     0,   653,     0,
3224        0,     0,     0,     0,  1236,  1160,   258,     0,  1236,     0,
3225     1160,     0,   653,   653,   653,   653,     0,     0,     0,     0,
3226        0,     0,     0,     0,     0,     0,   866,     0,     0,     0,
3227        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3228        0,  1674,     0,  1678,     0,  -897,     0,     0,     0,     0,
3229        0,  -897,  -897,  -897,     0,     0,     0,     0,     0,     0,
3230        0,     0,  1698,     0,  -897,     0,   740,     0,  1707,     0,
3231        0,     0,     0,     0,     0,     0,     0,     0,  -897,     0,
3232        0,     0,  -897,  -897,  -897,  -897,  -897,  -897,  -897,  -897,
3233        0,  1160,     0,     0,     0,     0,     0,     0,     0,     0,
3234      258,   258,  -897,  -897,     0,  -897,  -897,  -897,     0,     0,
3235     -897,  -897,     0,  -897,  -897,  -897,  -897,     0,     0,     0,
3236        0,     0,     0,     0,     0,     0,     0,     0,   259,   259,
3237     2038,  2039,  2040,  2041,   569,     0,  2042,     0,  1160,     0,
3238     1864,  1868,     0,  1877,     0,  1880,     0,   866,  1437,     0,
3239      570,     0,     0,     0,   866,     0,     0,  2051,     0,     0,
3240        0,     0,   866,  1451,     0,     0,     0,     0,     0,     0,
3241     1458,     0,     0,   866,   119,   131,     0,     0,   607,     0,
3242        0,   258,   258,   258,     0,     0,     0,     0,     0,     0,
3243     1160,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3244        0,     0,   258,  1160,     0,     0,   259,   259,     0,     0,
3245        0,     0,     0,     0,   131,     0,     0,     0,     0,     0,
3246        0,   717,  1491,     0,     0,     0,     0,   717,   577,     0,
3247        0,     0,     0,     0,   131,     0,   739,     0,     0,     0,
3248        0,     0,     0,     0,   940,     0,     0,     0,     0,     0,
3249        0,     0,     0,     0,  1160,     0,     0,   300,     0,     1,
3250      301,   105,   302,     0,   303,   304,     0,     0,     0,     0,
3251        0,     0,     0,     0,     0,     0,   740,     0,     0,     0,
3252        0,     0,     0,     0,     2,     0,     0,     0,     0,     0,
3253        0,   940,     0,     0,     0,     0,     0,     0,     0,     0,
3254        0,     0,  2042,     0,     0,     0,     0,     0,     0,     0,
3255        0,  2119,     0,  2122,     0,     0,     0,     0,     0,     0,
3256        0,   305,     0,     0,     0,     0,     0,   306,   307,   308,
3257      569,     0,     0,     0,     0,     0,     0,  1569,     0,     0,
3258      309,   310,     0,     0,     0,     0,  1577,     0,     0,     0,
3259        0,     0,     0,     0,   311,     0,     0,     0,   312,   313,
3260      314,   315,   316,   317,   318,   319,  2151,  2152,     0,     0,
3261     2119,     0,  2122,   320,     0,  2156,   321,  1162,   322,  2158,
3262        0,  1767,   569,     0,     0,  1914,   323,   324,     0,   325,
3263      326,   327,   328,     0,     0,     0,     0,     0,     0,     0,
3264        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3265        0,     0,  2158,   548,     0,     0,     0,     0,     0,     0,
3266        0,     0,   569,     0,     0,     0,     0,     0,     0,     0,
3267        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3268     2196,   258,     0,     0,     0,     0,     0,     0,   258,     0,
3269        0,   258,     0,     0,   653,   653,     0,     0,     0,     0,
3270     1160,     0,  1160,     0,     0,  1160,   653,     0,     0,     0,
3271        0,  1884,  1887,     0,  1889,     0,     0,     0,     0,     0,
3272        0,     0,     0,     0,  1160,     0,  1900,     0,     0,     0,
3273      866,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3274        0,     0,     0,     0,     0,     0,     0,   866,     0,  1236,
3275        0,     0,     0,     0,   696,     0,     0,  1720,  1160,     0,
3276        0,     0,  1160,   548,     0,     0,     0,  1236,     0,   548,
3277        0,     0,     0,     0,  1236,     0,     0,     0,     0,     0,
3278        0,     0,     0,  1160,     0,     0,     0,     0,     0,     0,
3279        0,     0,  1160,     0,     0,     0,     0,     0,     0,     0,
3280        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3281        0,     0,     0,     0,     0,   258,   258,   258,   258,  1896,
3282        0,     1,   301,   105,   302,     0,   303,   304,     0,     0,
3283        0,     0,     0,     0,     0,     0,     0,     0,     0,   548,
3284        0,   548,     0,   258,   258,   258,     2,     0,     0,     0,
3285        0,     0,     0,     0,     0,  1203,     0,     0,     0,     0,
3286        0,     0,     0,     0,     0,     0,     0,     0,     0,   258,
3287        0,     0,     0,     0,     0,     0,  1230,  1240,   739,     0,
3288     1230,  1240,     0,   305,     0,     0,     0,  1203,     0,   306,
3289      307,   308,     0,     0,     0,     0,     0,     0,  1262,     0,
3290      261,   258,   309,   310,     0,     0,     0,     0,   258,     0,
3291        0,   258,     0,     0,     0,     0,   311,     0,     0,     0,
3292      312,   313,   314,   315,   316,   317,   318,   319,     0,     0,
3293        0,     0,     0,     0,     0,   320,     0,     0,   321,  1162,
3294      322,  1897,     0,  1163,     0,     0,  1160,     0,   323,   324,
3295        0,   325,   326,   327,   328,     0,     0,     0,     0,  1786,
3296        0,     0,     0,     0,   653,  1160,     0,     0,     0,     0,
3297        0,     0,  1160,  1793,     0,     0,  1889,     0,  2049,     0,
3298     1796,     0,  1006,     0,     0,     0,     0,  2055,   391,     0,
3299        0,   569,     0,     0,   261,   261,     0,     0,     0,     0,
3300        0,     0,     0,     0,     0,     0,     0,     0,     0,  1458,
3301        0,   577,     0,     0,     0,     0,     0,     0,     0,   548,
3302        0,     0,     0,     0,     0,     0,   569,     0,   572,     0,
3303        0,     0,     0,     0,     0,   569,     0,     0,   738,     0,
3304        0,     0,   569,     0,     0,     0,     0,   739,     0,   569,
3305        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3306        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3307        0,     0,   610,     0,     0,   261,   261,   261,     0,   548,
3308        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3309        0,  1850,     0,     0,     0,     0,   261,     0,     0,     0,
3310      569,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3311        0,   577,     0,     0,     0,   720,   569,     0,     0,     0,
3312        0,   720,     0,     0,     0,     0,     0,     0,     0,     0,
3313      742,  2111,  2114,     0,  1160,     0,  1160,     0,     0,   653,
3314     1160,   653,     0,     1,     0,     0,     0,     0,     0,     0,
3315     1194,     0,     0,     0,     0,   258,   258,   258,     0,     0,
3316        0,     0,     0,   607,     0,     0,     0,     0,     2,   199,
3317      200,   201,   202,   203,     8,     9,    10,   561,    12,    13,
3318       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
3319       24,     0,     0,     0,     0,     0,  1160,     0,     0,  1160,
3320        0,     0,  1006,     0,     0,     0,    27,   653,     0,  1006,
3321        0,     0,  1006,     0,    28,    29,     0,     0,     0,    32,
3322        0,     0,    35,    36,   572,    37,    38,    39,     0,     0,
3323        0,     0,     0,     0,     0,   737,  1933,     0,     0,     0,
3324       40,     0,     0,  1160,     0,     0,     0,     0,     0,     0,
3325       43,    44,    45,    46,    47,    48,   205,    50,     0,     0,
3326      562,     0,     0,   258,     0,     0,   258,     0,     0,   258,
3327        0,   563,     0,   564,     0,     0,   572,     0,     0,     0,
3328        0,     0,     0,     0,     0,     0,     0,     0,   300,     0,
3329        1,   301,   105,   302,     0,   303,   304,     0,     0,     0,
3330        0,     0,     0,     0,     0,     0,     0,   258,  1437,     0,
3331        0,     0,     0,     0,     0,     2,   572,     0,     0,     0,
3332        0,   258,   258,   258,   258,     0,     0,     0,     0,     0,
3333     1796,     0,     0,     0,     0,   261,     0,     0,     0,     0,
3334        0,     0,   261,     0,   258,   261,   258,   737,     0,   866,
3335        0,     0,   305,     0,     0,     0,     0,     0,   306,   307,
3336      308,     0,  1684,     0,     0,     0,     0,     0,     0,     0,
3337        0,   309,   310,     0,     0,     0,     0,     0,     0,   607,
3338        0,     0,     0,     0,     0,   311,  1006,     0,   548,   312,
3339      313,   314,   315,   316,   317,   318,   319,     0,     0,  1728,
3340        0,     0,     0,     0,   320,     0,  1728,   321,  1162,   322,
3341        0,     0,  1767,     0,     0,     0,  1918,   323,   324,     0,
3342      325,   326,   327,   328,     0,   258,   258,   548,     0,     0,
3343        0,     0,   258,   258,     0,     0,   258,   258,     0,     0,
3344        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3345        0,     0,     0,     0,     0,  1720,  1006,     0,  1006,     0,
3346        0,     0,     0,     0,     0,     0,     0,     0,     0,   261,
3347      261,   261,   261,     0,     0,     0,     0,     0,     0,     0,
3348        0,     0,     0,     0,     0,     0,   300,     0,     1,   301,
3349      105,   302,     0,   303,   304,     0,     0,   261,   261,   261,
3350        0,     0,     0,     0,     0,     0,     0,     0,     0,  1206,
3351        0,     0,     0,     2,     0,     0,     0,     0,     0,     0,
3352        0,     0,     0,   261,   548,     0,     0,     0,     0,     0,
3353     1233,  1243,   742,     0,  1233,  1243,     0,     0,     0,     0,
3354        0,  1206,     0,     0,     0,     0,     0,  1141,     0,     0,
3355      305,     0,  1265,     0,     0,   261,   306,   307,   308,     0,
3356        0,     0,   261,  1159,  1006,   261,     0,  1164,     0,   309,
3357      310,     0,     0,     0,     0,   548,     0,     0,     0,     0,
3358        0,     0,     0,   311,     0,     0,     0,   312,   313,   314,
3359      315,   316,   317,   318,   319,     0,     0,     0,     0,     0,
3360        0,     0,   320,     0,     0,   321,  1162,   322,     0,     0,
3361     1163,     0,     0,     0,     0,   323,   324,  1926,   325,   326,
3362      327,   328,     0,   737,     0,     0,     0,     0,     0,     0,
3363        0,     0,     0,     0,     0,     0,     0,  1245,     0,     0,
3364      258,     0,     0,   569,     0,   572,     0,     0,     0,     0,
3365        0,  1159,  1164,     0,     0,     0,     0,     0,     0,     0,
3366        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3367        0,     0,     0,     0,     0,     0,     0,     0,  1292,     0,
3368      572,     0,     0,   548,     0,     0,     0,     0,     0,   572,
3369        0,     0,     0,     0,     0,     0,   572,     0,     0,     0,
3370        0,   742,     0,   572,     0,   548,     0,     0,     0,     0,
3371        0,     0,     0,     0,     0,     0,  1344,     0,     0,     0,
3372        0,     0,     0,     0,  1357,     0,     0,  1006,     0,     0,
3373        0,     0,     0,     0,  1006,     0,     0,     0,  1006,     0,
3374        0,     0,     0,   569,  1408,     0,     0,     0,     0,     0,
3375        0,     0,     0,     0,   572,     0,     0,   258,   258,     0,
3376        0,     0,     0,   258,   258,     0,     0,     0,     0,     0,
3377      572,     0,     0,     0,     0,     0,   258,     0,     0,   258,
3378        0,     0,     0,     0,     0,     0,     0,   258,     0,     0,
3379        0,     0,     0,     0,     0,     0,     0,   300,     0,     1,
3380      301,   105,   302,     0,   303,   304,   737,     0,     0,   261,
3381      261,   261,     0,     0,     0,     0,     0,   610,     0,     0,
3382        0,     0,     0,     0,     2,   199,   200,   201,   202,   203,
3383        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
3384       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
3385        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3386        0,   305,    27,     0,     0,     0,     0,   306,   307,   308,
3387       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
3388      309,   403,    38,    39,     0,     0,     0,     0,     0,     0,
3389        0,     0,     0,     0,   311,     0,    40,   739,   312,   313,
3390      314,   315,   316,   317,   318,   319,    43,    44,    45,    46,
3391       47,    48,   205,   320,     0,     0,   321,   261,   322,     0,
3392      261,     0,     0,   261,     0,     0,   323,   324,     0,   325,
3393      326,   327,   328,     0,     0,     0,     0,     0,     0,     0,
3394        0,  1006,     0,     0,     0,     0,     0,     0,     0,     0,
3395        0,   548,     0,     0,     0,     0,     0,     0,     0,   258,
3396      258,   261,     0,     0,     0,     0,     0,     0,     0,     0,
3397        0,     0,     0,     0,     0,   261,   261,   261,   261,     0,
3398        0,   569,     0,     0,     0,     0,     0,  1006,     0,  1006,
3399        0,     0,     0,     0,     0,     0,     0,     0,   261,     0,
3400      261,     0,     0,     0,     0,     0,  1006,     0,     0,     0,
3401        0,     0,     0,     0,     0,     0,  1687,     0,     0,     0,
3402        0,     0,     0,     0,     0,     0,     0,     0,     0,  1614,
3403     1616,     0,  1619,   610,     0,     0,     0,   258,   258,     0,
3404     1141,     0,   300,  1164,     1,   301,   105,   302,  1638,   303,
3405      304,     0,     0,  1731,     0,  1159,  1164,     0,     0,  1006,
3406     1731,     0,     0,     0,     0,     0,     0,     0,     0,     2,
3407        0,     0,     0,  1159,  1164,     0,     0,     0,  1159,   261,
3408      261,     0,     0,     0,     0,     0,   261,   261,     0,     0,
3409      261,   261,     0,     0,     0,     0,     0,     0,     0,     0,
3410        0,     0,     0,     0,     0,     0,   305,   739,     0,  1672,
3411        0,  1676,   306,   307,   308,     0,     0,     0,     0,     0,
3412        0,     0,     0,     0,     0,   309,   310,     0,     0,     0,
3413     1697,     0,     0,     0,     0,     0,  1706,     0,     0,   311,
3414        0,     0,     0,   312,   313,   314,   315,   316,   317,   318,
3415      319,     0,     0,     0,     0,     0,     0,     0,   320,  1159,
3416        0,   321,  1162,   322,     0,     0,  1163,     0,     0,     0,
3417        0,   323,   324,  1929,   325,   326,   327,   328,     0,   548,
3418        0,   548,     0,     0,     0,     0,     0,     0,     0,     0,
3419        0,     0,     0,     0,     0,   548,   548,     0,     0,     0,
3420        0,     0,     0,     0,     0,     0,  1159,  1164,     0,   121,
3421        0,     0,     0,     0,     0,     0,   138,     0,     0,     0,
3422        0,  1972,  1976,     0,  1982,  1986,     0,     0,     0,  1990,
3423     1994,  1998,  2002,     0,   124,     0,     0,     0,     0,   161,
3424      170,   193,     0,     0,     0,     0,     0,     0,     0,     0,
3425        0,     0,     0,     0,     0,     0,     0,     0,  1159,     0,
3426     1164,  1006,     0,     0,     0,   124,   124,     0,     0,     0,
3427        0,  1159,  1164,     0,     0,     0,     0,     0,     0,     0,
3428        0,     0,     0,     0,     0,     0,     0,     0,   121,   121,
3429        0,     0,     0,     0,   261,     0,     0,   572,     0,     0,
3430        0,     0,     0,     0,     0,   490,     0,     0,     0,     0,
3431        0,     0,     0,   124,   124,     0,     0,     0,     0,     0,
3432        0,   521,  1159,     0,  1164,     0,     0,     0,     0,     0,
3433        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3434      121,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3435        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3436        0,     0,     0,     0,     0,   124,     0,     0,  1972,  1976,
3437     1982,  1986,  1990,  1994,  1998,  2002,   161,   566,     0,     0,
3438        0,   300,     0,     1,   301,   105,   302,     0,   303,   304,
3439        0,     0,     0,     0,     0,     0,     0,   572,     0,     0,
3440        0,     0,   574,     0,     0,     0,     0,   548,     2,     0,
3441        0,   261,   261,     0,     0,     0,   548,   261,   261,     0,
3442        0,   170,     0,     0,     0,     0,     0,     0,     0,     0,
3443      261,     0,     0,   261,   170,     0,     0,     0,     0,     0,
3444        0,   261,     0,     0,   566,   305,   124,     0,     0,     0,
3445        0,   306,   307,   308,     0,     0,     0,     0,     0,   124,
3446        0,     0,     0,     0,   309,   310,     0,     0,  1006,   684,
3447        0,     0,   548,   548,     0,     0,     0,     0,   311,     0,
3448        0,     0,   312,   313,   314,   315,   316,   317,   318,   319,
3449        0,     0,     0,     0,     0,     0,     0,   320,     0,     0,
3450      321,  1162,   322,  1897,     0,  1163,     0,     0,  1860,     0,
3451      323,   324,     0,   325,   326,   327,   328,     0,     0,     0,
3452        0,     0,     0,     0,     0,     0,     0,     0,  1159,  1164,
3453     1159,  1164,     0,  1159,  1879,     0,     0,     0,     0,  1614,
3454     1886,     0,  1638,     0,  1164,     0,     0,     0,     0,   121,
3455        0,   742,  1159,  1164,  1638,   121,     0,     0,     0,     0,
3456        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3457        0,     0,     0,     0,   124,     0,     0,     0,     0,     0,
3458      574,     0,     0,     0,     0,     0,  1159,     0,  1164,     0,
3459     1159,   566,  1164,     0,     0,     0,     0,     0,     0,     0,
3460        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3461        0,  1159,  1164,   261,   261,     0,   124,     0,     0,     0,
3462     1159,  1164,     0,     0,     0,   566,     0,     0,     0,     0,
3463        0,     0,     0,     0,     0,   572,     0,     0,     0,     0,
3464        0,   161,     0,     0,     0,     0,     0,     0,     0,     0,
3465      574,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3466        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3467        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3468        0,   121,   121,   121,     0,   121,     0,     0,   121,     0,
3469        0,   261,   261,     0,     0,     0,     0,     0,     0,   121,
3470      121,   121,     0,     0,     0,     0,   124,   124,   124,     0,
3471      124,     0,     0,   684,     0,     0,     0,     0,   521,     0,
3472      566,     0,   121,     0,   124,   124,   124,     0,     0,     0,
3473        0,     0,     0,     0,     0,   121,     0,     0,     0,     0,
3474        0,     0,     0,     0,     0,   124,     0,   574,     0,     0,
3475        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3476      574,   742,     0,     0,     0,     0,     0,     0,     0,   257,
3477        0,     0,     0,     0,  1159,     0,     0,     0,  2052,     0,
3478        1,   301,   105,   302,     0,   303,   304,     0,     0,     0,
3479        0,     0,     0,  1159,     0,     0,     0,     0,  1164,     0,
3480     1159,  1879,     0,  1164,  1638,     2,  2048,     0,  2050,     0,
3481        0,     0,     0,     0,  1164,  2054,     0,     0,     0,   257,
3482        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3483        0,   257,     0,     0,     0,   257,     0,  1182,     0,   256,
3484        0,     0,   305,     0,     0,   121,     0,     0,   306,   307,
3485      308,   566,     0,     0,     0,     0,     0,     0,     0,     0,
3486        0,   309,   310,   257,   257,     0,   737,     0,     0,     0,
3487      684,     0,     0,     0,     0,   311,   684,     0,     0,   312,
3488      313,   314,   315,   316,   317,   318,   319,     0,     0,   478,
3489        0,     0,     0,     0,   320,     0,     0,   321,  1162,   322,
3490     1897,   478,  1163,     0,     0,   478,     0,   323,   324,     0,
3491      325,   326,   327,   328,     0,     0,     0,     0,     0,     0,
3492        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3493        0,     0,     0,   256,   256,     0,     0,     0,     0,     0,
3494        0,   257,     0,     0,   257,   257,   257,     0,     0,     0,
3495        0,     0,     0,     0,     0,     0,     0,     0,     0,  2110,
3496     2113,     0,  1159,  1164,  1159,   257,     0,   568,  1159,  1879,
3497        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3498        0,     0,     0,     0,   257,     0,     0,     0,     0,     0,
3499      257,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3500        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3501        0,   606,     0,     0,   256,   256,   256,     0,     0,     0,
3502        0,     0,     0,     0,  1159,  1164,     0,  1159,  1879,     0,
3503        0,     0,  2157,     0,     0,   256,   161,     0,   566,     0,
3504        0,     0,     0,     0,     0,   566,     0,     0,     0,     0,
3505      566,     0,     0,     0,   716,     0,     0,     0,     0,     0,
3506      716,     0,     0,   574,     0,     0,     0,     0,     0,     0,
3507      574,  1159,     0,     0,     0,   124,     0,     0,     0,     0,
3508        0,     0,     0,     0,     0,     0,     0,     0,     0,   121,
3509        0,     0,     0,     0,     0,     0,     0,     0,   121,   257,
3510        0,     0,     0,   566,     0,     0,     0,     0,     0,   121,
3511      257,     0,     0,     0,   124,     0,     0,     0,     0,   566,
3512        0,     0,     0,   574,     0,     0,     0,     0,   574,     0,
3513        0,     0,     0,     0,   124,     0,     0,     0,     0,     0,
3514        0,     0,     0,     0,   574,     0,     0,     0,     0,     0,
3515        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3516        0,     0,   257,   568,     0,     0,   566,     0,     0,   875,
3517        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3518      875,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3519        0,   574,   300,     0,     1,   301,   105,   302,     0,   303,
3520      304,     0,     0,     0,   257,     0,     0,     0,     0,     0,
3521        0,   257,   121,   121,   257,   568,     0,     0,     0,     2,
3522        0,     0,   121,     0,   121,     0,     0,     0,     0,     0,
3523        0,     0,   966,     0,     0,     0,     0,   124,   124,     0,
3524        0,     0,     0,     0,     0,     0,     0,   574,     0,   574,
3525        0,     0,     0,     0,     0,   568,   305,     0,     0,     0,
3526        0,     0,   306,   307,   308,     0,     0,     0,     0,     0,
3527        0,     0,     0,     0,   256,   309,   310,     0,     0,     0,
3528        0,   256,     0,     0,   256,     0,     0,     0,     0,   311,
3529        0,     0,     0,   312,   313,   314,   315,   316,   317,   318,
3530      319,     0,     0,     0,     0,     0,     0,     0,   320,     0,
3531        0,   321,  2117,   322,  2118,     0,  1158,     0,     0,     0,
3532        0,   323,   324,     0,   325,   326,   327,   328,     0,     0,
3533        0,     0,     0,     0,     0,   262,     0,     0,   257,   257,
3534      257,   257,     0,     0,   121,     0,   121,     0,     0,     0,
3535        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3536        0,     0,     0,     0,     0,     0,   257,   257,   257,   684,
3537        0,   684,     0,     0,     0,     0,     0,     0,     0,     0,
3538        0,     0,     0,     0,     0,   262,     0,     0,     0,     0,
3539        0,     0,   257,     0,     0,     0,     0,   262,     0,   257,
3540      257,   262,     0,   257,   257,     0,     0,     0,   256,   256,
3541      256,   256,     0,     0,     0,     0,     0,     0,     0,     0,
3542        0,     0,     0,     0,   257,     0,     0,     0,     0,   262,
3543      262,   257,     0,     0,   257,     0,   256,   256,   256,     0,
3544        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3545        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3546        0,     0,   256,     0,     0,     0,     0,     0,     0,  1229,
3547     1239,     0,     0,  1229,  1239,     0,     0,     0,     0,     0,
3548        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
3549        0,     0,     0,     0,   256,     0,     0,     0,     0,     0,
3550        0,   256,     0,     0,   256,     0,     0,   262,     2,     0,
3551      262,   262,   262,     0,     8,     9,    10,    11,    12,    13,
3552       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
3553       24,   262,     0,     0,     0,     0,     0,     0,     0,     0,
3554        0,     0,     0,     0,     0,     0,    27,     0,     0,     0,
3555      262,     0,     0,     0,    28,    29,   262,   257,     0,    32,
3556        0,     0,    35,    36,     0,    37,    38,    39,   257,     0,
3557        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3558       40,     0,     0,     0,   568,     0,     0,     0,     0,     0,
3559       43,    44,    45,    46,    47,    48,     0,    50,     0,     0,
3560      864,     0,     0,     0,     0,     0,     0,     0,     0,   121,
3561        0,   563,     0,     0,     0,     0,   121,     0,     0,   568,
3562        0,     0,     0,   121,     0,     0,     0,  1446,   568,     0,
3563        0,     0,     0,     0,   574,   568,     0,     0,  1446,     0,
3564        0,   574,   568,     0,   121,     0,   566,     0,   124,   121,
3565        0,     0,   121,     0,     0,     0,     0,     0,     0,     0,
3566        0,     0,     0,     0,     0,   262,     0,     0,     0,   574,
3567        0,   574,     0,     0,   574,     0,   262,   574,   257,   257,
3568      257,     0,     0,     0,     0,     0,   257,     0,     0,     0,
3569        0,     0,     0,   568,     0,     0,     0,     0,     0,     0,
3570        0,     0,     0,     0,     0,     0,     0,     0,     0,   568,
3571        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3572        0,     0,     0,     0,     0,     0,     0,   121,   262,     0,
3573        0,     0,     0,     0,     0,   121,     0,     0,     0,     0,
3574        0,     0,     0,     0,     0,     0,   566,     0,   256,   256,
3575      256,     0,   124,     0,     0,     0,   606,     0,     0,     0,
3576      574,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3577      262,   574,     0,     0,     0,     0,     0,   262,     0,     0,
3578      262,     0,     0,     0,     0,     0,   257,     0,     0,   257,
3579        0,     0,   257,     0,     0,     0,     0,     0,     0,     0,
3580        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3581        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3582        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3583      257,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3584        0,     0,     0,     0,   257,   257,   257,   257,     0,     0,
3585        0,     0,     0,     0,     0,     0,   256,     0,     0,   256,
3586        0,     0,   256,     0,     0,     0,     0,   257,     0,   257,
3587        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3588        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3589        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3590      256,     0,   257,     0,   262,   262,   262,   262,     0,     0,
3591        0,     0,     0,     0,   256,   256,   256,   256,     0,     0,
3592        0,     0,   257,     0,     0,     0,     0,     0,     0,   257,
3593        0,     0,   262,   262,   262,     0,     0,   256,     0,   256,
3594        0,     0,     0,     0,     0,     0,     0,     0,   257,   257,
3595        0,   121,   121,     0,   121,   257,   257,     0,   262,   257,
3596      257,     0,     0,     0,     0,   262,   262,     0,     0,   262,
3597      262,     0,   606,     0,     0,     0,   574,   574,     0,   574,
3598        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3599      262,     0,  1727,     0,     0,     0,     0,   262,     0,  1727,
3600      262,     0,     0,     0,     0,     0,     0,     0,   121,     0,
3601        0,     0,     0,     0,     0,     0,     0,     0,   256,   256,
3602        0,     0,     0,     0,     0,   256,   256,     0,   758,   256,
3603      256,     0,     0,   124,   759,   760,   761,  -363,  -363,  -363,
3604     -363,  -363,  -363,  -363,  -363,     0,     0,     0,     0,     0,
3605        0,     0,     0,     0,     0,  -363,  -363,  -363,  -363,  -363,
3606     -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,
3607     -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,     0,     0,
3608        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3609        0,     0,     0,  -363,     0,     0,     0,     0,     0,     0,
3610        0,  -363,  -363,     0,     0,     0,  -363,     0,     0,     0,
3611        0,     0,  -363,  -363,  -363,     0,     0,     0,     0,     0,
3612        0,     0,     0,   262,     0,     0,     0,  -363,     0,     0,
3613        0,     0,     0,     0,   262,     0,     0,  -363,  -363,  -363,
3614     -363,  -363,  -363,  -363,  -363,  -363,  -363,   762,     0,     0,
3615     -363,  1550,  -363,  -363,     0,   763,     0,     0,   764,     0,
3616     -363,  -363,  -363,   257,  -363,  -363,  -363,  -363,  -363,     0,
3617        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3618        0,     0,     0,     0,     0,     0,     0,   300,     0,     1,
3619      301,   105,   302,     0,   303,   304,     0,     0,     0,     0,
3620        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3621        0,     0,     0,     0,     2,     0,     0,     0,     0,     0,
3622        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3623        0,     0,     0,   256,     0,     0,   568,     0,     0,     0,
3624        0,     0,     0,     0,   262,   262,   262,     0,     0,     0,
3625        0,   305,   262,     0,     0,     0,     0,   306,   307,   308,
3626        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3627      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
3628      257,   257,     0,     0,   311,     0,   257,   257,   312,   313,
3629      314,   315,   316,   317,   318,   319,     0,     0,     0,   257,
3630        0,     0,   257,   320,     0,     0,   321,  1162,   322,  2116,
3631      257,  1163,     0,     0,     0,     0,   323,   324,     0,   325,
3632      326,   327,   328,     0,     0,     0,     0,     0,     0,     0,
3633        0,     0,     0,     0,     0,     0,   568,   300,     0,     1,
3634      301,   105,   302,     0,   303,   304,     0,     0,     0,     0,
3635      256,   256,   262,     0,     0,   262,   256,   256,   262,     0,
3636        0,     0,     0,     0,     2,     0,     0,     0,     0,   256,
3637        0,     0,   256,     0,     0,     0,     0,     0,     0,     0,
3638      256,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3639        0,     0,     0,     0,     0,     0,   262,     0,     0,     0,
3640        0,   305,     0,     0,     0,     0,     0,   306,   307,   308,
3641      262,   262,   262,   262,     0,     0,     0,     0,     0,     0,
3642      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
3643        0,     0,     0,   262,   311,   262,     0,     0,   312,   313,
3644      314,   315,   316,   317,   318,   319,     0,     0,     0,     0,
3645        0,     0,     0,   320,     0,     0,   321,     0,   322,  1157,
3646        0,  1158,     0,     0,     0,     0,   323,   324,   262,   325,
3647      326,   327,   328,     0,     0,     0,     0,     0,     0,     0,
3648        0,     0,   257,   257,     0,     0,     0,     0,   262,     0,
3649        0,     0,     0,     0,     0,   262,     0,     0,     0,     0,
3650        0,     0,   616,     0,     0,     0,     0,     0,     0,     0,
3651        0,     0,     0,     0,   262,   262,     0,     0,     0,     0,
3652        0,   262,   262,     0,     0,   262,   262,     0,     0,     2,
3653      199,   200,   201,   202,   203,   232,   233,   234,   235,   236,
3654      237,   238,   239,   240,   241,    18,    19,   242,   243,    22,
3655       23,    24,   256,   256,     0,     0,     0,     0,     0,     0,
3656      257,   257,     0,     0,     0,     0,     0,   244,     0,     0,
3657        0,     0,     0,     0,   568,    28,    29,     0,     0,     0,
3658       32,     0,     0,     0,     0,     0,   245,    38,   246,     0,
3659        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3660        0,   247,     0,     0,     0,     0,     0,     0,     0,     0,
3661        0,    43,    44,   248,   249,   250,   251,   205,     0,     0,
3662        0,     0,     0,     0,     0,     0,     0,     0,   252,     0,
3663      256,   256,  -363,   758,     0,  -363,  -363,  -363,  -363,   759,
3664      760,   761,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,
3665     -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,
3666     -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,
3667     -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,
3668     -363,  -363,  -363,     0,  -363,  -363,  -363,  -363,  -363,  -363,
3669     -363,  -363,  -363,  -363,  -363,     0,     0,  -363,  -363,     0,
3670     -363,     0,     0,  -363,  -363,  -363,  -363,  -363,     0,     0,
3671     -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,
3672     -363,  -363,  -363,  -363,  -363,  -363,  -363,     0,  -363,   262,
3673     -363,  -363,  -363,     0,  -363,  -363,  -363,  -363,  -363,  -363,
3674     -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,
3675     -363,  -363,   762,  -363,  -363,  -363,  -363,  -363,  -363,  -363,
3676      763,  -363,  -363,   764,  -363,  -363,  -363,  -363,  -363,  -363,
3677     -363,  -363,  -363,  -363,     0,     0,     2,   199,   200,   201,
3678      202,   203,   232,   233,   234,   235,   236,   237,   238,   239,
3679      240,   241,    18,    19,   242,   243,    22,    23,    24,     0,
3680        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3681        0,     0,     0,     0,   244,     0,     0,     0,     0,     0,
3682        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
3683        0,     0,     0,   245,    38,   246,     0,     0,     0,     0,
3684        0,     0,     0,     0,     0,     0,   262,   262,   247,     0,
3685        0,     0,   262,   262,     0,     0,     0,     0,    43,    44,
3686      248,   249,   250,   251,   205,   262,     0,     0,   262,     0,
3687        0,     0,     0,     0,  -365,  1210,   262,  -365,  -365,  -365,
3688     -365,  1211,  1212,  1213,  -365,  -365,  -365,  -365,  -365,  -365,
3689     -365,  -365,  -365,  -365,  -365,  -365,  -365,  -365,  -365,  -365,
3690     -365,  -365,  -365,  -365,  -365,  -365,  -365,  -365,  -365,  -365,
3691     -365,  -365,  -365,  -365,  -365,  -365,  -365,  -365,  -365,  -365,
3692     -365,  -365,  -365,  -365,  -365,     0,  -365,  -365,  -365,  -365,
3693     -365,  -365,  -365,  -365,  -365,  -365,  -365,     0,     0,  -365,
3694     -365,     0,  -365,     0,     0,  -365,  -365,  -365,  -365,  -365,
3695        0,     0,  -365,  -365,  -365,  -365,  -365,  -365,  -365,  -365,
3696     -365,  -365,  -365,  -365,  -365,  -365,  -365,  -365,  -365,     0,
3697     -365,     0,  -365,  -365,  -365,     0,  -365,  -365,  -365,  -365,
3698     -365,  -365,  -365,  -365,  -365,  -365,  -365,  -365,  -365,  -365,
3699     -365,  -365,  -365,  -365,  1214,  -365,  -365,  -365,  -365,  -365,
3700     -365,  -365,  1215,  -365,  -365,  1216,  -365,  -365,  -365,  -365,
3701     -365,  -365,  -365,  -365,  -365,  -365,     0,     0,     0,     0,
3702        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3703        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3704        0,     0,     0,     0,     0,     0,     0,     0,   262,   262,
3705     -470,  1155,     0,  -470,  -470,  -470,  -470,  -470,  -470,  -470,
3706     -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,
3707     -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,
3708     -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,
3709     -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,
3710     -470,     0,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,
3711     -470,  -470,  -470,     0,     0,  -470,  -470,     0,  -470,     0,
3712        0,  -470,  -470,  -470,  -470,  -470,   262,   262,  -470,  -470,
3713     -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,
3714     -470,  -470,  -470,  -470,  -470,     0,  -470,     0,  -470,  -470,
3715     -470,     0,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,
3716     -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,
3717     -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,
3718     -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,
3719     -470,  -470,  -303,   300,     0,     1,   301,   105,   302,  -303,
3720      303,   304,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,
3721     -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,
3722        2,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,
3723     -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,
3724     -303,  -303,  -303,     0,  -303,  -303,  -303,  -303,  -303,  -303,
3725     -303,  -303,  -303,  -303,  -303,     0,     0,   305,  -303,     0,
3726     -303,     0,     0,   306,   307,   308,  -303,  -303,     0,     0,
3727     -303,  -303,  -303,  -303,  -303,  -303,   309,   310,  -303,  -303,
3728     -303,  -303,  -303,  -303,  -303,  -303,  -303,     0,  -303,     0,
3729      311,  -303,  -303,     0,   312,   313,   314,   315,   316,   317,
3730      318,   319,  -303,  -303,  -303,  -303,  -303,  -303,  -303,   320,
3731     -303,  -303,   321,  1260,   322,  -303,  -303,  1158,  -303,  -303,
3732     -303,  -303,   323,   324,  -303,   325,   326,   327,   328,  -303,
3733     -303,  -303,  -303,  -303,  -304,   300,     0,     1,   301,   105,
3734      302,  -304,   303,   304,  -304,  -304,  -304,  -304,  -304,  -304,
3735     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3736     -304,  -304,     2,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3737     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3738     -304,  -304,  -304,  -304,  -304,     0,  -304,  -304,  -304,  -304,
3739     -304,  -304,  -304,  -304,  -304,  -304,  -304,     0,     0,   305,
3740     -304,     0,  -304,     0,     0,   306,   307,   308,  -304,  -304,
3741        0,     0,  -304,  -304,  -304,  -304,  -304,  -304,   309,   310,
3742     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,     0,
3743     -304,     0,   311,  -304,  -304,     0,   312,   313,   314,   315,
3744      316,   317,   318,   319,  -304,  -304,  -304,  -304,  -304,  -304,
3745     -304,   320,  -304,  -304,   321,  1162,   322,  -304,  -304,  1163,
3746     -304,  -304,  -304,  -304,   323,   324,  -304,   325,   326,   327,
3747      328,  -304,  -304,  -304,  -304,  -304,  -599,   300,     0,     1,
3748      301,   105,   302,  -599,   303,   304,  -599,  -599,  -599,  -599,
3749     -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,
3750     -599,  -599,  -599,  -599,     2,  -599,  -599,  -599,  -599,  -599,
3751     -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,
3752     -599,  -599,  -599,  -599,  -599,  -599,  -599,     0,  -599,  -599,
3753     -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,     0,
3754        0,   305,  -599,     0,  -599,     0,     0,   306,   307,   308,
3755     -599,  -599,     0,     0,  -599,  -599,  -599,  -599,  -599,  -599,
3756      309,   310,  -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,
3757     -599,     0,  -599,     0,   311,  -599,  -599,     0,   312,   313,
3758      314,   315,   316,   317,   318,   319,  -599,  -599,  -599,  -599,
3759     -599,  -599,  -599,   320,  -599,  -599,   321,  -599,   322,  -599,
3760     -599,  -599,  -599,   746,  -599,  1341,   323,   324,  -599,   325,
3761      326,   327,   328,  -599,  -599,  -599,  -599,  -599,  -600,   300,
3762        0,     1,   301,   105,   302,  -600,   303,   304,  -600,  -600,
3763     -600,  -600,  -600,  -600,  -600,  -600,  -600,  -600,  -600,  -600,
3764     -600,  -600,  -600,  -600,  -600,  -600,     2,  -600,  -600,  -600,
3765     -600,  -600,  -600,  -600,  -600,  -600,  -600,  -600,  -600,  -600,
3766     -600,  -600,  -600,  -600,  -600,  -600,  -600,  -600,  -600,     0,
3767     -600,  -600,  -600,  -600,  -600,  -600,  -600,  -600,  -600,  -600,
3768     -600,     0,     0,   305,  -600,     0,  -600,     0,     0,   306,
3769      307,   308,  -600,  -600,     0,     0,  -600,  -600,  -600,  -600,
3770     -600,  -600,   309,   310,  -600,  -600,  -600,  -600,  -600,  -600,
3771     -600,  -600,  -600,     0,  -600,     0,   311,  -600,  -600,     0,
3772      312,   313,   314,   315,   316,   317,   318,   319,  -600,  -600,
3773     -600,  -600,  -600,  -600,  -600,   320,  -600,  -600,   321,  -600,
3774      322,  -600,  -600,  -600,  -600,   746,  -600,  1407,   323,   324,
3775     -600,   325,   326,   327,   328,  -600,  -600,  -600,  -600,  -600,
3776     -610,   300,     0,     1,   301,   105,   302,  -610,   303,   304,
3777     -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,
3778     -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,     2,  -610,
3779     -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,
3780     -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,
3781     -610,     0,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,
3782     -610,  -610,  -610,     0,     0,   305,  -610,     0,  -610,     0,
3783        0,   306,   307,   308,  -610,  -610,     0,     0,  -610,  -610,
3784     -610,  -610,  -610,  -610,   309,   310,  -610,  -610,  -610,  -610,
3785     -610,  -610,  -610,  -610,  -610,     0,  -610,     0,   311,  -610,
3786     -610,     0,   312,   313,   314,   315,   316,   317,   318,   319,
3787     -610,  -610,  -610,  -610,  -610,  -610,  -610,   320,  -610,  -610,
3788      321,  -610,   322,  -610,  -610,  1158,  -610,  -610,  -610,  -610,
3789      323,   324,  -610,   325,   326,   327,   328,  -610,  -610,  -610,
3790     -610,  -610,  -612,   300,     0,     1,   301,   105,   302,  -612,
3791      303,   304,  -612,  -612,  -612,  -612,  -612,  -612,  -612,  -612,
3792     -612,  -612,  -612,  -612,  -612,  -612,  -612,  -612,  -612,  -612,
3793        2,  -612,  -612,  -612,  -612,  -612,  -612,  -612,  -612,  -612,
3794     -612,  -612,  -612,  -612,  -612,  -612,  -612,  -612,  -612,  -612,
3795     -612,  -612,  -612,     0,  -612,  -612,  -612,  -612,  -612,  -612,
3796     -612,  -612,  -612,  -612,  -612,     0,     0,   305,  -612,     0,
3797     -612,     0,     0,   306,   307,   308,  -612,  -612,     0,     0,
3798     -612,  -612,  -612,  -612,  -612,  -612,   309,   310,  -612,  -612,
3799     -612,  -612,  -612,  -612,  -612,  -612,  -612,     0,  -612,     0,
3800      311,  -612,  -612,     0,   312,   313,   314,   315,   316,   317,
3801      318,   319,  -612,  -612,  -612,  -612,  -612,  -612,  -612,   320,
3802     -612,  -612,   321,  1162,   322,  -612,  -612,  1163,  -612,  -612,
3803     -612,  -612,   323,   324,  -612,   325,   326,   327,   328,  -612,
3804     -612,  -612,  -612,  -612,  -611,   300,     0,     1,   301,   105,
3805      302,  -611,   303,   304,  -611,  -611,  -611,  -611,  -611,  -611,
3806     -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,
3807     -611,  -611,     2,  -611,  -611,  -611,  -611,  -611,  -611,  -611,
3808     -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,
3809     -611,  -611,  -611,  -611,  -611,     0,  -611,  -611,  -611,  -611,
3810     -611,  -611,  -611,  -611,  -611,  -611,  -611,     0,     0,   305,
3811     -611,     0,  -611,     0,     0,   306,   307,   308,  -611,  -611,
3812        0,     0,  -611,  -611,  -611,  -611,  -611,  -611,   309,   310,
3813     -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,     0,
3814     -611,     0,   311,  -611,  -611,     0,   312,   313,   314,   315,
3815      316,   317,   318,   319,  -611,  -611,  -611,  -611,  -611,  -611,
3816     -611,   320,  -611,  -611,   321,  -611,   322,  -611,  -611,  1158,
3817     -611,  -611,  -611,  -611,   323,   324,  -611,   325,   326,   327,
3818      328,  -611,  -611,  -611,  -611,  -611,  -356,  1922,     0,  -356,
3819     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3820     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3821     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3822     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3823     -356,  -356,  -356,  -356,  -356,  -356,  -356,     0,  -356,  -356,
3824     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,     0,
3825        0,  -356,  -356,     0,  -356,     0,     0,  -356,  -356,  -356,
3826     -356,  -356,     0,     0,  -356,  -356,  -356,  -356,  -356,  -356,
3827     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3828     -356,     0,  -356,     0,  -356,  -356,  -356,     0,  -356,  -356,
3829     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3830     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3831     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3832     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -361,  1965,
3833        0,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
3834     -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
3835     -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
3836     -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
3837     -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,     0,
3838     -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
3839     -361,     0,     0,  -361,  -361,     0,  -361,     0,     0,  -361,
3840     -361,  -361,  -361,  -361,     0,     0,  -361,  -361,  -361,  -361,
3841     -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
3842     -361,  -361,  -361,     0,  -361,     0,  -361,  -361,  -361,     0,
3843     -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
3844     -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
3845     -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
3846     -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
3847     -349,   300,     0,     1,   301,   105,   302,  -349,   303,   304,
3848     -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,
3849     -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,     2,  -349,
3850     -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,
3851     -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,
3852     -349,     0,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,
3853     -349,  -349,  -349,     0,     0,   305,  -349,     0,  -349,     0,
3854        0,   306,   307,   308,  -349,  -349,     0,     0,  -349,  -349,
3855     -349,  -349,  -349,  -349,   309,   310,  -349,  -349,  -349,  -349,
3856     -349,  -349,  -349,  -349,  -349,     0,  -349,     0,   311,  -349,
3857     -349,     0,   312,   313,   314,   315,   316,   317,   318,   319,
3858     -349,  -349,  -349,  -349,  -349,  -349,  -349,   320,  -349,  -349,
3859      321,  -349,   322,  -349,  -349,  -349,  -349,   746,  -349,  -349,
3860      323,   324,  -349,   325,   326,   327,   328,  -349,  -349,  -349,
3861     -349,  -349,  -577,   300,     0,     1,   301,   105,   302,  -577,
3862      303,   304,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3863     -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3864        2,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3865     -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3866     -577,  -577,  -577,     0,  -577,  -577,  -577,  -577,  -577,  -577,
3867     -577,  -577,  -577,  -577,  -577,     0,     0,   305,  -577,     0,
3868     -577,     0,     0,   306,   307,   308,  -577,  -577,     0,     0,
3869     -577,  -577,  -577,  -577,  -577,  -577,   309,   310,  -577,  -577,
3870     -577,  -577,  -577,  -577,  -577,  -577,  -577,     0,  -577,     0,
3871      311,  -577,  -577,     0,   312,   313,   314,   315,   316,   317,
3872      318,   319,  -577,  -577,  -577,  -577,  -577,  -577,  -577,   320,
3873     -577,  -577,   321,  -577,   322,  -577,  -577,  -577,  -577,   746,
3874     -577,  -577,   323,   324,  -577,   325,   326,   327,   328,  -577,
3875     -577,  -577,  -577,  -577,  -585,   300,     0,     1,   301,   105,
3876      302,  -585,   303,   304,  -585,  -585,  -585,  -585,  -585,  -585,
3877     -585,  -585,  -585,  -585,  -585,  -585,  -585,  -585,  -585,  -585,
3878     -585,  -585,     2,  -585,  -585,  -585,  -585,  -585,  -585,  -585,
3879     -585,  -585,  -585,  -585,  -585,  -585,  -585,  -585,  -585,  -585,
3880     -585,  -585,  -585,  -585,  -585,     0,  -585,  -585,  -585,  -585,
3881     -585,  -585,  -585,  -585,  -585,  -585,  -585,     0,     0,   305,
3882     -585,     0,  -585,     0,     0,   306,   307,   308,  -585,  -585,
3883        0,     0,  -585,  -585,  -585,  -585,  -585,  -585,   309,   310,
3884     -585,  -585,  -585,  -585,  -585,  -585,  -585,  -585,  -585,     0,
3885     -585,     0,   311,  -585,  -585,     0,   312,   313,   314,   315,
3886      316,   317,   318,   319,  -585,  -585,  -585,  -585,  -585,  -585,
3887     -585,   320,  -585,  -585,   321,  -585,   322,  -585,  -585,  -585,
3888     -585,   746,  -585,  -585,   323,   324,  -585,   325,   326,   327,
3889      328,  -585,  -585,  -585,  -585,  -585,  -578,   300,     0,     1,
3890      301,   105,   302,  -578,   303,   304,  -578,  -578,  -578,  -578,
3891     -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,
3892     -578,  -578,  -578,  -578,     2,  -578,  -578,  -578,  -578,  -578,
3893     -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,
3894     -578,  -578,  -578,  -578,  -578,  -578,  -578,     0,  -578,  -578,
3895     -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,     0,
3896        0,   305,  -578,     0,  -578,     0,     0,   306,   307,   308,
3897     -578,  -578,     0,     0,  -578,  -578,  -578,  -578,  -578,  -578,
3898      309,   310,  -578,  -578,  -578,  -578,  -578,  -578,  -578,  -578,
3899     -578,     0,  -578,     0,   311,  -578,  -578,     0,   312,   313,
3900      314,   315,   316,   317,   318,   319,  -578,  -578,  -578,  -578,
3901     -578,  -578,  -578,   320,  -578,  -578,   321,  -578,   322,  -578,
3902     -578,  -578,  -578,   746,  -578,  -578,   323,   324,  -578,   325,
3903      326,   327,   328,  -578,  -578,  -578,  -578,  -578,  -586,   300,
3904        0,     1,   301,   105,   302,  -586,   303,   304,  -586,  -586,
3905     -586,  -586,  -586,  -586,  -586,  -586,  -586,  -586,  -586,  -586,
3906     -586,  -586,  -586,  -586,  -586,  -586,     2,  -586,  -586,  -586,
3907     -586,  -586,  -586,  -586,  -586,  -586,  -586,  -586,  -586,  -586,
3908     -586,  -586,  -586,  -586,  -586,  -586,  -586,  -586,  -586,     0,
3909     -586,  -586,  -586,  -586,  -586,  -586,  -586,  -586,  -586,  -586,
3910     -586,     0,     0,   305,  -586,     0,  -586,     0,     0,   306,
3911      307,   308,  -586,  -586,     0,     0,  -586,  -586,  -586,  -586,
3912     -586,  -586,   309,   310,  -586,  -586,  -586,  -586,  -586,  -586,
3913     -586,  -586,  -586,     0,  -586,     0,   311,  -586,  -586,     0,
3914      312,   313,   314,   315,   316,   317,   318,   319,  -586,  -586,
3915     -586,  -586,  -586,  -586,  -586,   320,  -586,  -586,   321,  -586,
3916      322,  -586,  -586,  -586,  -586,   746,  -586,  -586,   323,   324,
3917     -586,   325,   326,   327,   328,  -586,  -586,  -586,  -586,  -586,
3918     -579,   300,     0,     1,   301,   105,   302,  -579,   303,   304,
3919     -579,  -579,  -579,  -579,  -579,  -579,  -579,  -579,  -579,  -579,
3920     -579,  -579,  -579,  -579,  -579,  -579,  -579,  -579,     2,  -579,
3921     -579,  -579,  -579,  -579,  -579,  -579,  -579,  -579,  -579,  -579,
3922     -579,  -579,  -579,  -579,  -579,  -579,  -579,  -579,  -579,  -579,
3923     -579,     0,  -579,  -579,  -579,  -579,  -579,  -579,  -579,  -579,
3924     -579,  -579,  -579,     0,     0,   305,  -579,     0,  -579,     0,
3925        0,   306,   307,   308,  -579,  -579,     0,     0,  -579,  -579,
3926     -579,  -579,  -579,  -579,   309,   310,  -579,  -579,  -579,  -579,
3927     -579,  -579,  -579,  -579,  -579,     0,  -579,     0,   311,  -579,
3928     -579,     0,   312,   313,   314,   315,   316,   317,   318,   319,
3929     -579,  -579,  -579,  -579,  -579,  -579,  -579,   320,  -579,  -579,
3930      321,  -579,   322,  -579,  -579,  -579,  -579,   746,  -579,  -579,
3931      323,   324,  -579,   325,   326,   327,   328,  -579,  -579,  -579,
3932     -579,  -579,  -587,   300,     0,     1,   301,   105,   302,  -587,
3933      303,   304,  -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,
3934     -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,
3935        2,  -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,
3936     -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,
3937     -587,  -587,  -587,     0,  -587,  -587,  -587,  -587,  -587,  -587,
3938     -587,  -587,  -587,  -587,  -587,     0,     0,   305,  -587,     0,
3939     -587,     0,     0,   306,   307,   308,  -587,  -587,     0,     0,
3940     -587,  -587,  -587,  -587,  -587,  -587,   309,   310,  -587,  -587,
3941     -587,  -587,  -587,  -587,  -587,  -587,  -587,     0,  -587,     0,
3942      311,  -587,  -587,     0,   312,   313,   314,   315,   316,   317,
3943      318,   319,  -587,  -587,  -587,  -587,  -587,  -587,  -587,   320,
3944     -587,  -587,   321,  -587,   322,  -587,  -587,  -587,  -587,   746,
3945     -587,  -587,   323,   324,  -587,   325,   326,   327,   328,  -587,
3946     -587,  -587,  -587,  -587,  -580,   300,     0,     1,   301,   105,
3947      302,  -580,   303,   304,  -580,  -580,  -580,  -580,  -580,  -580,
3948     -580,  -580,  -580,  -580,  -580,  -580,  -580,  -580,  -580,  -580,
3949     -580,  -580,     2,  -580,  -580,  -580,  -580,  -580,  -580,  -580,
3950     -580,  -580,  -580,  -580,  -580,  -580,  -580,  -580,  -580,  -580,
3951     -580,  -580,  -580,  -580,  -580,     0,  -580,  -580,  -580,  -580,
3952     -580,  -580,  -580,  -580,  -580,  -580,  -580,     0,     0,   305,
3953     -580,     0,  -580,     0,     0,   306,   307,   308,  -580,  -580,
3954        0,     0,  -580,  -580,  -580,  -580,  -580,  -580,   309,   310,
3955     -580,  -580,  -580,  -580,  -580,  -580,  -580,  -580,  -580,     0,
3956     -580,     0,   311,  -580,  -580,     0,   312,   313,   314,   315,
3957      316,   317,   318,   319,  -580,  -580,  -580,  -580,  -580,  -580,
3958     -580,   320,  -580,  -580,   321,  -580,   322,  -580,  -580,  -580,
3959     -580,   746,  -580,  -580,   323,   324,  -580,   325,   326,   327,
3960      328,  -580,  -580,  -580,  -580,  -580,  -588,   300,     0,     1,
3961      301,   105,   302,  -588,   303,   304,  -588,  -588,  -588,  -588,
3962     -588,  -588,  -588,  -588,  -588,  -588,  -588,  -588,  -588,  -588,
3963     -588,  -588,  -588,  -588,     2,  -588,  -588,  -588,  -588,  -588,
3964     -588,  -588,  -588,  -588,  -588,  -588,  -588,  -588,  -588,  -588,
3965     -588,  -588,  -588,  -588,  -588,  -588,  -588,     0,  -588,  -588,
3966     -588,  -588,  -588,  -588,  -588,  -588,  -588,  -588,  -588,     0,
3967        0,   305,  -588,     0,  -588,     0,     0,   306,   307,   308,
3968     -588,  -588,     0,     0,  -588,  -588,  -588,  -588,  -588,  -588,
3969      309,   310,  -588,  -588,  -588,  -588,  -588,  -588,  -588,  -588,
3970     -588,     0,  -588,     0,   311,  -588,  -588,     0,   312,   313,
3971      314,   315,   316,   317,   318,   319,  -588,  -588,  -588,  -588,
3972     -588,  -588,  -588,   320,  -588,  -588,   321,  -588,   322,  -588,
3973     -588,  -588,  -588,   746,  -588,  -588,   323,   324,  -588,   325,
3974      326,   327,   328,  -588,  -588,  -588,  -588,  -588,  -358,  2069,
3975        0,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,
3976     -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,
3977     -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,
3978     -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,
3979     -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,     0,
3980     -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,
3981     -358,     0,     0,  -358,  -358,     0,  -358,     0,     0,  -358,
3982     -358,  -358,  -358,  -358,     0,     0,  -358,  -358,  -358,  -358,
3983     -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,
3984     -358,  -358,  -358,     0,  -358,     0,  -358,  -358,  -358,     0,
3985     -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,
3986     -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,
3987     -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,
3988     -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,
3989     -357,  2070,     0,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3990     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3991     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3992     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3993     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3994     -357,     0,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3995     -357,  -357,  -357,     0,     0,  -357,  -357,     0,  -357,     0,
3996        0,  -357,  -357,  -357,  -357,  -357,     0,     0,  -357,  -357,
3997     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3998     -357,  -357,  -357,  -357,  -357,     0,  -357,     0,  -357,  -357,
3999     -357,     0,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
4000     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
4001     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
4002     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
4003     -357,  -357,  -363,   758,     0,  -363,  -363,  -363,  -363,   759,
4004      760,   761,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,
4005     -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,
4006     -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,
4007     -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,
4008     -363,  -363,  -363,     0,  -363,  -363,  -363,  -363,  -363,  -363,
4009     -363,  -363,  -363,  -363,  -363,     0,     0,  -363,  -363,     0,
4010     -363,     0,     0,  -363,  -363,  -363,  -363,  -363,     0,     0,
4011     -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,
4012     -363,  -363,  -363,  -363,  -363,  -363,  -363,     0,  -363,     0,
4013     -363,  -363,  -363,     0,  -363,  -363,  -363,  -363,  -363,  -363,
4014     -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,  -363,
4015     -363,  -363,   762,  -363,  -363,  -363,  -363,  -363,  -363,  -363,
4016     1153,  -363,  -363,   764,     0,  -363,  -363,  -363,  -363,  -363,
4017     -363,  -363,  -363,  -363,  -478,     0,  -478,  -478,  -478,  -478,
4018     -478,  -478,  -478,  -478,  -478,  -478,  -478,  -478,  -478,  -478,
4019     -478,  -478,  -478,  -478,  -478,  -478,  -478,  -478,  -478,  -478,
4020     -478,  -478,     0,     0,     0,     0,     0,     0,     0,     0,
4021        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4022        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4023        0,     0,     0,     0,     0,     0,     0,     0,  -478,     0,
4024        0,     0,     0,     0,  -478,  -478,  -478,     0,     0,     0,
4025        0,     0,     0,     0,     0,     0,     0,  -478,  -478,     0,
4026        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4027        0,  -478,     0,     0,     0,  -478,  -478,  -478,  -478,  -478,
4028     -478,  -478,  -478,     0,     0,     0,     0,     0,     0,     0,
4029     -478,  -478,  -478,  -478,  -478,  -478,  -478,  -478,  -478,     0,
4030        0,  -478,     0,  -478,  -478,     0,  -478,  -478,  -478,  -478,
4031     -478,  -478,  -478,  -478,  -478,  -478,     0,  -478,  -478,  -478,
4032     -478,  -478,  -478,  -478,  -478,  -478,  -478,  -478,  -478,  -478,
4033     -478,  -478,  -478,  -478,  -478,  -478,  -478,  -478,  -478,  -478,
4034     -478,  -478,  -478,     0,     0,     0,     0,     0,     0,     0,
4035        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4036        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4037        0,     0,     0,     0,     0,     0,     0,     0,     0,  -478,
4038        0,     0,     0,     0,     0,  -478,  -478,  -478,     0,     0,
4039        0,     0,     0,     0,     0,     0,     0,     0,  -478,  -478,
4040        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4041        0,     0,  -478,     0,     0,     0,  -478,  -478,  -478,  -478,
4042     -478,  -478,  -478,  -478,     0,     0,     0,     0,     0,     0,
4043        0,  -478,  -478,  -478,  -478,  -478,  -478,     0,  -478,  -478,
4044        0,     0,  -478,     0,  -478,  -478,     0,  -478,  -478,  -478,
4045     -478,  -478,  -478,  -478,  -478,  -478,  -470,  1155,     0,  -470,
4046     -470,  -470,  -470,     0,  -470,  -470,     0,     0,     0,     0,
4047        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4048        0,     0,     0,     0,  -470,  -470,  -470,  -470,  -470,  -470,
4049     -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,
4050     -470,  -470,  -470,  -470,  -470,  -470,  -470,     0,  -470,  -470,
4051     -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,     0,
4052        0,  -470,  -470,     0,  -470,     0,     0,  -470,  -470,  -470,
4053     -470,  -470,     0,     0,  -470,  -470,  -470,  -470,  -470,  -470,
4054     -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,
4055     -470,     0,  -470,     0,  -470,  -470,  -470,     0,  -470,  -470,
4056     -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,  -470,
4057     -470,  -470,  -470,  -470,     0,     0,  -470,  -470,  -470,  -470,
4058        0,  -470,  -470,  -470,  1156,  -470,  -470,  -470,     0,  -470,
4059     -470,  -470,  -470, -1116,   300,     0,     1,   301,   105,   302,
4060        0,   303,   304,     0,     0,     0,     0,     0,     0,     0,
4061        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4062        0,     2, -1116, -1116, -1116, -1116, -1116, -1116, -1116, -1116,
4063    -1116, -1116, -1116, -1116, -1116, -1116, -1116, -1116, -1116, -1116,
4064    -1116, -1116, -1116, -1116,     0, -1116, -1116, -1116, -1116, -1116,
4065    -1116, -1116, -1116, -1116, -1116, -1116,     0,     0,   305, -1116,
4066        0, -1116,     0,     0,   306,   307,   308, -1116, -1116,     0,
4067        0, -1116, -1116, -1116, -1116, -1116, -1116,   309,   310, -1116,
4068    -1116, -1116, -1116, -1116, -1116, -1116, -1116, -1116,     0, -1116,
4069        0,   311, -1116, -1116,     0,   312,   313,   314,   315,   316,
4070      317,   318,   319, -1116, -1116, -1116, -1116, -1116, -1116, -1116,
4071      320,     0,     0,   321,  1162,   322, -1116,     0,  1163, -1116,
4072    -1116,     0, -1116,   323,   324,     0,   325,   326,   327,   328,
4073    -1260,   300,     0,     1,   301,   105,   302,     0,   303,   304,
4074        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4075        0,     0,     0,     0,     0,     0,     0,     0,     2, -1260,
4076    -1260, -1260, -1260, -1260, -1260, -1260, -1260, -1260, -1260, -1260,
4077    -1260, -1260, -1260, -1260, -1260, -1260, -1260, -1260, -1260, -1260,
4078    -1260,     0, -1260, -1260, -1260, -1260, -1260, -1260, -1260, -1260,
4079    -1260, -1260, -1260,     0,     0,   305, -1260,     0, -1260,     0,
4080        0,   306,   307,   308, -1260, -1260,     0,     0, -1260, -1260,
4081    -1260, -1260, -1260, -1260,   309,   310, -1260, -1260, -1260, -1260,
4082    -1260, -1260, -1260, -1260, -1260,     0, -1260,     0,   311, -1260,
4083    -1260,     0,   312,   313,   314,   315,   316,   317,   318,   319,
4084    -1260, -1260, -1260, -1260, -1260, -1260, -1260,   320,     0,     0,
4085      321,  1162,   322,  1645,     0,  1163, -1260, -1260,     0, -1260,
4086      323,   324,     0,   325,   326,   327,   328, -1218,   300,     0,
4087        1,   301,   105,   302,     0,   303,   304,     0,     0,     0,
4088        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4089        0,     0,     0,     0,     0,     2, -1218, -1218, -1218, -1218,
4090    -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218,
4091    -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218,     0, -1218,
4092    -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218,
4093        0,     0,   305, -1218,     0, -1218,     0,     0,   306,   307,
4094      308, -1218, -1218,     0,     0, -1218, -1218, -1218, -1218, -1218,
4095    -1218,   309,   310, -1218, -1218, -1218, -1218, -1218, -1218, -1218,
4096    -1218, -1218,     0, -1218,     0,   311, -1218, -1218,     0,   312,
4097      313,   314,   315,   316,   317,   318,   319, -1218, -1218, -1218,
4098    -1218, -1218, -1218, -1218,   320,     0,     0,   321,  1873,   322,
4099    -1218,     0,  1163, -1218, -1218,     0, -1218,   323,   324,     0,
4100      325,   326,   327,   328, -1249,   300,     0,     1,   301,   105,
4101      302,     0,   303,   304,     0,     0,     0,     0,     0,     0,
4102        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4103        0,     0,     2, -1249, -1249, -1249, -1249, -1249, -1249, -1249,
4104    -1249, -1249, -1249, -1249, -1249, -1249, -1249, -1249, -1249, -1249,
4105    -1249, -1249, -1249, -1249, -1249,     0,   623,   624,   625,   626,
4106      627,   628,   629,   630,   631,   632,   633,     0,     0,   305,
4107    -1249,     0, -1249,     0,     0,   306,   307,   308, -1249, -1249,
4108        0,     0, -1249,    32, -1249, -1249, -1249, -1249,   309,   310,
4109     1127, -1249,   636,   637,   638, -1249, -1249, -1249, -1249,     0,
4110    -1249,     0,   311, -1249, -1249,     0,   312,   313,   314,   315,
4111      316,   317,   318,   319,    43,    44, -1249, -1249, -1249, -1249,
4112    -1249,   320,     0,     0,   321,  1162,   322,   639,     0,  1163,
4113    -1249,   252,     0,   640,   323,   324,     0,   325,   326,   327,
4114      328,  -611,   300,     0,     1,   301,   105,   302,     0,   303,
4115      304,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4116        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4117     -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,
4118     -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,
4119     -611,  -611,     0,  -611,  -611,  -611,  -611,  -611,  -611,  -611,
4120     -611,  -611,  -611,  -611,     0,     0,   305,  -611,     0,  -611,
4121        0,     0,   306,   307,   308,  -611,  -611,     0,     0,  -611,
4122     -611,  -611,  -611,  -611,  -611,   309,   310,  -611,  -611,  -611,
4123     -611,  -611,  -611,  -611,  -611,  -611,     0,  -611,     0,   311,
4124     -611,  -611,     0,   312,   313,   314,   315,   316,   317,   318,
4125      319,  -611,  -611,  -611,  -611,  -611,  -611,  -611,   320,     0,
4126        0,   321,  -611,   322,  1157,     0,  1158,  -611,  -611,     0,
4127     -611,   323,   324,     0,   325,   326,   327,   328, -1241,   300,
4128        0,     1,   301,   105,   302,     0,   303,   304,     0,     0,
4129        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4130        0,     0,     0,     0,     0,     0,     2, -1241, -1241, -1241,
4131    -1241, -1241, -1241, -1241, -1241, -1241, -1241, -1241, -1241, -1241,
4132    -1241, -1241, -1241, -1241, -1241, -1241, -1241, -1241, -1241,     0,
4133    -1241, -1241, -1241, -1241, -1241, -1241, -1241, -1241, -1241, -1241,
4134    -1241,     0,     0,   305, -1241,     0, -1241,     0,     0,   306,
4135      307,   308, -1241, -1241,     0,     0, -1241, -1241, -1241, -1241,
4136    -1241, -1241,   309,   310, -1241, -1241, -1241, -1241, -1241, -1241,
4137    -1241, -1241, -1241,     0, -1241,     0,   311, -1241, -1241,     0,
4138      312,   313,   314,   315,   316,   317,   318,   319, -1241, -1241,
4139    -1241, -1241, -1241, -1241, -1241,   320,     0,     0,   321,  2115,
4140      322, -1241,     0,  1158, -1241, -1241,     0, -1241,   323,   324,
4141        0,   325,   326,   327,   328, -1242,   300,     0,     1,   301,
4142      105,   302,     0,   303,   304,     0,     0,     0,     0,     0,
4143        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4144        0,     0,     0,     2, -1242, -1242, -1242, -1242, -1242, -1242,
4145    -1242, -1242, -1242, -1242, -1242, -1242, -1242, -1242, -1242, -1242,
4146    -1242, -1242, -1242, -1242, -1242, -1242,     0, -1242, -1242, -1242,
4147    -1242, -1242, -1242, -1242, -1242, -1242, -1242, -1242,     0,     0,
4148      305, -1242,     0, -1242,     0,     0,   306,   307,   308, -1242,
4149    -1242,     0,     0, -1242, -1242, -1242, -1242, -1242, -1242,   309,
4150      310, -1242, -1242, -1242, -1242, -1242, -1242, -1242, -1242, -1242,
4151        0, -1242,     0,   311, -1242, -1242,     0,   312,   313,   314,
4152      315,   316,   317,   318,   319, -1242, -1242, -1242, -1242, -1242,
4153    -1242, -1242,   320,     0,     0,   321,  1162,   322,  2116,     0,
4154     1163, -1242, -1242,     0, -1242,   323,   324,     0,   325,   326,
4155      327,   328, -1236,   300,     0,     1,   301,   105,   302,     0,
4156      303,   304,     0,     0,     0,     0,     0,     0,     0,     0,
4157        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4158        2, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236,
4159    -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236, -1236,
4160    -1236, -1236, -1236,     0,   623,   624,   625,   626,   627,   628,
4161      629,   630,   631,   632,   633,     0,     0,   305, -1236,     0,
4162    -1236,     0,     0,   306,   307,   308, -1236, -1236,     0,     0,
4163    -1236,    32, -1236, -1236, -1236, -1236,   309,   310,  1127, -1236,
4164      636,   637,   638, -1236, -1236, -1236, -1236,     0, -1236,     0,
4165      311, -1236, -1236,     0,   312,   313,   314,   315,   316,   317,
4166      318,   319,    43,    44, -1236, -1236, -1236, -1236, -1236,   320,
4167        0,     0,   321,  1162,   322,   639,     0,  1163, -1236,   252,
4168        0,   640,   323,   324,     0,   325,   326,   327,   328, -1184,
4169      614,     0, -1184, -1184, -1184, -1184,     0, -1184, -1184,     0,
4170        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4171        0,     0,     0,     0,     0,     0,     0, -1184, -1184, -1184,
4172    -1184, -1184, -1184, -1184, -1184, -1184, -1184, -1184, -1184, -1184,
4173    -1184, -1184, -1184, -1184, -1184, -1184, -1184, -1184, -1184, -1184,
4174        0, -1184, -1184, -1184, -1184, -1184, -1184, -1184, -1184, -1184,
4175    -1184, -1184,     0,     0, -1184, -1184,     0, -1184,     0,     0,
4176    -1184, -1184, -1184, -1184, -1184,     0,     0, -1184, -1184, -1184,
4177    -1184, -1184, -1184, -1184, -1184, -1184, -1184, -1184, -1184, -1184,
4178    -1184, -1184, -1184, -1184,     0, -1184,     0, -1184, -1184, -1184,
4179        0, -1184, -1184, -1184, -1184, -1184, -1184, -1184, -1184, -1184,
4180    -1184, -1184, -1184, -1184, -1184, -1184, -1184,     0,     0, -1184,
4181        0, -1184,   615,     0, -1184, -1184, -1184,     0, -1184, -1184,
4182    -1184,     0, -1184, -1184, -1184, -1184, -1207,   300,     0,     1,
4183      301,   105,   302,     0,   303,   304,     0,     0,     0,     0,
4184        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4185        0,     0,     0,     0,     2,   199,   200,   201,   202,   203,
4186      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
4187       18,    19,   242,   243,    22,    23,    24,     0,   623,   624,
4188      625,   626,   627,   628,   629,   630,   631,   632,   633,     0,
4189        0,   305,   244,     0, -1207,     0,     0,   306,   307,   308,
4190       28,    29,     0,     0, -1207,    32, -1207, -1207, -1207, -1207,
4191      309,   634,   635,   246,   636,   637,   638, -1207, -1207, -1207,
4192    -1207,     0, -1207,     0,   311, -1207,   247,     0,   312,   313,
4193      314,   315,   316,   317,   318,   319,    43,    44,   248,   249,
4194      250,   251,   205,   320,     0,     0,   321,     0,   322,   639,
4195        0, -1207, -1207,   252,     0,   640,   323,   324,     0,   325,
4196      326,   327,   328, -1185,   614,     0, -1185, -1185, -1185, -1185,
4197        0, -1185, -1185,     0,     0,     0,     0,     0,     0,     0,
4198        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4199        0, -1185, -1185, -1185, -1185, -1185, -1185, -1185, -1185, -1185,
4200    -1185, -1185, -1185, -1185, -1185, -1185, -1185, -1185, -1185, -1185,
4201    -1185, -1185, -1185, -1185,     0, -1185, -1185, -1185, -1185, -1185,
4202    -1185, -1185, -1185, -1185, -1185, -1185,     0,     0, -1185, -1185,
4203        0, -1185,     0,     0, -1185, -1185, -1185, -1185, -1185,     0,
4204        0, -1185, -1185, -1185, -1185, -1185, -1185, -1185, -1185, -1185,
4205    -1185, -1185, -1185, -1185, -1185, -1185, -1185, -1185,     0, -1185,
4206        0, -1185, -1185, -1185,     0, -1185, -1185, -1185, -1185, -1185,
4207    -1185, -1185, -1185, -1185, -1185, -1185, -1185, -1185, -1185, -1185,
4208    -1185,     0,     0, -1185,     0, -1185,   615,     0, -1185, -1185,
4209    -1185,     0, -1185, -1185, -1185,     0, -1185, -1185, -1185, -1185,
4210    -1246,   300,     0,     1,   301,   105,   302,     0,   303,   304,
4211        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4212        0,     0,     0,     0,     0,     0,     0,     0,     2, -1246,
4213    -1246, -1246, -1246, -1246, -1246, -1246, -1246, -1246, -1246, -1246,
4214    -1246, -1246, -1246, -1246, -1246, -1246, -1246, -1246, -1246, -1246,
4215    -1246,     0,  1119,  1120,  1121,   626,  1122,  1123,  1124,  1125,
4216      631,   632,  1126,     0,     0,   305, -1246,     0, -1246,     0,
4217        0,   306,   307,   308, -1246, -1246,     0,     0, -1246,    32,
4218    -1246, -1246, -1246, -1246,   309,   310,  1127, -1246,   636,   637,
4219      638, -1246, -1246, -1246, -1246,     0, -1246,     0,   311, -1246,
4220    -1246,     0,   312,   313,   314,   315,   316,   317,   318,   319,
4221       43,    44, -1246, -1246, -1246, -1246, -1246,   320,     0,     0,
4222      321,     0,   322,   639,     0, -1246, -1246,   252,     0,   640,
4223      323,   324,     0,   325,   326,   327,   328, -1262,   300,     0,
4224        1,   301,   105,   302,     0,   303,   304,     0,     0,     0,
4225        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4226        0,     0,     0,     0,     0,     2, -1262, -1262, -1262, -1262,
4227    -1262, -1262, -1262, -1262, -1262, -1262, -1262, -1262, -1262, -1262,
4228    -1262, -1262, -1262, -1262, -1262, -1262, -1262, -1262,     0, -1262,
4229    -1262, -1262, -1262, -1262, -1262, -1262, -1262, -1262, -1262, -1262,
4230        0,     0,   305, -1262,     0, -1262,     0,     0,   306,   307,
4231      308, -1262, -1262,     0,     0, -1262, -1262, -1262, -1262, -1262,
4232    -1262,   309,   310, -1262, -1262, -1262, -1262, -1262, -1262, -1262,
4233    -1262, -1262,     0, -1262,     0,   311, -1262, -1262,     0,   312,
4234      313,   314,   315,   316,   317,   318,   319, -1262, -1262, -1262,
4235    -1262, -1262, -1262, -1262,   320,     0,     0,   321,     0,   322,
4236     1138,     0, -1262, -1262,   746,     0, -1262,   323,   324,     0,
4237      325,   326,   327,   328, -1197,  1165,     0,     1,   301,   105,
4238      302,     0,   303,   304,     0,     0,     0,     0,     0,     0,
4239        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4240        0,     0,     2,   199,   200,   201,   202,   203,   232,   233,
4241      234,   235,   236,   237,   238,   239,   240,   241,    18,    19,
4242      242,   243,    22,    23,    24,     0,   623,   624,   625,   626,
4243      627,   628,   629,   630,   631,   632,   633,     0,     0,   305,
4244      244,     0, -1197,     0,     0,   306,   307,   308,    28,    29,
4245        0,     0, -1197,    32, -1197, -1197, -1197, -1197,   309,   634,
4246      635,   246,   636,   637,   638, -1197, -1197, -1197, -1197,     0,
4247    -1197,     0,   311, -1197,   247,     0,   312,   313,   314,   315,
4248      316,   317,   318,   319,    43,    44,   248,   249,   250,   251,
4249      205,   320,     0,     0,   321,     0,   322,   639,     0, -1197,
4250    -1197,   252,     0,   640,   323,   324,     0,   325,   326,   327,
4251      328, -1201,   300,     0,     1,   301,   105,   302,     0,   303,
4252      304,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4253        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4254      199,   200,   201,   202,   203,   232,   233,   234,   235,   236,
4255      237,   238,   239,   240,   241,    18,    19,   242,   243,    22,
4256       23,    24,     0,   623,   624,   625,   626,   627,   628,   629,
4257      630,   631,   632,   633,     0,     0,   305,   244,     0, -1201,
4258        0,     0,   306,   307,   308,    28,    29,     0,     0, -1201,
4259       32, -1201, -1201, -1201, -1201,   309,   634,   635,   246,   636,
4260      637,   638, -1201, -1201, -1201, -1201,     0, -1201,     0,   311,
4261    -1201,   247,     0,   312,   313,   314,   315,   316,   317,   318,
4262      319,    43,    44,   248,   249,   250,   251,   205,   320,     0,
4263        0,   321,     0,   322,   639,     0, -1201, -1201,   252,     0,
4264      640,   323,   324,     0,   325,   326,   327,   328, -1196,   300,
4265        0,     1,   301,   105,   302,     0,   303,   304,     0,     0,
4266        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4267        0,     0,     0,     0,     0,     0,     2,   199,   200,   201,
4268      202,   203,   232,   233,   234,   235,   236,   237,   238,   239,
4269      240,   241,    18,    19,   242,   243,    22,    23,    24,     0,
4270      623,   624,   625,   626,   627,   628,   629,   630,   631,   632,
4271      633,     0,     0,   305,   244,     0, -1196,     0,     0,   306,
4272      307,   308,    28,    29,     0,     0, -1196,    32, -1196, -1196,
4273    -1196, -1196,   309,   634,   635,   246,   636,   637,   638, -1196,
4274    -1196, -1196, -1196,     0, -1196,     0,   311, -1196,   247,     0,
4275      312,   313,   314,   315,   316,   317,   318,   319,    43,    44,
4276      248,   249,   250,   251,   205,   320,     0,     0,   321,     0,
4277      322,   639,     0, -1196, -1196,   252,     0,   640,   323,   324,
4278        0,   325,   326,   327,   328, -1200,   300,     0,     1,   301,
4279      105,   302,     0,   303,   304,     0,     0,     0,     0,     0,
4280        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4281        0,     0,     0,     2,   199,   200,   201,   202,   203,   232,
4282      233,   234,   235,   236,   237,   238,   239,   240,   241,    18,
4283       19,   242,   243,    22,    23,    24,     0,   623,   624,   625,
4284      626,   627,   628,   629,   630,   631,   632,   633,     0,     0,
4285      305,   244,     0, -1200,     0,     0,   306,   307,   308,    28,
4286       29,     0,     0, -1200,    32, -1200, -1200, -1200, -1200,   309,
4287      634,   635,   246,   636,   637,   638, -1200, -1200, -1200, -1200,
4288        0, -1200,     0,   311, -1200,   247,     0,   312,   313,   314,
4289      315,   316,   317,   318,   319,    43,    44,   248,   249,   250,
4290      251,   205,   320,     0,     0,   321,     0,   322,   639,     0,
4291    -1200, -1200,   252,     0,   640,   323,   324,     0,   325,   326,
4292      327,   328, -1103,  1178,     0, -1103, -1103, -1103, -1103,     0,
4293    -1103, -1103,     0,     0,     0,     0,     0,     0,     0,     0,
4294        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4295    -1103, -1103, -1103, -1103, -1103, -1103, -1103, -1103, -1103, -1103,
4296    -1103, -1103, -1103, -1103, -1103, -1103, -1103, -1103, -1103, -1103,
4297    -1103, -1103, -1103,     0, -1103, -1103, -1103, -1103, -1103, -1103,
4298    -1103, -1103, -1103, -1103, -1103,     0,     0, -1103, -1103,     0,
4299    -1103,     0,     0, -1103, -1103, -1103, -1103, -1103,     0,     0,
4300    -1103, -1103, -1103, -1103, -1103, -1103, -1103, -1103, -1103, -1103,
4301    -1103, -1103, -1103, -1103, -1103, -1103, -1103,     0, -1103,     0,
4302    -1103, -1103, -1103,     0, -1103, -1103, -1103, -1103, -1103, -1103,
4303    -1103, -1103, -1103, -1103, -1103, -1103, -1103, -1103, -1103, -1103,
4304        0,     0, -1103,     0, -1103, -1103,     0, -1103, -1103, -1103,
4305        0, -1103, -1103, -1103,     0, -1103, -1103, -1103, -1103, -1105,
4306     1179,     0, -1105, -1105, -1105, -1105,     0, -1105, -1105,     0,
4307        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4308        0,     0,     0,     0,     0,     0,     0, -1105, -1105, -1105,
4309    -1105, -1105, -1105, -1105, -1105, -1105, -1105, -1105, -1105, -1105,
4310    -1105, -1105, -1105, -1105, -1105, -1105, -1105, -1105, -1105, -1105,
4311        0, -1105, -1105, -1105, -1105, -1105, -1105, -1105, -1105, -1105,
4312    -1105, -1105,     0,     0, -1105, -1105,     0, -1105,     0,     0,
4313    -1105, -1105, -1105, -1105, -1105,     0,     0, -1105, -1105, -1105,
4314    -1105, -1105, -1105, -1105, -1105, -1105, -1105, -1105, -1105, -1105,
4315    -1105, -1105, -1105, -1105,     0, -1105,     0, -1105, -1105, -1105,
4316        0, -1105, -1105, -1105, -1105, -1105, -1105, -1105, -1105, -1105,
4317    -1105, -1105, -1105, -1105, -1105, -1105, -1105,     0,     0, -1105,
4318        0, -1105, -1105,     0, -1105, -1105, -1105,     0, -1105, -1105,
4319    -1105,     0, -1105, -1105, -1105, -1105, -1151,   300,     0,     1,
4320      301,   105,   302,     0,   303,   304,     0,     0,     0,     0,
4321        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4322        0,     0,     0,     0,     2,   199,   200,   201,   202,   203,
4323      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
4324       18,    19,   242,   243,    22,    23,    24,     0,   623,   624,
4325      625,   626,   627,   628,   629,   630,   631,   632,   633,     0,
4326        0,   305,   244,     0, -1151,     0,     0,   306,   307,   308,
4327       28,    29,     0,     0, -1151,    32, -1151, -1151, -1151, -1151,
4328      309,   634,   635,   246,   636,   637,   638, -1151, -1151, -1151,
4329    -1151,     0, -1151,     0,   311, -1151,   247,     0,   312,   313,
4330      314,   315,   316,   317,   318,   319,    43,    44,   248,   249,
4331      250,   251,   205,   320,     0,     0,   321,     0,   322,   639,
4332        0, -1151, -1151,   252,     0,   640,   323,   324,     0,   325,
4333      326,   327,   328, -1153,   300,     0,     1,   301,   105,   302,
4334        0,   303,   304,     0,     0,     0,     0,     0,     0,     0,
4335        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4336        0,     2,   199,   200,   201,   202,   203,   232,   233,   234,
4337      235,   236,   237,   238,   239,   240,   241,    18,    19,   242,
4338      243,    22,    23,    24,     0,   623,   624,   625,   626,   627,
4339      628,   629,   630,   631,   632,   633,     0,     0,   305,   244,
4340        0, -1153,     0,     0,   306,   307,   308,    28,    29,     0,
4341        0, -1153,    32, -1153, -1153, -1153, -1153,   309,   634,   635,
4342      246,   636,   637,   638, -1153, -1153, -1153, -1153,     0, -1153,
4343        0,   311, -1153,   247,     0,   312,   313,   314,   315,   316,
4344      317,   318,   319,    43,    44,   248,   249,   250,   251,   205,
4345      320,     0,     0,   321,     0,   322,   639,     0, -1153, -1153,
4346      252,     0,   640,   323,   324,     0,   325,   326,   327,   328,
4347    -1198,   300,     0,     1,   301,   105,   302,     0,   303,   304,
4348        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4349        0,     0,     0,     0,     0,     0,     0,     0,     2,   199,
4350      200,   201,   202,   203,   232,   233,   234,   235,   236,   237,
4351      238,   239,   240,   241,    18,    19,   242,   243,    22,    23,
4352       24,     0,   623,   624,   625,   626,   627,   628,   629,   630,
4353      631,   632,   633,     0,     0,   305,   244,     0, -1198,     0,
4354        0,   306,   307,   308,    28,    29,     0,     0, -1198,    32,
4355    -1198, -1198, -1198, -1198,   309,   634,   635,   246,   636,   637,
4356      638, -1198, -1198, -1198, -1198,     0, -1198,     0,   311, -1198,
4357      247,     0,   312,   313,   314,   315,   316,   317,   318,   319,
4358       43,    44,   248,   249,   250,   251,   205,   320,     0,     0,
4359      321,     0,   322,   639,     0, -1198, -1198,   252,     0,   640,
4360      323,   324,     0,   325,   326,   327,   328, -1202,   300,     0,
4361        1,   301,   105,   302,     0,   303,   304,     0,     0,     0,
4362        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4363        0,     0,     0,     0,     0,     2,   199,   200,   201,   202,
4364      203,   232,   233,   234,   235,   236,   237,   238,   239,   240,
4365      241,    18,    19,   242,   243,    22,    23,    24,     0,   623,
4366      624,   625,   626,   627,   628,   629,   630,   631,   632,   633,
4367        0,     0,   305,   244,     0, -1202,     0,     0,   306,   307,
4368      308,    28,    29,     0,     0, -1202,    32, -1202, -1202, -1202,
4369    -1202,   309,   634,   635,   246,   636,   637,   638, -1202, -1202,
4370    -1202, -1202,     0, -1202,     0,   311, -1202,   247,     0,   312,
4371      313,   314,   315,   316,   317,   318,   319,    43,    44,   248,
4372      249,   250,   251,   205,   320,     0,     0,   321,     0,   322,
4373      639,     0, -1202, -1202,   252,     0,   640,   323,   324,     0,
4374      325,   326,   327,   328, -1199,   300,     0,     1,   301,   105,
4375      302,     0,   303,   304,     0,     0,     0,     0,     0,     0,
4376        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4377        0,     0,     2,   199,   200,   201,   202,   203,   232,   233,
4378      234,   235,   236,   237,   238,   239,   240,   241,    18,    19,
4379      242,   243,    22,    23,    24,     0,   623,   624,   625,   626,
4380      627,   628,   629,   630,   631,   632,   633,     0,     0,   305,
4381      244,     0, -1199,     0,     0,   306,   307,   308,    28,    29,
4382        0,     0, -1199,    32, -1199, -1199, -1199, -1199,   309,   634,
4383      635,   246,   636,   637,   638, -1199, -1199, -1199, -1199,     0,
4384    -1199,     0,   311, -1199,   247,     0,   312,   313,   314,   315,
4385      316,   317,   318,   319,    43,    44,   248,   249,   250,   251,
4386      205,   320,     0,     0,   321,     0,   322,   639,     0, -1199,
4387    -1199,   252,     0,   640,   323,   324,     0,   325,   326,   327,
4388      328, -1203,   300,     0,     1,   301,   105,   302,     0,   303,
4389      304,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4390        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4391      199,   200,   201,   202,   203,   232,   233,   234,   235,   236,
4392      237,   238,   239,   240,   241,    18,    19,   242,   243,    22,
4393       23,    24,     0,   623,   624,   625,   626,   627,   628,   629,
4394      630,   631,   632,   633,     0,     0,   305,   244,     0, -1203,
4395        0,     0,   306,   307,   308,    28,    29,     0,     0, -1203,
4396       32, -1203, -1203, -1203, -1203,   309,   634,   635,   246,   636,
4397      637,   638, -1203, -1203, -1203, -1203,     0, -1203,     0,   311,
4398    -1203,   247,     0,   312,   313,   314,   315,   316,   317,   318,
4399      319,    43,    44,   248,   249,   250,   251,   205,   320,     0,
4400        0,   321,     0,   322,   639,     0, -1203, -1203,   252,     0,
4401      640,   323,   324,     0,   325,   326,   327,   328, -1194,   614,
4402        0, -1194, -1194, -1194, -1194,     0, -1194, -1194,     0,     0,
4403        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4404        0,     0,     0,     0,     0,     0, -1194, -1194, -1194, -1194,
4405    -1194, -1194, -1194, -1194, -1194, -1194, -1194, -1194, -1194, -1194,
4406    -1194, -1194, -1194, -1194, -1194, -1194, -1194, -1194, -1194,     0,
4407    -1194, -1194, -1194, -1194, -1194, -1194, -1194, -1194, -1194, -1194,
4408    -1194,     0,     0, -1194, -1194,     0, -1194,     0,     0, -1194,
4409    -1194, -1194, -1194, -1194,     0,     0, -1194, -1194, -1194, -1194,
4410    -1194, -1194, -1194, -1194, -1194, -1194, -1194, -1194, -1194, -1194,
4411    -1194, -1194, -1194,     0, -1194,     0, -1194, -1194, -1194,     0,
4412    -1194, -1194, -1194, -1194, -1194, -1194, -1194, -1194, -1194, -1194,
4413    -1194, -1194, -1194, -1194, -1194, -1194,     0,     0, -1194,     0,
4414    -1194,   615,     0, -1194, -1194, -1194,     0, -1194, -1194, -1194,
4415        0, -1194, -1194, -1194, -1194, -1195,   614,     0, -1195, -1195,
4416    -1195, -1195,     0, -1195, -1195,     0,     0,     0,     0,     0,
4417        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4418        0,     0,     0, -1195, -1195, -1195, -1195, -1195, -1195, -1195,
4419    -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195,
4420    -1195, -1195, -1195, -1195, -1195, -1195,     0, -1195, -1195, -1195,
4421    -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195,     0,     0,
4422    -1195, -1195,     0, -1195,     0,     0, -1195, -1195, -1195, -1195,
4423    -1195,     0,     0, -1195, -1195, -1195, -1195, -1195, -1195, -1195,
4424    -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195,
4425        0, -1195,     0, -1195, -1195, -1195,     0, -1195, -1195, -1195,
4426    -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195,
4427    -1195, -1195, -1195,     0,     0, -1195,     0, -1195,   615,     0,
4428    -1195, -1195, -1195,     0, -1195, -1195, -1195,     0, -1195, -1195,
4429    -1195, -1195, -1030,   300,     0,     1,   301,   105,   302,     0,
4430      303,   304,     0,     0,     0,     0,     0,     0,     0,     0,
4431        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4432        2, -1030, -1030, -1030, -1030, -1030, -1030, -1030, -1030, -1030,
4433    -1030, -1030, -1030, -1030, -1030, -1030, -1030, -1030, -1030, -1030,
4434    -1030, -1030, -1030,     0, -1030, -1030, -1030, -1030, -1030, -1030,
4435    -1030, -1030, -1030, -1030, -1030,     0,     0,   305, -1030,     0,
4436    -1030,     0,     0,   306,   307,   308, -1030, -1030,     0,     0,
4437    -1030, -1030, -1030, -1030, -1030, -1030,   309,   310, -1030, -1030,
4438    -1030, -1030, -1030, -1030, -1030, -1030, -1030,     0, -1030,     0,
4439      311, -1030, -1030,     0,   312,   313,   314,   315,   316,   317,
4440      318,   319, -1030, -1030, -1030, -1030, -1030, -1030, -1030,   320,
4441        0,     0,   321,     0,   322, -1030,     0,  1842,  1843,  1018,
4442        0, -1030,   323,   324,     0,   325,   326,   327,   328, -1157,
4443      614,     0, -1157, -1157, -1157, -1157,     0, -1157, -1157,     0,
4444        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4445        0,     0,     0,     0,     0,     0,     0, -1157, -1157, -1157,
4446    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4447    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4448        0, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4449    -1157, -1157,     0,     0, -1157, -1157,     0, -1157,     0,     0,
4450    -1157, -1157, -1157, -1157, -1157,     0,     0, -1157, -1157, -1157,
4451    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4452    -1157, -1157, -1157, -1157,     0, -1157,     0, -1157, -1157, -1157,
4453        0, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4454    -1157, -1157, -1157, -1157, -1157, -1157, -1157,     0,     0, -1157,
4455        0, -1157,   615,     0, -1157, -1157, -1157,     0, -1157, -1157,
4456    -1157,     0, -1157, -1157, -1157, -1157, -1158,   614,     0, -1158,
4457    -1158, -1158, -1158,     0, -1158, -1158,     0,     0,     0,     0,
4458        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4459        0,     0,     0,     0, -1158, -1158, -1158, -1158, -1158, -1158,
4460    -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158,
4461    -1158, -1158, -1158, -1158, -1158, -1158, -1158,     0, -1158, -1158,
4462    -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158,     0,
4463        0, -1158, -1158,     0, -1158,     0,     0, -1158, -1158, -1158,
4464    -1158, -1158,     0,     0, -1158, -1158, -1158, -1158, -1158, -1158,
4465    -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158,
4466    -1158,     0, -1158,     0, -1158, -1158, -1158,     0, -1158, -1158,
4467    -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158,
4468    -1158, -1158, -1158, -1158,     0,     0, -1158,     0, -1158,   615,
4469        0, -1158, -1158, -1158,     0, -1158, -1158, -1158,     0, -1158,
4470    -1158, -1158, -1158, -1154,   614,     0, -1154, -1154, -1154, -1154,
4471        0, -1154, -1154,     0,     0,     0,     0,     0,     0,     0,
4472        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4473        0, -1154, -1154, -1154, -1154, -1154, -1154, -1154, -1154, -1154,
4474    -1154, -1154, -1154, -1154, -1154, -1154, -1154, -1154, -1154, -1154,
4475    -1154, -1154, -1154, -1154,     0, -1154, -1154, -1154, -1154, -1154,
4476    -1154, -1154, -1154, -1154, -1154, -1154,     0,     0, -1154, -1154,
4477        0, -1154,     0,     0, -1154, -1154, -1154, -1154, -1154,     0,
4478        0, -1154, -1154, -1154, -1154, -1154, -1154, -1154, -1154, -1154,
4479    -1154, -1154, -1154, -1154, -1154, -1154, -1154, -1154,     0, -1154,
4480        0, -1154, -1154, -1154,     0, -1154, -1154, -1154, -1154, -1154,
4481    -1154, -1154, -1154, -1154, -1154, -1154, -1154, -1154, -1154, -1154,
4482    -1154,     0,     0, -1154,     0, -1154,   615,     0, -1154, -1154,
4483    -1154,     0, -1154, -1154, -1154,     0, -1154, -1154, -1154, -1154,
4484    -1032,   300,     0,     1,   301,   105,   302,     0,   303,   304,
4485        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4486        0,     0,     0,     0,     0,     0,     0,     0,     2, -1032,
4487    -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032,
4488    -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032,
4489    -1032,     0, -1032, -1032, -1032, -1032, -1032, -1032, -1032, -1032,
4490    -1032, -1032, -1032,     0,     0,   305, -1032,     0, -1032,     0,
4491        0,   306,   307,   308, -1032, -1032,     0,     0, -1032, -1032,
4492    -1032, -1032, -1032, -1032,   309,   310, -1032, -1032, -1032, -1032,
4493    -1032, -1032, -1032, -1032, -1032,     0, -1032,     0,   311, -1032,
4494    -1032,     0,   312,   313,   314,   315,   316,   317,   318,   319,
4495    -1032, -1032, -1032, -1032, -1032, -1032, -1032,   320,     0,     0,
4496      321,     0,   322, -1032,     0, -1032,  2029,  1018,     0, -1032,
4497      323,   324,     0,   325,   326,   327,   328, -1026,  2032,     0,
4498    -1026, -1026, -1026, -1026,     0, -1026, -1026,     0,     0,     0,
4499        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4500        0,     0,     0,     0,     0, -1026, -1026, -1026, -1026, -1026,
4501    -1026, -1026, -1026, -1026, -1026, -1026, -1026, -1026, -1026, -1026,
4502    -1026, -1026, -1026, -1026, -1026, -1026, -1026, -1026,     0, -1026,
4503    -1026, -1026, -1026, -1026, -1026, -1026, -1026, -1026, -1026, -1026,
4504        0,     0, -1026, -1026,     0, -1026,     0,     0, -1026, -1026,
4505    -1026, -1026, -1026,     0,     0, -1026, -1026, -1026, -1026, -1026,
4506    -1026, -1026, -1026, -1026, -1026, -1026, -1026, -1026, -1026, -1026,
4507    -1026, -1026,     0, -1026,     0, -1026, -1026, -1026,     0, -1026,
4508    -1026, -1026, -1026, -1026, -1026, -1026, -1026, -1026, -1026, -1026,
4509    -1026, -1026, -1026, -1026, -1026,     0,     0, -1026,     0, -1026,
4510    -1026,     0, -1026, -1026, -1026,     0, -1026, -1026, -1026,     0,
4511    -1026, -1026, -1026, -1026, -1155,   614,     0, -1155, -1155, -1155,
4512    -1155,     0, -1155, -1155,     0,     0,     0,     0,     0,     0,
4513        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4514        0,     0, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
4515    -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
4516    -1155, -1155, -1155, -1155, -1155,     0, -1155, -1155, -1155, -1155,
4517    -1155, -1155, -1155, -1155, -1155, -1155, -1155,     0,     0, -1155,
4518    -1155,     0, -1155,     0,     0, -1155, -1155, -1155, -1155, -1155,
4519        0,     0, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
4520    -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,     0,
4521    -1155,     0, -1155, -1155, -1155,     0, -1155, -1155, -1155, -1155,
4522    -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
4523    -1155, -1155,     0,     0, -1155,     0, -1155,   615,     0, -1155,
4524    -1155, -1155,     0, -1155, -1155, -1155,     0, -1155, -1155, -1155,
4525    -1155, -1156,   614,     0, -1156, -1156, -1156, -1156,     0, -1156,
4526    -1156,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4527        0,     0,     0,     0,     0,     0,     0,     0,     0, -1156,
4528    -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156,
4529    -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156,
4530    -1156, -1156,     0, -1156, -1156, -1156, -1156, -1156, -1156, -1156,
4531    -1156, -1156, -1156, -1156,     0,     0, -1156, -1156,     0, -1156,
4532        0,     0, -1156, -1156, -1156, -1156, -1156,     0,     0, -1156,
4533    -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156,
4534    -1156, -1156, -1156, -1156, -1156, -1156,     0, -1156,     0, -1156,
4535    -1156, -1156,     0, -1156, -1156, -1156, -1156, -1156, -1156, -1156,
4536    -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156,     0,
4537        0, -1156,     0, -1156,   615,     0, -1156, -1156, -1156,     0,
4538    -1156, -1156, -1156,     0, -1156, -1156, -1156, -1156, -1243,   300,
4539        0,     1,   301,   105,   302,     0,   303,   304,     0,     0,
4540        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4541        0,     0,     0,     0,     0,     0,     2, -1243, -1243, -1243,
4542    -1243, -1243, -1243, -1243, -1243, -1243, -1243, -1243, -1243, -1243,
4543    -1243, -1243, -1243, -1243, -1243, -1243, -1243, -1243, -1243,     0,
4544    -1243, -1243, -1243, -1243, -1243, -1243, -1243, -1243, -1243, -1243,
4545    -1243,     0,     0,   305, -1243,     0, -1243,     0,     0,   306,
4546      307,   308, -1243, -1243,     0,     0, -1243, -1243, -1243, -1243,
4547    -1243, -1243,   309,   310, -1243, -1243, -1243, -1243, -1243, -1243,
4548    -1243, -1243, -1243,     0, -1243,     0,   311, -1243, -1243,     0,
4549      312,   313,   314,   315,   316,   317,   318,   319, -1243, -1243,
4550    -1243, -1243, -1243, -1243, -1243,   320,     0,     0,   321,     0,
4551      322, -1243,     0, -1243, -1243, -1243,     0, -1243,   323,   324,
4552        0,   325,   326,   327,   328, -1027,  2107,     0, -1027, -1027,
4553    -1027, -1027,     0, -1027, -1027,     0,     0,     0,     0,     0,
4554        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4555        0,     0,     0, -1027, -1027, -1027, -1027, -1027, -1027, -1027,
4556    -1027, -1027, -1027, -1027, -1027, -1027, -1027, -1027, -1027, -1027,
4557    -1027, -1027, -1027, -1027, -1027, -1027,     0, -1027, -1027, -1027,
4558    -1027, -1027, -1027, -1027, -1027, -1027, -1027, -1027,     0,     0,
4559    -1027, -1027,     0, -1027,     0,     0, -1027, -1027, -1027, -1027,
4560    -1027,     0,     0, -1027, -1027, -1027, -1027, -1027, -1027, -1027,
4561    -1027, -1027, -1027, -1027, -1027, -1027, -1027, -1027, -1027, -1027,
4562        0, -1027,     0, -1027, -1027, -1027,     0, -1027, -1027, -1027,
4563    -1027, -1027, -1027, -1027, -1027, -1027, -1027, -1027, -1027, -1027,
4564    -1027, -1027, -1027,     0,     0, -1027,     0, -1027, -1027,     0,
4565    -1027, -1027, -1027,     0, -1027, -1027, -1027,     0, -1027, -1027,
4566    -1027, -1027,  -933,   580,     0,  -933,  -933,  -933,  -933,     0,
4567     -933,  -933,     0,     0,     0,     0,     0,     0,     0,     0,
4568        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4569     -933,  -933,  -933,  -933,  -933,  -933,  -933,  -933,  -933,  -933,
4570     -933,  -933,  -933,  -933,  -933,  -933,  -933,  -933,  -933,  -933,
4571     -933,  -933,  -933,     0,     0,  -933,     0,     0,     0,     0,
4572        0,     0,     0,     0,     0,     0,     0,  -933,  -933,     0,
4573     -933,     0,     0,  -933,  -933,  -933,  -933,  -933,     0,     0,
4574     -933,  -933,  -933,  -933,  -933,  -933,  -933,  -933,  -933,  -933,
4575     -933,     0,     0,  -933,  -933,  -933,  -933,     0,  -933,     0,
4576     -933,  -933,  -933,     0,  -933,  -933,  -933,  -933,  -933,  -933,
4577     -933,  -933,  -933,  -933,  -933,  -933,  -933,  -933,  -933,  -933,
4578        0,     0,  -933,   850,  -933,  -933,     0,   582,  -933,  -933,
4579        0,     0,  -933,  -933,     0,  -933,  -933,  -933,  -933,   300,
4580        0,     1,   301,   105,   302,     0,   303,   304,     0,     0,
4581        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4582        0,     0,     0,     0,     0,     0,     2,   199,   200,   201,
4583      202,   203,   232,   233,   234,   235,   236,   237,   238,   239,
4584      240,   241,    18,    19,   242,   243,    22,    23,    24,     0,
4585      623,   624,   625,   626,   627,   628,   629,   630,   631,   632,
4586      633,     0,     0,   305,   244,     0,     0,     0,     0,   306,
4587      307,   308,    28,    29,     0,     0,     0,    32,     0,     0,
4588        0,     0,   309,   634,   635,   246,   636,   637,   638,     0,
4589        0,     0,     0,     0,     0,     0,   311,     0,   247,     0,
4590      312,   313,   314,   315,   316,   317,   318,   319,    43,    44,
4591      248,   249,   250,   251,   205,   320,     0,     0,   321,     0,
4592      322,   639,     0,     0,     0,   252,     0,   640,   323,   324,
4593        0,   325,   326,   327,   328,   300,     0,     1,   301,   105,
4594      302,     0,   303,   304,     0,     0,     0,     0,     0,     0,
4595        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4596        0,     0,     2,   199,   200,   201,   202,   203,   232,   233,
4597      234,   235,   236,   237,   238,   239,   240,   241,    18,    19,
4598      242,   243,    22,    23,    24,     0,  1119,  1120,  1121,   626,
4599     1122,  1123,  1124,  1125,   631,   632,  1126,     0,     0,   305,
4600      244,     0,     0,     0,     0,   306,   307,   308,    28,    29,
4601        0,     0,     0,    32,     0,     0,     0,     0,   309,   634,
4602      635,   246,   636,   637,   638,     0,     0,     0,     0,     0,
4603        0,     0,   311,     0,   247,     0,   312,   313,   314,   315,
4604      316,   317,   318,   319,    43,    44,   248,   249,   250,   251,
4605      205,   320,     0,     0,   321,     0,   322,   639,     0,     0,
4606        0,   252,     0,   640,   323,   324,     0,   325,   326,   327,
4607      328,   300,     0,     1,   301,   105,   302,     0,   303,   304,
4608        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4609        0,     0,     0,     0,     0,     0,     0,     0,     2,   199,
4610      200,   201,   202,   203,   232,   233,   234,   235,   236,   237,
4611      238,   239,   240,   241,    18,    19,   242,   243,    22,    23,
4612       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4613        0,     0,     0,     0,     0,   305,   244,     0,     0,     0,
4614        0,   306,   307,   308,    28,    29,     0,     0,     0,    32,
4615        0,     0,     0,     0,   309,   634,    38,   246,     0,     0,
4616        0,     0,     0,     0,     0,     0,     0,     0,   311,     0,
4617      247,     0,   312,   313,   314,   315,   316,   317,   318,   319,
4618       43,    44,   248,   249,   250,   251,   205,   320,     0,     0,
4619      321,     0,   322,   988,     0,   989,   990,   746,     0,     0,
4620      323,   324,     0,   325,   326,   327,   328,  1269,     0,     1,
4621      301,   105,   302,     0,   303,   304,     0,     0,     0,     0,
4622        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4623        0,     0,     0,     0,     2,   199,   200,   201,   202,   203,
4624      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
4625       18,    19,   242,   243,    22,    23,    24,     0,     0,     0,
4626        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4627        0,   305,   244,     0,     0,     0,     0,   306,   307,   308,
4628       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
4629      309,   634,    38,   246,     0,     0,     0,     0,     0,     0,
4630        0,     0,     0,     0,   311,     0,   247,     0,   312,   313,
4631      314,   315,   316,   317,   318,   319,    43,    44,   248,   249,
4632      250,   251,   205,   320,     0,     0,   321,     0,   322,   988,
4633        0,   989,  -110,   746,     0,     0,   323,   324,     0,   325,
4634      326,   327,   328,  1276,     0,     1,   301,   105,   302,     0,
4635      303,   304,     0,     0,     0,     0,     0,     0,     0,     0,
4636        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4637        2,   199,   200,   201,   202,   203,   232,   233,   234,   235,
4638      236,   237,   238,   239,   240,   241,    18,    19,   242,   243,
4639       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
4640        0,     0,     0,     0,     0,     0,     0,   305,   244,     0,
4641        0,     0,     0,   306,   307,   308,    28,    29,     0,     0,
4642        0,    32,     0,     0,     0,     0,   309,   634,    38,   246,
4643        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4644      311,     0,   247,     0,   312,   313,   314,   315,   316,   317,
4645      318,   319,    43,    44,   248,   249,   250,   251,   205,   320,
4646        0,     0,   321,     0,   322,   988,     0,   989,   -98,   746,
4647        0,     0,   323,   324,     0,   325,   326,   327,   328,  1280,
4648        0,     1,   301,   105,   302,     0,   303,   304,     0,     0,
4649        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4650        0,     0,     0,     0,     0,     0,     2,   199,   200,   201,
4651      202,   203,   232,   233,   234,   235,   236,   237,   238,   239,
4652      240,   241,    18,    19,   242,   243,    22,    23,    24,     0,
4653        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4654        0,     0,     0,   305,   244,     0,     0,     0,     0,   306,
4655      307,   308,    28,    29,     0,     0,     0,    32,     0,     0,
4656        0,     0,   309,   634,    38,   246,     0,     0,     0,     0,
4657        0,     0,     0,     0,     0,     0,   311,     0,   247,     0,
4658      312,   313,   314,   315,   316,   317,   318,   319,    43,    44,
4659      248,   249,   250,   251,   205,   320,     0,     0,   321,     0,
4660      322,   988,     0,   989,  -102,   746,     0,     0,   323,   324,
4661        0,   325,   326,   327,   328,   300,     0,     1,   301,   105,
4662      302,     0,   303,   304,     0,     0,     0,     0,     0,     0,
4663        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4664        0,     0,     2,   199,   200,   201,   202,   203,   232,   233,
4665      234,   235,   236,   237,   238,   239,   240,   241,    18,    19,
4666      242,   243,    22,    23,    24,     0,     0,     0,     0,     0,
4667        0,     0,     0,     0,     0,     0,     0,     0,     0,   305,
4668      244,     0,     0,     0,     0,   306,   307,   308,    28,    29,
4669        0,     0,     0,    32,     0,     0,     0,     0,   309,   634,
4670       38,   246,     0,     0,     0,     0,     0,     0,     0,     0,
4671        0,     0,   311,     0,   247,     0,   312,   313,   314,   315,
4672      316,   317,   318,   319,    43,    44,   248,   249,   250,   251,
4673      205,   320,     0,     0,   321,     0,   322,  1534,     0,   989,
4674      -65,   746,     0,     0,   323,   324,     0,   325,   326,   327,
4675      328,   300,     0,     1,   301,   105,   302,     0,   303,   304,
4676        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4677        0,     0,     0,     0,     0,     0,     0,     0,     2,   199,
4678      200,   201,   202,   203,   232,   233,   234,   235,   236,   237,
4679      238,   239,   240,   241,    18,    19,   242,   243,    22,    23,
4680       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4681        0,     0,     0,     0,     0,   305,   244,     0,     0,     0,
4682        0,   306,   307,   308,    28,    29,     0,     0,     0,    32,
4683        0,     0,     0,     0,   309,   634,    38,   246,     0,     0,
4684        0,     0,     0,     0,     0,     0,     0,     0,   311,     0,
4685      247,     0,   312,   313,   314,   315,   316,   317,   318,   319,
4686       43,    44,   248,   249,   250,   251,   205,   320,     0,     0,
4687      321,     0,   322,  1543,     0,   989,  1544,   746,     0,     0,
4688      323,   324,     0,   325,   326,   327,   328,  1601,     0,     1,
4689      301,   105,   302,     0,   303,   304,     0,     0,     0,     0,
4690        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4691        0,     0,     0,     0,     2,   199,   200,   201,   202,   203,
4692      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
4693       18,    19,   242,   243,    22,    23,    24,     0,     0,     0,
4694        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4695        0,   305,   244,     0,     0,     0,     0,   306,   307,   308,
4696       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
4697      309,   634,    38,   246,     0,     0,     0,     0,     0,     0,
4698        0,     0,     0,     0,   311,     0,   247,     0,   312,   313,
4699      314,   315,   316,   317,   318,   319,    43,    44,   248,   249,
4700      250,   251,   205,   320,     0,     0,   321,     0,   322,   988,
4701        0,   989,   -81,   746,     0,     0,   323,   324,     0,   325,
4702      326,   327,   328,   300,     0,     1,   301,   105,   302,     0,
4703      303,   304,     0,     0,     0,     0,     0,     0,     0,     0,
4704        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4705        2,   199,   200,   201,   202,   203,   232,   233,   234,   235,
4706      236,   237,   238,   239,   240,   241,    18,    19,   242,   243,
4707       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
4708        0,     0,     0,     0,     0,     0,     0,   305,   244,     0,
4709        0,     0,     0,   306,   307,   308,    28,    29,     0,     0,
4710        0,    32,     0,     0,     0,     0,   309,   634,    38,   246,
4711        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4712      311,     0,   247,     0,   312,   313,   314,   315,   316,   317,
4713      318,   319,    43,    44,   248,   249,   250,   251,   205,   320,
4714        0,     0,   321,     0,   322,  1543,     0,   989,  -107,   746,
4715        0,     0,   323,   324,     0,   325,   326,   327,   328,   300,
4716        0,     1,   301,   105,   302,     0,   303,   304,     0,     0,
4717        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4718        0,     0,     0,     0,     0,     0,     2,   199,   200,   201,
4719      202,   203,   232,   233,   234,   235,   236,   237,   238,   239,
4720      240,   241,    18,    19,   242,   243,    22,    23,    24,     0,
4721        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4722        0,     0,     0,   305,   244,     0,     0,     0,     0,   306,
4723      307,   308,    28,    29,     0,     0,     0,    32,     0,     0,
4724        0,     0,   309,   634,    38,   246,     0,     0,     0,     0,
4725        0,     0,     0,     0,     0,     0,   311,     0,   247,     0,
4726      312,   313,   314,   315,   316,   317,   318,   319,    43,    44,
4727      248,   249,   250,   251,   205,   320,     0,     0,   321,     0,
4728      322,  1543,     0,   989,   -97,   746,     0,     0,   323,   324,
4729        0,   325,   326,   327,   328,   300,     0,     1,   301,   105,
4730      302,     0,   303,   304,     0,     0,     0,     0,     0,     0,
4731        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4732        0,     0,     2,   199,   200,   201,   202,   203,   232,   233,
4733      234,   235,   236,   237,   238,   239,   240,   241,    18,    19,
4734      242,   243,    22,    23,    24,     0,     0,     0,     0,     0,
4735        0,     0,     0,     0,     0,     0,     0,     0,     0,   305,
4736      244,     0,     0,     0,     0,   306,   307,   308,    28,    29,
4737        0,     0,     0,    32,     0,     0,     0,     0,   309,   634,
4738       38,   246,     0,     0,     0,     0,     0,     0,     0,     0,
4739        0,     0,   311,     0,   247,     0,   312,   313,   314,   315,
4740      316,   317,   318,   319,    43,    44,   248,   249,   250,   251,
4741      205,   320,     0,     0,   321,     0,   322,  1543,     0,   989,
4742     -101,   746,     0,     0,   323,   324,     0,   325,   326,   327,
4743      328,  1803,     0,     1,   301,   105,   302,     0,   303,   304,
4744        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4745        0,     0,     0,     0,     0,     0,     0,     0,     2,   199,
4746      200,   201,   202,   203,   232,   233,   234,   235,   236,   237,
4747      238,   239,   240,   241,    18,    19,   242,   243,    22,    23,
4748       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4749        0,     0,     0,     0,     0,   305,   244,     0,     0,     0,
4750        0,   306,   307,   308,    28,    29,     0,     0,     0,    32,
4751        0,     0,     0,     0,   309,   634,    38,   246,     0,     0,
4752        0,     0,     0,     0,     0,     0,     0,     0,   311,     0,
4753      247,     0,   312,   313,   314,   315,   316,   317,   318,   319,
4754       43,    44,   248,   249,   250,   251,   205,   320,     0,     0,
4755      321,     0,   322,   988,     0,   989,   -88,   746,     0,     0,
4756      323,   324,     0,   325,   326,   327,   328,   300,     0,     1,
4757      301,   105,   302,     0,   303,   304,     0,     0,     0,     0,
4758        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4759        0,     0,     0,     0,     2,   199,   200,   201,   202,   203,
4760      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
4761       18,    19,   242,   243,    22,    23,    24,     0,     0,     0,
4762        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4763        0,   305,   244,     0,     0,     0,     0,   306,   307,   308,
4764       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
4765      309,   634,    38,   246,     0,     0,     0,     0,     0,     0,
4766        0,     0,     0,     0,   311,     0,   247,     0,   312,   313,
4767      314,   315,   316,   317,   318,   319,    43,    44,   248,   249,
4768      250,   251,   205,   320,     0,     0,   321,     0,   322,  1543,
4769        0,   989,   -78,   746,     0,     0,   323,   324,     0,   325,
4770      326,   327,   328,   300,     0,     1,   301,   105,   302,     0,
4771      303,   304,     0,     0,     0,     0,     0,     0,     0,     0,
4772        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4773        2,   199,   200,   201,   202,   203,   232,   233,   234,   235,
4774      236,   237,   238,   239,   240,   241,    18,    19,   242,   243,
4775       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
4776        0,     0,     0,     0,     0,     0,     0,   305,   244,     0,
4777        0,     0,     0,   306,   307,   308,    28,    29,     0,     0,
4778        0,    32,     0,     0,     0,     0,   309,   634,    38,   246,
4779        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4780      311,     0,   247,     0,   312,   313,   314,   315,   316,   317,
4781      318,   319,    43,    44,   248,   249,   250,   251,   205,   320,
4782        0,     0,   321,     0,   322,  1543,     0,   989,   -85,   746,
4783        0,     0,   323,   324,     0,   325,   326,   327,   328,   300,
4784        0,     1,   301,   105,   302,     0,   303,   304,     0,     0,
4785        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4786        0,     0,     0,     0,     0,     0,     2,   199,   200,   201,
4787      202,   203,     8,     9,    10,    11,    12,    13,    14,    15,
4788       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
4789        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4790        0,     0,     0,   868,    27,     0,     0,     0,     0,   306,
4791      307,   308,    28,    29,     0,     0,     0,    32,     0,     0,
4792       35,    36,   309,   403,    38,    39,     0,     0,     0,     0,
4793        0,     0,     0,     0,     0,     0,   311,     0,    40,     0,
4794      312,   313,   314,   315,   316,   317,   318,   319,    43,    44,
4795       45,    46,    47,    48,   205,   320,     0,     0,   321,   300,
4796      322,     1,   301,   105,   302,     0,   303,   304,   323,   324,
4797        0,   325,   326,   327,   328,     0,     0,     0,     0,     0,
4798        0,     0,     0,     0,     0,     0,     2,     0,     0,     0,
4799        0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
4800       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
4801        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4802        0,     0,     0,   305,    27,     0,     0,     0,     0,   306,
4803      307,   308,    28,    29,     0,     0,     0,    32,     0,     0,
4804       35,    36,   309,   403,    38,    39,     0,     0,     0,     0,
4805        0,     0,     0,     0,     0,     0,   311,     0,    40,     0,
4806      312,   313,   314,   315,   316,   317,   318,   319,    43,    44,
4807       45,    46,    47,    48,     0,   320,     0,     0,   321,   735,
4808      322,     0,     0,     0,     0,     0,     0,     0,   323,   324,
4809        0,   325,   326,   327,   328,   300,     0,     1,   301,   105,
4810      302,     0,   303,   304,     0,     0,     0,     0,     0,     0,
4811        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4812        0,     0,     2,     0,     0,     0,     0,     0,     8,     9,
4813       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
4814       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
4815        0,     0,     0,     0,     0,     0,     0,     0,     0,  1198,
4816       27,     0,     0,     0,     0,   306,   307,   308,    28,    29,
4817        0,     0,     0,    32,     0,     0,    35,    36,   309,   403,
4818       38,    39,     0,     0,     0,     0,     0,     0,     0,     0,
4819        0,     0,   311,     0,    40,     0,   312,   313,   314,   315,
4820      316,   317,   318,   319,    43,    44,    45,    46,    47,    48,
4821        0,   320,     0,     0,   709,   735,   322,     0,     0,     0,
4822        0,     0,     0,     0,   323,   324,     0,   325,   326,   327,
4823      328,   300,     0,     1,   301,   105,   302,     0,   303,   304,
4824        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4825        0,     0,     0,     0,     0,     0,     0,     0,     2,     0,
4826        0,     0,     0,     0,     8,     9,    10,    11,    12,    13,
4827       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
4828       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4829        0,     0,     0,     0,     0,   305,    27,     0,     0,     0,
4830        0,   306,   307,   308,    28,    29,     0,     0,     0,    32,
4831        0,     0,    35,    36,   309,   403,    38,    39,     0,     0,
4832        0,     0,     0,     0,     0,     0,     0,     0,   311,     0,
4833       40,     0,   312,   313,   314,   315,   316,   317,   318,   319,
4834       43,    44,    45,    46,    47,    48,     0,   320,     0,     0,
4835      321,   300,   322,     1,   301,   105,   302,   252,   303,   304,
4836      323,   324,     0,   325,   326,   327,   328,     0,     0,     0,
4837        0,     0,     0,     0,     0,     0,     0,     0,     2,     0,
4838        0,     0,     0,     0,     8,     9,    10,    11,    12,    13,
4839       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
4840       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4841        0,     0,     0,     0,     0,   305,    27,     0,     0,     0,
4842        0,   306,   307,   308,    28,    29,     0,     0,     0,    32,
4843        0,     0,    35,    36,   309,   403,    38,    39,     0,     0,
4844        0,     0,     0,     0,     0,     0,     0,     0,   311,     0,
4845       40,     0,   312,   313,   314,   315,   316,   317,   318,   319,
4846       43,    44,    45,    46,    47,    48,     0,   320,     0,     0,
4847      709,   735,   322,     0,     0,     0,     0,     0,     0,     0,
4848      323,   324,     0,   325,   326,   327,   328,   300,     0,     1,
4849      301,   105,   302,     0,   303,   304,     0,     0,     0,     0,
4850        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4851        0,     0,     0,     0,     2,     0,     0,     0,     0,     0,
4852        8,     9,    10,   561,    12,    13,    14,    15,    16,    17,
4853       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
4854        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4855        0,   305,    27,     0,     0,     0,     0,   306,   307,   308,
4856       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
4857      309,   403,    38,    39,     0,   300,     0,     1,   301,   105,
4858      302,     0,   303,   304,   311,     0,    40,     0,   312,   313,
4859      314,   315,   316,   317,   318,   319,    43,    44,    45,    46,
4860       47,    48,     2,   891,     0,     0,   892,   735,   322,     0,
4861        0,     0,     0,     0,     0,     0,   323,   324,     0,   325,
4862      326,   327,   328,     0,     0,     0,  1119,  1120,  1121,   626,
4863     1122,  1123,  1124,  1125,   631,   632,  1126,     0,     0,   305,
4864        0,     0,     0,     0,     0,   306,   307,   308,     0,     0,
4865        0,     0,     0,    32,     0,     0,     0,     0,   309,   310,
4866     1127,     0,   636,   637,   638,     0,   300,     0,     1,   301,
4867      105,   302,   311,   303,   304,     0,   312,   313,   314,   315,
4868      316,   317,   318,   319,    43,    44,     0,     0,     0,     0,
4869        0,   320,     0,     2,   321,  -473,   322,   639,     0,  -473,
4870        0,   252,     0,   640,   323,   324,     0,   325,   326,   327,
4871      328,     0,     0,     0,     0,     0,     0,  1119,  1120,  1121,
4872      626,  1122,  1123,  1124,  1125,   631,   632,  1126,     0,     0,
4873      305,     0,     0,     0,     0,     0,   306,   307,   308,     0,
4874        0,     0,     0,     0,    32,     0,     0,     0,     0,   309,
4875      310,  1127,     0,   636,   637,   638,     0,   300,     0,     1,
4876      301,   105,   302,   311,   303,   304,     0,   312,   313,   314,
4877      315,   316,   317,   318,   319,    43,    44,     0,     0,     0,
4878        0,     0,   320,     0,     2,   321,  1162,   322,   639,     0,
4879     1163,     0,   252,     0,   640,   323,   324,     0,   325,   326,
4880      327,   328,     0,     0,     0,     0,     0,     0,  1119,  1120,
4881     1121,   626,  1122,  1123,  1124,  1125,   631,   632,  1126,     0,
4882        0,   305,     0,     0,     0,     0,     0,   306,   307,   308,
4883        0,     0,     0,     0,     0,    32,     0,     0,     0,     0,
4884      309,   310,  1127,     0,   636,   637,   638,     0,  1876,     0,
4885        1,   301,   105,   302,   311,   303,   304,     0,   312,   313,
4886      314,   315,   316,   317,   318,   319,    43,    44,     0,     0,
4887        0,     0,     0,   320,     0,     2,   321,     0,   322,   639,
4888        0,     0,     0,   252,     0,   640,   323,   324,     0,   325,
4889      326,   327,   328,     0,     0,     0,     0,     0,     0,  1119,
4890     1120,  1121,   626,  1122,  1123,  1124,  1125,   631,   632,  1126,
4891        0,     0,   305,     0,     0,     0,     0,     0,   306,   307,
4892      308,     0,     0,     0,     0,     0,    32,     0,     0,     0,
4893        0,   309,   310,  1127,     0,   636,   637,   638,     0,   300,
4894        0,     1,   301,   105,   302,   311,   303,   304,     0,   312,
4895      313,   314,   315,   316,   317,   318,   319,    43,    44,     0,
4896        0,     0,     0,     0,   320,     0,     2,   321,     0,   322,
4897      639,     0,     0,     0,   252,     0,   640,   323,   324,     0,
4898      325,   326,   327,   328,     0,     0,     0,     0,     0,     0,
4899      623,   624,   625,   626,   627,   628,   629,   630,   631,   632,
4900      633,     0,     0,   305,     0,     0,     0,     0,     0,   306,
4901      307,   308,     0,     0,     0,     0,     0,    32,     0,     0,
4902        0,     0,   309,   310,  1127,     0,   636,   637,   638,     0,
4903      300,     0,     1,   301,   105,   302,   311,   303,   304,     0,
4904      312,   313,   314,   315,   316,   317,   318,   319,    43,    44,
4905        0,     0,     0,     0,     0,   320,     0,     2,   321,     0,
4906      322,   639,     0,     0,     0,   252,     0,   640,   323,   324,
4907        0,   325,   326,   327,   328,     0,     0,     0,     0,     0,
4908        0,     0,     0,   300,     0,     1,   301,   105,   302,     0,
4909      303,   304,     0,     0,   305,     0,     0,     0,     0,     0,
4910      306,   307,   308,     0,     0,     0,     0,     0,     0,     0,
4911        2,     0,     0,   309,   310,     0,     0,     0,     0,     0,
4912        0,     0,     0,     0,     0,     0,     0,   311,     0,     0,
4913        0,   312,   313,   314,   315,   316,   317,   318,   319,     0,
4914        0,     0,     0,     0,     0,     0,   320,   305,     0,   321,
4915     1285,   322,     0,   306,   307,   308,   746,     0,     0,   323,
4916      324,     0,   325,   326,   327,   328,   309,   310,   300,     0,
4917        1,   301,   105,   302,     0,   303,   304,     0,     0,     0,
4918      311,     0,     0,     0,   312,   313,   314,   315,   316,   317,
4919      318,   319,     0,     0,     0,     2,     0,     0,     0,   320,
4920        0,     0,   321,  1352,   322,     0,     0,     0,     0,   746,
4921        0,     0,   323,   324,     0,   325,   326,   327,   328,     0,
4922        0,   300,     0,     1,   301,   105,   302,     0,   303,   304,
4923        0,     0,   305,     0,     0,     0,     0,     0,   306,   307,
4924      308,     0,     0,     0,     0,     0,     0,     0,     2,     0,
4925        0,   309,   310,     0,     0,     0,     0,     0,     0,     0,
4926        0,     0,     0,     0,     0,   311,     0,     0,     0,   312,
4927      313,   314,   315,   316,   317,   318,   319,     0,     0,     0,
4928        0,     0,     0,     0,   320,   305,     0,   321,     0,   322,
4929     1138,   306,   307,   308,   746,     0,     0,   323,   324,     0,
4930      325,   326,   327,   328,   309,   310,  1634,     0,     1,   301,
4931      105,   302,     0,   303,   304,     0,     0,     0,   311,     0,
4932        0,     0,   312,   313,   314,   315,   316,   317,   318,   319,
4933        0,     0,     0,     2,     0,     0,     0,   320,     0,     0,
4934      321,  1162,   322,     0,     0,  1163,     0,     0,     0,     0,
4935      323,   324,     0,   325,   326,   327,   328,     0,     0,   300,
4936        0,     1,   301,   105,   302,     0,   303,   304,     0,     0,
4937      305,     0,     0,     0,     0,     0,   306,   307,   308,     0,
4938        0,     0,     0,     0,     0,     0,     2,     0,     0,   309,
4939      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4940        0,     0,     0,   311,     0,     0,     0,   312,   313,   314,
4941      315,   316,   317,   318,   319,     0,     0,     0,     0,     0,
4942        0,     0,   320,   305,     0,   321,  1635,   322,  1636,   306,
4943      307,   308,     0,     0,     0,   323,   324,     0,   325,   326,
4944      327,   328,   309,   310,   300,     0,     1,   301,   105,   302,
4945        0,   303,   304,     0,     0,     0,   311,     0,     0,     0,
4946      312,   313,   314,   315,   316,   317,   318,   319,     0,     0,
4947        0,     2,     0,     0,     0,   320,     0,     0,   321,     0,
4948      322,  1644,     0,  1158,     0,     0,     0,     0,   323,   324,
4949        0,   325,   326,   327,   328,     0,     0,   300,     0,     1,
4950      301,   105,   302,     0,   303,   304,     0,     0,   305,     0,
4951        0,     0,     0,     0,   306,   307,   308,     0,     0,     0,
4952        0,     0,     0,     0,     2,     0,     0,   309,   310,     0,
4953        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4954        0,   311,     0,     0,     0,   312,   313,   314,   315,   316,
4955      317,   318,   319,     0,     0,     0,     0,     0,     0,     0,
4956      320,   305,     0,   321,  1692,   322,     0,   306,   307,   308,
4957      746,     0,     0,   323,   324,     0,   325,   326,   327,   328,
4958      309,   310,   300,     0,     1,   301,   105,   302,     0,   303,
4959      304,     0,     0,     0,   311,     0,     0,     0,   312,   313,
4960      314,   315,   316,   317,   318,   319,     0,     0,     0,     2,
4961        0,     0,     0,   320,     0,     0,   321,  1701,   322,     0,
4962        0,     0,     0,   746,     0,     0,   323,   324,     0,   325,
4963      326,   327,   328,     0,     0,     0,     0,     0,     0,     0,
4964        0,     0,     0,     0,     0,     0,   305,     0,     0,     0,
4965        0,     0,   306,   307,   308,   300,     0,     1,   301,   105,
4966      302,     0,   303,   304,     0,   309,   310,     0,     0,     0,
4967        0,     0,     0,     0,     0,     0,     0,     0,     0,   311,
4968        0,     0,     2,   312,   313,   314,   315,   316,   317,   318,
4969      319,     0,     0,     0,     0,     0,     0,     0,   320,     0,
4970        0,   321,  1733,   322,     0,     0,  1158,     0,     0,     0,
4971        0,   323,   324,     0,   325,   326,   327,   328,     0,   305,
4972        0,     0,     0,     0,     0,   306,   307,   308,   300,     0,
4973        1,   301,   105,   302,     0,   303,   304,     0,   309,   310,
4974        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4975        0,     0,   311,     0,     0,     2,   312,   313,   314,   315,
4976      316,   317,   318,   319,     0,     0,     0,     0,     0,     0,
4977        0,   320,     0,     0,   321,     0,   322,     0,     0,  1158,
4978        0,     0,     0,     0,   323,   324,  1761,   325,   326,   327,
4979      328,     0,   305,     0,     0,     0,     0,     0,   306,   307,
4980      308,   300,     0,     1,   301,   105,   302,     0,   303,   304,
4981        0,   309,   310,     0,     0,     0,     0,     0,     0,     0,
4982        0,     0,     0,     0,     0,   311,     0,     0,     2,   312,
4983      313,   314,   315,   316,   317,   318,   319,     0,     0,     0,
4984        0,     0,     0,     0,   320,     0,     0,   321,     0,   322,
4985        0,     0,  1764,     0,     0,     0,  1765,   323,   324,     0,
4986      325,   326,   327,   328,     0,   305,     0,     0,     0,     0,
4987        0,   306,   307,   308,   300,     0,     1,   301,   105,   302,
4988        0,   303,   304,     0,   309,   310,     0,     0,     0,     0,
4989        0,     0,     0,     0,     0,     0,     0,     0,   311,     0,
4990        0,     2,   312,   313,   314,   315,   316,   317,   318,   319,
4991        0,     0,     0,     0,     0,     0,     0,   320,     0,     0,
4992      321,     0,   322,     0,     0,  1158,     0,     0,     0,     0,
4993      323,   324,  1771,   325,   326,   327,   328,     0,   305,     0,
4994        0,     0,     0,     0,   306,   307,   308,   300,     0,     1,
4995      301,   105,   302,     0,   303,   304,     0,   309,   310,     0,
4996        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4997        0,   311,     0,     0,     2,   312,   313,   314,   315,   316,
4998      317,   318,   319,     0,     0,     0,     0,     0,     0,     0,
4999      320,     0,     0,   321,     0,   322,     0,     0,  1764,     0,
5000        0,     0,  1773,   323,   324,     0,   325,   326,   327,   328,
5001        0,   305,     0,     0,     0,     0,     0,   306,   307,   308,
5002      300,     0,     1,   301,   105,   302,     0,   303,   304,     0,
5003      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5004        0,     0,     0,     0,   311,     0,     0,     2,   312,   313,
5005      314,   315,   316,   317,   318,   319,     0,     0,     0,     0,
5006        0,     0,     0,   320,     0,     0,   321,  1872,   322,     0,
5007        0,  1158,     0,     0,     0,     0,   323,   324,     0,   325,
5008      326,   327,   328,     0,   305,     0,     0,     0,     0,     0,
5009      306,   307,   308,   300,     0,     1,   301,   105,   302,     0,
5010      303,   304,     0,   309,   310,     0,     0,     0,     0,     0,
5011        0,     0,     0,     0,     0,     0,     0,   311,     0,     0,
5012        2,   312,   313,   314,   315,   316,   317,   318,   319,     0,
5013        0,     0,     0,     0,     0,     0,   320,     0,     0,   321,
5014     1874,   322,     0,     0,  1158,     0,     0,     0,     0,   323,
5015      324,     0,   325,   326,   327,   328,     0,   305,     0,     0,
5016        0,     0,     0,   306,   307,   308,   300,     0,     1,   301,
5017      105,   302,     0,   303,   304,     0,   309,   310,     0,     0,
5018        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5019      311,     0,     0,     2,   312,   313,   314,   315,   316,   317,
5020      318,   319,     0,     0,     0,     0,     0,     0,     0,   320,
5021        0,     0,   321,  1875,   322,     0,     0,  1163,     0,     0,
5022        0,     0,   323,   324,     0,   325,   326,   327,   328,     0,
5023      305,     0,     0,     0,     0,     0,   306,   307,   308,   300,
5024        0,     1,   301,   105,   302,     0,   303,   304,     0,   309,
5025      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5026        0,     0,     0,   311,     0,     0,     2,   312,   313,   314,
5027      315,   316,   317,   318,   319,     0,     0,     0,     0,     0,
5028        0,     0,   320,     0,     0,   321,  1878,   322,     0,     0,
5029     1158,     0,     0,     0,     0,   323,   324,     0,   325,   326,
5030      327,   328,     0,   305,     0,     0,     0,     0,     0,   306,
5031      307,   308,   300,     0,     1,   301,   105,   302,     0,   303,
5032      304,     0,   309,   310,     0,     0,     0,     0,     0,     0,
5033        0,     0,     0,     0,     0,     0,   311,     0,     0,     2,
5034      312,   313,   314,   315,   316,   317,   318,   319,     0,     0,
5035        0,     0,     0,     0,     0,   320,     0,     0,   321,  1635,
5036      322,  1636,     0,     0,     0,     0,     0,     0,   323,   324,
5037        0,   325,   326,   327,   328,     0,   305,     0,     0,     0,
5038        0,     0,   306,   307,   308,  1898,     0,     1,   301,   105,
5039      302,     0,   303,   304,     0,   309,   310,     0,     0,     0,
5040        0,     0,     0,     0,     0,     0,     0,     0,     0,   311,
5041        0,     0,     2,   312,   313,   314,   315,   316,   317,   318,
5042      319,     0,     0,     0,     0,     0,     0,     0,   320,     0,
5043        0,   321,     0,   322,  1895,     0,  1158,     0,     0,     0,
5044        0,   323,   324,     0,   325,   326,   327,   328,     0,   305,
5045        0,     0,     0,     0,     0,   306,   307,   308,   300,     0,
5046        1,   301,   105,   302,     0,   303,   304,     0,   309,   310,
5047        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5048        0,     0,   311,     0,     0,     2,   312,   313,   314,   315,
5049      316,   317,   318,   319,     0,     0,     0,     0,     0,     0,
5050        0,   320,     0,     0,   321,  1899,   322,  1636,     0,     0,
5051        0,     0,     0,     0,   323,   324,     0,   325,   326,   327,
5052      328,     0,   305,     0,     0,     0,     0,     0,   306,   307,
5053      308,   300,     0,     1,   301,   105,   302,     0,   303,   304,
5054        0,   309,   310,     0,     0,     0,     0,     0,     0,     0,
5055        0,     0,     0,     0,     0,   311,     0,     0,     2,   312,
5056      313,   314,   315,   316,   317,   318,   319,     0,     0,     0,
5057        0,     0,     0,     0,   320,     0,     0,   321,     0,   322,
5058        0,     0,  1764,     0,     0,     0,  1912,   323,   324,     0,
5059      325,   326,   327,   328,     0,   305,     0,     0,     0,     0,
5060        0,   306,   307,   308,   300,     0,     1,   301,   105,   302,
5061        0,   303,   304,     0,   309,   310,     0,     0,     0,     0,
5062        0,     0,     0,     0,     0,     0,     0,     0,   311,     0,
5063        0,     2,   312,   313,   314,   315,   316,   317,   318,   319,
5064        0,     0,     0,     0,     0,     0,     0,   320,     0,     0,
5065      321,     0,   322,     0,     0,  1764,     0,     0,     0,  1916,
5066      323,   324,     0,   325,   326,   327,   328,     0,   305,     0,
5067        0,     0,     0,     0,   306,   307,   308,   300,     0,     1,
5068      301,   105,   302,     0,   303,   304,     0,   309,   310,     0,
5069        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5070        0,   311,     0,     0,     2,   312,   313,   314,   315,   316,
5071      317,   318,   319,     0,     0,     0,     0,     0,     0,     0,
5072      320,     0,     0,   321,     0,   322,     0,     0,  1158,     0,
5073        0,     0,     0,   323,   324,  1925,   325,   326,   327,   328,
5074        0,   305,     0,     0,     0,     0,     0,   306,   307,   308,
5075      300,     0,     1,   301,   105,   302,     0,   303,   304,     0,
5076      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5077        0,     0,     0,     0,   311,     0,     0,     2,   312,   313,
5078      314,   315,   316,   317,   318,   319,     0,     0,     0,     0,
5079        0,     0,     0,   320,     0,     0,   321,     0,   322,     0,
5080        0,  1158,     0,     0,     0,     0,   323,   324,  1928,   325,
5081      326,   327,   328,     0,   305,     0,     0,     0,     0,     0,
5082      306,   307,   308,   300,     0,     1,   301,   105,   302,     0,
5083      303,   304,     0,   309,   310,     0,     0,     0,     0,     0,
5084        0,     0,     0,     0,     0,     0,     0,   311,     0,     0,
5085        2,   312,   313,   314,   315,   316,   317,   318,   319,     0,
5086        0,     0,     0,     0,     0,     0,   320,     0,     0,   321,
5087     2037,   322,     0,     0,  1158,     0,     0,     0,     0,   323,
5088      324,     0,   325,   326,   327,   328,     0,   305,     0,     0,
5089        0,     0,     0,   306,   307,   308,   300,     0,     1,   301,
5090      105,   302,     0,   303,   304,     0,   309,   310,     0,     0,
5091        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5092      311,     0,     0,     2,   312,   313,   314,   315,   316,   317,
5093      318,   319,     0,     0,     0,     0,     0,     0,     0,   320,
5094        0,     0,   321,  1873,   322,     0,     0,  1163,     0,     0,
5095        0,     0,   323,   324,     0,   325,   326,   327,   328,     0,
5096      305,     0,     0,     0,     0,     0,   306,   307,   308,   300,
5097        0,     1,   301,   105,   302,     0,   303,   304,     0,   309,
5098      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5099        0,     0,     0,   311,     0,     0,     2,   312,   313,   314,
5100      315,   316,   317,   318,   319,     0,     0,     0,     0,     0,
5101        0,     0,   320,     0,     0,   321,  2044,   322,     0,     0,
5102     1158,     0,     0,     0,     0,   323,   324,     0,   325,   326,
5103      327,   328,     0,   305,     0,     0,     0,     0,     0,   306,
5104      307,   308,   300,     0,     1,   301,   105,   302,     0,   303,
5105      304,     0,   309,   310,     0,     0,     0,     0,     0,     0,
5106        0,     0,     0,     0,     0,     0,   311,     0,     0,     2,
5107      312,   313,   314,   315,   316,   317,   318,   319,     0,     0,
5108        0,     0,     0,     0,     0,   320,     0,     0,   321,  1899,
5109      322,  1636,     0,     0,     0,     0,     0,     0,   323,   324,
5110        0,   325,   326,   327,   328,     0,   305,     0,     0,     0,
5111        0,     0,   306,   307,   308,   300,     0,     1,   301,   105,
5112      302,     0,   303,   304,     0,   309,   310,     0,     0,     0,
5113        0,     0,     0,     0,     0,     0,     0,     0,     0,   311,
5114        0,     0,     2,   312,   313,   314,   315,   316,   317,   318,
5115      319,     0,     0,     0,     0,     0,     0,     0,   320,     0,
5116        0,   321,  2121,   322,     0,     0,  1158,     0,     0,     0,
5117        0,   323,   324,     0,   325,   326,   327,   328,     0,   305,
5118        0,     0,     0,     0,     0,   306,   307,   308,   300,     0,
5119        1,   301,   105,   302,     0,   303,   304,     0,   309,   310,
5120        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5121        0,     0,   311,     0,     0,     2,   312,   313,   314,   315,
5122      316,   317,   318,   319,     0,     0,     0,     0,     0,     0,
5123        0,   320,     0,     0,   321,     0,   322,     0,     0,     0,
5124     2150,  1018,     0,     0,   323,   324,     0,   325,   326,   327,
5125      328,     0,   305,     0,     0,     0,     0,     0,   306,   307,
5126      308,   300,     0,     1,   301,   105,   302,     0,   303,   304,
5127        0,   309,   310,     0,     0,     0,     0,     0,     0,     0,
5128        0,     0,     0,     0,     0,   311,     0,     0,     2,   312,
5129      313,   314,   315,   316,   317,   318,   319,     0,     0,     0,
5130        0,     0,     0,     0,   320,     0,     0,   321,  2153,   322,
5131        0,     0,  1158,     0,     0,     0,     0,   323,   324,     0,
5132      325,   326,   327,   328,     0,   305,     0,     0,     0,     0,
5133        0,   306,   307,   308,   300,     0,     1,   301,   105,   302,
5134        0,   303,   304,     0,   309,   310,     0,     0,     0,     0,
5135        0,     0,     0,     0,     0,     0,     0,     0,   311,     0,
5136        0,     2,   312,   313,   314,   315,   316,   317,   318,   319,
5137        0,     0,     0,     0,     0,     0,     0,   320,     0,     0,
5138      321,  2154,   322,     0,     0,  1158,     0,     0,     0,     0,
5139      323,   324,     0,   325,   326,   327,   328,     0,   305,     0,
5140        0,     0,     0,     0,   306,   307,   308,   300,     0,     1,
5141      301,   105,   302,     0,   303,   304,     0,   309,   310,     0,
5142        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5143        0,   311,     0,     0,     2,   312,   313,   314,   315,   316,
5144      317,   318,   319,     0,     0,     0,     0,     0,     0,     0,
5145      320,     0,     0,   321,  2182,   322,     0,     0,  1158,     0,
5146        0,     0,     0,   323,   324,     0,   325,   326,   327,   328,
5147        0,   305,     0,     0,     0,     0,     0,   306,   307,   308,
5148      300,     0,     1,   301,   105,   302,     0,   303,   304,     0,
5149      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5150        0,     0,     0,     0,   311,     0,     0,     2,   312,   313,
5151      314,   315,   316,   317,   318,   319,     0,     0,     0,     0,
5152        0,     0,     0,   320,     0,     0,   321,     0,   322,     0,
5153        0,     0,     0,     0,     0,     0,   323,   324,   545,   325,
5154      326,   327,   328,     0,   305,     0,     0,     0,     0,     0,
5155      306,   307,   308,   300,     0,     1,   301,   105,   302,     0,
5156      303,   304,     0,   309,   310,     0,     0,     0,     0,     0,
5157        0,     0,     0,     0,     0,     0,     0,   311,     0,     0,
5158        2,   312,   313,   314,   315,   316,   317,   318,   319,     0,
5159        0,     0,     0,     0,     0,     0,   320,     0,     0,   321,
5160        0,   322,     0,     0,     0,     0,   746,     0,     0,   323,
5161      324,     0,   325,   326,   327,   328,     0,   305,     0,     0,
5162        0,     0,     0,   306,   307,   308,   300,     0,     1,   301,
5163      105,   302,     0,   303,   304,     0,   309,   310,     0,     0,
5164        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5165      311,     0,     0,     2,   312,   313,   314,   315,   316,   317,
5166      318,   319,     0,     0,     0,     0,     0,     0,     0,   320,
5167        0,     0,   321,     0,   322,     0,     0,     0,     0,     0,
5168        0,     0,   323,   324,   842,   325,   326,   327,   328,     0,
5169      305,     0,     0,     0,     0,     0,   306,   307,   308,   300,
5170        0,     1,   301,   105,   302,     0,   303,   304,     0,   309,
5171      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5172        0,     0,     0,   311,     0,     0,     2,   312,   313,   314,
5173      315,   316,   317,   318,   319,     0,     0,     0,     0,     0,
5174        0,     0,   320,     0,     0,   321,     0,   322,     0,     0,
5175        0,     0,     0,     0,     0,   323,   324,   846,   325,   326,
5176      327,   328,     0,   305,     0,     0,     0,     0,     0,   306,
5177      307,   308,   300,     0,     1,   301,   105,   302,     0,   303,
5178      304,     0,   309,   310,     0,     0,     0,     0,     0,     0,
5179        0,     0,     0,     0,     0,     0,   311,     0,     0,     2,
5180      312,   313,   314,   315,   316,   317,   318,   319,     0,     0,
5181        0,     0,     0,     0,     0,   320,     0,     0,   321,     0,
5182      322,     0,     0,     0,     0,  1018,     0,     0,   323,   324,
5183        0,   325,   326,   327,   328,     0,   305,     0,     0,     0,
5184        0,     0,   306,   307,   308,   300,     0,     1,   301,   105,
5185      302,     0,   303,   304,     0,   309,   310,     0,     0,     0,
5186        0,     0,     0,     0,     0,     0,     0,     0,     0,   311,
5187        0,     0,     2,   312,   313,   314,   315,   316,   317,   318,
5188      319,     0,     0,     0,     0,     0,     0,     0,   320,     0,
5189        0,   321,     0,   322,     0,     0,     0,     0,     0,     0,
5190        0,   323,   324,  1059,   325,   326,   327,   328,     0,   305,
5191        0,     0,     0,     0,     0,   306,   307,   308,   300,     0,
5192        1,   301,   105,   302,     0,   303,   304,     0,   309,   310,
5193        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5194        0,     0,   311,     0,     0,     2,   312,   313,   314,   315,
5195      316,   317,   318,   319,     0,     0,     0,     0,     0,     0,
5196        0,   320,     0,     0,   321,     0,   322,     0,     0,     0,
5197        0,     0,     0,  1111,   323,   324,     0,   325,   326,   327,
5198      328,     0,   305,     0,     0,     0,     0,     0,   306,   307,
5199      308,  1479,     0,     1,   301,   105,   302,     0,   303,   304,
5200        0,   309,   310,     0,     0,     0,     0,     0,     0,     0,
5201        0,     0,     0,     0,     0,   311,     0,     0,     2,   312,
5202      313,   314,   315,   316,   317,   318,   319,     0,     0,     0,
5203        0,     0,     0,     0,   320,     0,     0,   321,   735,   322,
5204        0,     0,     0,     0,     0,     0,     0,   323,   324,     0,
5205      325,   326,   327,   328,     0,   305,     0,     0,     0,     0,
5206        0,   306,   307,   308,   300,     0,     1,   301,   105,   302,
5207        0,   303,   304,     0,   309,   310,     0,     0,     0,     0,
5208        0,     0,     0,     0,     0,     0,     0,     0,   311,     0,
5209        0,     2,   312,   313,   314,   315,   316,   317,   318,   319,
5210        0,     0,     0,     0,     0,     0,     0,   320,     0,     0,
5211      321,     0,   322,     0,     0,     0,     0,   746,     0,     0,
5212      323,   324,     0,   325,   326,   327,   328,     0,   305,     0,
5213        0,     0,     0,     0,   306,   307,   308,   300,     0,     1,
5214      301,   105,   302,     0,   303,   304,     0,   309,   310,     0,
5215        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5216        0,   311,     0,     0,     2,   312,   313,   314,   315,   316,
5217      317,   318,   319,     0,     0,     0,     0,     0,     0,     0,
5218      320,     0,     0,   321,     0,   322,     0,     0,     0,     0,
5219        0,     0,     0,   323,   324,  1582,   325,   326,   327,   328,
5220        0,   305,     0,     0,     0,     0,     0,   306,   307,   308,
5221      300,     0,     1,   301,   105,   302,     0,   303,   304,     0,
5222      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5223        0,     0,     0,     0,   311,     0,     0,     2,   312,   313,
5224      314,   315,   316,   317,   318,   319,     0,     0,     0,     0,
5225        0,     0,     0,   320,     0,     0,   321,  1618,   322,     0,
5226        0,     0,     0,     0,     0,     0,   323,   324,     0,   325,
5227      326,   327,   328,     0,   305,     0,     0,     0,     0,     0,
5228      306,   307,   308,   300,     0,     1,   301,   105,   302,     0,
5229      303,   304,     0,   309,   310,     0,     0,     0,     0,     0,
5230        0,     0,     0,     0,     0,     0,     0,   311,     0,     0,
5231        2,   312,   313,   314,   315,   316,   317,   318,   319,     0,
5232        0,     0,     0,     0,     0,     0,   320,     0,     0,   321,
5233        0,   322,     0,     0,     0,     0,     0,     0,  1621,   323,
5234      324,     0,   325,   326,   327,   328,     0,   305,     0,     0,
5235        0,     0,     0,   306,   307,   308,  1832,     0,     1,   301,
5236      105,   302,     0,   303,   304,     0,   309,   310,     0,     0,
5237        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5238      311,     0,     0,     2,   312,   313,   314,   315,   316,   317,
5239      318,   319,     0,     0,     0,     0,     0,     0,     0,   320,
5240        0,     0,   321,     0,   322,     0,     0,     0,     0,  1831,
5241        0,     0,   323,   324,     0,   325,   326,   327,   328,     0,
5242      305,     0,     0,     0,     0,     0,   306,   307,   308,  1835,
5243        0,     1,   301,   105,   302,     0,   303,   304,     0,   309,
5244      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5245        0,     0,     0,   311,     0,     0,     2,   312,   313,   314,
5246      315,   316,   317,   318,   319,     0,     0,     0,     0,     0,
5247        0,     0,   320,     0,     0,   321,     0,   322,     0,     0,
5248        0,     0,   746,     0,     0,   323,   324,     0,   325,   326,
5249      327,   328,     0,   305,     0,     0,     0,     0,     0,   306,
5250      307,   308,  1839,     0,     1,   301,   105,   302,     0,   303,
5251      304,     0,   309,   310,     0,     0,     0,     0,     0,     0,
5252        0,     0,     0,     0,     0,     0,   311,     0,     0,     2,
5253      312,   313,   314,   315,   316,   317,   318,   319,     0,     0,
5254        0,     0,     0,     0,     0,   320,     0,     0,   321,     0,
5255      322,     0,     0,     0,     0,   746,     0,     0,   323,   324,
5256        0,   325,   326,   327,   328,     0,   305,     0,     0,     0,
5257        0,     0,   306,   307,   308,   300,     0,     1,   301,   105,
5258      302,     0,   303,   304,     0,   309,   310,     0,     0,     0,
5259        0,     0,     0,     0,     0,     0,     0,     0,     0,   311,
5260        0,     0,     2,   312,   313,   314,   315,   316,   317,   318,
5261      319,     0,     0,     0,     0,     0,     0,     0,   320,     0,
5262        0,   321,     0,   322,     0,     0,     0,     0,   746,     0,
5263        0,   323,   324,     0,   325,   326,   327,   328,     0,   305,
5264        0,     0,     0,     0,     0,   306,   307,   308,   300,     0,
5265        1,   301,   105,   302,     0,   303,   304,     0,   309,   310,
5266        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5267        0,     0,   311,     0,     0,     2,   312,   313,   314,   315,
5268      316,   317,   318,   319,     0,     0,     0,     0,     0,     0,
5269        0,   320,     0,     0,   321,  1885,   322,     0,     0,     0,
5270        0,     0,     0,     0,   323,   324,     0,   325,   326,   327,
5271      328,     0,   305,     0,     0,     0,     0,     0,   306,   307,
5272      308,   300,     0,     1,   301,   105,   302,     0,   303,   304,
5273        0,   309,   310,     0,     0,     0,     0,     0,     0,     0,
5274        0,     0,     0,     0,     0,   311,     0,     0,     2,   312,
5275      313,   314,   315,   316,   317,   318,   319,     0,     0,     0,
5276        0,     0,     0,     0,   320,     0,     0,  1952,     0,   322,
5277        0,     0,     0,     0,  1831,     0,     0,   323,   324,     0,
5278      325,   326,   327,   328,     0,   305,     0,     0,     0,     0,
5279        0,   306,   307,   308,   300,     0,     1,   301,   105,   302,
5280        0,   303,   304,     0,   309,   310,     0,     0,     0,     0,
5281        0,     0,     0,     0,     0,     0,     0,     0,   311,     0,
5282        0,     2,   312,   313,   314,   315,   316,   317,   318,   319,
5283        0,     0,     0,     0,     0,     0,     0,   320,     0,     0,
5284      321,  2053,   322,     0,     0,     0,     0,     0,     0,     0,
5285      323,   324,     0,   325,   326,   327,   328,     0,   305,     0,
5286        0,     0,     0,     0,   306,   307,   308,   300,     0,     1,
5287      301,   105,   302,     0,   303,   304,     0,   309,   310,     0,
5288        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5289        0,   311,     0,     0,     2,   312,   313,   314,   315,   316,
5290      317,   318,   319,     0,     0,     0,     0,     0,     0,     0,
5291      320,     0,     0,   321,  2112,   322,     0,     0,     0,     0,
5292        0,     0,     0,   323,   324,     0,   325,   326,   327,   328,
5293        0,   305,     0,     0,     0,     0,     0,   306,   307,   308,
5294      699,     0,     1,   301,   105,   302,     0,   303,   304,     0,
5295      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
5296        0,     0,     0,     0,   311,     0,     0,     2,   312,   313,
5297      314,   315,   316,   317,   318,   319,     0,     0,     0,     0,
5298        0,     0,     0,   320,     0,     0,   321,     0,   322,     0,
5299        0,     0,     0,     0,     0,     0,   323,   324,     0,   325,
5300      326,   327,   328,     0,   305,     0,     0,     0,     0,     0,
5301      306,   307,   308,   300,     0,     1,   301,   105,   302,     0,
5302      303,   304,     0,   309,   310,     0,     0,     0,     0,     0,
5303        0,     0,     0,     0,     0,     0,     0,   311,     0,     0,
5304        2,   312,   313,   314,   315,   316,   317,   318,   319,     0,
5305        0,     0,     0,     0,     0,     0,   320,     0,     0,   700,
5306        0,   322,     0,     0,     0,     0,     0,     0,     0,   323,
5307      324,     0,   325,   326,   327,   328,     0,   305,     0,     0,
5308        0,     0,     0,   306,   307,   308,   699,     0,     1,   301,
5309      105,   302,     0,   303,   304,     0,   309,   310,     0,     0,
5310        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5311      311,     0,     0,     2,   312,   313,   314,   315,   316,   317,
5312      318,   319,     0,     0,     0,     0,     0,     0,     0,   320,
5313        0,     0,   709,     0,   322,     0,     0,     0,     0,     0,
5314        0,     0,   323,   324,     0,   325,   326,   327,   328,     0,
5315      305,     0,     0,     0,     0,     0,   306,   307,   308,     0,
5316        0,     0,     0,     0,     0,     0,     0,     0,     0,   309,
5317      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5318        0,     0,     0,   311,     0,     0,     0,   312,   313,   314,
5319      315,   316,   317,   318,   319,  -921,   580,     0,  -921,  -921,
5320     -921,     0,   320,     0,     0,   732,     0,   322,     0,     0,
5321        0,     0,     0,     0,     0,   323,   324,     0,   325,   326,
5322      327,   328,     0,  -921,  -921,  -921,  -921,  -921,  -921,  -921,
5323     -921,  -921,  -921,  -921,  -921,  -921,  -921,  -921,  -921,  -921,
5324     -921,  -921,  -921,  -921,  -921,  -921,     0,     0,  -921,     0,
5325        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5326     -921,  -921,     0,  -921,     0,     0,  -921,  -921,     0,  -921,
5327     -921,     0,     0,  -921,  -921,  -921,  -921,  -921,  -921,     0,
5328     -921,  -921,  -921,  -921,     0,     0,  -921,  -921,  -921,  -921,
5329        0,  -921,     0,  -921,  -921,  -921,     0,  -921,  -921,  -921,
5330     -921,  -921,  -921,  -921,     0,  -921,  -921,  -921,  -921,  -921,
5331     -921,  -921,  -921,     0,     0,  -921,   581,  -921,  -921,     0,
5332      582,  -921,     0,     0,     0,  -921,  -921,  -189,   909,     0,
5333     -189,  -189,  -189,     0,     0,     0,     0,     0,     0,     0,
5334        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5335        0,     0,     0,     0,     0,  -189,  -189,  -189,  -189,  -189,
5336     -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
5337     -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,     0,     0,
5338     -189,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5339        0,     0,  -189,  -189,     0,  -189,     0,     0,  -189,  -189,
5340        0,  -189,  -189,     0,     0,  -189,  -189,  -189,  -189,  -189,
5341     -189,     0,  -189,  -189,  -189,  -189,     0,     0,  -189,  -189,
5342     -189,  -189,     0,  -189,     0,  -189,  -189,  -189,     0,  -189,
5343     -189,  -189,  -189,  -189,  -189,  -189,     0,  -189,  -189,  -189,
5344     -189,  -189,  -189,  -189,  -189,     0,     0,  -189,     0,  -189,
5345      910,     0,   911,  -189,     0,     0,     0,  -189,  -189,  -253,
5346      923,     0,     1,   301,   105,     0,     0,     0,     0,     0,
5347        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5348        0,     0,     0,     0,     0,     0,     0,     2,   199,   200,
5349      201,   202,   203,     8,     9,    10,    11,    12,    13,    14,
5350       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5351        0,     0,  -253,     0,     0,     0,     0,     0,     0,     0,
5352        0,     0,     0,     0,   305,    27,     0,   421,     0,     0,
5353      306,   307,     0,    28,    29,     0,     0,   422,    32,   423,
5354      424,    35,    36,     0,   403,    38,    39,   425,     0,     0,
5355      426,   427,   428,   429,     0,   430,     0,   431,   432,    40,
5356        0,   312,   313,   314,   315,   316,   317,   318,     0,    43,
5357       44,    45,    46,    47,    48,   205,    50,     0,     0,   433,
5358        0,   434,   435,  -251,   926,  -253,     1,   301,   105,   323,
5359      324,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5360        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5361        0,     2,   199,   200,   201,   202,   203,     8,     9,    10,
5362       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5363       21,    22,    23,    24,     0,     0,  -251,     0,     0,     0,
5364        0,     0,     0,     0,     0,     0,     0,     0,   305,    27,
5365        0,   421,     0,     0,   306,   307,     0,    28,    29,     0,
5366        0,   422,    32,   423,   424,    35,    36,     0,   403,    38,
5367       39,   425,     0,     0,   426,   427,   428,   429,     0,   430,
5368        0,   431,   432,    40,     0,   312,   313,   314,   315,   316,
5369      317,   318,     0,    43,    44,    45,    46,    47,    48,   205,
5370       50,     0,     0,   433,     0,   434,   435,  -254,   923,  -251,
5371        1,   301,   105,   323,   324,     0,     0,     0,     0,     0,
5372        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5373        0,     0,     0,     0,     0,     2,   199,   200,   201,   202,
5374      203,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5375       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5376     -254,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5377        0,     0,   305,    27,     0,   421,     0,     0,   306,   307,
5378        0,    28,    29,     0,     0,   422,    32,   423,   424,    35,
5379       36,     0,   403,    38,    39,   425,     0,     0,   426,   427,
5380      428,   429,     0,   430,     0,   431,   432,    40,     0,   312,
5381      313,   314,   315,   316,   317,   318,     0,    43,    44,    45,
5382       46,    47,    48,   205,    50,     0,     0,   433,     0,   434,
5383      435,  -252,   926,  -254,     1,   301,   105,   323,   324,     0,
5384        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5385        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5386      199,   200,   201,   202,   203,     8,     9,    10,    11,    12,
5387       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5388       23,    24,     0,     0,  -252,     0,     0,     0,     0,     0,
5389        0,     0,     0,     0,     0,     0,   305,    27,     0,   421,
5390        0,     0,   306,   307,     0,    28,    29,     0,     0,   422,
5391       32,   423,   424,    35,    36,     0,   403,    38,    39,   425,
5392        0,     0,   426,   427,   428,   429,     0,   430,     0,   431,
5393      432,    40,     0,   312,   313,   314,   315,   316,   317,   318,
5394        0,    43,    44,    45,    46,    47,    48,   205,    50,     0,
5395        0,   433,     0,   434,   435,     0,   420,  -252,     1,   301,
5396      105,   323,   324,     0,     0,     0,     0,     0,     0,     0,
5397        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5398        0,     0,     0,     2,   199,   200,   201,   202,   203,     8,
5399        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5400       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5401        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5402      305,    27,     0,   421,     0,     0,   306,   307,     0,    28,
5403       29,     0,     0,   422,    32,   423,   424,    35,    36,     0,
5404      403,    38,    39,   425,     0,     0,   426,   427,   428,   429,
5405        0,   430,     0,   431,   432,    40,     0,   312,   313,   314,
5406      315,   316,   317,   318,     0,    43,    44,    45,    46,    47,
5407       48,   205,    50,     0,     0,   433,     0,   434,   435,     0,
5408      486,   436,     1,   301,   105,   323,   324,     0,     0,     0,
5409        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5410        0,     0,     0,     0,     0,     0,     0,     2,   199,   200,
5411      201,   202,   203,     8,     9,    10,    11,    12,    13,    14,
5412       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5413        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5414        0,     0,     0,     0,   305,    27,     0,   421,     0,     0,
5415      306,   307,     0,    28,    29,     0,     0,   422,    32,   423,
5416      424,    35,    36,     0,   403,    38,    39,   425,     0,     0,
5417      426,   427,   428,   429,     0,   430,     0,   431,   432,    40,
5418        0,   312,   313,   314,   315,   316,   317,   318,     0,    43,
5419       44,    45,    46,    47,    48,   205,    50,     0,     0,   433,
5420        0,   434,   435,     0,   508,   487,     1,   301,   105,   323,
5421      324,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5422        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5423        0,     2,   199,   200,   201,   202,   203,     8,     9,    10,
5424       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5425       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5426        0,     0,     0,     0,     0,     0,     0,     0,   305,    27,
5427        0,   421,     0,     0,   306,   307,     0,    28,    29,     0,
5428        0,   422,    32,   423,   424,    35,    36,     0,   403,    38,
5429       39,   425,     0,     0,   426,   427,   428,   429,     0,   430,
5430        0,   431,   432,    40,     0,   312,   313,   314,   315,   316,
5431      317,   318,     0,    43,    44,    45,    46,    47,    48,   205,
5432       50,     0,     0,   433,     0,   434,   435,     0,   513,   509,
5433        1,   301,   105,   323,   324,     0,     0,     0,     0,     0,
5434        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5435        0,     0,     0,     0,     0,     2,   199,   200,   201,   202,
5436      203,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5437       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5438        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5439        0,     0,   305,    27,     0,   421,     0,     0,   306,   307,
5440        0,    28,    29,     0,     0,   422,    32,   423,   424,    35,
5441       36,     0,   403,    38,    39,   425,     0,     0,   426,   427,
5442      428,   429,     0,   430,     0,   431,   432,    40,     0,   312,
5443      313,   314,   315,   316,   317,   318,     0,    43,    44,    45,
5444       46,    47,    48,   205,    50,     0,     0,   433,     0,   434,
5445      435,     0,   517,   514,     1,   301,   105,   323,   324,     0,
5446        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5447        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5448      199,   200,   201,   202,   203,     8,     9,    10,    11,    12,
5449       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5450       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5451        0,     0,     0,     0,     0,     0,   305,    27,     0,   421,
5452        0,     0,   306,   307,     0,    28,    29,     0,     0,   422,
5453       32,   423,   424,    35,    36,     0,   403,    38,    39,   425,
5454        0,     0,   426,   427,   428,   429,     0,   430,     0,   431,
5455      432,    40,     0,   312,   313,   314,   315,   316,   317,   318,
5456        0,    43,    44,    45,    46,    47,    48,   205,    50,     0,
5457        0,   433,     0,   434,   435,     0,   923,   518,     1,   301,
5458      105,   323,   324,     0,     0,     0,     0,     0,     0,     0,
5459        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5460        0,     0,     0,     2,   199,   200,   201,   202,   203,     8,
5461        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5462       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5463        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5464      305,    27,     0,   421,     0,     0,   306,   307,     0,    28,
5465       29,     0,     0,   422,    32,   423,   424,    35,    36,     0,
5466      403,    38,    39,   425,     0,     0,   426,   427,   428,   429,
5467        0,   430,     0,   431,   432,    40,     0,   312,   313,   314,
5468      315,   316,   317,   318,     0,    43,    44,    45,    46,    47,
5469       48,   205,    50,     0,     0,   433,     0,   434,   435,     0,
5470      926,  -776,     1,   301,   105,   323,   324,     0,     0,     0,
5471        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5472        0,     0,     0,     0,     0,     0,     0,     2,   199,   200,
5473      201,   202,   203,     8,     9,    10,    11,    12,    13,    14,
5474       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5475        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5476        0,     0,     0,     0,   305,    27,     0,   421,     0,     0,
5477      306,   307,     0,    28,    29,     0,     0,   422,    32,   423,
5478      424,    35,    36,     0,   403,    38,    39,   425,     0,     0,
5479      426,   427,   428,   429,     0,   430,     0,   431,   432,    40,
5480        0,   312,   313,   314,   315,   316,   317,   318,     0,    43,
5481       44,    45,    46,    47,    48,   205,    50,     0,     0,   433,
5482        0,   434,   435,     0,   923,  -777,     1,   301,   105,   323,
5483      324,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5484        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5485        0,     2,   199,   200,   201,   202,   203,     8,     9,    10,
5486       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5487       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5488        0,     0,     0,     0,     0,     0,     0,     0,   305,    27,
5489        0,   421,     0,     0,   306,   307,     0,    28,    29,     0,
5490        0,   422,    32,   423,   424,    35,    36,     0,   403,    38,
5491       39,   425,     0,     0,   426,   427,   428,   429,     0,   430,
5492        0,   431,   432,    40,     0,   312,   313,   314,   315,   316,
5493      317,   318,     0,    43,    44,    45,    46,    47,    48,   205,
5494       50,     0,     0,   433,     0,   434,   435,     0,   926,  -773,
5495        1,   301,   105,   323,   324,     0,     0,     0,     0,     0,
5496        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5497        0,     0,     0,     0,     0,     2,   199,   200,   201,   202,
5498      203,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5499       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5500        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5501        0,     0,   305,    27,     0,   421,     0,     0,   306,   307,
5502        0,    28,    29,     0,     0,   422,    32,   423,   424,    35,
5503       36,     0,   403,    38,    39,   425,     0,     0,   426,   427,
5504      428,   429,     0,   430,     0,   431,   432,    40,     0,   312,
5505      313,   314,   315,   316,   317,   318,     0,    43,    44,    45,
5506       46,    47,    48,   205,    50,     0,     0,   433,     0,   434,
5507      435,     0,   923,  -774,     1,   301,   105,   323,   324,     0,
5508        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5509        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5510      199,   200,   201,   202,   203,     8,     9,    10,    11,    12,
5511       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5512       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5513        0,     0,     0,     0,     0,     0,   305,    27,     0,   421,
5514        0,     0,   306,   307,     0,    28,    29,     0,     0,   422,
5515       32,   423,   424,    35,    36,     0,   403,    38,    39,   425,
5516        0,     0,   426,   427,   428,   429,     0,   430,     0,   431,
5517      432,    40,     0,   312,   313,   314,   315,   316,   317,   318,
5518        0,    43,    44,    45,    46,    47,    48,   205,    50,     0,
5519        0,   433,     0,   434,   435,     0,   926,  -779,     1,   301,
5520      105,   323,   324,     0,     0,     0,     0,     0,     0,     0,
5521        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5522        0,     0,     0,     2,   199,   200,   201,   202,   203,     8,
5523        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5524       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5525        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5526      305,    27,     0,   421,     0,     0,   306,   307,     0,    28,
5527       29,     0,     0,   422,    32,   423,   424,    35,    36,     0,
5528      403,    38,    39,   425,     0,     0,   426,   427,   428,   429,
5529        0,   430,     0,   431,   432,    40,     0,   312,   313,   314,
5530      315,   316,   317,   318,     0,    43,    44,    45,    46,    47,
5531       48,   205,    50,     0,     0,   433,     0,   434,   435,     0,
5532     1041,  -780,     1,   301,   105,   323,   324,     0,     0,     0,
5533        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5534        0,     0,     0,     0,     0,     0,     0,     2,   199,   200,
5535      201,   202,   203,     8,     9,    10,    11,    12,    13,    14,
5536       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5537        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5538        0,     0,     0,     0,   305,    27,     0,   421,     0,     0,
5539      306,   307,     0,    28,    29,     0,     0,   422,    32,   423,
5540      424,    35,    36,     0,   403,    38,    39,   425,     0,     0,
5541      426,   427,   428,   429,     0,   430,     0,   431,   432,    40,
5542        0,   312,   313,   314,   315,   316,   317,   318,     0,    43,
5543       44,    45,    46,    47,    48,   205,    50,     0,     0,   433,
5544        0,   434,   435,     0,  1045,  1042,     1,   301,   105,   323,
5545      324,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5546        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5547        0,     2,   199,   200,   201,   202,   203,     8,     9,    10,
5548       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5549       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5550        0,     0,     0,     0,     0,     0,     0,     0,   305,    27,
5551        0,   421,     0,     0,   306,   307,     0,    28,    29,     0,
5552        0,   422,    32,   423,   424,    35,    36,     0,   403,    38,
5553       39,   425,     0,     0,   426,   427,   428,   429,     0,   430,
5554        0,   431,   432,    40,     0,   312,   313,   314,   315,   316,
5555      317,   318,     0,    43,    44,    45,    46,    47,    48,   205,
5556       50,     0,     0,   433,     0,   434,   435,     0,   923,  1046,
5557        1,   301,   105,   323,   324,     0,     0,     0,     0,     0,
5558        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5559        0,     0,     0,     0,     0,     2,   199,   200,   201,   202,
5560      203,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5561       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5562        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5563        0,     0,   305,    27,     0,   421,     0,     0,   306,   307,
5564        0,    28,    29,     0,     0,   422,    32,   423,   424,    35,
5565       36,     0,   403,    38,    39,   425,     0,     0,   426,   427,
5566      428,   429,     0,   430,     0,   431,   432,    40,     0,   312,
5567      313,   314,   315,   316,   317,   318,     0,    43,    44,    45,
5568       46,    47,    48,   205,    50,     0,     0,   433,     0,   434,
5569      435,     0,   926,  -756,     1,   301,   105,   323,   324,     0,
5570        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5571        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5572      199,   200,   201,   202,   203,     8,     9,    10,    11,    12,
5573       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5574       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5575        0,     0,     0,     0,     0,     0,   305,    27,     0,   421,
5576        0,     0,   306,   307,     0,    28,    29,     0,     0,   422,
5577       32,   423,   424,    35,    36,     0,   403,    38,    39,   425,
5578        0,     0,   426,   427,   428,   429,     0,   430,     0,   431,
5579      432,    40,     0,   312,   313,   314,   315,   316,   317,   318,
5580        0,    43,    44,    45,    46,    47,    48,   205,    50,     0,
5581        0,   433,     0,   434,   435,     0,   923,  -757,     1,   301,
5582      105,   323,   324,     0,     0,     0,     0,     0,     0,     0,
5583        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5584        0,     0,     0,     2,   199,   200,   201,   202,   203,     8,
5585        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5586       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5587        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5588      305,    27,     0,   421,     0,     0,   306,   307,     0,    28,
5589       29,     0,     0,   422,    32,   423,   424,    35,    36,     0,
5590      403,    38,    39,   425,     0,     0,   426,   427,   428,   429,
5591        0,   430,     0,   431,   432,    40,     0,   312,   313,   314,
5592      315,   316,   317,   318,     0,    43,    44,    45,    46,    47,
5593       48,   205,    50,     0,     0,   433,     0,   434,   435,     0,
5594      926,  -759,     1,   301,   105,   323,   324,     0,     0,     0,
5595        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5596        0,     0,     0,     0,     0,     0,     0,     2,   199,   200,
5597      201,   202,   203,     8,     9,    10,    11,    12,    13,    14,
5598       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5599        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5600        0,     0,     0,     0,   305,    27,     0,   421,     0,     0,
5601      306,   307,     0,    28,    29,     0,     0,   422,    32,   423,
5602      424,    35,    36,     0,   403,    38,    39,   425,     0,     0,
5603      426,   427,   428,   429,     0,   430,     0,   431,   432,    40,
5604        0,   312,   313,   314,   315,   316,   317,   318,     0,    43,
5605       44,    45,    46,    47,    48,   205,    50,     0,     0,   433,
5606        0,   434,   435,     0,  1564,  -760,     1,   301,   105,   323,
5607      324,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5608        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5609        0,     2,   199,   200,   201,   202,   203,     8,     9,    10,
5610       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5611       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5612        0,     0,     0,     0,     0,     0,     0,     0,   305,    27,
5613        0,   421,     0,     0,   306,   307,     0,    28,    29,     0,
5614        0,   422,    32,   423,   424,    35,    36,     0,   403,    38,
5615       39,   425,     0,     0,   426,   427,   428,   429,     0,   430,
5616        0,   431,   432,    40,     0,   312,   313,   314,   315,   316,
5617      317,   318,     0,    43,    44,    45,    46,    47,    48,   205,
5618       50,     0,     0,   433,     0,   434,   435,     0,   923,  1565,
5619        1,   301,   105,   323,   324,     0,     0,     0,     0,     0,
5620        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5621        0,     0,     0,     0,     0,     2,   199,   200,   201,   202,
5622      203,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5623       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5624        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5625        0,     0,   305,    27,     0,   421,     0,     0,   306,   307,
5626        0,    28,    29,     0,     0,   422,    32,   423,   424,    35,
5627       36,     0,   403,    38,    39,   425,     0,     0,   426,   427,
5628      428,   429,     0,   430,     0,   431,   432,    40,     0,   312,
5629      313,   314,   315,   316,   317,   318,     0,    43,    44,    45,
5630       46,    47,    48,   205,    50,     0,     0,   433,     0,   434,
5631      435,     0,   926,  -674,     1,   301,   105,   323,   324,     0,
5632        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5633        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5634      199,   200,   201,   202,   203,     8,     9,    10,    11,    12,
5635       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5636       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5637        0,     0,     0,     0,     0,     0,   305,    27,     0,   421,
5638        0,     0,   306,   307,     0,    28,    29,     0,     0,   422,
5639       32,   423,   424,    35,    36,     0,   403,    38,    39,   425,
5640        0,     0,   426,   427,   428,   429,     0,   430,     0,   431,
5641      432,    40,     0,   312,   313,   314,   315,   316,   317,   318,
5642        0,    43,    44,    45,    46,    47,    48,   205,    50,     0,
5643        0,   433,     0,   434,   435,     0,   923,  -675,     1,   301,
5644      105,   323,   324,     0,     0,     0,     0,     0,     0,     0,
5645        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5646        0,     0,     0,     2,   199,   200,   201,   202,   203,     8,
5647        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5648       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5649        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5650      305,    27,     0,   421,     0,     0,   306,   307,     0,    28,
5651       29,     0,     0,   422,    32,   423,   424,    35,    36,     0,
5652      403,    38,    39,   425,     0,     0,   426,   427,   428,   429,
5653        0,   430,     0,   431,   432,    40,     0,   312,   313,   314,
5654      315,   316,   317,   318,     0,    43,    44,    45,    46,    47,
5655       48,   205,    50,     0,     0,   433,     0,   434,   435,     0,
5656      926,  -762,     1,   301,   105,   323,   324,     0,     0,     0,
5657        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5658        0,     0,     0,     0,     0,     0,     0,     2,   199,   200,
5659      201,   202,   203,     8,     9,    10,    11,    12,    13,    14,
5660       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5661        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5662        0,     0,     0,     0,   305,    27,     0,   421,     0,     0,
5663      306,   307,     0,    28,    29,     0,     0,   422,    32,   423,
5664      424,    35,    36,     0,   403,    38,    39,   425,     0,     0,
5665      426,   427,   428,   429,     0,   430,     0,   431,   432,    40,
5666        0,   312,   313,   314,   315,   316,   317,   318,     0,    43,
5667       44,    45,    46,    47,    48,   205,    50,     0,     0,   433,
5668        0,   434,   435,     0,   923,  -763,     1,   301,   105,   323,
5669      324,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5670        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5671        0,     2,   199,   200,   201,   202,   203,     8,     9,    10,
5672       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5673       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5674        0,     0,     0,     0,     0,     0,     0,     0,   305,    27,
5675        0,   421,     0,     0,   306,   307,     0,    28,    29,     0,
5676        0,   422,    32,   423,   424,    35,    36,     0,   403,    38,
5677       39,   425,     0,     0,   426,   427,   428,   429,     0,   430,
5678        0,   431,   432,    40,     0,   312,   313,   314,   315,   316,
5679      317,   318,     0,    43,    44,    45,    46,    47,    48,   205,
5680       50,     0,     0,   433,     0,   434,   435,     0,   926,  -667,
5681        1,   301,   105,   323,   324,     0,     0,     0,     0,     0,
5682        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5683        0,     0,     0,     0,     0,     2,   199,   200,   201,   202,
5684      203,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5685       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5686        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5687        0,     0,   305,    27,     0,   421,     0,     0,   306,   307,
5688        0,    28,    29,     0,     0,   422,    32,   423,   424,    35,
5689       36,     0,   403,    38,    39,   425,     0,     0,   426,   427,
5690      428,   429,     0,   430,     0,   431,   432,    40,     0,   312,
5691      313,   314,   315,   316,   317,   318,     0,    43,    44,    45,
5692       46,    47,    48,   205,    50,     0,     0,   433,     0,   434,
5693      435,     0,   923,  -668,     1,   301,   105,   323,   324,     0,
5694        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5695        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5696      199,   200,   201,   202,   203,     8,     9,    10,    11,    12,
5697       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5698       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5699        0,     0,     0,     0,     0,     0,   305,    27,     0,   421,
5700        0,     0,   306,   307,     0,    28,    29,     0,     0,   422,
5701       32,   423,   424,    35,    36,     0,   403,    38,    39,   425,
5702        0,     0,   426,   427,   428,   429,     0,   430,     0,   431,
5703      432,    40,     0,   312,   313,   314,   315,   316,   317,   318,
5704        0,    43,    44,    45,    46,    47,    48,   205,    50,     0,
5705        0,   433,     0,   434,   435,     0,   926,  -663,     1,   301,
5706      105,   323,   324,     0,     0,     0,     0,     0,     0,     0,
5707        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5708        0,     0,     0,     2,   199,   200,   201,   202,   203,     8,
5709        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5710       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5711        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5712      305,    27,     0,   421,     0,     0,   306,   307,     0,    28,
5713       29,     0,     0,   422,    32,   423,   424,    35,    36,     0,
5714      403,    38,    39,   425,     0,     0,   426,   427,   428,   429,
5715        0,   430,     0,   431,   432,    40,     0,   312,   313,   314,
5716      315,   316,   317,   318,     0,    43,    44,    45,    46,    47,
5717       48,   205,    50,     0,     0,   433,     0,   434,   435,     0,
5718      923,  -664,     1,   301,   105,   323,   324,     0,     0,     0,
5719        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5720        0,     0,     0,     0,     0,     0,     0,     2,   199,   200,
5721      201,   202,   203,     8,     9,    10,    11,    12,    13,    14,
5722       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5723        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5724        0,     0,     0,     0,   305,    27,     0,   421,     0,     0,
5725      306,   307,     0,    28,    29,     0,     0,   422,    32,   423,
5726      424,    35,    36,     0,   403,    38,    39,   425,     0,     0,
5727      426,   427,   428,   429,     0,   430,     0,   431,   432,    40,
5728        0,   312,   313,   314,   315,   316,   317,   318,     0,    43,
5729       44,    45,    46,    47,    48,   205,    50,     0,     0,   433,
5730        0,   434,   435,     0,   926,  -653,     1,   301,   105,   323,
5731      324,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5732        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5733        0,     2,   199,   200,   201,   202,   203,     8,     9,    10,
5734       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5735       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5736        0,     0,     0,     0,     0,     0,     0,     0,   305,    27,
5737        0,   421,     0,     0,   306,   307,     0,    28,    29,     0,
5738        0,   422,    32,   423,   424,    35,    36,     0,   403,    38,
5739       39,   425,     0,     0,   426,   427,   428,   429,     0,   430,
5740        0,   431,   432,    40,     0,   312,   313,   314,   315,   316,
5741      317,   318,     0,    43,    44,    45,    46,    47,    48,   205,
5742       50,     0,     0,   433,     0,   434,   435,     0,   923,  -654,
5743        1,   301,   105,   323,   324,     0,     0,     0,     0,     0,
5744        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5745        0,     0,     0,     0,     0,     2,   199,   200,   201,   202,
5746      203,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5747       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5748        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5749        0,     0,   305,    27,     0,   421,     0,     0,   306,   307,
5750        0,    28,    29,     0,     0,   422,    32,   423,   424,    35,
5751       36,     0,   403,    38,    39,   425,     0,     0,   426,   427,
5752      428,   429,     0,   430,     0,   431,   432,    40,     0,   312,
5753      313,   314,   315,   316,   317,   318,     0,    43,    44,    45,
5754       46,    47,    48,   205,    50,     0,     0,   433,     0,   434,
5755      435,     0,   926,  -648,     1,   301,   105,   323,   324,     0,
5756        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5757        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5758      199,   200,   201,   202,   203,     8,     9,    10,    11,    12,
5759       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5760       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5761        0,     0,     0,     0,     0,     0,   305,    27,     0,   421,
5762        0,     0,   306,   307,     0,    28,    29,     0,     0,   422,
5763       32,   423,   424,    35,    36,     0,   403,    38,    39,   425,
5764        0,     0,   426,   427,   428,   429,     0,   430,     0,   431,
5765      432,    40,     0,   312,   313,   314,   315,   316,   317,   318,
5766        0,    43,    44,    45,    46,    47,    48,   205,    50,     0,
5767        0,   433,     0,   434,   435,     0,   923,  -649,     1,   301,
5768      105,   323,   324,     0,     0,     0,     0,     0,     0,     0,
5769        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5770        0,     0,     0,     2,   199,   200,   201,   202,   203,     8,
5771        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5772       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5773        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5774      305,    27,     0,   421,     0,     0,   306,   307,     0,    28,
5775       29,     0,     0,   422,    32,   423,   424,    35,    36,     0,
5776      403,    38,    39,   425,     0,     0,   426,   427,   428,   429,
5777        0,   430,     0,   431,   432,    40,     0,   312,   313,   314,
5778      315,   316,   317,   318,     0,    43,    44,    45,    46,    47,
5779       48,   205,    50,     0,     0,   433,     0,   434,   435,     0,
5780      926,  -665,     1,   301,   105,   323,   324,     0,     0,     0,
5781        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5782        0,     0,     0,     0,     0,     0,     0,     2,   199,   200,
5783      201,   202,   203,     8,     9,    10,    11,    12,    13,    14,
5784       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5785        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5786        0,     0,     0,     0,   305,    27,     0,   421,     0,     0,
5787      306,   307,     0,    28,    29,     0,     0,   422,    32,   423,
5788      424,    35,    36,     0,   403,    38,    39,   425,     0,     0,
5789      426,   427,   428,   429,     0,   430,     0,   431,   432,    40,
5790        0,   312,   313,   314,   315,   316,   317,   318,     0,    43,
5791       44,    45,    46,    47,    48,   205,    50,     0,     0,   433,
5792        0,   434,   435,     0,   300,  -666,     1,   301,   105,   323,
5793      324,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5794        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5795        0,     2,   199,   200,   201,   202,   203,     8,     9,    10,
5796       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5797       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5798        0,     0,     0,     0,     0,     0,     0,     0,   305,    27,
5799        0,   421,     0,     0,   306,   307,     0,    28,    29,     0,
5800        0,   422,    32,   423,   424,    35,    36,     0,   403,    38,
5801       39,   425,     0,     0,   426,   427,   428,   429,     0,   430,
5802        0,   431,   432,    40,     0,   312,   313,   314,   315,   316,
5803      317,   318,     0,    43,    44,    45,    46,    47,    48,   205,
5804       50,     0,     0,   433,     0,   434,   435,   420,     0,     1,
5805      301,   105,     0,   323,   324,     0,     0,     0,     0,     0,
5806        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5807        0,     0,     0,     0,     2,   199,   200,   201,   202,   203,
5808        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5809       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5810        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5811        0,   305,    27,     0,   421,     0,     0,   306,   307,     0,
5812       28,    29,     0,     0,   422,    32,   423,   424,    35,    36,
5813        0,   403,    38,    39,   425,     0,     0,   426,   427,   428,
5814      429,     0,   430,     0,   431,   432,    40,     0,   312,   313,
5815      314,   315,   316,   317,   318,     0,    43,    44,    45,    46,
5816       47,    48,   205,    50,     0,     0,   433,     0,   434,   435,
5817      486,     0,     1,   301,   105,     0,   323,   324,     0,     0,
5818        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5819        0,     0,     0,     0,     0,     0,     0,     2,   199,   200,
5820      201,   202,   203,     8,     9,    10,    11,    12,    13,    14,
5821       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5822        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5823        0,     0,     0,     0,   305,    27,     0,   421,     0,     0,
5824      306,   307,     0,    28,    29,     0,     0,   422,    32,   423,
5825      424,    35,    36,     0,   403,    38,    39,   425,     0,     0,
5826      426,   427,   428,   429,     0,   430,     0,   431,   432,    40,
5827        0,   312,   313,   314,   315,   316,   317,   318,     0,    43,
5828       44,    45,    46,    47,    48,   205,    50,     0,   198,   433,
5829        1,   434,   435,     0,     0,     0,     0,     0,     0,   323,
5830      324,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5831        0,     0,     0,     0,     0,     2,   199,   200,   201,   202,
5832      203,     8,     9,    10,   561,    12,    13,    14,    15,    16,
5833       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5834        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5835        0,     0,   204,    27,     0,     0,     0,     0,     0,     0,
5836        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
5837       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
5838        0,     0,     0,     0,     0,     0,     0,    40,     0,     0,
5839        0,     0,   198,     0,     1,     0,     0,    43,    44,    45,
5840       46,    47,    48,   205,    50,     0,     0,   562,  1050,     0,
5841        0,     0,     0,     0,     0,     0,     0,     0,   563,     2,
5842      199,   200,   201,   202,   203,     8,     9,    10,    11,    12,
5843       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5844       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5845        0,     0,     0,     0,     0,     0,   204,    27,     0,     0,
5846        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
5847       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
5848        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5849        0,    40,     0,     0,     0,     0,     0,     0,     1,     0,
5850        0,    43,    44,    45,    46,    47,    48,   205,    50,     0,
5851        0,   864,  1050,     0,     0,     0,     0,     0,     0,     0,
5852        0,     0,   563,     2,   199,   200,   201,   202,   203,     8,
5853        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5854       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5855        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5856        0,    27,     0,     0,     0,     0,     0,     0,     0,    28,
5857       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
5858       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
5859        0,     0,     0,     0,     0,    40,     0,     0,     0,     0,
5860        0,     0,     1,     0,     0,    43,    44,    45,    46,    47,
5861       48,   205,    50,     0,     0,   864,     0,     0,     0,     0,
5862        0,     0,     0,     0,     0,     0,   563,     2,   199,   200,
5863      201,   202,   203,   232,   233,   234,   235,   236,   237,   238,
5864      239,   240,   241,    18,    19,   242,   243,    22,    23,    24,
5865        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5866        0,     0,     0,     0,     0,   244,     0,     0,     0,     0,
5867        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5868        0,     0,     0,     0,   245,    38,   246,     0,     0,     0,
5869        0,     0,     0,     0,     0,     0,     0,     0,     0,   247,
5870        0,     0,     0,     0,     0,     0,     1,     0,     0,    43,
5871       44,   248,   249,   250,   251,   205,    50,     0,     0,   864,
5872        0,     0,     0,     0,     0,     0,  1444,     0,     0,     0,
5873      563,     2,   199,   200,   201,   202,   203,   232,   233,   234,
5874      235,   236,   237,   238,   239,   240,   241,    18,    19,   242,
5875      243,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5876        0,     0,     0,     0,     0,     0,     0,     0,     0,   244,
5877        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5878        0,     0,    32,     0,     0,     0,     0,     0,   245,    38,
5879      246,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5880        0,     0,     0,   247,     0,     0,     0,     0,     0,     0,
5881        1,     0,     0,    43,    44,   248,   249,   250,   251,   205,
5882       50,     0,     0,   864,     0,     0,     0,     0,     0,     0,
5883     1461,     0,     0,     0,   563,     2,   199,   200,   201,   202,
5884      203,   232,   233,   234,   235,   236,   237,   238,   239,   240,
5885      241,    18,    19,   242,   243,    22,    23,    24,     0,     0,
5886        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5887        0,     0,     0,   244,     0,     0,     0,     0,     0,     0,
5888        0,    28,    29,     0,     0,     0,    32,     0,     0,     0,
5889        0,     0,   245,    38,   246,     0,     0,     0,     0,     0,
5890        0,     0,     0,     0,     0,     0,     0,   247,     0,     0,
5891        0,     0,     0,     0,     1,     0,     0,    43,    44,   248,
5892      249,   250,   251,   205,    50,     0,     0,  1226,     0,     0,
5893        0,     0,     0,     0,     0,     0,     0,     0,  1227,     2,
5894      199,   200,   201,   202,   203,   232,   233,   234,   235,   236,
5895      237,   238,   239,   240,   241,    18,    19,   242,   243,    22,
5896       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5897        0,     0,     0,     0,     0,     0,     0,   244,     0,     0,
5898        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
5899       32,     0,     0,     0,     0,     0,   245,    38,   246,     0,
5900        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5901        0,   247,     0,     0,     0,     0,     0,     0,     1,     0,
5902        0,    43,    44,   248,   249,   250,   251,   205,    50,     0,
5903        0,  1226,     0,     0,     0,     0,     0,     0,     0,     0,
5904        0,     0,  1249,     2,   199,   200,   201,   202,   203,   232,
5905      233,   234,   235,   236,   237,   238,   239,   240,   241,    18,
5906       19,   242,   243,    22,    23,    24,     0,     0,     0,     0,
5907        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5908        0,   244,     0,     0,     0,     0,     0,     0,     0,    28,
5909       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
5910      245,    38,   246,     0,     0,     0,     0,     0,     0,     0,
5911        0,     0,     0,     0,     0,   247,     0,     0,     0,     0,
5912        0,     0,     1,     0,     0,    43,    44,   248,   249,   250,
5913      251,   205,    50,     0,     0,  1226,     0,     0,     0,     0,
5914        0,     0,     0,     0,     0,     0,  1725,     2,   199,   200,
5915      201,   202,   203,   232,   233,   234,   235,   236,   237,   238,
5916      239,   240,   241,    18,    19,   242,   243,    22,    23,    24,
5917        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5918        0,     0,     0,     0,     0,   244,     0,     0,     0,     0,
5919        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5920        0,     0,     0,     0,   245,    38,   246,     0,     0,     0,
5921        0,     0,     0,     0,     0,     0,     0,     0,     0,   247,
5922        0,     0,     0,     0,     0,     0,     1,     0,     0,    43,
5923       44,   248,   249,   250,   251,   205,    50,     0,     0,  1226,
5924        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5925     1740,     2,     3,     4,   271,     6,     7,     8,     9,    10,
5926       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5927       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5928        0,     0,     0,     0,     0,     0,     0,     0,    26,    27,
5929        0,     0,     0,     0,     0,     0,     0,    28,    29,   272,
5930       31,     0,    32,     0,     0,    35,    36,     0,    37,    38,
5931       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5932        0,     0,     0,    40,     0,     0,     0,     0,    42,     1,
5933        0,     0,     0,    43,    44,    45,    46,    47,    48,    49,
5934       50,     0,     0,    51,     0,     0,     0,     0,     0,     0,
5935        0,     0,   273,     0,     2,   199,   200,   201,   202,   203,
5936        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5937       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5938        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5939        0,     0,    27,     0,   421,     0,     0,     0,     0,     0,
5940       28,    29,     0,     0,   422,    32,     0,     0,    35,    36,
5941        0,    37,    38,    39,     0,     0,     0,     0,     0,     0,
5942        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
5943        0,     1,     0,     0,     0,     0,    43,    44,    45,    46,
5944       47,    48,   205,    50,     0,     0,   951,     0,   434,     0,
5945        0,     0,     0,     0,     0,   952,     2,   199,   200,   201,
5946      202,   203,     8,     9,    10,   561,    12,    13,    14,    15,
5947       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5948        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5949        0,     0,     0,     0,    27,     0,     0,     0,     0,     0,
5950        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
5951       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
5952        0,     0,     0,     0,     0,     0,     0,     0,    40,     0,
5953        0,     0,     0,     1,     0,     0,     0,     0,    43,    44,
5954       45,    46,    47,    48,   205,    50,     0,     0,   931,     0,
5955        0,     0,     0,     0,     0,     0,     0,   932,     2,   199,
5956      200,   201,   202,   203,     8,     9,    10,   561,    12,    13,
5957       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5958       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5959        0,     0,     0,     0,     0,     0,    27,     0,     0,     0,
5960        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
5961        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
5962        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5963       40,     0,     0,  1529,     0,     0,     0,     0,     0,     0,
5964       43,    44,    45,    46,    47,    48,   205,    50,     0,     0,
5965       51,     0,     0,     0,     0,     0,     0,     0,     0,   932,
5966      -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,
5967      -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,
5968      -66,   -66,   -66,     0,     0,     0,     0,     0,     0,     0,
5969        0,     0,     0,     0,     0,     0,     0,     0,   -66,     0,
5970        0,     0,     0,     0,     0,     0,   -66,   -66,     0,     0,
5971        0,   -66,     0,     0,     0,     0,     0,   -66,   -66,   -66,
5972        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5973        0,     0,   -66,  1752,     0,     0,     0,     0,     0,     0,
5974        0,     0,   -66,   -66,   -66,   -66,   -66,   -66,   -66,     0,
5975        0,     0,     0,     0,     0,  1530,     0,  1531,   -66,     0,
5976        2,   199,   200,   201,   202,   203,   232,   233,   234,   235,
5977      236,   237,   238,   239,   240,   241,    18,    19,   242,   243,
5978       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5979        0,     0,     0,     0,     0,     0,     0,     0,   244,     0,
5980        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
5981        0,    32,     0,     0,     0,     0,     0,   245,    38,   246,
5982        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5983        0,     0,   247,  1756,     0,     0,     0,     0,     0,     0,
5984        0,     0,    43,    44,   248,   249,   250,   251,   205,     0,
5985        0,     0,     0,     0,     0,     0,     0,     0,  -111,     0,
5986        2,   199,   200,   201,   202,   203,   232,   233,   234,   235,
5987      236,   237,   238,   239,   240,   241,    18,    19,   242,   243,
5988       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5989        0,     0,     0,     0,     0,     0,     0,     0,   244,     0,
5990        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
5991        0,    32,     0,     0,     0,     0,     0,   245,    38,   246,
5992        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5993        0,     0,   247,  1757,     0,     0,     0,     0,     0,     0,
5994        0,     0,    43,    44,   248,   249,   250,   251,   205,     0,
5995        0,     0,     0,     0,     0,     0,     0,     0,   -95,     0,
5996        2,   199,   200,   201,   202,   203,   232,   233,   234,   235,
5997      236,   237,   238,   239,   240,   241,    18,    19,   242,   243,
5998       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5999        0,     0,     0,     0,     0,     0,     0,     0,   244,     0,
6000        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
6001        0,    32,     0,     0,     0,     0,     0,   245,    38,   246,
6002        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6003        0,     0,   247,  1863,     0,     0,     0,     0,     0,     0,
6004        0,     0,    43,    44,   248,   249,   250,   251,   205,     0,
6005        0,     0,     0,     0,     0,     0,     0,     0,   -96,     0,
6006        2,   199,   200,   201,   202,   203,   232,   233,   234,   235,
6007      236,   237,   238,   239,   240,   241,    18,    19,   242,   243,
6008       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
6009        0,     0,     0,     0,     0,     0,     0,     0,   244,     0,
6010        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
6011        0,    32,     0,     0,     0,     0,     0,   245,    38,   246,
6012        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6013        0,     0,   247,  2014,     0,     0,     0,     0,     0,     0,
6014        0,     0,    43,    44,   248,   249,   250,   251,   205,     0,
6015        0,     0,     0,     0,     0,     0,     0,     0,   -80,     0,
6016        2,   199,   200,   201,   202,   203,   232,   233,   234,   235,
6017      236,   237,   238,   239,   240,   241,    18,    19,   242,   243,
6018       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
6019        0,     0,     0,     0,     0,     0,     0,     0,   244,     0,
6020        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
6021        0,    32,     0,     0,     0,     0,     0,   245,    38,   246,
6022        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6023        0,     0,   247, -1314,   290,     0,     1,     0,     0,     0,
6024        0,     0,    43,    44,   248,   249,   250,   251,   205,     0,
6025        0,     0,     0,     0,     0,     0,     0,     0,   -87,     0,
6026        0,     2,     3,     4,     5,     6,     7,     8,     9,    10,
6027       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6028       21,    22,    23,    24,     0,     0,    25,     0,     0,     0,
6029        0,     0,     0,     0,     0,     0,     0,     0,    26,    27,
6030        0,     0,     0,     0,     0,     0,     0,    28,    29,    30,
6031       31,     0,    32,    33,    34,    35,    36,     0,    37,    38,
6032       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6033        0,     0,     1,    40,    41,     0,     0,     0,    42,     0,
6034        0,     0,     0,    43,    44,    45,    46,    47,    48,    49,
6035       50,     0,     0,    51,     0,     0,    52,     2,   199,   200,
6036      201,   202,   203,     8,     9,    10,    11,    12,    13,    14,
6037       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6038        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6039        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
6040        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6041        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6042        0,     0,     0,     0,     0,     0,     0,     0,     0,    40,
6043        0,     1,     0,     0,     0,     0,   834,     0,     0,    43,
6044       44,    45,    46,    47,    48,   205,     0,     0,     0,     0,
6045        0,     0,     0,     0,     0,  1420,     2,   199,   200,   201,
6046      202,   203,     8,     9,    10,    11,    12,    13,    14,    15,
6047       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
6048        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6049        0,     0,     0,     0,    27,     0,     0,     0,     0,     0,
6050        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6051       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
6052        0,     0,     0,     0,     0,     0,     0,     0,    40,     0,
6053        1,     0,     0,     0,     0,   834,     0,     0,    43,    44,
6054       45,    46,    47,    48,   205,     0,     0,     0,     0,     0,
6055        0,     0,     0,     0,  1783,     2,   199,   200,   201,   202,
6056      203,     8,     9,    10,    11,    12,    13,    14,    15,    16,
6057       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
6058        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6059        0,     0,     0,    27,     0,     0,     0,     0,     0,     0,
6060        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
6061       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
6062        0,     0,     0,     0,     0,     0,     0,    40,   164,     0,
6063        1,     0,     0,     0,   834,     0,     0,    43,    44,    45,
6064       46,    47,    48,   205,     0,     0,     0,     0,     0,     0,
6065        0,     0,     0,  1784,     0,     2,     3,     4,   165,     6,
6066        7,     8,     9,    10,   166,   167,    13,    14,    15,    16,
6067       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
6068        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6069        0,     0,    26,    27,     0,     0,     0,     0,     0,     0,
6070        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
6071       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
6072        0,     0,     0,     0,   164,     0,     1,    40,     0,     0,
6073        0,     0,     0,     0,     0,     0,     0,    43,    44,    45,
6074       46,    47,    48,    49,    50,     0,     0,    51,     0,     0,
6075      168,     2,     3,     4,   165,     6,     7,     8,     9,    10,
6076      166,   167,    13,    14,    15,    16,    17,    18,    19,    20,
6077       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6078        0,     0,     0,     0,     0,     0,     0,     0,     0,    27,
6079        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6080        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6081       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6082      601,     0,     1,    40,     0,     0,     0,     0,     0,     0,
6083        0,     0,     0,    43,    44,    45,    46,    47,    48,    49,
6084       50,     0,     0,    51,     0,     0,   168,     2,   199,   200,
6085      201,   202,   203,   232,   233,   234,   602,   603,   237,   238,
6086      239,   240,   241,    18,    19,   242,   243,    22,    23,    24,
6087        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6088        0,     0,     0,     0,     0,   244,     0,     0,     0,     0,
6089        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6090        0,     0,     0,     0,   245,    38,   246,     0,     0,     0,
6091        0,     0,     0,     0,     0,     0,  -941,     0,  -941,   247,
6092        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6093       44,   248,   249,   250,   251,   205,    50,     0,     0,    51,
6094        0,     0,   604,  -941,  -941,  -941,  -941,  -941,  -941,  -941,
6095     -941,  -941,  -941,  -941,  -941,  -941,  -941,  -941,  -941,  -941,
6096     -941,  -941,  -941,  -941,  -941,  -941,     0,     0,     0,     0,
6097        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6098        0,  -941,     0,     0,     0,     0,     0,     0,     0,  -941,
6099     -941,     0,     0,     0,  -941,     0,     0,     0,     0,     0,
6100     -941,  -941,  -941,     0,     0,     0,     0,     0,     0,     0,
6101        0,     0,     0,     0,     1,  -941,     0,     0,     0,     0,
6102        0,     0,     0,     0,     0,  -941,  -941,  -941,  -941,  -941,
6103     -941,  -941,  -941,     0,     0,  -941,     0,     0,  -941,     2,
6104        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
6105       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6106       23,    24,     0,     0,    25,     0,     0,     0,     0,     0,
6107        0,     0,     0,     0,     0,     0,    26,    27,     0,     0,
6108        0,     0,     0,     0,     0,    28,    29,    30,    31,     0,
6109       32,    33,    34,    35,    36,     0,    37,    38,    39,     0,
6110        0,     0,     0,     0,     0,     0,     0, -1315,   282,     0,
6111        1,    40,    41,     0,     0,     0,    42,     0,     0,     0,
6112        0,    43,    44,    45,    46,    47,    48,    49,    50,     0,
6113        0,    51,     0,     0,    52,     2,     3,     4,   165,     6,
6114        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
6115       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
6116       25,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6117        0,     0,    26,    27,     0,     0,     0,     0,     0,     0,
6118        0,    28,    29,     0,     0,     0,    32,    33,    34,    35,
6119       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
6120        0,   198,     0,     1,     0,     0,     0,    40,     0,     0,
6121        0,     0,     0,     0,     0,     0,     0,    43,    44,    45,
6122       46,    47,    48,    49,    50,     0,     0,    51,     2,   199,
6123      200,   201,   202,   203,     8,     9,    10,    11,    12,    13,
6124       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6125       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6126        0,     0,     0,     0,     0,   204,    27,     0,     0,     0,
6127        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6128        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6129        0,     0,     0,     0,     0,   198,     0,     1,     0,     0,
6130       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6131       43,    44,    45,    46,    47,    48,   205,    50,     0,     0,
6132     1226,  1712,     2,   199,   200,   201,   202,   203,     8,     9,
6133       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
6134       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
6135        0,     0,     0,     0,     0,     0,     0,     0,     0,   204,
6136       27,     0,     0,     0,     0,     0,     0,     0,    28,    29,
6137        0,     0,     0,    32,     0,     0,    35,    36,     0,    37,
6138       38,    39,     0,     0,     0,     0,     0,     0,     0,   198,
6139        0,     1,     0,     0,    40,     0,     0,     0,     0,     0,
6140        0,     0,     0,     0,    43,    44,    45,    46,    47,    48,
6141      205,     0,     0,     0,     0,   206,     2,   199,   200,   201,
6142      202,   203,     8,     9,    10,    11,    12,    13,    14,    15,
6143       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
6144        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6145        0,     0,     0,   204,    27,     0,     0,     0,     0,     0,
6146        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6147       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
6148        0,     0,     0,   944,     0,     1,     0,     0,    40,     0,
6149        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6150       45,    46,    47,    48,   205,     0,     0,     0,     0,   386,
6151        2,   199,   200,   201,   202,   203,     8,     9,    10,    11,
6152       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
6153       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
6154        0,     0,     0,     0,     0,     0,     0,   204,    27,     0,
6155        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
6156        0,    32,     0,     0,    35,    36,     0,    37,    38,    39,
6157        0,     0,     0,     0,     0,     0,     0,  1487,     0,     1,
6158        0,     0,    40,     0,     0,     0,     0,     0,     0,     0,
6159        0,     0,    43,    44,    45,    46,    47,    48,   205,     0,
6160        0,     0,     0,   206,     2,   199,   200,   201,   202,   203,
6161        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
6162       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
6163        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6164        0,   204,    27,     0,     0,     0,     0,     0,     0,     0,
6165       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
6166        0,    37,    38,    39,     0,     0,     0,     0,     0,     0,
6167        0,   198,     0,     1,     0,     0,    40,     0,     0,     0,
6168        0,     0,     0,     0,     0,     0,    43,    44,    45,    46,
6169       47,    48,   205,     0,     0,     0,     0,   386,     2,   199,
6170      200,   201,   202,   203,     8,     9,    10,    11,    12,    13,
6171       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6172       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6173        0,     0,     0,     0,     0,   204,    27,     0,     0,     0,
6174        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6175        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6176        0,     0,     0,     0,     0,   198,     0,     1,     0,     0,
6177       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6178       43,    44,    45,    46,    47,    48,   205,     0,     0,     0,
6179        0,  1579,     2,   199,   200,   201,   202,   203,     8,     9,
6180       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
6181       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
6182        0,     0,     0,     0,     0,     0,     0,     0,     0,   204,
6183       27,     0,     0,     0,     0,     0,     0,     0,    28,    29,
6184        0,     0,     0,    32,     0,     0,    35,    36,     0,    37,
6185       38,    39,     0,     0,     0,     0,     0,     0,     0,   164,
6186        0,     1,     0,     0,    40,     0,     0,     0,     0,     0,
6187        0,     0,     0,     0,    43,    44,    45,    46,    47,    48,
6188      205,     0,     0,     0,     0,  1942,     2,     3,     4,   165,
6189        6,     7,     8,     9,    10,   561,    12,    13,    14,    15,
6190       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
6191        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6192        0,     0,     0,    26,    27,     0,     0,     0,     0,     0,
6193        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6194       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
6195        0,     0,   164,     0,     1,     0,     0,     0,    40,     0,
6196        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6197       45,    46,    47,    48,    49,    50,     0,     0,    51,     2,
6198        3,     4,   165,     6,     7,     8,     9,    10,   561,    12,
6199       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6200       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6201        0,     0,     0,     0,     0,     0,     0,    27,     0,     0,
6202        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6203       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
6204        0,     0,     0,     0,     0,   888,     0,     1,     0,     0,
6205        0,    40,     0,     0,     0,     0,     0,     0,     0,     0,
6206        0,    43,    44,    45,    46,    47,    48,    49,    50,     0,
6207        0,    51,     2,   199,   200,   201,   202,   203,   232,   233,
6208      234,   235,   236,   237,   238,   239,   240,   241,    18,    19,
6209      242,   243,    22,    23,    24,     0,     0,     0,     0,     0,
6210        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6211      244,     0,     0,     0,     0,     0,     0,     0,    28,    29,
6212        0,     0,     0,    32,     0,     0,     0,     0,     0,   245,
6213       38,   246,     0,     0,     0,     0,     0,     0,     0,     0,
6214        1,     0,     0,     0,   247,     0,     0,     0,     0,     0,
6215        0,     0,     0,     0,    43,    44,   248,   249,   250,   251,
6216      205,     0,     0,     0,   889,     2,     3,     4,   165,     6,
6217        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
6218       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
6219        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6220        0,     0,    26,    27,     0,     0,     0,     0,     0,     0,
6221        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
6222       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
6223        0,     0,     0,     1,     0,     0,     0,    40,     0,     0,
6224        0,     0,     0,     0,     0,     0,     0,    43,    44,    45,
6225       46,    47,    48,    49,    50,     0,     0,    51,     2,   199,
6226      200,   201,   202,   203,     8,     9,    10,    11,    12,    13,
6227       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6228       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6229        0,     0,     0,     0,     0,     0,    27,     0,     0,     0,
6230        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6231        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6232        0,     0,     0,     0,     0,     0,     1,     0,     0,     0,
6233       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6234       43,    44,    45,    46,    47,    48,   205,    50,     0,     0,
6235       51,     2,   199,   200,   201,   202,   203,     8,     9,    10,
6236      561,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6237       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6238        0,     0,     0,     0,     0,     0,     0,     0,     0,    27,
6239        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6240        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6241       39,     0,     0,     0,     0,     0,     0,     0,     0,     1,
6242        0,     0,     0,    40,     0,     0,     0,     0,     0,     0,
6243        0,     0,     0,    43,    44,    45,    46,    47,    48,   205,
6244       50,     0,     0,    51,     2,   199,   200,   201,   202,   203,
6245        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
6246       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
6247        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6248        0,     0,    27,     0,     0,     0,     0,     0,     0,     0,
6249       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
6250        0,    37,    38,    39,     0,     0,     0,     0,     0,     0,
6251        0,     0,     1,     0,     0,     0,    40,     0,     0,     0,
6252        0,     0,     0,     0,     0,     0,    43,    44,    45,    46,
6253       47,    48,   205,     0,     0,     0,   724,     2,   199,   200,
6254      201,   202,   203,     8,     9,    10,    11,    12,    13,    14,
6255       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6256        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6257        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
6258        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6259        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6260        0,     0,     0,     0,     0,     1,     0,     0,     0,    40,
6261        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6262       44,    45,    46,    47,    48,   205,     0,     0,     0,  1466,
6263        2,   199,   200,   201,   202,   203,   232,   233,   234,  1551,
6264      236,   237,   238,   239,   240,   241,    18,    19,   242,   243,
6265       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
6266        0,     0,     0,     0,     0,     0,     0,     0,   244,     0,
6267        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
6268        0,    32,     0,     0,     0,     0,     0,   245,    38,   246,
6269        0,     0,     0,     0,     0,     0,  1073,     0,     1,     0,
6270        0,     0,   247,     0,     0,     0,     0,     0,     0,     0,
6271        0,     0,    43,    44,   248,   249,   250,   251,   205,    50,
6272        0,     0,    51,     2,   199,   200,   201,   202,   203,     8,
6273        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
6274       19,    20,    21,    22,    23,    24,  1074,     0,     0,     0,
6275        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6276      204,    27,     0,     0,     0,     0,     0,     0,     0,    28,
6277       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
6278       37,    38,    39,     0,     0,  1079,     0,     1,     0,     0,
6279        0,     0,     0,     0,     0,    40,     0,     0,     0,     0,
6280        0,     0,     0,     0,     0,    43,    44,    45,    46,    47,
6281       48,   205,     2,   199,   200,   201,   202,   203,     8,     9,
6282       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
6283       20,    21,    22,    23,    24,  1080,     0,     0,     0,     0,
6284        0,     0,     0,     0,     0,     0,     0,     0,     0,   204,
6285       27,     0,     0,     0,     0,     0,     0,     0,    28,    29,
6286        0,     0,     0,    32,     0,     0,    35,    36,     0,    37,
6287       38,    39,     0,     0,  1085,     0,     1,     0,     0,     0,
6288        0,     0,     0,     0,    40,     0,     0,     0,     0,     0,
6289        0,     0,     0,     0,    43,    44,    45,    46,    47,    48,
6290      205,     2,   199,   200,   201,   202,   203,     8,     9,    10,
6291       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6292       21,    22,    23,    24,  1086,     0,     0,     0,     0,     0,
6293        0,     0,     0,     0,     0,     0,     0,     0,   204,    27,
6294        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6295        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6296       39,     0,     0,   873,     0,     1,     0,     0,     0,     0,
6297        0,     0,     0,    40,     0,     0,     0,     0,     0,     0,
6298        0,     0,     0,    43,    44,    45,    46,    47,    48,   205,
6299        2,   199,   200,   201,   202,   203,   232,   233,   234,   235,
6300      236,   237,   238,   239,   240,   241,    18,    19,   242,   243,
6301       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
6302        0,     0,     0,     0,     0,     0,     0,     0,   244,     0,
6303        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
6304        0,    32,     0,     0,     0,     0,     0,   245,    38,   246,
6305        0,     0,     0,     0,     1,     0,     0,     0,     0,     0,
6306        0,     0,   247,     0,     0,     0,     0,     0,     0,     0,
6307        0,     0,    43,    44,   248,   249,   250,   251,   205,     2,
6308      199,   200,   201,   202,   203,     8,     9,    10,    11,    12,
6309       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6310       23,    24,  1034,     0,     0,     0,     0,     0,     0,     0,
6311        0,     0,     0,     0,     0,     0,   204,    27,     0,     0,
6312        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6313       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
6314        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6315        0,    40,     0,     0,     0,     0,     0,     0,     0,     0,
6316        0,    43,    44,    45,    46,    47,    48,   205,     2,   199,
6317      200,   201,   202,   203,     8,     9,    10,    11,    12,    13,
6318       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6319       24,  1091,     0,     0,     0,     0,     0,     0,     0,     0,
6320        0,     0,     0,     0,     0,   204,    27,     0,     0,     0,
6321        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6322        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6323        0,     0,     1,     0,     0,     0,     0,     0,     0,     0,
6324       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6325       43,    44,    45,    46,    47,    48,   205,     2,   199,   200,
6326      201,   202,   203,     8,     9,    10,    11,    12,    13,    14,
6327       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6328        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6329        0,     0,     0,     0,   500,    27,     0,     0,     0,     0,
6330        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6331        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6332        0,     1,     0,     0,     0,     0,     0,     0,     0,    40,
6333        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6334       44,    45,    46,    47,    48,   205,     2,   199,   200,   201,
6335      202,   203,     8,     9,    10,    11,    12,    13,    14,    15,
6336       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
6337        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6338        0,     0,     0,     0,    27,     0,     0,     0,     0,     0,
6339        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6340       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
6341        1,     0,     0,     0,     0,     0,     0,     0,    40,     0,
6342        0,     0,     0,     0,     0,   834,     0,     0,    43,    44,
6343       45,    46,    47,    48,   205,     2,   199,   200,   201,   202,
6344      203,     8,     9,    10,    11,    12,    13,    14,    15,    16,
6345       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
6346        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6347        0,     0,   204,    27,     0,     0,     0,     0,     0,     0,
6348        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
6349       36,     0,    37,    38,    39,     0,     0,     0,     0,     1,
6350        0,     0,     0,     0,     0,     0,     0,    40,     0,     0,
6351        0,     0,     0,     0,     0,     0,     0,    43,    44,    45,
6352       46,    47,    48,   205,     2,   199,   200,   201,   202,   203,
6353      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
6354       18,    19,   242,   243,    22,    23,    24,     0,     0,     0,
6355        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6356        0,     0,   244,     0,     0,     0,     0,     0,     0,     0,
6357       28,    29,     0,     0,     0,    32,   475,   476,     0,     0,
6358        0,   245,    38,   246,     0,     0,     0,     0,     1,     0,
6359        0,     0,     0,     0,     0,     0,   247,     0,     0,     0,
6360        0,     0,     0,     0,     0,     0,    43,    44,   248,   249,
6361      250,   251,   205,     2,   199,   200,   201,   202,   203,     8,
6362        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
6363       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
6364        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6365        0,    27,     0,     0,     0,     0,     0,     0,     0,    28,
6366       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
6367       37,    38,    39,     0,     0,     0,     0,     1,     0,     0,
6368        0,     0,     0,     0,     0,    40,     0,     0,     0,     0,
6369        0,     0,     0,     0,     0,    43,    44,    45,    46,    47,
6370       48,   205,     2,   199,   200,   201,   202,   203,   232,   233,
6371      234,   235,   236,   237,   238,   239,   240,   241,    18,    19,
6372      242,   243,    22,    23,    24,     0,     0,     0,     0,     0,
6373        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6374      244,     0,     0,     0,     0,     0,     0,     0,    28,    29,
6375        0,     0,     0,    32,     0,     0,     0,     0,     0,   245,
6376       38,   246,     0,     0,     0,     0,     1,     0,     0,     0,
6377        0,     0,     0,     0,   247,     0,     0,     0,     0,     0,
6378        0,     0,     0,     0,    43,    44,   248,   249,   250,   251,
6379      205,     2,     0,     0,     0,     0,     0,     8,     9,    10,
6380       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6381       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6382        0,     0,     0,     0,     0,     0,     0,     0,     0,    27,
6383        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6384        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6385       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6386        0,     0,     0,    40,     0,     0,     0,     0,     0,     0,
6387        0,     0,     0,    43,    44,    45,    46,    47,    48,     2,
6388      199,   200,   201,   202,   203,   232,   233,   234,   235,   236,
6389      237,   238,   239,   240,   241,    18,    19,   242,   243,    22,
6390       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6391        0,     0,     0,     0,     0,     0,     0,   244,     0,     0,
6392        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6393       32,     0,     0,     0,     0,     0,   245,    38,   246,     0,
6394        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6395        0,   247,     0,     0,     0,     0,     0,     0,     0,     0,
6396        0,    43,    44,   248,   249,   250,   251,   205,    50,     0,
6397        0,   864,  1709,     0,     0,     0,     0,     0,     0,     0,
6398        0,     0,   563,     2,   199,   200,   201,   202,   203,   232,
6399      233,   234,   235,   236,   237,   238,   239,   240,   241,    18,
6400       19,   242,   243,    22,    23,    24,     0,     0,     0,     0,
6401        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6402        0,   244,     0,     0,     0,     0,     0,     0,     0,    28,
6403       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
6404      245,    38,   246,     0,     0,     0,     0,     0,     0,     0,
6405        0,     0,     0,     0,     0,   247,     0,     0,     0,     0,
6406        0,     0,     0,     0,     0,    43,    44,   248,   249,   250,
6407      251,   205,     0,     0,     0,     0,     0,     0,     0,     0,
6408        0,     0,   252,     2,   199,   200,   201,   202,   203,   232,
6409      233,   234,   235,   236,   237,   238,   239,   240,   241,    18,
6410       19,   242,   243,    22,    23,    24,     0,     0,     0,     0,
6411        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6412        0,   244,     0,     0,     0,     0,     0,     0,     0,    28,
6413       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
6414      245,    38,   246,     0,     0,     0,     0,     0,     0,     0,
6415        0,     0,     0,     0,     0,   247,     0,     0,     0,     0,
6416        0,     0,     0,     0,     0,    43,    44,   248,   249,   250,
6417      251,   205,     0,     0,     0,     0,     0,     0,     0,     0,
6418        0,  1540
6419 };
6420
6421 static const yytype_int16 yycheck[] =
6422 {
6423        0,    91,   723,   127,   131,   532,   930,   155,  1103,   341,
6424      638,   930,    83,  1236,   762,   577,   863,   962,   135,   152,
6425       85,   863,   746,   143,    85,   725,    99,   863,    82,   753,
6426       30,    31,   756,   286,   467,     5,   156,   839,   158,    82,
6427      160,    41,    92,   808,   940,  1000,  1001,  1002,  1001,    30,
6428      127,    51,   468,    82,    83,   182,  1628,    99,    58,   830,
6429      808,    42,   127,    63,   298,    65,   127,   746,  1640,    92,
6430      839,    92,    82,   307,   753,    63,    99,   756,     3,   313,
6431        5,    81,    82,    83,     1,    85,  1000,   552,  1002,   880,
6432       90,   830,    92,    51,   471,   185,   186,   341,     3,    99,
6433      100,   130,     5,   103,   887,   467,  2138,   185,   186,     3,
6434        3,     5,   112,   120,     1,   115,  1000,   582,  1002,     3,
6435      585,   143,   587,    28,   589,   106,   107,   127,     1,   110,
6436      130,   131,    82,     5,   156,   135,   158,     1,   160,   139,
6437      140,   141,    92,   143,     3,   981,     1,   147,     3,   149,
6438        1,     1,   152,   153,    82,   155,   156,   157,   158,     0,
6439      160,   131,  2194,   163,    92,     1,   324,     3,     3,    28,
6440        1,    99,   130,   173,   797,     1,   266,     1,   961,  1018,
6441      340,     3,   182,     5,   302,   173,     3,     3,   120,    73,
6442      268,     5,   263,    28,   354,     3,   121,   197,   358,    91,
6443      120,   319,   825,     5,   129,     5,    58,     3,   208,   287,
6444      210,    28,   129,   286,   467,   288,    17,  1008,   218,   219,
6445       37,     1,   276,     3,     3,   128,     1,   121,   228,   346,
6446        1,   231,   286,   276,   263,   129,     3,     1,   288,   126,
6447        1,    82,   268,   286,   286,     1,   288,   276,     1,   121,
6448        3,    92,   552,   126,     1,   883,     1,     1,    99,   100,
6449      112,   219,   126,   263,   391,   288,   276,   288,   268,   131,
6450      418,   126,   272,   123,   268,   126,   276,     1,     3,     1,
6451     1225,     1,   582,   123,     1,   585,   286,   587,   288,   589,
6452      126,   272,   127,   185,   186,   126,     3,   123,   286,   121,
6453      417,    17,   126,   120,   866,   121,   306,   129,  1000,   125,
6454     1002,   125,   312,   129,   131,  1270,  1271,  1270,  1890,   127,
6455      182,   321,  1277,  1278,  1277,   121,  1281,  1282,  1281,   125,
6456      130,   134,   135,   129,     1,   335,   286,     1,   288,   118,
6457      141,  1000,   323,  1002,   123,   197,   126,   437,   438,   439,
6458      440,   126,   415,   126,    17,   126,   123,  1271,   125,   123,
6459      288,   125,   126,   302,  1278,   126,    73,   123,  1282,   125,
6460      126,     5,   302,   126,   266,     3,   268,   377,   378,   126,
6461      319,   126,   126,   383,  1108,   385,     3,  1271,     3,   319,
6462       17,   391,     5,     1,  1278,   287,   121,   397,  1282,     3,
6463      527,   121,   126,   468,   126,   125,   123,   468,   125,   118,
6464      410,    28,     1,    28,   118,   415,   543,   417,   418,   126,
6465      553,   421,   422,   127,  1195,   141,  1197,   427,     3,  1108,
6466      430,   431,   432,   433,   434,   276,     3,   557,   562,   559,
6467      693,     1,     3,   533,   507,   286,   536,   288,     3,  1214,
6468      782,   783,   784,   120,   887,  1220,  1195,   121,  1197,     5,
6469      694,   125,   462,   463,   464,     5,  1214,   467,   468,    73,
6470        3,   471,  1220,    28,   474,   433,     3,     3,   141,   479,
6471      812,   813,   814,   483,   484,   562,   126,   647,   488,   489,
6472      650,   125,   120,  1055,   523,   524,   525,  1720,  1443,   562,
6473      500,  1596,    28,   120,  1066,   120,   506,   507,   121,   127,
6474      510,   511,   541,   542,   141,   515,   516,   125,   880,   519,
6475      520,   937,   126,   523,   524,   525,  1226,   527,   961,   391,
6476      530,   383,   121,   385,     5,   557,   125,   559,   782,   783,
6477      784,   541,   542,   543,  1244,   437,   121,   547,   440,   125,
6478       11,  1251,   552,   553,   121,  1451,   132,   557,     3,   559,
6479      560,  1506,   562,   563,   564,   125,   127,   567,   812,   813,
6480      814,   948,   127,   950,   120,  1008,   126,   577,   940,  1271,
6481      120,   422,   582,     3,   135,   585,  1278,   587,     3,   589,
6482     1282,    77,  1439,     1,   127,  1491,   596,  1439,  1494,   961,
6483      127,   127,   117,  1439,   562,   123,   564,  1072,   532,   127,
6484      688,   689,  1271,     1,     7,     8,     9,   120,   776,  1278,
6485      693,  1423,  1424,  1282,     0,  1090,  1550,   880,   628,   798,
6486      630,  1550,     5,   723,   660,   661,   662,   663,   638,   693,
6487        1,   533,     3,   129,   536,   803,  1008,  1602,  1603,  1602,
6488      693,   693,   123,   811,  1423,  1424,     1,   826,   119,   124,
6489      660,   661,   662,   663,   125,   527,   660,   661,   662,   663,
6490     1517,     3,  1519,   831,   791,   792,   121,   794,   678,   679,
6491      743,   543,  1524,   131,     1,    69,    70,   687,   799,  1603,
6492        7,     8,     9,   693,   675,   676,   123,   117,   118,     1,
6493      700,     3,   819,   820,   821,   822,   121,   127,   961,   120,
6494     1933,   563,   120,   121,   714,   577,   827,   125,  1557,  1603,
6495      131,   721,   722,   723,   724,   725,   726,   120,   125,    74,
6496       75,   117,   732,   121,    79,   128,   125,   125,   131,   801,
6497      864,    86,   126,   743,   596,   862,   863,   728,   729,   730,
6498      121,   137,   138,   125,   125,  1008,   117,   118,   129,   759,
6499      125,  1485,     1,   763,   125,   110,   111,   829,   660,   661,
6500      662,   663,  1072,   123,  1719,   120,   121,   127,  1078,  1724,
6501      125,     7,     8,     9,  1084,   117,   118,   864,    90,     1,
6502     1090,     3,   124,   120,     3,   346,   688,   689,   690,     3,
6503        1,   864,    11,   120,   131,   805,  1485,   124,   871,   809,
6504      118,   128,     3,   937,   131,   123,   879,     7,     8,     9,
6505      124,   969,   970,   913,   914,   129,   916,   890,     3,   919,
6506      920,   800,     3,     1,   834,   835,   836,   797,   762,   839,
6507      840,   841,   975,     3,  1789,   962,     7,     8,     9,  1804,
6508     1805,  1804,   693,    28,   974,     7,     8,     9,   298,   828,
6509      937,    65,   862,   863,   864,   825,   417,   307,   868,    44,
6510      870,   871,   937,   313,   120,  1437,   937,     1,   878,   879,
6511      880,   120,   121,   883,   808,   131,   125,   887,   124,   889,
6512      890,  1805,   892,   129,   894,  1734,     3,  1793,  1794,    74,
6513       75,   991,   128,   118,    11,   131,  1039,  1040,   117,   118,
6514      119,  1603,   127,   117,   118,   124,   125,     3,   127,     5,
6515      121,  1805,   127,   127,   125,   121,   117,   118,  1055,  1049,
6516      120,   931,   126,   933,   892,  1267,   127,   937,   128,   126,
6517      940,   131,    28,  1067,  1603,   945,   117,   118,   948,   121,
6518      950,   951,   974,   121,    12,    13,   127,   125,   118,   119,
6519      960,   961,   962,   124,   117,     3,   124,   128,   120,   969,
6520      970,   120,   972,   931,   974,   975,   128,     0,   120,   131,
6521      980,   981,   982,   983,   137,   138,   140,   945,  1830,   143,
6522     1067,  1054,  1831,   951,    12,    13,   120,   121,     7,     8,
6523        9,   125,   156,  1842,   158,  1950,   160,  1569,  1008,   120,
6524      117,   118,   119,  1713,     7,     8,     9,   124,   125,   120,
6525      127,  1742,     3,  1267,     3,  1054,     5,  1049,   798,     3,
6526     1557,     5,  1660,     3,   799,     7,     8,     9,   126,  1039,
6527     1040,   127,   800,  1043,  1044,     3,   121,  1047,  1048,  1049,
6528      125,  1051,    31,  1486,  1054,  1055,   826,    31,    28,    82,
6529      118,   119,   827,   801,  1064,  1185,  1066,  1067,  1068,    92,
6530      828,   120,  1072,     3,    44,  1075,    99,   100,  1078,   117,
6531      118,  1081,   131,    77,  1084,  1111,   124,  1087,  1114,  1451,
6532     1090,   829,  1092,  2012,  1018,   120,  1054,   125,    28,   991,
6533      118,   119,  1226,   131,    74,    75,  1106,    37,  1225,     0,
6534      127,  1111,   129,  1805,  1114,   118,  1274,  1111,     3,   128,
6535     1114,   125,   125,  1123,   119,  1125,  1152,   131,   131,  1491,
6536      125,   120,  1494,   126,  1134,   128,   117,   118,   120,   120,
6537     1166,  1167,  1168,  1169,  1207,   120,  1805,  1147,   302,  1226,
6538      121,   121,  1152,  1153,   125,   125,   128,   120,  1152,   117,
6539      118,  1224,  1143,  1185,   120,   319,  1166,  1167,  1168,  1169,
6540        3,   118,  1166,  1167,  1168,  1169,   120,  2024,    11,  2026,
6541      127,   127,   129,   129,  1184,  1185,  1186,     3,  1188,  2028,
6542      120,    82,   127,  1055,   129,   127,   219,   129,  1198,   120,
6543     1200,    92,  1064,   124,  1066,   127,    82,  1207,    99,   100,
6544      131,  1211,    28,    10,    11,  1215,  1068,  1217,     3,  1111,
6545        5,  1221,  1114,   119,  1786,  1225,  1226,     3,    44,   125,
6546     1154,  1952,   117,   118,  1158,   120,   119,  1161,   127,  1163,
6547      791,   792,   125,   794,  1244,     1,     6,    79,     8,     9,
6548       79,  1251,   133,   276,   694,   127,   119,   129,    74,    75,
6549     1152,  1261,   125,   286,   139,   288,  2105,   119,   819,   820,
6550      821,   822,   140,   125,  1166,  1167,  1168,  1169,   110,   111,
6551     1908,   110,   111,    16,   117,   118,   119,  1268,  1850,    65,
6552     1214,   123,   125,   121,   127,   127,  1220,  1189,   321,  1191,
6553      129,    10,    11,    69,    70,   121,   182,  2146,   462,   463,
6554      119,   862,   863,    73,   133,  1842,   125,   139,    74,    75,
6555      474,  1904,  1439,    79,    84,    91,  1443,   140,   219,    95,
6556       86,    97,   117,   118,   488,   489,   153,   119,   119,    16,
6557      157,   117,   118,   125,   125,     3,  1198,    74,    75,   109,
6558      785,   786,    79,   121,   110,   111,   510,   511,   118,    86,
6559      126,   515,   516,    14,    15,   519,   520,   123,   124,   125,
6560       28,   131,   127,  1436,   134,   135,   136,   127,   121,    37,
6561      815,   816,   125,   110,   111,   276,   129,   121,   119,  1506,
6562      117,   125,   415,   120,   125,   286,     1,   288,     3,   121,
6563      276,   795,   796,   557,   131,   559,   119,  1524,   127,   121,
6564      286,   962,   125,   125,  1414,  1415,    74,    75,  1418,  1419,
6565      123,    79,   125,  1423,  1424,   121,    44,    45,    86,   823,
6566      824,  1793,  1794,   121,   120,  1435,  1465,   125,  1419,  1439,
6567     1440,   129,  1569,  1443,   467,   787,   788,   785,   786,  1449,
6568      123,  1451,   110,   111,  1454,   125,    74,    75,  1458,   117,
6569      119,    79,   120,  1463,  1464,  1465,   125,   121,    86,   787,
6570      788,   125,   118,   131,   119,   817,   818,   815,   816,  2062,
6571      125,  2064,   123,   119,   507,     3,  1486,   118,  1488,   125,
6572      118,  1491,   110,   111,  1494,   124,   123,  1497,   125,   817,
6573      818,  2028,   120,    88,    89,    90,  1506,  1465,   795,   796,
6574       28,   121,  1512,  1513,  2142,   125,   125,  1517,  1518,  1519,
6575     1520,   268,   121,   121,   415,  1588,   125,   125,   132,   121,
6576     1488,  1765,  1766,   125,  1768,  1769,   823,   824,   127,  1773,
6577     1774,  1775,  1776,   121,  2127,   121,  2129,   125,  2131,   125,
6578      121,   129,   132,   123,   125,   125,    74,    75,   121,    74,
6579       75,    79,   125,   127,    79,   129,  1566,  1567,    86,  1569,
6580      127,    86,   129,     1,   132,     3,   467,  1577,  2105,     1,
6581      127,     3,  1608,  1609,   134,   135,  2169,  2170,  1588,  2172,
6582      127,   467,   110,   111,  1620,   110,   111,  1721,     1,     1,
6583        3,     3,  1719,   131,   123,  2188,   125,  1724,  1608,  1609,
6584      127,   127,   127,   129,  1608,  1609,   507,     1,  1618,     3,
6585     1620,  1621,  2205,     3,  1624,     1,  1620,     3,  1628,     1,
6586     1588,     3,  1632,  1557,     1,  1635,     3,   523,   524,   525,
6587      123,   127,   125,   129,  1721,  1531,   125,  1533,    28,  1541,
6588     1631,   527,    14,    15,   530,   541,   542,    37,   911,   912,
6589     1660,     1,  1531,   125,  1533,     3,  1647,  1667,   911,   912,
6590      693,   125,  1789,   125,  1225,   541,   542,   700,  1912,  1913,
6591     1914,  1915,  1916,  1917,  1918,  1919,   126,   660,   661,   123,
6592      437,   660,   661,   129,    74,    75,   840,   841,   123,    79,
6593      723,  1821,   120,  1823,   120,  1795,    86,  1569,   120,   732,
6594       99,   100,   123,  1830,   120,  1577,  1608,  1609,   123,  1719,
6595      743,  1721,   120,  1850,  1724,   118,   123,  1847,  1620,  1849,
6596      110,   111,   123,   127,    74,    75,    74,    75,   123,    79,
6597      120,    79,  1742,   121,  1744,  1745,    86,   126,    86,   132,
6598      132,   131,   127,   127,  1912,  1913,  1914,  1915,  1916,  1917,
6599     1918,  1919,   132,  1826,   132,   118,   132,   132,   131,   123,
6600      110,   111,   110,   111,   126,   125,   118,   126,  2012,   126,
6601     1780,   132,   120,   123,   124,   125,   121,   121,   121,  1789,
6602      121,   132,   120,  1793,  1794,   132,  1796,   121,   121,  1821,
6603      129,  1823,   693,   129,   129,   120,   120,   120,  1808,   700,
6604       56,   687,   123,   836,  2146,   123,   123,   693,   120,   118,
6605      974,  1821,   118,  1823,   121,  1847,  1826,  1849,   123,   121,
6606      121,   118,   120,  1950,     3,  1759,   120,   131,   118,   121,
6607     1764,   732,   121,  1767,   121,   131,   121,  1847,   871,  1849,
6608     1850,   125,  1878,   125,  2012,     1,   121,   880,   126,    28,
6609        3,   121,   129,   129,   887,   129,   129,   121,   121,   892,
6610      121,   894,  1872,  1873,  1874,  1875,   123,   126,  1878,   124,
6611      121,   628,  1882,  1883,  1878,  1885,   121,  1887,  1439,  1043,
6612     1044,   121,  1443,  1047,  1048,  1049,   132,   121,   132,  1899,
6613      132,  2021,  2146,   129,   129,    74,    75,  1831,  1908,    56,
6614       79,  1911,   120,   660,   661,   662,   663,    86,  1842,   121,
6615      120,  1902,   945,  1904,   120,    74,    75,   121,    74,    75,
6616       79,    74,    75,    79,    74,    75,    79,    86,   961,    79,
6617       86,   110,   111,    86,   129,   836,    86,   129,   121,   129,
6618     1950,   129,  1952,   121,   121,  1506,   121,   121,   127,   121,
6619      141,   110,   111,   118,   110,   111,     3,   110,   111,   132,
6620      110,   111,   153,  1524,   132,   124,   157,   123,   131,   125,
6621      871,   121,   132,   131,   127,   123,  1878,   132,  1850,   880,
6622       11,    28,   127,   124,   127,   129,   887,   129,   123,  2021,
6623      124,   124,   120,   894,   880,   127,   123,   121,   121,   121,
6624      662,   663,   132,   132,    64,   121,   132,   132,   121,  2019,
6625     2020,  2021,  2022,  2023,  2024,   132,  2026,  2053,   132,  2055,
6626     1184,  1185,   132,  2033,  2034,  2035,  2036,    74,    75,   132,
6627      121,   121,    79,   121,  2044,  2135,  2136,   123,    64,    86,
6628      132,   121,   123,  2053,   945,  2055,  2056,    74,    75,  2053,
6629      123,  2055,    79,   132,   940,  2065,  2066,   132,   140,    86,
6630      961,   143,   132,   110,   111,     0,   132,   123,   123,   127,
6631      121,  2062,   263,  2064,   156,   961,   158,   123,   160,   123,
6632      127,   123,   123,   110,   111,  2121,   123,   123,   123,   123,
6633      117,  2101,  2102,   120,  2028,   123,   121,  2177,  2108,  2109,
6634      123,  1520,  2112,   474,  2114,   474,    41,  2117,   474,   474,
6635      980,  2121,   862,   917,   319,   306,   474,  2121,   319,   286,
6636      286,   312,  1008,    58,   972,  1486,  2136,     3,  2138,   432,
6637       65,   312,  2142,   726,   422,  2126,  2127,  1831,  2129,  2126,
6638     2131,     3,   263,   732,  2154,    99,    92,    82,   268,    92,
6639       85,  2053,    28,  2055,    92,   100,    91,    92,  1719,  1780,
6640       -1,    37,    -1,  1724,    99,   100,    28,  2177,  2178,  2160,
6641       -1,  2105,  2182,    -1,  1207,    37,    -1,   112,  2169,  2170,
6642      115,  2172,    -1,    -1,  2194,    -1,   943,    -1,    -1,    -1,
6643       74,    75,   127,    -1,    -1,    79,    -1,  2188,    74,    75,
6644      135,    -1,    86,    79,    -1,   140,   141,    -1,   143,    -1,
6645       86,    -1,    74,    75,  2205,    -1,    -1,    79,   153,  2121,
6646      155,   156,   157,   158,    86,   160,   110,   111,  1789,    -1,
6647      421,    -1,    -1,    -1,   110,   111,    -1,   121,    -1,    -1,
6648       -1,   432,    -1,    -1,   120,    -1,    44,    45,   110,   111,
6649      185,   186,    -1,    -1,    -1,   117,    -1,    -1,   120,    74,
6650       75,    -1,   197,    -1,    79,    -1,    -1,   129,    -1,  1830,
6651       -1,    86,    -1,    74,    75,   210,    74,    75,    79,    -1,
6652       -1,    79,    -1,    -1,   219,    86,    -1,    -1,    86,    -1,
6653       -1,    -1,    -1,   484,    -1,   110,   111,  1198,    -1,    -1,
6654     1186,    -1,  1188,    -1,    -1,    -1,  1207,    -1,    -1,   110,
6655      111,    -1,   110,   111,    -1,  1765,  1766,    -1,  1768,  1769,
6656      121,    -1,   120,  1773,  1774,  1775,  1776,    -1,   263,    -1,
6657       -1,   266,   267,   268,    -1,    -1,    -1,    -1,   383,    -1,
6658      385,   276,    -1,    -1,   307,    -1,    -1,    -1,  1512,  1513,
6659      313,   286,   287,   288,  1111,    -1,    -1,  1114,    -1,    -1,
6660       -1,    -1,    -1,    -1,    -1,    -1,  1123,    -1,    -1,    -1,
6661       -1,   306,    -1,    -1,    -1,    -1,    -1,   312,    74,    75,
6662      462,   463,    -1,    79,    -1,    -1,   321,    -1,    -1,  1950,
6663       86,    -1,    -1,    -1,    -1,  1152,    -1,    -1,    -1,    -1,
6664       -1,    -1,  1566,  1567,    -1,    -1,   488,   489,    -1,  1166,
6665     1167,  1168,  1169,    -1,   110,   111,    -1,    -1,    -1,    -1,
6666      383,    -1,   385,    -1,    -1,   121,    -1,    -1,   510,   511,
6667       -1,    -1,    -1,   515,   516,    -1,    -1,   519,   520,    -1,
6668       -1,    -1,    -1,   378,    -1,    -1,    -1,    -1,   383,  1111,
6669      385,    -1,  1114,    -1,    -1,  1488,    -1,    -1,     0,    -1,
6670       -1,    -1,  1912,  1913,  1914,  1915,  1916,  1917,  1918,  1919,
6671       -1,    -1,    -1,    -1,    -1,   557,    -1,   559,    -1,    -1,
6672      415,    -1,   417,   418,    -1,    -1,   421,   422,    -1,    -1,
6673     1152,    -1,   427,    -1,    44,    45,   431,   432,    -1,   434,
6674       -1,    -1,    -1,    -1,  1166,  1167,  1168,  1169,    -1,    51,
6675       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   563,    -1,
6676       -1,    -1,    -1,    -1,    74,    75,    -1,   462,   463,    79,
6677      721,   722,   467,   468,   725,   726,    86,    -1,    -1,   474,
6678       82,    83,    -1,    -1,   479,    -1,    -1,    -1,    90,   484,
6679       92,    -1,    -1,   488,   489,  1588,    -1,    99,   100,    -1,
6680      110,   111,  2012,    -1,    -1,  1451,    -1,   117,    -1,    -1,
6681       -1,    -1,   507,    -1,    -1,   510,   511,    -1,   623,    -1,
6682      515,   516,    -1,    -1,   519,   520,    -1,  1488,   130,   131,
6683       -1,   526,    -1,    -1,    -1,    -1,    -1,    -1,   533,    -1,
6684      563,   536,    -1,    -1,    -1,  1491,    -1,    -1,  1494,    -1,
6685       -1,    -1,    -1,    -1,    -1,   462,   463,   552,    -1,    -1,
6686       -1,    -1,   557,    -1,   559,    -1,    -1,   562,   563,     7,
6687       -1,     3,    10,    11,    12,    13,    14,    15,    16,    17,
6688      182,   488,   489,    -1,    -1,    -1,    -1,   582,    -1,    -1,
6689      585,    -1,   587,    -1,   589,    -1,    28,  1821,    -1,  1823,
6690      623,   596,    -1,   510,   511,    37,    -1,    -1,   515,   516,
6691       -1,    -1,   519,   520,    -1,    -1,    -1,    -1,    -1,    -1,
6692       -1,    -1,    -1,  1847,    -1,  1849,   228,  1588,   879,   231,
6693       -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,   890,
6694       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,  1742,
6695       -1,    -1,    -1,    -1,    86,    -1,    -1,    -1,    -1,    -1,
6696       28,   263,    -1,    -1,    -1,   660,   661,   662,   663,    37,
6697       38,    -1,    -1,    -1,   276,    -1,    -1,    -1,   110,   111,
6698      118,   119,    -1,    -1,   286,   117,   288,    -1,   120,   121,
6699      128,    -1,    -1,   688,   689,   690,    -1,    -1,   693,   137,
6700      138,   139,   140,   141,    -1,   700,    74,    75,    -1,    -1,
6701       -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    86,   714,
6702       -1,    -1,    -1,    -1,    -1,    -1,   721,   722,   723,    -1,
6703      725,   726,    -1,  1826,    -1,    -1,    -1,   732,    -1,    -1,
6704       -1,    -1,   110,   111,    -1,    -1,    -1,    -1,   743,   117,
6705       -1,   746,   120,    -1,    -1,    -1,    -1,  1008,   753,    -1,
6706       -1,   756,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   911,
6707      912,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
6708       25,    26,    27,    -1,    -1,    -1,    -1,    -1,    -1,   391,
6709       -1,  1608,  1609,    -1,    -1,  2019,  2020,  2021,  2022,  2023,
6710       -1,  1618,    -1,  1620,  1621,    -1,    -1,  1624,    -1,  2033,
6711     2034,  2035,  2036,    -1,    -1,  1632,    -1,    -1,  1635,    -1,
6712       -1,    -1,    -1,    -1,    -1,    -1,    -1,   932,    -1,    -1,
6713       -1,   433,   974,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6714       -1,   836,    -1,    -1,   839,   840,   841,  1793,  1794,    -1,
6715       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1952,
6716       -1,    -1,    -1,    -1,    -1,  1826,   971,   862,   863,   864,
6717       -1,    -1,    -1,    -1,    -1,    -1,   871,  2101,  2102,   124,
6718       -1,    -1,    37,    -1,   879,   880,  1608,  1609,    -1,    44,
6719       45,    -1,   887,    -1,    -1,   890,    -1,   892,  1620,   894,
6720       -1,  1043,  1044,    -1,    -1,  1047,  1048,  1049,    -1,   932,
6721        1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    74,
6722       75,   523,   524,   525,    79,   527,    -1,    -1,   530,    -1,
6723       -1,    86,    -1,    -1,    -1,    -1,    -1,    28,    -1,   541,
6724      542,   543,   937,    -1,    -1,    -1,    37,    38,   971,    -1,
6725      945,    -1,    -1,    -1,    -1,   110,   111,    -1,    -1,    -1,
6726      562,    -1,   117,  1068,    -1,    -1,   961,   962,    -1,    -1,
6727       -1,    -1,    -1,  1224,   969,   970,    -1,    -1,    -1,   974,
6728       -1,    -1,    -1,    74,    75,   980,    -1,    -1,    79,    -1,
6729       -1,    -1,    -1,  1244,    -1,    86,    -1,   266,   267,    -1,
6730     1251,    -1,    -1,    -1,    -1,  1000,  1001,  1002,    -1,    -1,
6731       -1,    -1,   526,  1008,  1119,    -1,    -1,    -1,    -1,   110,
6732      111,    -1,    -1,    -1,    -1,     0,   117,    -1,    -1,   120,
6733       -1,    -1,   123,    -1,   125,   126,    -1,    -1,    -1,    -1,
6734       -1,    -1,  1184,  1185,    -1,  1068,    -1,    -1,  1043,  1044,
6735       -1,    -1,  1047,  1048,  1049,  1872,  1873,  1874,  1875,    -1,
6736       -1,  1878,    -1,    -1,    -1,  1882,  1883,    -1,  1885,    -1,
6737     1887,    -1,  1067,  1068,    -1,    -1,    -1,  1072,     3,    -1,
6738       -1,    -1,  1899,  1078,    -1,   687,   266,   267,    -1,  1084,
6739       -1,   693,    -1,    -1,    -1,  1090,  1119,    -1,    -1,    -1,
6740       -1,    -1,    -1,    28,    -1,    -1,    -1,    82,    -1,    -1,
6741       -1,    -1,    37,  1108,    -1,    -1,  1111,    92,    -1,  1114,
6742       -1,    -1,  1227,    -1,    99,   100,    -1,    -1,    -1,    -1,
6743       -1,    -1,    -1,    -1,    -1,    -1,  1043,  1044,    -1,    -1,
6744     1047,  1048,    -1,    -1,  1249,    -1,    -1,    -1,    -1,    74,
6745       75,    -1,    -1,    -1,    79,    -1,  1878,  1152,    -1,    -1,
6746       -1,    86,    -1,    -1,    -1,    -1,   141,    -1,    -1,    -1,
6747       -1,  1166,  1167,  1168,  1169,    51,    -1,    -1,   153,    -1,
6748       -1,    -1,   157,    -1,    -1,   110,   111,    -1,    -1,  1184,
6749     1185,    -1,   117,    -1,  1189,   120,  1191,    -1,    -1,    -1,
6750      714,    -1,    -1,  1198,  1227,    -1,    82,    83,    -1,    -1,
6751       -1,    -1,  1207,    -1,    90,    -1,    -1,    -1,    -1,    -1,
6752       -1,    -1,    -1,    -1,    -1,    -1,  1249,  2044,    -1,  1224,
6753     1225,  1226,   746,    -1,    -1,    -1,  2053,    -1,  2055,   753,
6754       -1,    -1,   756,    -1,    -1,    -1,    -1,    -1,    -1,  1244,
6755       -1,    -1,    -1,    -1,   130,   131,  1251,    -1,    -1,    -1,
6756       -1,    -1,    -1,    -1,   533,    -1,    -1,   536,    -1,    -1,
6757       -1,    -1,    -1,    -1,    -1,  1270,  1271,     0,    -1,    -1,
6758       -1,    -1,  1277,  1278,    -1,    -1,  1281,  1282,    -1,    -1,
6759      892,  2108,  2109,    -1,    -1,  2112,    -1,  2114,    -1,    -1,
6760     2117,   276,    -1,    -1,  2121,    -1,   182,    -1,    -1,    -1,
6761       -1,   286,    -1,   288,     0,    -1,    -1,    -1,    -1,    -1,
6762       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,   931,
6763       -1,  2053,    -1,  2055,    -1,    -1,    -1,  2154,    -1,    -1,
6764       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   951,
6765       -1,    -1,   228,   533,    -1,   231,   536,    -1,    81,    82,
6766       83,    -1,    -1,    -1,    -1,  2182,    -1,    90,    -1,    92,
6767     1512,  1513,    -1,    -1,    -1,    -1,    99,   100,    -1,    -1,
6768       -1,    -1,    -1,    -1,    -1,    -1,    -1,   263,    -1,    -1,
6769     1495,   660,   661,   662,   663,    -1,    82,    -1,    -1,  2121,
6770      276,    -1,    -1,    -1,    -1,    -1,    92,   130,   131,   132,
6771      133,   134,    -1,    99,   100,    -1,    -1,   140,    -1,    -1,
6772      143,   690,    -1,    -1,  1566,  1567,    -1,    -1,  1423,  1424,
6773       -1,    -1,    -1,   156,    -1,   158,    -1,   160,    -1,     0,
6774       -1,    -1,    -1,    -1,  1439,    -1,   421,    -1,  1443,    -1,
6775       -1,    -1,  1054,  1055,    -1,   141,    -1,   432,    -1,   182,
6776      183,   184,    -1,    -1,    -1,    -1,    -1,   153,    -1,    -1,
6777       -1,   157,  1495,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6778      660,   661,   662,   663,    -1,    -1,  1000,  1001,  1002,    -1,
6779     1485,    -1,    -1,  1488,    -1,   218,   219,    -1,    -1,    -1,
6780        1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   484,
6781      690,  1506,    -1,    -1,    -1,   391,    -1,  1512,  1513,    -1,
6782       -1,    82,  1517,  1518,  1519,  1520,    -1,    28,    -1,    -1,
6783       -1,    92,    -1,    -1,    -1,    -1,    37,    38,    99,   100,
6784      263,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6785       -1,    -1,    -1,   276,    -1,    -1,    -1,   433,    -1,    -1,
6786       -1,    -1,    -1,   286,    -1,   288,    -1,    -1,    -1,    -1,
6787       -1,  1566,  1567,    74,    75,    -1,    -1,    -1,    79,    -1,
6788      141,    -1,    -1,    -1,  1186,    86,  1188,    -1,    -1,    -1,
6789      276,    -1,   153,  1588,  1108,   471,   157,    -1,    -1,    -1,
6790      286,    -1,   288,    -1,    -1,  1512,  1513,  1602,  1603,   110,
6791      111,    -1,    -1,  1608,  1609,    -1,   117,    -1,  1723,   120,
6792     1725,    -1,   123,    -1,   125,   126,  1621,    -1,    -1,  1624,
6793       -1,    -1,    -1,    -1,  1739,  1740,    -1,  1632,    -1,    -1,
6794       -1,    -1,    -1,    -1,    -1,    -1,    -1,   523,   524,   525,
6795       -1,   527,    -1,    -1,   530,    -1,    -1,    -1,    -1,  1566,
6796     1567,    -1,    -1,    -1,    -1,   541,   542,   543,   391,   392,
6797      393,    -1,  1667,    -1,    -1,    -1,    -1,    -1,    -1,  1821,
6798       -1,  1823,    -1,    -1,    -1,    -1,   562,    -1,    -1,    -1,
6799       -1,    -1,   415,    -1,    -1,    -1,    -1,    -1,    -1,   422,
6800     1723,    -1,  1725,    -1,    -1,  1847,    -1,  1849,    -1,    -1,
6801      433,    -1,    -1,    -1,    -1,   276,  1739,  1740,   693,    -1,
6802       -1,    -1,    -1,    -1,  1719,   286,  1721,   288,    -1,  1724,
6803       -1,    -1,    -1,    -1,    -1,   421,    -1,    -1,    -1,   462,
6804      463,    -1,    -1,    -1,   467,    -1,   432,  1742,   471,    -1,
6805       -1,   474,    -1,    -1,    -1,    -1,  1270,  1271,    -1,    -1,
6806      483,    -1,    -1,  1277,  1278,   488,   489,  1281,  1282,    -1,
6807       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6808       -1,    -1,    -1,    -1,   507,    -1,    -1,   510,   511,    -1,
6809       -1,    -1,   515,   516,  1789,    -1,   519,   520,   484,    -1,
6810      523,   524,   525,    -1,    -1,    -1,    -1,    -1,    -1,  1804,
6811     1805,   687,    -1,    -1,    -1,    -1,    -1,    -1,   541,   542,
6812       -1,    -1,    -1,    -1,    -1,    -1,  1821,    -1,  1823,    -1,
6813       -1,  1826,    -1,    -1,   557,    -1,   559,    -1,    -1,   562,
6814       -1,   564,  1111,    -1,    -1,  1114,  1951,    -1,    -1,    -1,
6815       -1,    -1,  1847,    -1,  1849,  1960,   579,    -1,    -1,    -1,
6816      421,    -1,    -1,  1465,    -1,   111,    -1,    -1,    -1,    -1,
6817       -1,   432,    -1,    -1,    -1,    -1,    -1,  2019,  2020,  2021,
6818     2022,  2023,    -1,  1152,    -1,    -1,    -1,  1882,  1883,   135,
6819       -1,  2033,  2034,  2035,  2036,    -1,    -1,  1166,  1167,  1168,
6820     1169,    -1,    -1,    -1,   879,    -1,    -1,    -1,    -1,    -1,
6821       -1,  2016,  2017,    -1,    -1,   890,    -1,    -1,    -1,    -1,
6822     1189,    -1,  1191,   484,    -1,    -1,    -1,    -1,  1951,    -1,
6823       -1,  1111,    -1,    -1,  1114,    -1,    -1,  1960,    -1,    -1,
6824       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6825       -1,   197,    -1,    -1,    -1,  1950,    -1,  1952,    -1,  2101,
6826     2102,    -1,    -1,    -1,   687,    -1,    -1,  1569,    -1,    -1,
6827      693,  1485,  1152,    -1,    -1,    -1,    -1,    -1,    -1,     1,
6828       -1,     3,     4,     5,    -1,    -1,  1166,  1167,  1168,  1169,
6829       -1,    -1,    -1,  2016,  2017,    -1,    -1,    -1,   721,    -1,
6830       -1,    -1,   725,    -1,    -1,    -1,    28,   693,    -1,  1189,
6831       -1,  1191,    -1,    -1,    -1,    -1,   892,    -1,    -1,    -1,
6832      743,    -1,    -1,    -1,  2019,  2020,  2021,  2022,  2023,  2024,
6833       -1,  2026,    -1,    -1,    -1,    -1,    -1,    -1,  2033,  2034,
6834     2035,  2036,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
6835       72,    -1,   298,    -1,    -1,   931,    -1,   303,   304,    -1,
6836       -1,   307,    -1,    85,    -1,    -1,    -1,   313,    -1,    -1,
6837       -1,    -1,   948,    -1,   950,   951,    98,    -1,   324,    -1,
6838      102,   103,   104,   105,   106,   107,   108,    -1,  1602,  1603,
6839       -1,    -1,    -1,    -1,    -1,   341,    -1,    -1,   120,    -1,
6840      346,    -1,    -1,    -1,    -1,    -1,  2101,  2102,   130,   131,
6841       -1,    -1,  2019,  2020,    -1,  2022,  2023,    -1,    -1,    -1,
6842       -1,    -1,    -1,    -1,    -1,    -1,  2033,  2034,  2035,  2036,
6843       -1,    -1,   693,    -1,    -1,    -1,    -1,   383,    -1,   385,
6844       -1,   864,    -1,    -1,    -1,    -1,    -1,    -1,   871,    -1,
6845       -1,    -1,    -1,    -1,    -1,   878,   879,   880,    -1,    -1,
6846       -1,    -1,   462,   463,   887,    -1,    -1,   890,    -1,   892,
6847       -1,   417,    -1,    -1,    -1,    -1,    -1,    -1,  1054,  1055,
6848       -1,    -1,    -1,    -1,    -1,    -1,    -1,   341,   488,   489,
6849       -1,    -1,    -1,   879,  2101,  2102,    -1,    -1,    -1,    -1,
6850       -1,    -1,    -1,   111,   890,    -1,    -1,    -1,   931,    -1,
6851      510,   511,    -1,    -1,    -1,   515,   516,   940,    -1,   519,
6852      520,    -1,   945,    -1,    -1,    -1,    -1,   135,   951,    -1,
6853       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   961,    -1,
6854       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1850,    -1,
6855       -1,   974,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6856       -1,   984,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6857       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6858      526,    -1,    -1,    -1,    -1,  1008,    -1,    -1,    -1,   197,
6859     1804,  1805,     7,     8,     9,    10,    11,    12,    13,    14,
6860       15,    16,    17,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6861     1186,    -1,  1188,    -1,    -1,    -1,    -1,   563,   879,    -1,
6862     1043,  1044,    -1,    -1,  1047,  1048,  1049,    -1,    -1,   890,
6863       -1,  1054,  1055,    -1,    -1,    -1,    -1,    -1,    -1,  1608,
6864     1609,    -1,  1065,    -1,    -1,    -1,    -1,    -1,    -1,   595,
6865       -1,    -1,  1621,    -1,    -1,  1624,    -1,    -1,    -1,    -1,
6866       -1,    -1,    -1,  1632,    -1,    -1,    -1,    -1,    -1,    -1,
6867       -1,    -1,    -1,    -1,    -1,    -1,    -1,   623,    -1,    -1,
6868       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6869      298,    -1,    -1,    -1,    -1,   303,   304,    -1,    -1,   307,
6870       -1,    -1,    -1,   118,   119,   313,    -1,    -1,    -1,    -1,
6871       -1,    -1,    -1,   128,    -1,    -1,   324,    -1,   133,   134,
6872      135,    -1,   137,   138,   139,   140,   141,    -1,  1608,  1609,
6873       -1,    -1,    -1,   341,    -1,    -1,    -1,    -1,   346,    -1,
6874       -1,  1621,    -1,    -1,  1624,    -1,    -1,    -1,   694,    -1,
6875       -1,    -1,  1632,    -1,   700,    -1,    -1,    -1,    -1,    -1,
6876       -1,  1184,  1185,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6877       -1,    -1,    -1,    -1,    -1,   383,    -1,   385,    -1,   633,
6878       -1,   727,    -1,    -1,  1207,   731,   732,    -1,    -1,    -1,
6879       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6880      746,  1224,    -1,  1226,    -1,    -1,    -1,   753,    -1,   417,
6881      756,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6882       -1,  1244,    -1,    -1,    -1,    -1,    -1,    -1,  1251,    -1,
6883      776,    -1,    -1,    -1,    -1,    -1,   782,   783,   784,   785,
6884      786,   787,   788,    -1,    -1,   791,   792,    -1,   794,   795,
6885      796,   797,   798,   799,   800,   801,    -1,   803,    -1,    -1,
6886       -1,    -1,    -1,    -1,    -1,   811,   812,   813,   814,   815,
6887      816,   817,   818,   819,   820,   821,   822,   823,   824,   825,
6888      826,   827,   828,   829,    -1,   831,    -1,    -1,    -1,  1465,
6889       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6890       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   762,    -1,
6891       -1,    -1,    -1,  1882,  1883,    -1,   862,   863,   526,    -1,
6892       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6893       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6894       -1,   795,   796,   797,   798,   799,    -1,    -1,   802,    -1,
6895       -1,    -1,    -1,    -1,   808,   563,    -1,    -1,    -1,    -1,
6896       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   823,
6897      824,   825,   826,   827,    -1,    -1,   830,    -1,    -1,    -1,
6898       -1,    -1,    -1,    -1,   930,    -1,   932,   595,    -1,    -1,
6899       -1,    -1,    -1,  1569,    -1,    -1,    -1,    -1,    -1,    -1,
6900       -1,    -1,  1882,  1883,    -1,    -1,    -1,    -1,    -1,    -1,
6901       -1,    -1,    -1,  1436,    -1,   623,   962,    -1,    -1,    -1,
6902       -1,    -1,    -1,    -1,    -1,   971,    -1,    -1,  1451,    -1,
6903       -1,    -1,    -1,    -1,    -1,  1458,    -1,    -1,    -1,    -1,
6904       -1,    -1,  1465,  1043,  1044,    -1,    -1,  1047,  1048,    -1,
6905       -1,    -1,    -1,    -1,  1000,    -1,  1002,    -1,    -1,    -1,
6906       -1,    -1,    -1,  1486,    -1,  1488,    -1,    -1,    -1,    -1,
6907       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6908       -1,    -1,    -1,    -1,    -1,    -1,   694,    -1,    -1,  1512,
6909     1513,    -1,   700,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6910       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6911       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   727,
6912       -1,    -1,  1068,   731,   732,    -1,    -1,    -1,    -1,    -1,
6913       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   746,    -1,
6914       -1,    -1,    -1,  1566,  1567,   753,  1569,    -1,   756,    -1,
6915       -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6916       -1,    -1,  1108,    -1,    -1,  1588,    -1,    -1,   776,    -1,
6917       -1,    -1,    -1,  1119,   782,   783,   784,   785,   786,   787,
6918      788,    -1,    -1,   791,   792,    -1,   794,   795,   796,   797,
6919      798,   799,   800,   801,    -1,   803,    -1,    -1,    -1,  1145,
6920     1146,    -1,    -1,   811,   812,   813,   814,   815,   816,   817,
6921      818,   819,   820,   821,   822,   823,   824,   825,   826,   827,
6922      828,   829,    -1,   831,    -1,    -1,    -1,    -1,    -1,    -1,
6923       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6924       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6925       -1,    -1,    -1,    -1,   862,   863,    -1,    -1,    -1,    -1,
6926       -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6927       -1,    -1,  1126,    -1,  1850,    -1,    -1,    -1,    -1,  1225,
6928       -1,  1227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6929     1713,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6930     1154,    -1,    -1,  1249,    -1,    -1,    -1,  1161,    -1,   268,
6931       -1,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6932       -1,  1267,   930,    -1,   932,  1271,    -1,    -1,  1274,    -1,
6933       -1,    -1,  1278,    -1,    -1,    -1,  1282,    -1,    -1,    -1,
6934       -1,  1195,    -1,  1197,    -1,    -1,    -1,    -1,   197,    -1,
6935       -1,    -1,    -1,    -1,   962,    -1,    -1,    -1,    -1,    -1,
6936     1214,    -1,   182,   971,    -1,   324,  1220,    -1,    -1,    -1,
6937       -1,    -1,    -1,    -1,    -1,     1,    -1,     3,     4,     5,
6938        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
6939       -1,    -1,  1000,    -1,  1002,    -1,    -1,    -1,  1821,   219,
6940     1823,    -1,    28,  1826,    -1,    -1,    -1,    -1,    -1,    -1,
6941       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6942       -1,    -1,    -1,    -1,  1847,    -1,  1849,    -1,    -1,    -1,
6943       -1,    -1,    -1,    -1,    -1,    -1,  1859,    -1,    -1,    65,
6944       -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,
6945       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,
6946     1068,    -1,    -1,    -1,    -1,    -1,   286,    -1,    -1,    -1,
6947       -1,    -1,    98,    -1,    -1,   324,   102,   103,   104,   105,
6948      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
6949       -1,   117,    -1,  1439,   120,   121,   122,  1443,    -1,   125,
6950     1108,    -1,    -1,    -1,   130,   131,   132,   133,   134,   135,
6951      136,  1119,  1512,  1513,    -1,    -1,    -1,    -1,    -1,     1,
6952       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
6953       -1,    -1,    -1,    -1,   383,    -1,   385,  1145,  1146,  1485,
6954       -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,  1495,
6955       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6956     1506,    -1,    -1,    -1,    -1,    -1,  1566,  1567,    -1,    -1,
6957       -1,   391,    -1,   532,    -1,    -1,    -1,   397,  1524,    -1,
6958     1526,    -1,    -1,    65,    -1,  1531,    -1,  1533,    -1,    71,
6959       72,    73,    -1,    -1,    -1,    -1,  2019,  2020,  2021,  2022,
6960     2023,    -1,    84,    85,  1550,    -1,    -1,    -1,    -1,    -1,
6961     2033,  2034,  2035,  2036,    -1,    -1,    98,  1225,    -1,  1227,
6962      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
6963       -1,    -1,    -1,    -1,    -1,   117,   595,    -1,   120,   121,
6964      122,  1249,    -1,   125,    -1,    -1,    -1,   467,   130,   131,
6965      132,   133,   134,   135,   136,    -1,    -1,  1603,    -1,  1267,
6966       -1,    -1,    -1,  1271,    -1,    -1,  1274,    -1,    -1,   628,
6967     1278,    -1,    -1,    -1,  1282,    -1,    -1,   526,  2101,  2102,
6968       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6969       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6970       -1,   660,   661,   662,   663,    -1,    -1,   527,    -1,    -1,
6971      530,    -1,    -1,    -1,   563,    -1,    -1,    -1,    -1,    -1,
6972       -1,    -1,    -1,   543,    -1,    -1,    -1,    -1,    -1,    -1,
6973       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6974       -1,    -1,    -1,    -1,   564,    -1,   595,    -1,    -1,    -1,
6975       -1,    -1,    -1,    -1,    -1,    -1,    -1,   577,    -1,    -1,
6976       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   727,    -1,
6977       -1,    -1,   731,  1719,   623,    -1,    -1,  1723,  1724,  1725,
6978       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1734,    -1,
6979       -1,    -1,    -1,  1739,  1740,    -1,    -1,    -1,    -1,    -1,
6980     1746,    -1,    -1,   762,    -1,    -1,    -1,    -1,    -1,    -1,
6981       -1,    -1,    -1,    -1,    -1,    -1,    -1,   776,    -1,  1765,
6982     1766,    -1,  1768,  1769,    -1,    -1,    -1,  1773,  1774,  1775,
6983     1776,  1439,    -1,    -1,    -1,  1443,    -1,    -1,    -1,    -1,
6984       -1,    -1,    -1,  1789,   803,    -1,    -1,    -1,    -1,   808,
6985       -1,    -1,   811,    -1,    -1,    -1,    -1,    -1,    -1,  1805,
6986       -1,    -1,    -1,    -1,    -1,    -1,    -1,   687,    -1,    -1,
6987       -1,    -1,   831,   693,    -1,    -1,    -1,  1485,   727,    -1,
6988       -1,    -1,   731,    -1,  1830,    -1,    -1,  1495,    -1,    -1,
6989       -1,    -1,    -1,    -1,    -1,    -1,    -1,   746,  1506,    -1,
6990       -1,    -1,    -1,    -1,   753,  1759,    -1,   756,    -1,    -1,
6991     1764,  1765,  1766,  1767,  1768,  1769,  1524,    -1,  1526,  1773,
6992     1774,  1775,  1776,  1531,    -1,  1533,    -1,   776,    -1,    -1,
6993       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6994       -1,    -1,  1550,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6995       -1,    -1,    -1,    -1,   803,    -1,    -1,    -1,    -1,    -1,
6996       -1,    -1,   811,  1909,  1910,    -1,  1912,  1913,  1914,  1915,
6997     1916,  1917,  1918,  1919,    -1,    -1,    -1,    -1,    -1,    -1,
6998       -1,    -1,   831,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6999       -1,    -1,    -1,    -1,    -1,  1603,    -1,    -1,    -1,    -1,
7000       -1,    -1,    -1,    -1,  1950,  1951,    -1,    -1,    -1,    -1,
7001       -1,    -1,    -1,    -1,  1960,    -1,    -1,    -1,    -1,  2019,
7002     2020,    -1,  2022,  2023,    -1,    -1,    -1,   140,    -1,    -1,
7003      143,    -1,    -1,  2033,  2034,  2035,  2036,    -1,    -1,    -1,
7004       -1,    -1,    -1,   156,    -1,   158,    -1,   160,    -1,    -1,
7005       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1018,
7006      880,    -1,    -1,    -1,    -1,    -1,  2012,   887,    -1,    -1,
7007     2016,  2017,    -1,   324,    -1,    -1,    -1,    -1,    -1,    -1,
7008       -1,   930,    -1,   932,    -1,    -1,    -1,    -1,    -1,    -1,
7009      341,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7010       -1,  2101,  2102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7011       -1,  1719,    -1,    -1,    -1,  1723,  1724,  1725,    -1,    -1,
7012      940,    -1,   971,    -1,    -1,   945,  1734,    -1,    -1,    -1,
7013       -1,  1739,  1740,    -1,    -1,    -1,    -1,    -1,  1746,    -1,
7014       -1,   961,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7015       -1,  1000,  1111,  1002,    -1,  1114,    -1,  1765,  1766,    -1,
7016     1768,  1769,    -1,    -1,  1123,  1773,  1774,  1775,  1776,    -1,
7017       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7018       -1,  1789,  2128,    -1,    -1,    -1,  1145,  1146,  1008,    -1,
7019       -1,    -1,    -1,  1152,    -1,  1154,    -1,  1805,    -1,  1158,
7020     2146,    -1,  1161,    -1,  1163,    -1,    -1,  1166,  1167,  1168,
7021     1169,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1068,
7022      140,    -1,  1830,   143,    -1,    -1,    -1,    -1,    -1,    -1,
7023       -1,    -1,    -1,    -1,    -1,  1055,   156,    -1,   158,    -1,
7024      160,    -1,    -1,    -1,  1064,    -1,  1066,    -1,    -1,    -1,
7025       -1,  2197,    -1,    -1,    -1,  1214,    -1,    -1,    -1,  1108,
7026       -1,  1220,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7027     1119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7028       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7029       -1,    -1,    -1,    -1,    -1,    -1,  1145,  1146,    -1,    -1,
7030       -1,  1909,  1910,    -1,  1912,  1913,  1914,  1915,  1916,  1917,
7031     1918,  1919,    -1,    -1,    -1,  1274,    -1,    -1,    -1,    -1,
7032       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7033       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7034       -1,    -1,  1950,  1951,    -1,    -1,    -1,    -1,   268,   462,
7035      463,    -1,  1960,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7036       -1,   474,    -1,    -1,    -1,    -1,  1186,    -1,  1188,    -1,
7037       -1,    -1,    -1,    -1,    -1,   488,   489,    -1,  1227,    -1,
7038       -1,    -1,   633,     1,    -1,     3,     4,     5,     6,    -1,
7039        8,     9,    -1,    -1,    -1,    -1,    -1,   510,   511,    -1,
7040     1249,    -1,   515,   516,  2012,    -1,   519,   520,  2016,  2017,
7041       28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
7042       -1,    -1,  1271,    -1,    -1,  1274,    -1,    -1,    -1,  1278,
7043       -1,    -1,    -1,  1282,    -1,    -1,    -1,    -1,    -1,    -1,
7044       -1,    -1,    -1,    -1,   557,    -1,   559,    65,    -1,    -1,
7045       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7046       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    -1,
7047       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7048       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
7049      108,   109,   110,   111,    -1,    -1,    -1,    -1,    -1,   117,
7050       -1,    -1,   120,   121,   122,    -1,    -1,    -1,    -1,    -1,
7051       -1,   762,   130,   131,    -1,   133,   134,   135,   136,    -1,
7052     2128,    -1,    -1,    -1,    -1,   776,    -1,    -1,    -1,    -1,
7053       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2146,    -1,
7054       -1,    -1,   462,   463,   795,   796,   797,   798,   799,    -1,
7055       -1,   802,   803,    -1,    -1,    -1,    -1,   808,    -1,    -1,
7056      811,    -1,    -1,    -1,    -1,    -1,    -1,  1526,   488,   489,
7057       -1,    -1,   823,   824,   825,   826,   827,    -1,    -1,   830,
7058      831,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2197,
7059      510,   511,    -1,    -1,    -1,   515,   516,    -1,  1557,   519,
7060      520,    -1,    -1,    -1,    -1,    -1,   526,    -1,    -1,    -1,
7061       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7062       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7063       -1,  1451,    -1,    -1,    -1,    -1,  1485,   557,  1458,   559,
7064       -1,    -1,    -1,    -1,    -1,    -1,  1495,    -1,    -1,  1608,
7065     1609,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1618,
7066       -1,  1620,  1621,    -1,    -1,  1624,  1486,    -1,  1488,    -1,
7067       -1,  1491,    -1,  1632,  1494,    -1,  1635,  1526,    -1,    -1,
7068       -1,    -1,  1531,    -1,  1533,    -1,    -1,    -1,     1,    -1,
7069        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
7070       -1,  1550,    -1,    -1,    -1,    -1,    -1,    -1,   628,    -1,
7071       -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
7072       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7073       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7074      660,   661,   662,   663,    -1,    -1,    -1,    -1,    -1,  1569,
7075       -1,    -1,    65,    -1,  1603,    -1,    -1,  1577,    71,    72,
7076       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1588,    -1,
7077       -1,    84,    85,    -1,    -1,  1734,    -1,    -1,    -1,    -1,
7078       -1,    -1,    -1,    -1,    -1,    98,    -1,  1746,    -1,   102,
7079      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
7080     1759,    -1,    -1,    -1,   117,  1764,    -1,   120,  1767,   122,
7081       -1,    -1,   125,   126,   127,    -1,    -1,   130,   131,    -1,
7082      133,   134,   135,   136,    -1,    -1,   746,    -1,    -1,    -1,
7083       -1,    -1,    -1,   753,    -1,    -1,   756,    -1,    -1,    -1,
7084       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7085       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7086       -1,   974,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7087       -1,    -1,  1831,    -1,  1723,  1126,  1725,    -1,    -1,    -1,
7088       -1,    -1,    -1,  1842,    -1,  1734,    -1,    -1,    -1,    -1,
7089     1739,  1740,    -1,    -1,    -1,    -1,    -1,  1746,    -1,    -1,
7090       -1,    -1,    -1,  1154,    -1,    -1,    -1,    -1,    -1,    -1,
7091     1161,    -1,    -1,  1872,  1873,  1874,  1875,    -1,    -1,  1878,
7092       -1,    -1,    -1,  1882,  1883,    -1,  1885,    -1,  1887,    -1,
7093     1043,  1044,    -1,    -1,  1047,  1048,  1049,    -1,    -1,    -1,
7094     1899,    -1,    -1,    -1,  1195,    -1,  1197,    -1,    -1,    -1,
7095     1909,  1910,    -1,    -1,    -1,    -1,  1805,    -1,    -1,    -1,
7096       -1,    -1,    -1,  1214,    -1,    -1,    -1,    -1,    -1,  1220,
7097       -1,    -1,    -1,  1793,  1794,    -1,  1796,    -1,    -1,    -1,
7098       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7099       -1,   911,   912,    -1,    -1,    -1,    -1,    -1,    85,    -1,
7100       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7101       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7102       -1,    -1,    -1,  1274,    -1,    -1,    -1,    -1,    -1,    -1,
7103     1850,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7104      127,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   135,    -1,
7105       -1,    -1,    -1,    -1,   974,    -1,    -1,    -1,    -1,    -1,
7106     1909,  1910,    -1,    -1,    -1,    -1,    -1,    -1,   155,  2028,
7107       -1,  1184,  1185,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7108     1000,    -1,  1002,    -1,    -1,  2044,    -1,    -1,    -1,    -1,
7109       -1,    -1,    -1,    -1,  2053,    -1,  2055,    -1,    -1,    -1,
7110       -1,    -1,  1951,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7111       -1,  1960,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7112       -1,    -1,    -1,  1043,  1044,    -1,    -1,  1047,  1048,  1049,
7113       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7114       -1,    -1,    -1,    -1,    -1,    -1,  2105,    -1,    -1,  2108,
7115     2109,    -1,    -1,  2112,    -1,  2114,    -1,    -1,  2117,    -1,
7116       -1,    -1,  2121,    -1,    -1,    -1,    -1,  2016,  2017,  2128,
7117       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7118       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2146,  1108,    -1,
7119       -1,  1111,    -1,    -1,  1114,  2154,    -1,    -1,    -1,    -1,
7120       -1,    -1,    -1,  1123,    -1,    -1,    -1,    -1,    -1,    -1,
7121       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7122       -1,    -1,    -1,  2182,    -1,    -1,    -1,    -1,    -1,    -1,
7123       -1,    -1,  1152,    -1,    -1,    -1,    -1,    -1,  2197,    -1,
7124       -1,    -1,    -1,    -1,    -1,    -1,  1166,  1167,  1168,  1169,
7125       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7126       -1,    -1,    -1,    -1,  1184,  1185,    -1,    -1,    -1,    -1,
7127       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2128,
7128       -1,    -1,    -1,    -1,     0,    -1,    -1,    -1,    -1,    -1,
7129       -1,   378,    -1,    -1,    -1,    -1,    -1,  2146,    -1,    -1,
7130       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7131       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7132       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7133      417,   418,    -1,    -1,    50,   422,    -1,    -1,    -1,    -1,
7134       -1,    -1,    -1,    -1,   431,    -1,    -1,   434,  2197,    -1,
7135       -1,  1271,    -1,    -1,    -1,    -1,    -1,    -1,  1278,    -1,
7136       -1,    -1,  1282,    -1,    -1,    -1,    82,    -1,    -1,    -1,
7137       -1,    -1,    -1,    -1,    -1,    91,    92,    -1,    -1,    -1,
7138       -1,   468,    -1,    99,   100,    -1,    -1,   474,    -1,    -1,
7139       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1512,
7140     1513,   117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7141       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7142       -1,    -1,    -1,    -1,    -1,   141,    -1,    -1,    -1,    -1,
7143       -1,    -1,    -1,    -1,    -1,    -1,    -1,   153,    -1,    -1,
7144       -1,   157,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7145       -1,    -1,    -1,  1566,  1567,    -1,    -1,    -1,    -1,    -1,
7146       -1,    -1,    -1,    -1,    -1,   552,    -1,    -1,    -1,   185,
7147      186,    -1,    -1,    -1,    -1,   562,    -1,    -1,    -1,    -1,
7148       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7149       -1,    -1,    -1,    -1,    -1,   582,    -1,    -1,   585,    -1,
7150      587,    -1,   589,   219,    -1,    -1,    -1,    -1,  1759,    -1,
7151       -1,    -1,    -1,  1764,  1765,  1766,  1767,  1768,  1769,    -1,
7152       -1,    -1,  1773,  1774,  1775,  1776,    -1,    -1,    -1,    -1,
7153       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7154       -1,    -1,    -1,    -1,    -1,    -1,    -1,   263,    -1,    -1,
7155      266,   267,   268,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7156      276,    -1,    -1,    -1,    -1,  1485,    -1,    -1,    -1,    -1,
7157      286,   287,   288,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7158       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7159      306,    -1,  1512,  1513,    -1,    -1,   312,    -1,    -1,    -1,
7160       -1,    -1,    -1,    -1,    -1,   321,    -1,    -1,    -1,    -1,
7161       -1,  1531,    -1,  1533,    -1,    -1,    -1,    -1,    -1,    -1,
7162       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7163       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7164       -1,    -1,    -1,    -1,    -1,    -1,  1566,  1567,    -1,    -1,
7165       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7166       -1,  1912,  1913,  1914,  1915,  1916,  1917,  1918,  1919,    -1,
7167       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7168       -1,    -1,    -1,  1603,    -1,    -1,    -1,    -1,  1608,  1609,
7169       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1618,   415,
7170     1620,  1621,    -1,    -1,  1624,   421,    -1,    -1,  1821,    -1,
7171     1823,    -1,  1632,    -1,    -1,  1635,   432,    -1,    -1,    -1,
7172       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7173       -1,    -1,    -1,    -1,  1847,     1,  1849,     3,     4,     5,
7174        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
7175       -1,   467,   839,   840,   841,    -1,    -1,    -1,    -1,    -1,
7176       -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,   484,    -1,
7177       -1,    -1,    -1,    -1,    -1,   862,   863,   864,    -1,    -1,
7178       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7179       -1,   507,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
7180       -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,
7181      526,    -1,    -1,    -1,    -1,    -1,    -1,   533,    84,    85,
7182      536,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7183       -1,    -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,
7184      106,   107,   108,   109,    -1,    -1,   628,    -1,    -1,    -1,
7185      937,   117,    -1,    -1,   120,   121,   122,    -1,    -1,   125,
7186       -1,    -1,    -1,   129,   130,   131,    -1,   133,   134,   135,
7187      136,    -1,    -1,    -1,    -1,   962,    -1,    -1,    -1,    -1,
7188      662,   663,   969,   970,    -1,  1805,    -1,    -1,    -1,    -1,
7189       -1,    -1,    -1,   980,    -1,    -1,    -1,    -1,    -1,    -1,
7190       -1,  1821,    -1,  1823,    -1,    -1,  2019,  2020,  2021,  2022,
7191     2023,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   635,
7192     2033,  2034,  2035,  2036,    -1,    -1,    -1,  1847,    -1,  1849,
7193       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7194       -1,    -1,    -1,    -1,   660,   661,   662,   663,    -1,    -1,
7195       -1,    -1,  1872,  1873,  1874,  1875,    -1,    -1,  1878,    -1,
7196       -1,    -1,  1882,  1883,    -1,  1885,    -1,  1887,    -1,    -1,
7197       -1,    -1,   688,   689,   690,    -1,    -1,   693,    -1,  1899,
7198     1067,    -1,    -1,    -1,   700,  1072,    -1,    -1,  2101,  2102,
7199       -1,  1078,    -1,    -1,    -1,    -1,    -1,  1084,   714,    -1,
7200       -1,    -1,    -1,  1090,    -1,   721,   722,   723,    -1,   725,
7201      726,    -1,    -1,    -1,    -1,    -1,   732,    -1,    -1,    -1,
7202       -1,    -1,    -1,    -1,    -1,    -1,    -1,   743,    -1,    -1,
7203      746,    -1,    -1,    -1,    -1,    -1,    -1,   753,    -1,    -1,
7204      756,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7205       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7206       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7207       -1,    -1,    -1,    -1,   268,    -1,    -1,    -1,    -1,    -1,
7208       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7209       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2019,
7210     2020,  2021,  2022,  2023,    -1,    -1,    -1,    -1,    -1,    -1,
7211       -1,    -1,    -1,  2033,  2034,  2035,  2036,    -1,    -1,    -1,
7212      836,    -1,    -1,    -1,  2044,    -1,    -1,   321,    -1,    -1,
7213       -1,    -1,    -1,  2053,    -1,  2055,    -1,    -1,  1225,  1226,
7214       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7215       -1,    -1,    -1,    -1,    -1,   871,    -1,    -1,    -1,    -1,
7216       -1,    -1,    -1,   879,   880,    -1,    -1,    -1,    -1,    -1,
7217       -1,   887,    -1,    -1,   890,   891,   892,    -1,   894,    -1,
7218       -1,  2101,  2102,    -1,    -1,    -1,    -1,    -1,  2108,  2109,
7219       -1,    -1,  2112,    -1,  2114,    -1,    -1,  2117,    -1,    -1,
7220       -1,  2121,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7221       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7222       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   945,
7223       -1,    -1,    -1,    -1,  2154,    -1,    -1,    -1,    -1,   433,
7224       -1,    -1,    -1,     0,    -1,   961,    -1,    -1,    -1,    -1,
7225       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7226       -1,    -1,  2182,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7227       -1,    -1,    -1,    -1,    -1,     1,    -1,     3,     4,     5,
7228        6,    -1,     8,     9,  1000,  1001,  1002,    -1,    -1,    -1,
7229       -1,    -1,  1008,    50,    51,    -1,    -1,    -1,    -1,    -1,
7230       -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7231       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7232       -1,    -1,    -1,    -1,    -1,    82,    83,    -1,    -1,  1111,
7233       87,    -1,  1114,    -1,    -1,    92,  1423,  1424,    -1,    65,
7234       -1,  1123,    99,   100,    -1,    71,    72,    73,    -1,    -1,
7235       -1,    -1,  1439,    -1,    -1,    -1,  1443,    -1,    84,    85,
7236      117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7237     1152,    -1,    98,   130,    -1,    -1,   102,   103,   104,   105,
7238      106,   107,   108,   109,  1166,  1167,  1168,  1169,    -1,    -1,
7239       -1,   117,  1108,    -1,   120,  1111,   122,    -1,  1114,    -1,
7240       -1,   127,    -1,    -1,   130,   131,   132,   133,   134,   135,
7241      136,  1127,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1506,
7242       -1,    -1,    -1,    -1,   181,    -1,    -1,    -1,    -1,    -1,
7243     1517,  1518,  1519,  1520,    -1,    -1,  1152,   194,    -1,   633,
7244       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7245     1166,  1167,  1168,  1169,    -1,   649,    -1,    -1,    -1,    -1,
7246       -1,    -1,   219,    -1,    -1,    -1,   660,   661,   662,   663,
7247       -1,    -1,    -1,  1189,    -1,  1191,    -1,    -1,    -1,    -1,
7248        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
7249       -1,  1207,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7250       -1,    -1,    -1,    -1,    -1,    -1,   263,    28,  1224,    -1,
7251       -1,    -1,    -1,    -1,    -1,   709,    -1,    -1,    -1,   276,
7252       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1244,   286,
7253       -1,   288,    -1,    -1,    -1,  1251,    -1,    -1,    -1,    -1,
7254       -1,    -1,    -1,   737,    65,    -1,    -1,    -1,    -1,    -1,
7255       71,    72,    73,    -1,  1270,  1271,    -1,    -1,    -1,    -1,
7256       -1,  1277,  1278,    84,    85,  1281,  1282,    -1,    -1,    -1,
7257      764,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
7258     1667,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
7259       -1,    -1,    -1,    -1,    -1,    -1,   117,    -1,    -1,   120,
7260      121,   122,   123,    -1,   125,    -1,    -1,    -1,   802,   130,
7261      131,    -1,   133,   134,   135,   136,   810,    -1,    -1,    -1,
7262       -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
7263        8,     9,  1719,    -1,  1721,    -1,   830,  1724,    -1,    -1,
7264       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7265       28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   415,    -1,
7266       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7267       -1,    -1,    -1,    -1,    -1,    -1,   433,    -1,    -1,    -1,
7268       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
7269       -1,    -1,    -1,    71,    72,    73,    -1,    -1,   892,    -1,
7270       -1,    -1,  1789,    -1,    -1,    -1,    84,    85,    -1,    -1,
7271      467,    -1,    -1,   470,    -1,    -1,    -1,    -1,    -1,    -1,
7272       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
7273      108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,
7274       -1,    -1,   120,   121,   122,    -1,    -1,   125,    -1,    -1,
7275      507,   129,   130,   131,    -1,   133,   134,   135,   136,    -1,
7276       -1,    -1,    -1,    -1,    -1,    -1,   523,   524,   525,  1485,
7277       -1,    -1,  1488,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7278       -1,    -1,    -1,    -1,   541,   542,    -1,    -1,    -1,    -1,
7279       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7280       -1,    -1,    -1,    -1,    -1,   562,    -1,   564,    -1,    -1,
7281       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   575,    -1,
7282       -1,    -1,    -1,    -1,    -1,    -1,  1608,  1609,    -1,    -1,
7283       -1,    -1,    -1,    -1,    -1,    -1,  1618,    -1,  1620,  1621,
7284       -1,    -1,  1624,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7285     1632,    -1,    -1,  1635,   611,    -1,    -1,    -1,    -1,    -1,
7286       -1,    -1,    -1,  1950,    -1,    -1,    -1,    -1,    -1,    -1,
7287       -1,    -1,  1588,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7288       -1,    -1,    -1,    -1,    -1,    -1,  1602,  1603,    -1,    -1,
7289       -1,    -1,  1608,  1609,    -1,    -1,    -1,    -1,    -1,    -1,
7290       -1,    -1,    -1,    -1,    -1,  1621,    -1,    -1,  1624,    -1,
7291       -1,    -1,    -1,    -1,    -1,    -1,  1632,  1111,    -1,    -1,
7292     1114,  1115,  1116,    -1,  1118,    -1,    -1,    -1,    -1,   686,
7293       -1,    -1,  1126,    -1,    -1,    -1,   693,  2024,    -1,  2026,
7294     1134,     1,    -1,    -1,     4,     5,     6,  1141,     8,     9,
7295       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1152,    -1,
7296       -1,    -1,    -1,    -1,   721,  1159,    91,    -1,   725,    -1,
7297     1164,    -1,  1166,  1167,  1168,  1169,    -1,    -1,    -1,    -1,
7298       -1,    -1,    -1,    -1,    -1,    -1,   743,    -1,    -1,    -1,
7299       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7300       -1,  1195,    -1,  1197,    -1,    65,    -1,    -1,    -1,    -1,
7301       -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,    -1,
7302       -1,    -1,  1216,    -1,    84,    -1,  1742,    -1,  1222,    -1,
7303       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
7304       -1,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7305       -1,  1245,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7306      185,   186,   122,   123,    -1,   125,   126,   127,    -1,    -1,
7307      130,   131,    -1,   133,   134,   135,   136,    -1,    -1,    -1,
7308       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1804,  1805,
7309     1872,  1873,  1874,  1875,   219,    -1,  1878,    -1,  1292,    -1,
7310     1882,  1883,    -1,  1885,    -1,  1887,    -1,   864,   865,    -1,
7311     1826,    -1,    -1,    -1,   871,    -1,    -1,  1899,    -1,    -1,
7312       -1,    -1,   879,   880,    -1,    -1,    -1,    -1,    -1,    -1,
7313      887,    -1,    -1,   890,   891,   892,    -1,    -1,   263,    -1,
7314       -1,   266,   267,   268,    -1,    -1,    -1,    -1,    -1,    -1,
7315     1344,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7316       -1,    -1,   287,  1357,    -1,    -1,  1882,  1883,    -1,    -1,
7317       -1,    -1,    -1,    -1,   931,    -1,    -1,    -1,    -1,    -1,
7318       -1,   306,   939,    -1,    -1,    -1,    -1,   312,   945,    -1,
7319       -1,    -1,    -1,    -1,   951,    -1,   321,    -1,    -1,    -1,
7320       -1,    -1,    -1,    -1,   961,    -1,    -1,    -1,    -1,    -1,
7321       -1,    -1,    -1,    -1,  1408,    -1,    -1,     1,    -1,     3,
7322        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
7323       -1,    -1,    -1,    -1,    -1,    -1,  1952,    -1,    -1,    -1,
7324       -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,
7325       -1,  1008,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7326       -1,    -1,  2044,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7327       -1,  2053,    -1,  2055,    -1,    -1,    -1,    -1,    -1,    -1,
7328       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
7329      415,    -1,    -1,    -1,    -1,    -1,    -1,  1054,    -1,    -1,
7330       84,    85,    -1,    -1,    -1,    -1,  1063,    -1,    -1,    -1,
7331       -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,
7332      104,   105,   106,   107,   108,   109,  2108,  2109,    -1,    -1,
7333     2112,    -1,  2114,   117,    -1,  2117,   120,   121,   122,  2121,
7334       -1,   125,   467,    -1,    -1,   129,   130,   131,    -1,   133,
7335      134,   135,   136,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7336       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7337       -1,    -1,  2154,   197,    -1,    -1,    -1,    -1,    -1,    -1,
7338       -1,    -1,   507,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7339       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7340     2182,   526,    -1,    -1,    -1,    -1,    -1,    -1,   533,    -1,
7341       -1,   536,    -1,    -1,  1608,  1609,    -1,    -1,    -1,    -1,
7342     1614,    -1,  1616,    -1,    -1,  1619,  1620,    -1,    -1,    -1,
7343       -1,  1625,  1626,    -1,  1628,    -1,    -1,    -1,    -1,    -1,
7344       -1,    -1,    -1,    -1,  1638,    -1,  1640,    -1,    -1,    -1,
7345     1207,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7346       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1224,    -1,  1226,
7347       -1,    -1,    -1,    -1,   298,    -1,    -1,  1234,  1672,    -1,
7348       -1,    -1,  1676,   307,    -1,    -1,    -1,  1244,    -1,   313,
7349       -1,    -1,    -1,    -1,  1251,    -1,    -1,    -1,    -1,    -1,
7350       -1,    -1,    -1,  1697,    -1,    -1,    -1,    -1,    -1,    -1,
7351       -1,    -1,  1706,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7352       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7353       -1,    -1,    -1,    -1,    -1,   660,   661,   662,   663,     1,
7354       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
7355       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   383,
7356       -1,   385,    -1,   688,   689,   690,    28,    -1,    -1,    -1,
7357       -1,    -1,    -1,    -1,    -1,   700,    -1,    -1,    -1,    -1,
7358       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   714,
7359       -1,    -1,    -1,    -1,    -1,    -1,   721,   722,   723,    -1,
7360      725,   726,    -1,    65,    -1,    -1,    -1,   732,    -1,    71,
7361       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,   743,    -1,
7362       91,   746,    84,    85,    -1,    -1,    -1,    -1,   753,    -1,
7363       -1,   756,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,
7364      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
7365       -1,    -1,    -1,    -1,    -1,   117,    -1,    -1,   120,   121,
7366      122,   123,    -1,   125,    -1,    -1,  1860,    -1,   130,   131,
7367       -1,   133,   134,   135,   136,    -1,    -1,    -1,    -1,  1436,
7368       -1,    -1,    -1,    -1,  1878,  1879,    -1,    -1,    -1,    -1,
7369       -1,    -1,  1886,  1450,    -1,    -1,  1890,    -1,  1892,    -1,
7370     1457,    -1,   526,    -1,    -1,    -1,    -1,  1901,  1465,    -1,
7371       -1,   836,    -1,    -1,   185,   186,    -1,    -1,    -1,    -1,
7372       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1486,
7373       -1,  1488,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   563,
7374       -1,    -1,    -1,    -1,    -1,    -1,   871,    -1,   219,    -1,
7375       -1,    -1,    -1,    -1,    -1,   880,    -1,    -1,  1952,    -1,
7376       -1,    -1,   887,    -1,    -1,    -1,    -1,   892,    -1,   894,
7377       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7378       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7379       -1,    -1,   263,    -1,    -1,   266,   267,   268,    -1,   623,
7380       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7381       -1,  1568,    -1,    -1,    -1,    -1,   287,    -1,    -1,    -1,
7382      945,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7383       -1,  1588,    -1,    -1,    -1,   306,   961,    -1,    -1,    -1,
7384       -1,   312,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7385      321,  2045,  2046,    -1,  2048,    -1,  2050,    -1,    -1,  2053,
7386     2054,  2055,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
7387      694,    -1,    -1,    -1,    -1,  1000,  1001,  1002,    -1,    -1,
7388       -1,    -1,    -1,  1008,    -1,    -1,    -1,    -1,    28,    29,
7389       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7390       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7391       50,    -1,    -1,    -1,    -1,    -1,  2110,    -1,    -1,  2113,
7392       -1,    -1,   746,    -1,    -1,    -1,    66,  2121,    -1,   753,
7393       -1,    -1,   756,    -1,    74,    75,    -1,    -1,    -1,    79,
7394       -1,    -1,    82,    83,   415,    85,    86,    87,    -1,    -1,
7395       -1,    -1,    -1,    -1,    -1,   321,  1713,    -1,    -1,    -1,
7396      100,    -1,    -1,  2157,    -1,    -1,    -1,    -1,    -1,    -1,
7397      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
7398      120,    -1,    -1,  1108,    -1,    -1,  1111,    -1,    -1,  1114,
7399       -1,   131,    -1,   133,    -1,    -1,   467,    -1,    -1,    -1,
7400       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,
7401        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
7402       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1152,  1785,    -1,
7403       -1,    -1,    -1,    -1,    -1,    28,   507,    -1,    -1,    -1,
7404       -1,  1166,  1167,  1168,  1169,    -1,    -1,    -1,    -1,    -1,
7405     1807,    -1,    -1,    -1,    -1,   526,    -1,    -1,    -1,    -1,
7406       -1,    -1,   533,    -1,  1189,   536,  1191,   433,    -1,  1826,
7407       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
7408       73,    -1,  1207,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7409       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,  1224,
7410       -1,    -1,    -1,    -1,    -1,    98,   930,    -1,   932,   102,
7411      103,   104,   105,   106,   107,   108,   109,    -1,    -1,  1244,
7412       -1,    -1,    -1,    -1,   117,    -1,  1251,   120,   121,   122,
7413       -1,    -1,   125,    -1,    -1,    -1,   129,   130,   131,    -1,
7414      133,   134,   135,   136,    -1,  1270,  1271,   971,    -1,    -1,
7415       -1,    -1,  1277,  1278,    -1,    -1,  1281,  1282,    -1,    -1,
7416       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7417       -1,    -1,    -1,    -1,    -1,  1932,  1000,    -1,  1002,    -1,
7418       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   660,
7419      661,   662,   663,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7420       -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,     4,
7421        5,     6,    -1,     8,     9,    -1,    -1,   688,   689,   690,
7422       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   700,
7423       -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,    -1,
7424       -1,    -1,    -1,   714,  1068,    -1,    -1,    -1,    -1,    -1,
7425      721,   722,   723,    -1,   725,   726,    -1,    -1,    -1,    -1,
7426       -1,   732,    -1,    -1,    -1,    -1,    -1,   633,    -1,    -1,
7427       65,    -1,   743,    -1,    -1,   746,    71,    72,    73,    -1,
7428       -1,    -1,   753,   649,  1108,   756,    -1,   653,    -1,    84,
7429       85,    -1,    -1,    -1,    -1,  1119,    -1,    -1,    -1,    -1,
7430       -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,   104,
7431      105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,
7432       -1,    -1,   117,    -1,    -1,   120,   121,   122,    -1,    -1,
7433      125,    -1,    -1,    -1,    -1,   130,   131,   132,   133,   134,
7434      135,   136,    -1,   709,    -1,    -1,    -1,    -1,    -1,    -1,
7435       -1,    -1,    -1,    -1,    -1,    -1,    -1,   723,    -1,    -1,
7436     1485,    -1,    -1,  1488,    -1,   836,    -1,    -1,    -1,    -1,
7437       -1,   737,   738,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7438       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7439       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   764,    -1,
7440      871,    -1,    -1,  1227,    -1,    -1,    -1,    -1,    -1,   880,
7441       -1,    -1,    -1,    -1,    -1,    -1,   887,    -1,    -1,    -1,
7442       -1,   892,    -1,   894,    -1,  1249,    -1,    -1,    -1,    -1,
7443       -1,    -1,    -1,    -1,    -1,    -1,   802,    -1,    -1,    -1,
7444       -1,    -1,    -1,    -1,   810,    -1,    -1,  1271,    -1,    -1,
7445       -1,    -1,    -1,    -1,  1278,    -1,    -1,    -1,  1282,    -1,
7446       -1,    -1,    -1,  1588,   830,    -1,    -1,    -1,    -1,    -1,
7447       -1,    -1,    -1,    -1,   945,    -1,    -1,  1602,  1603,    -1,
7448       -1,    -1,    -1,  1608,  1609,    -1,    -1,    -1,    -1,    -1,
7449      961,    -1,    -1,    -1,    -1,    -1,  1621,    -1,    -1,  1624,
7450       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1632,    -1,    -1,
7451       -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,
7452        4,     5,     6,    -1,     8,     9,   892,    -1,    -1,  1000,
7453     1001,  1002,    -1,    -1,    -1,    -1,    -1,  1008,    -1,    -1,
7454       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
7455       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7456       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
7457       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7458       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
7459       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
7460       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
7461       -1,    -1,    -1,    -1,    98,    -1,   100,  1742,   102,   103,
7462      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7463      114,   115,   116,   117,    -1,    -1,   120,  1108,   122,    -1,
7464     1111,    -1,    -1,  1114,    -1,    -1,   130,   131,    -1,   133,
7465      134,   135,   136,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7466       -1,  1485,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7467       -1,  1495,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1804,
7468     1805,  1152,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7469       -1,    -1,    -1,    -1,    -1,  1166,  1167,  1168,  1169,    -1,
7470       -1,  1826,    -1,    -1,    -1,    -1,    -1,  1531,    -1,  1533,
7471       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1189,    -1,
7472     1191,    -1,    -1,    -1,    -1,    -1,  1550,    -1,    -1,    -1,
7473       -1,    -1,    -1,    -1,    -1,    -1,  1207,    -1,    -1,    -1,
7474       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1115,
7475     1116,    -1,  1118,  1224,    -1,    -1,    -1,  1882,  1883,    -1,
7476     1126,    -1,     1,  1129,     3,     4,     5,     6,  1134,     8,
7477        9,    -1,    -1,  1244,    -1,  1141,  1142,    -1,    -1,  1603,
7478     1251,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
7479       -1,    -1,    -1,  1159,  1160,    -1,    -1,    -1,  1164,  1270,
7480     1271,    -1,    -1,    -1,    -1,    -1,  1277,  1278,    -1,    -1,
7481     1281,  1282,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7482       -1,    -1,    -1,    -1,    -1,    -1,    65,  1952,    -1,  1195,
7483       -1,  1197,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,
7484       -1,    -1,    -1,    -1,    -1,    84,    85,    -1,    -1,    -1,
7485     1216,    -1,    -1,    -1,    -1,    -1,  1222,    -1,    -1,    98,
7486       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
7487      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,  1245,
7488       -1,   120,   121,   122,    -1,    -1,   125,    -1,    -1,    -1,
7489       -1,   130,   131,   132,   133,   134,   135,   136,    -1,  1723,
7490       -1,  1725,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7491       -1,    -1,    -1,    -1,    -1,  1739,  1740,    -1,    -1,    -1,
7492       -1,    -1,    -1,    -1,    -1,    -1,  1292,  1293,    -1,    51,
7493       -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    -1,
7494       -1,  1765,  1766,    -1,  1768,  1769,    -1,    -1,    -1,  1773,
7495     1774,  1775,  1776,    -1,    51,    -1,    -1,    -1,    -1,    81,
7496       82,    83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7497       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1344,    -1,
7498     1346,  1805,    -1,    -1,    -1,    82,    83,    -1,    -1,    -1,
7499       -1,  1357,  1358,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7500       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   130,   131,
7501       -1,    -1,    -1,    -1,  1485,    -1,    -1,  1488,    -1,    -1,
7502       -1,    -1,    -1,    -1,    -1,   147,    -1,    -1,    -1,    -1,
7503       -1,    -1,    -1,   130,   131,    -1,    -1,    -1,    -1,    -1,
7504       -1,   163,  1408,    -1,  1410,    -1,    -1,    -1,    -1,    -1,
7505       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7506      182,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7507       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7508       -1,    -1,    -1,    -1,    -1,   182,    -1,    -1,  1912,  1913,
7509     1914,  1915,  1916,  1917,  1918,  1919,   218,   219,    -1,    -1,
7510       -1,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
7511       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1588,    -1,    -1,
7512       -1,    -1,   219,    -1,    -1,    -1,    -1,  1951,    28,    -1,
7513       -1,  1602,  1603,    -1,    -1,    -1,  1960,  1608,  1609,    -1,
7514       -1,   263,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7515     1621,    -1,    -1,  1624,   276,    -1,    -1,    -1,    -1,    -1,
7516       -1,  1632,    -1,    -1,   286,    65,   263,    -1,    -1,    -1,
7517       -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,   276,
7518       -1,    -1,    -1,    -1,    84,    85,    -1,    -1,  2012,   286,
7519       -1,    -1,  2016,  2017,    -1,    -1,    -1,    -1,    98,    -1,
7520       -1,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7521       -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,    -1,    -1,
7522      120,   121,   122,   123,    -1,   125,    -1,    -1,  1594,    -1,
7523      130,   131,    -1,   133,   134,   135,   136,    -1,    -1,    -1,
7524       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1614,  1615,
7525     1616,  1617,    -1,  1619,  1620,    -1,    -1,    -1,    -1,  1625,
7526     1626,    -1,  1628,    -1,  1630,    -1,    -1,    -1,    -1,   391,
7527       -1,  1742,  1638,  1639,  1640,   397,    -1,    -1,    -1,    -1,
7528       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7529       -1,    -1,    -1,    -1,   391,    -1,    -1,    -1,    -1,    -1,
7530      397,    -1,    -1,    -1,    -1,    -1,  1672,    -1,  1674,    -1,
7531     1676,   433,  1678,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7532       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7533       -1,  1697,  1698,  1804,  1805,    -1,   433,    -1,    -1,    -1,
7534     1706,  1707,    -1,    -1,    -1,   467,    -1,    -1,    -1,    -1,
7535       -1,    -1,    -1,    -1,    -1,  1826,    -1,    -1,    -1,    -1,
7536       -1,   483,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7537      467,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7538       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7539       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7540       -1,   523,   524,   525,    -1,   527,    -1,    -1,   530,    -1,
7541       -1,  1882,  1883,    -1,    -1,    -1,    -1,    -1,    -1,   541,
7542      542,   543,    -1,    -1,    -1,    -1,   523,   524,   525,    -1,
7543      527,    -1,    -1,   530,    -1,    -1,    -1,    -1,   560,    -1,
7544      562,    -1,   564,    -1,   541,   542,   543,    -1,    -1,    -1,
7545       -1,    -1,    -1,    -1,    -1,   577,    -1,    -1,    -1,    -1,
7546       -1,    -1,    -1,    -1,    -1,   562,    -1,   564,    -1,    -1,
7547       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7548      577,  1952,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,
7549       -1,    -1,    -1,    -1,  1860,    -1,    -1,    -1,     1,    -1,
7550        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
7551       -1,    -1,    -1,  1879,    -1,    -1,    -1,    -1,  1884,    -1,
7552     1886,  1887,    -1,  1889,  1890,    28,  1892,    -1,  1894,    -1,
7553       -1,    -1,    -1,    -1,  1900,  1901,    -1,    -1,    -1,   141,
7554       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7555       -1,   153,    -1,    -1,    -1,   157,    -1,   679,    -1,    91,
7556       -1,    -1,    65,    -1,    -1,   687,    -1,    -1,    71,    72,
7557       73,   693,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7558       -1,    84,    85,   185,   186,    -1,  1952,    -1,    -1,    -1,
7559      687,    -1,    -1,    -1,    -1,    98,   693,    -1,    -1,   102,
7560      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   141,
7561       -1,    -1,    -1,    -1,   117,    -1,    -1,   120,   121,   122,
7562      123,   153,   125,    -1,    -1,   157,    -1,   130,   131,    -1,
7563      133,   134,   135,   136,    -1,    -1,    -1,    -1,    -1,    -1,
7564       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7565       -1,    -1,    -1,   185,   186,    -1,    -1,    -1,    -1,    -1,
7566       -1,   263,    -1,    -1,   266,   267,   268,    -1,    -1,    -1,
7567       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2045,
7568     2046,    -1,  2048,  2049,  2050,   287,    -1,   219,  2054,  2055,
7569       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7570       -1,    -1,    -1,    -1,   306,    -1,    -1,    -1,    -1,    -1,
7571      312,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7572       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7573       -1,   263,    -1,    -1,   266,   267,   268,    -1,    -1,    -1,
7574       -1,    -1,    -1,    -1,  2110,  2111,    -1,  2113,  2114,    -1,
7575       -1,    -1,  2118,    -1,    -1,   287,   878,    -1,   880,    -1,
7576       -1,    -1,    -1,    -1,    -1,   887,    -1,    -1,    -1,    -1,
7577      892,    -1,    -1,    -1,   306,    -1,    -1,    -1,    -1,    -1,
7578      312,    -1,    -1,   880,    -1,    -1,    -1,    -1,    -1,    -1,
7579      887,  2157,    -1,    -1,    -1,   892,    -1,    -1,    -1,    -1,
7580       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   931,
7581       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   940,   421,
7582       -1,    -1,    -1,   945,    -1,    -1,    -1,    -1,    -1,   951,
7583      432,    -1,    -1,    -1,   931,    -1,    -1,    -1,    -1,   961,
7584       -1,    -1,    -1,   940,    -1,    -1,    -1,    -1,   945,    -1,
7585       -1,    -1,    -1,    -1,   951,    -1,    -1,    -1,    -1,    -1,
7586       -1,    -1,    -1,    -1,   961,    -1,    -1,    -1,    -1,    -1,
7587       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7588       -1,    -1,   484,   415,    -1,    -1,  1008,    -1,    -1,   421,
7589       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7590      432,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7591       -1,  1008,     1,    -1,     3,     4,     5,     6,    -1,     8,
7592        9,    -1,    -1,    -1,   526,    -1,    -1,    -1,    -1,    -1,
7593       -1,   533,  1054,  1055,   536,   467,    -1,    -1,    -1,    28,
7594       -1,    -1,  1064,    -1,  1066,    -1,    -1,    -1,    -1,    -1,
7595       -1,    -1,   484,    -1,    -1,    -1,    -1,  1054,  1055,    -1,
7596       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1064,    -1,  1066,
7597       -1,    -1,    -1,    -1,    -1,   507,    65,    -1,    -1,    -1,
7598       -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,
7599       -1,    -1,    -1,    -1,   526,    84,    85,    -1,    -1,    -1,
7600       -1,   533,    -1,    -1,   536,    -1,    -1,    -1,    -1,    98,
7601       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
7602      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,    -1,
7603       -1,   120,   121,   122,   123,    -1,   125,    -1,    -1,    -1,
7604       -1,   130,   131,    -1,   133,   134,   135,   136,    -1,    -1,
7605       -1,    -1,    -1,    -1,    -1,    91,    -1,    -1,   660,   661,
7606      662,   663,    -1,    -1,  1186,    -1,  1188,    -1,    -1,    -1,
7607       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7608       -1,    -1,    -1,    -1,    -1,    -1,   688,   689,   690,  1186,
7609       -1,  1188,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7610       -1,    -1,    -1,    -1,    -1,   141,    -1,    -1,    -1,    -1,
7611       -1,    -1,   714,    -1,    -1,    -1,    -1,   153,    -1,   721,
7612      722,   157,    -1,   725,   726,    -1,    -1,    -1,   660,   661,
7613      662,   663,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7614       -1,    -1,    -1,    -1,   746,    -1,    -1,    -1,    -1,   185,
7615      186,   753,    -1,    -1,   756,    -1,   688,   689,   690,    -1,
7616       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7617       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7618       -1,    -1,   714,    -1,    -1,    -1,    -1,    -1,    -1,   721,
7619      722,    -1,    -1,   725,   726,    -1,    -1,    -1,    -1,    -1,
7620       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
7621       -1,    -1,    -1,    -1,   746,    -1,    -1,    -1,    -1,    -1,
7622       -1,   753,    -1,    -1,   756,    -1,    -1,   263,    28,    -1,
7623      266,   267,   268,    -1,    34,    35,    36,    37,    38,    39,
7624       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7625       50,   287,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7626       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
7627      306,    -1,    -1,    -1,    74,    75,   312,   879,    -1,    79,
7628       -1,    -1,    82,    83,    -1,    85,    86,    87,   890,    -1,
7629       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7630      100,    -1,    -1,    -1,   836,    -1,    -1,    -1,    -1,    -1,
7631      110,   111,   112,   113,   114,   115,    -1,   117,    -1,    -1,
7632      120,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1451,
7633       -1,   131,    -1,    -1,    -1,    -1,  1458,    -1,    -1,   871,
7634       -1,    -1,    -1,  1465,    -1,    -1,    -1,   879,   880,    -1,
7635       -1,    -1,    -1,    -1,  1451,   887,    -1,    -1,   890,    -1,
7636       -1,  1458,   894,    -1,  1486,    -1,  1488,    -1,  1465,  1491,
7637       -1,    -1,  1494,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7638       -1,    -1,    -1,    -1,    -1,   421,    -1,    -1,    -1,  1486,
7639       -1,  1488,    -1,    -1,  1491,    -1,   432,  1494,  1000,  1001,
7640     1002,    -1,    -1,    -1,    -1,    -1,  1008,    -1,    -1,    -1,
7641       -1,    -1,    -1,   945,    -1,    -1,    -1,    -1,    -1,    -1,
7642       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   961,
7643       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7644       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1569,   484,    -1,
7645       -1,    -1,    -1,    -1,    -1,  1577,    -1,    -1,    -1,    -1,
7646       -1,    -1,    -1,    -1,    -1,    -1,  1588,    -1,  1000,  1001,
7647     1002,    -1,  1569,    -1,    -1,    -1,  1008,    -1,    -1,    -1,
7648     1577,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7649      526,  1588,    -1,    -1,    -1,    -1,    -1,   533,    -1,    -1,
7650      536,    -1,    -1,    -1,    -1,    -1,  1108,    -1,    -1,  1111,
7651       -1,    -1,  1114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7652       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7653       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7654       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7655     1152,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7656       -1,    -1,    -1,    -1,  1166,  1167,  1168,  1169,    -1,    -1,
7657       -1,    -1,    -1,    -1,    -1,    -1,  1108,    -1,    -1,  1111,
7658       -1,    -1,  1114,    -1,    -1,    -1,    -1,  1189,    -1,  1191,
7659       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7660       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7661       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7662     1152,    -1,  1224,    -1,   660,   661,   662,   663,    -1,    -1,
7663       -1,    -1,    -1,    -1,  1166,  1167,  1168,  1169,    -1,    -1,
7664       -1,    -1,  1244,    -1,    -1,    -1,    -1,    -1,    -1,  1251,
7665       -1,    -1,   688,   689,   690,    -1,    -1,  1189,    -1,  1191,
7666       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1270,  1271,
7667       -1,  1793,  1794,    -1,  1796,  1277,  1278,    -1,   714,  1281,
7668     1282,    -1,    -1,    -1,    -1,   721,   722,    -1,    -1,   725,
7669      726,    -1,  1224,    -1,    -1,    -1,  1793,  1794,    -1,  1796,
7670       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7671      746,    -1,  1244,    -1,    -1,    -1,    -1,   753,    -1,  1251,
7672      756,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1850,    -1,
7673       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1270,  1271,
7674       -1,    -1,    -1,    -1,    -1,  1277,  1278,    -1,     1,  1281,
7675     1282,    -1,    -1,  1850,     7,     8,     9,    10,    11,    12,
7676       13,    14,    15,    16,    17,    -1,    -1,    -1,    -1,    -1,
7677       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
7678       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
7679       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
7680       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7681       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
7682       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
7683       -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
7684       -1,    -1,    -1,   879,    -1,    -1,    -1,   100,    -1,    -1,
7685       -1,    -1,    -1,    -1,   890,    -1,    -1,   110,   111,   112,
7686      113,   114,   115,   116,   117,   118,   119,   120,    -1,    -1,
7687      123,   124,   125,   126,    -1,   128,    -1,    -1,   131,    -1,
7688      133,   134,   135,  1485,   137,   138,   139,   140,   141,    -1,
7689       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7690       -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,
7691        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
7692       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7693       -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,
7694       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7695       -1,    -1,    -1,  1485,    -1,    -1,  1488,    -1,    -1,    -1,
7696       -1,    -1,    -1,    -1,  1000,  1001,  1002,    -1,    -1,    -1,
7697       -1,    65,  1008,    -1,    -1,    -1,    -1,    71,    72,    73,
7698       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7699       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7700     1602,  1603,    -1,    -1,    98,    -1,  1608,  1609,   102,   103,
7701      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,  1621,
7702       -1,    -1,  1624,   117,    -1,    -1,   120,   121,   122,   123,
7703     1632,   125,    -1,    -1,    -1,    -1,   130,   131,    -1,   133,
7704      134,   135,   136,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7705       -1,    -1,    -1,    -1,    -1,    -1,  1588,     1,    -1,     3,
7706        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
7707     1602,  1603,  1108,    -1,    -1,  1111,  1608,  1609,  1114,    -1,
7708       -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,  1621,
7709       -1,    -1,  1624,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7710     1632,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7711       -1,    -1,    -1,    -1,    -1,    -1,  1152,    -1,    -1,    -1,
7712       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
7713     1166,  1167,  1168,  1169,    -1,    -1,    -1,    -1,    -1,    -1,
7714       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7715       -1,    -1,    -1,  1189,    98,  1191,    -1,    -1,   102,   103,
7716      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,
7717       -1,    -1,    -1,   117,    -1,    -1,   120,    -1,   122,   123,
7718       -1,   125,    -1,    -1,    -1,    -1,   130,   131,  1224,   133,
7719      134,   135,   136,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7720       -1,    -1,  1804,  1805,    -1,    -1,    -1,    -1,  1244,    -1,
7721       -1,    -1,    -1,    -1,    -1,  1251,    -1,    -1,    -1,    -1,
7722       -1,    -1,     1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7723       -1,    -1,    -1,    -1,  1270,  1271,    -1,    -1,    -1,    -1,
7724       -1,  1277,  1278,    -1,    -1,  1281,  1282,    -1,    -1,    28,
7725       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7726       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7727       49,    50,  1804,  1805,    -1,    -1,    -1,    -1,    -1,    -1,
7728     1882,  1883,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
7729       -1,    -1,    -1,    -1,  1826,    74,    75,    -1,    -1,    -1,
7730       79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,
7731       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7732       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7733       -1,   110,   111,   112,   113,   114,   115,   116,    -1,    -1,
7734       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   127,    -1,
7735     1882,  1883,     0,     1,    -1,     3,     4,     5,     6,     7,
7736        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7737       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7738       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7739       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7740       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7741       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7742       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7743       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7744       88,    89,    90,    91,    92,    93,    94,    -1,    96,  1485,
7745       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7746      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7747      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7748      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
7749      138,   139,   140,   141,    -1,    -1,    28,    29,    30,    31,
7750       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7751       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7752       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7753       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
7754       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
7755       -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
7756       -1,    -1,    -1,    -1,    -1,    -1,  1602,  1603,   100,    -1,
7757       -1,    -1,  1608,  1609,    -1,    -1,    -1,    -1,   110,   111,
7758      112,   113,   114,   115,   116,  1621,    -1,    -1,  1624,    -1,
7759       -1,    -1,    -1,    -1,     0,     1,  1632,     3,     4,     5,
7760        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7761       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
7762       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
7763       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7764       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7765       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7766       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7767       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7768       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7769       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7770      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7771      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
7772      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
7773      136,   137,   138,   139,   140,   141,    -1,    -1,    -1,    -1,
7774       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7775       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7776       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1804,  1805,
7777        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
7778       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7779       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
7780       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7781       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7782       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7783       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7784       -1,    71,    72,    73,    74,    75,  1882,  1883,    78,    79,
7785       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7786       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7787      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7788      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
7789      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
7790      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
7791      140,   141,     0,     1,    -1,     3,     4,     5,     6,     7,
7792        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7793       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7794       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7795       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7796       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7797       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7798       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7799       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7800       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7801       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7802      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7803      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7804      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
7805      138,   139,   140,   141,     0,     1,    -1,     3,     4,     5,
7806        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7807       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
7808       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
7809       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7810       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7811       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7812       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7813       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7814       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7815       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7816      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7817      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
7818      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
7819      136,   137,   138,   139,   140,   141,     0,     1,    -1,     3,
7820        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7821       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7822       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7823       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7824       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7825       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7826       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7827       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7828       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7829       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7830      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7831      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7832      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7833      134,   135,   136,   137,   138,   139,   140,   141,     0,     1,
7834       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7835       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7836       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7837       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7838       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7839       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7840       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7841       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7842       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7843       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7844      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7845      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7846      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7847      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
7848        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
7849       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7850       20,    21,    22,    23,    24,    25,    26,    27,    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,   113,   114,   115,   116,   117,   118,   119,
7860      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
7861      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
7862      140,   141,     0,     1,    -1,     3,     4,     5,     6,     7,
7863        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7864       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7865       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7866       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7867       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7868       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7869       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7870       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7871       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7872       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7873      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7874      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7875      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
7876      138,   139,   140,   141,     0,     1,    -1,     3,     4,     5,
7877        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7878       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
7879       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
7880       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7881       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7882       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7883       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7884       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7885       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7886       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7887      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7888      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
7889      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
7890      136,   137,   138,   139,   140,   141,     0,     1,    -1,     3,
7891        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7892       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7893       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7894       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7895       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7896       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7897       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7898       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7899       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7900       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7901      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7902      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7903      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7904      134,   135,   136,   137,   138,   139,   140,   141,     0,     1,
7905       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7906       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7907       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7908       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7909       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7910       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7911       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7912       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7913       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7914       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7915      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7916      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7917      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7918      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
7919        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
7920       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7921       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
7922       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7923       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7924       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7925       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7926       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7927       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7928       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7929      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7930      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
7931      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
7932      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
7933      140,   141,     0,     1,    -1,     3,     4,     5,     6,     7,
7934        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7935       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7936       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7937       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7938       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7939       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7940       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7941       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7942       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7943       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7944      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7945      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7946      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
7947      138,   139,   140,   141,     0,     1,    -1,     3,     4,     5,
7948        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7949       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
7950       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
7951       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7952       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7953       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7954       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7955       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7956       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7957       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7958      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7959      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
7960      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
7961      136,   137,   138,   139,   140,   141,     0,     1,    -1,     3,
7962        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7963       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7964       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7965       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7966       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7967       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7968       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7969       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7970       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7971       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7972      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7973      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7974      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7975      134,   135,   136,   137,   138,   139,   140,   141,     0,     1,
7976       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7977       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7978       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7979       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7980       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7981       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7982       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7983       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7984       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7985       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7986      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7987      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7988      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7989      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
7990        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
7991       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7992       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
7993       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7994       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7995       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7996       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7997       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7998       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7999       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8000      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8001      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8002      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
8003      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
8004      140,   141,     0,     1,    -1,     3,     4,     5,     6,     7,
8005        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
8006       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
8007       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8008       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8009       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8010       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8011       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8012       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8013       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8014       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8015      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8016      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
8017      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
8018      138,   139,   140,   141,     0,     1,    -1,     3,     4,     5,
8019        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
8020       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
8021       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
8022       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8023       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8024       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8025       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8026       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8027       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8028       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8029      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8030      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
8031      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
8032      136,   137,   138,   139,   140,   141,     0,     1,    -1,     3,
8033        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
8034       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
8035       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
8036       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8037       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8038       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8039       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8040       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8041       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8042       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8043      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8044      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
8045      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
8046      134,   135,   136,   137,   138,   139,   140,   141,     0,     1,
8047       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
8048       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
8049       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
8050       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8051       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8052       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8053       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8054       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8055       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8056       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8057      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8058      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
8059      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
8060      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
8061        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
8062       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
8063       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
8064       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8065       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8066       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8067       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8068       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8069       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8070       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8071      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8072      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8073      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
8074      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
8075      140,   141,     0,     1,    -1,     3,     4,     5,     6,     7,
8076        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
8077       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
8078       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8079       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8080       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8081       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8082       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8083       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8084       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8085       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8086      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8087      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
8088      128,   129,   130,   131,    -1,   133,   134,   135,   136,   137,
8089      138,   139,   140,   141,     1,    -1,     3,     4,     5,     6,
8090        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
8091       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
8092       27,    28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8093       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8094       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8095       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8096       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
8097       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,    -1,
8098       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8099       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
8100      107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8101      117,   118,   119,   120,   121,   122,   123,   124,   125,    -1,
8102       -1,   128,    -1,   130,   131,    -1,   133,   134,   135,   136,
8103      137,   138,   139,   140,   141,     1,    -1,     3,     4,     5,
8104        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
8105       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
8106       26,    27,    28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8107       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8108       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8109       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8110       -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,
8111       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,
8112       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8113       -1,    -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,
8114      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
8115       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
8116       -1,    -1,   128,    -1,   130,   131,    -1,   133,   134,   135,
8117      136,   137,   138,   139,   140,   141,     0,     1,    -1,     3,
8118        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8119       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8120       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8121       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8122       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8123       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8124       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8125       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8126       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8127       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8128      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8129      114,   115,   116,   117,    -1,    -1,   120,   121,   122,   123,
8130       -1,   125,   126,   127,   128,   129,   130,   131,    -1,   133,
8131      134,   135,   136,     0,     1,    -1,     3,     4,     5,     6,
8132       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8133       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8134       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8135       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8136       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
8137       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
8138       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8139       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
8140       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
8141       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
8142      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
8143      117,    -1,    -1,   120,   121,   122,   123,    -1,   125,   126,
8144      127,    -1,   129,   130,   131,    -1,   133,   134,   135,   136,
8145        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8146       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8147       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8148       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8149       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8150       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8151       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8152       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8153       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8154       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8155      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8156      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
8157      120,   121,   122,   123,    -1,   125,   126,   127,    -1,   129,
8158      130,   131,    -1,   133,   134,   135,   136,     0,     1,    -1,
8159        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8160       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8161       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
8162       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
8163       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
8164       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
8165       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
8166       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
8167       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
8168       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
8169      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8170      113,   114,   115,   116,   117,    -1,    -1,   120,   121,   122,
8171      123,    -1,   125,   126,   127,    -1,   129,   130,   131,    -1,
8172      133,   134,   135,   136,     0,     1,    -1,     3,     4,     5,
8173        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8174       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8175       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8176       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8177       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8178       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8179       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8180       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8181       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8182       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8183      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8184      116,   117,    -1,    -1,   120,   121,   122,   123,    -1,   125,
8185      126,   127,    -1,   129,   130,   131,    -1,   133,   134,   135,
8186      136,     0,     1,    -1,     3,     4,     5,     6,    -1,     8,
8187        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8188       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8189       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8190       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8191       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8192       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
8193       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
8194       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
8195       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
8196       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8197      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
8198       -1,   120,   121,   122,   123,    -1,   125,   126,   127,    -1,
8199      129,   130,   131,    -1,   133,   134,   135,   136,     0,     1,
8200       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8201       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8202       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8203       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8204       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8205       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8206       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8207       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8208       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8209       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8210      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8211      112,   113,   114,   115,   116,   117,    -1,    -1,   120,   121,
8212      122,   123,    -1,   125,   126,   127,    -1,   129,   130,   131,
8213       -1,   133,   134,   135,   136,     0,     1,    -1,     3,     4,
8214        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8215       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8216       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8217       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8218       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
8219       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
8220       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
8221       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
8222       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
8223       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
8224      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8225      115,   116,   117,    -1,    -1,   120,   121,   122,   123,    -1,
8226      125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
8227      135,   136,     0,     1,    -1,     3,     4,     5,     6,    -1,
8228        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8229       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8230       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8231       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8232       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8233       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8234       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8235       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8236       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8237       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8238      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8239       -1,    -1,   120,   121,   122,   123,    -1,   125,   126,   127,
8240       -1,   129,   130,   131,    -1,   133,   134,   135,   136,     0,
8241        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8242       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8243       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8244       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8245       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8246       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
8247       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
8248       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
8249       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
8250       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
8251       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8252      111,   112,   113,   114,   115,   116,   117,    -1,    -1,   120,
8253       -1,   122,   123,    -1,   125,   126,   127,    -1,   129,   130,
8254      131,    -1,   133,   134,   135,   136,     0,     1,    -1,     3,
8255        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8256       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8257       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8258       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8259       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8260       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8261       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8262       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8263       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8264       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8265      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8266      114,   115,   116,   117,    -1,    -1,   120,    -1,   122,   123,
8267       -1,   125,   126,   127,    -1,   129,   130,   131,    -1,   133,
8268      134,   135,   136,     0,     1,    -1,     3,     4,     5,     6,
8269       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8270       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8271       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8272       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8273       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
8274       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
8275       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8276       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
8277       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
8278       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
8279      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
8280      117,    -1,    -1,   120,    -1,   122,   123,    -1,   125,   126,
8281      127,    -1,   129,   130,   131,    -1,   133,   134,   135,   136,
8282        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8283       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8284       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8285       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8286       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8287       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8288       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8289       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8290       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8291       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8292      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8293      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
8294      120,    -1,   122,   123,    -1,   125,   126,   127,    -1,   129,
8295      130,   131,    -1,   133,   134,   135,   136,     0,     1,    -1,
8296        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8297       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8298       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
8299       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
8300       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
8301       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
8302       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
8303       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
8304       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
8305       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
8306      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8307      113,   114,   115,   116,   117,    -1,    -1,   120,    -1,   122,
8308      123,    -1,   125,   126,   127,    -1,   129,   130,   131,    -1,
8309      133,   134,   135,   136,     0,     1,    -1,     3,     4,     5,
8310        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8311       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8312       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8313       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8314       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8315       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8316       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8317       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8318       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8319       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8320      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8321      116,   117,    -1,    -1,   120,    -1,   122,   123,    -1,   125,
8322      126,   127,    -1,   129,   130,   131,    -1,   133,   134,   135,
8323      136,     0,     1,    -1,     3,     4,     5,     6,    -1,     8,
8324        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8325       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8326       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8327       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8328       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8329       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
8330       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
8331       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
8332       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
8333       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8334      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
8335       -1,   120,    -1,   122,   123,    -1,   125,   126,   127,    -1,
8336      129,   130,   131,    -1,   133,   134,   135,   136,     0,     1,
8337       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8338       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8339       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8340       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8341       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8342       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8343       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8344       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8345       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8346       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8347      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8348      112,   113,   114,   115,   116,   117,    -1,    -1,   120,    -1,
8349      122,   123,    -1,   125,   126,   127,    -1,   129,   130,   131,
8350       -1,   133,   134,   135,   136,     0,     1,    -1,     3,     4,
8351        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8352       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8353       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8354       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8355       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
8356       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
8357       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
8358       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
8359       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
8360       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
8361      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8362      115,   116,   117,    -1,    -1,   120,    -1,   122,   123,    -1,
8363      125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
8364      135,   136,     0,     1,    -1,     3,     4,     5,     6,    -1,
8365        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8366       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8367       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8368       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8369       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8370       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8371       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8372       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8373       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8374       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8375      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8376       -1,    -1,   120,    -1,   122,   123,    -1,   125,   126,   127,
8377       -1,   129,   130,   131,    -1,   133,   134,   135,   136,     0,
8378        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8379       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8380       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8381       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8382       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8383       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
8384       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
8385       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
8386       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
8387       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
8388       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8389      111,   112,   113,   114,   115,   116,   117,    -1,    -1,   120,
8390       -1,   122,   123,    -1,   125,   126,   127,    -1,   129,   130,
8391      131,    -1,   133,   134,   135,   136,     0,     1,    -1,     3,
8392        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8393       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8394       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8395       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8396       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8397       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8398       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8399       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8400       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8401       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8402      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8403      114,   115,   116,   117,    -1,    -1,   120,    -1,   122,   123,
8404       -1,   125,   126,   127,    -1,   129,   130,   131,    -1,   133,
8405      134,   135,   136,     0,     1,    -1,     3,     4,     5,     6,
8406       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8407       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8408       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8409       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8410       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
8411       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
8412       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8413       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
8414       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
8415       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
8416      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
8417      117,    -1,    -1,   120,    -1,   122,   123,    -1,   125,   126,
8418      127,    -1,   129,   130,   131,    -1,   133,   134,   135,   136,
8419        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8420       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8421       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8422       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8423       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8424       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8425       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8426       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8427       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8428       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8429      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8430      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
8431      120,    -1,   122,   123,    -1,   125,   126,   127,    -1,   129,
8432      130,   131,    -1,   133,   134,   135,   136,     0,     1,    -1,
8433        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8434       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8435       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
8436       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
8437       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
8438       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
8439       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
8440       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
8441       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
8442       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
8443      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8444      113,   114,   115,   116,   117,    -1,    -1,   120,    -1,   122,
8445      123,    -1,   125,   126,   127,    -1,   129,   130,   131,    -1,
8446      133,   134,   135,   136,     0,     1,    -1,     3,     4,     5,
8447        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8448       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8449       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8450       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8451       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8452       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8453       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8454       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8455       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8456       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8457      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8458      116,   117,    -1,    -1,   120,    -1,   122,   123,    -1,   125,
8459      126,   127,    -1,   129,   130,   131,    -1,   133,   134,   135,
8460      136,     0,     1,    -1,     3,     4,     5,     6,    -1,     8,
8461        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8462       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8463       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8464       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8465       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8466       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
8467       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
8468       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
8469       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
8470       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8471      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
8472       -1,   120,    -1,   122,   123,    -1,   125,   126,   127,    -1,
8473      129,   130,   131,    -1,   133,   134,   135,   136,     0,     1,
8474       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8475       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8476       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8477       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8478       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8479       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8480       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8481       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8482       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8483       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8484      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8485      112,   113,   114,   115,   116,   117,    -1,    -1,   120,    -1,
8486      122,   123,    -1,   125,   126,   127,    -1,   129,   130,   131,
8487       -1,   133,   134,   135,   136,     0,     1,    -1,     3,     4,
8488        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8489       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8490       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8491       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8492       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
8493       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
8494       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
8495       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
8496       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
8497       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
8498      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8499      115,   116,   117,    -1,    -1,   120,    -1,   122,   123,    -1,
8500      125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
8501      135,   136,     0,     1,    -1,     3,     4,     5,     6,    -1,
8502        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8503       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8504       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8505       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8506       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8507       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8508       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8509       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8510       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8511       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8512      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8513       -1,    -1,   120,    -1,   122,   123,    -1,   125,   126,   127,
8514       -1,   129,   130,   131,    -1,   133,   134,   135,   136,     0,
8515        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8516       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8517       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8518       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8519       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8520       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
8521       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
8522       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
8523       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
8524       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
8525       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8526      111,   112,   113,   114,   115,   116,   117,    -1,    -1,   120,
8527       -1,   122,   123,    -1,   125,   126,   127,    -1,   129,   130,
8528      131,    -1,   133,   134,   135,   136,     0,     1,    -1,     3,
8529        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8530       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8531       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8532       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8533       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8534       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8535       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8536       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8537       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8538       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8539      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8540      114,   115,   116,   117,    -1,    -1,   120,    -1,   122,   123,
8541       -1,   125,   126,   127,    -1,   129,   130,   131,    -1,   133,
8542      134,   135,   136,     0,     1,    -1,     3,     4,     5,     6,
8543       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8544       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8545       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8546       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8547       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
8548       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
8549       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8550       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
8551       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
8552       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
8553      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
8554      117,    -1,    -1,   120,    -1,   122,   123,    -1,   125,   126,
8555      127,    -1,   129,   130,   131,    -1,   133,   134,   135,   136,
8556        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8557       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8558       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8559       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8560       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8561       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8562       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8563       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8564       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8565       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8566      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8567      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
8568      120,    -1,   122,   123,    -1,   125,   126,   127,    -1,   129,
8569      130,   131,    -1,   133,   134,   135,   136,     0,     1,    -1,
8570        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8571       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8572       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
8573       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
8574       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
8575       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
8576       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
8577       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
8578       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
8579       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
8580      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8581      113,   114,   115,   116,   117,    -1,    -1,   120,    -1,   122,
8582      123,    -1,   125,   126,   127,    -1,   129,   130,   131,    -1,
8583      133,   134,   135,   136,     0,     1,    -1,     3,     4,     5,
8584        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8585       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8586       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8587       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8588       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8589       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8590       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8591       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8592       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8593       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8594      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8595      116,   117,    -1,    -1,   120,    -1,   122,   123,    -1,   125,
8596      126,   127,    -1,   129,   130,   131,    -1,   133,   134,   135,
8597      136,     0,     1,    -1,     3,     4,     5,     6,    -1,     8,
8598        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8599       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8600       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8601       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8602       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8603       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
8604       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
8605       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
8606       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
8607       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8608      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
8609       -1,   120,    -1,   122,   123,    -1,   125,   126,   127,    -1,
8610      129,   130,   131,    -1,   133,   134,   135,   136,     0,     1,
8611       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8612       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8613       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8614       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8615       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8616       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8617       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8618       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8619       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8620       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8621      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8622      112,   113,   114,   115,   116,   117,    -1,    -1,   120,    -1,
8623      122,   123,    -1,   125,   126,   127,    -1,   129,   130,   131,
8624       -1,   133,   134,   135,   136,     0,     1,    -1,     3,     4,
8625        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8626       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8627       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8628       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8629       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
8630       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
8631       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
8632       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
8633       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
8634       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
8635      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8636      115,   116,   117,    -1,    -1,   120,    -1,   122,   123,    -1,
8637      125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
8638      135,   136,     0,     1,    -1,     3,     4,     5,     6,    -1,
8639        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8640       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8641       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8642       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8643       48,    49,    50,    -1,    -1,    53,    -1,    -1,    -1,    -1,
8644       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8645       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8646       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8647       88,    -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,
8648       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8649      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8650       -1,    -1,   120,   121,   122,   123,    -1,   125,   126,   127,
8651       -1,    -1,   130,   131,    -1,   133,   134,   135,   136,     1,
8652       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8653       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8654       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8655       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8656       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8657       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8658       62,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8659       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8660       -1,    -1,    84,    85,    86,    87,    88,    89,    90,    -1,
8661       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8662      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8663      112,   113,   114,   115,   116,   117,    -1,    -1,   120,    -1,
8664      122,   123,    -1,    -1,    -1,   127,    -1,   129,   130,   131,
8665       -1,   133,   134,   135,   136,     1,    -1,     3,     4,     5,
8666        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8667       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8668       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8669       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8670       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8671       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8672       66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
8673       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8674       86,    87,    88,    89,    90,    -1,    -1,    -1,    -1,    -1,
8675       -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,   105,
8676      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8677      116,   117,    -1,    -1,   120,    -1,   122,   123,    -1,    -1,
8678       -1,   127,    -1,   129,   130,   131,    -1,   133,   134,   135,
8679      136,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8680       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8681       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8682       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8683       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8684       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8685       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8686       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8687       -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,
8688       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8689      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8690      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
8691      120,    -1,   122,   123,    -1,   125,   126,   127,    -1,    -1,
8692      130,   131,    -1,   133,   134,   135,   136,     1,    -1,     3,
8693        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8694       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8695       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8696       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8697       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8698       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8699       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8700       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8701       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8702       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8703      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8704      114,   115,   116,   117,    -1,    -1,   120,    -1,   122,   123,
8705       -1,   125,   126,   127,    -1,    -1,   130,   131,    -1,   133,
8706      134,   135,   136,     1,    -1,     3,     4,     5,     6,    -1,
8707        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8708       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8709       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8710       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8711       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8712       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8713       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8714       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,
8715       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8716       98,    -1,   100,    -1,   102,   103,   104,   105,   106,   107,
8717      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8718       -1,    -1,   120,    -1,   122,   123,    -1,   125,   126,   127,
8719       -1,    -1,   130,   131,    -1,   133,   134,   135,   136,     1,
8720       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8721       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8722       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8723       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8724       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8725       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8726       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8727       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8728       -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8729       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8730      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8731      112,   113,   114,   115,   116,   117,    -1,    -1,   120,    -1,
8732      122,   123,    -1,   125,   126,   127,    -1,    -1,   130,   131,
8733       -1,   133,   134,   135,   136,     1,    -1,     3,     4,     5,
8734        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8735       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8736       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8737       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8738       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
8739       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8740       66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
8741       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8742       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8743       -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,   105,
8744      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8745      116,   117,    -1,    -1,   120,    -1,   122,   123,    -1,   125,
8746      126,   127,    -1,    -1,   130,   131,    -1,   133,   134,   135,
8747      136,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8748       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8749       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8750       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8751       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8752       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8753       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8754       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8755       -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,
8756       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8757      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8758      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
8759      120,    -1,   122,   123,    -1,   125,   126,   127,    -1,    -1,
8760      130,   131,    -1,   133,   134,   135,   136,     1,    -1,     3,
8761        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8762       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8763       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8764       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8765       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8766       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8767       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8768       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8769       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8770       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8771      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8772      114,   115,   116,   117,    -1,    -1,   120,    -1,   122,   123,
8773       -1,   125,   126,   127,    -1,    -1,   130,   131,    -1,   133,
8774      134,   135,   136,     1,    -1,     3,     4,     5,     6,    -1,
8775        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8776       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8777       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8778       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8779       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8780       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8781       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8782       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,
8783       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8784       98,    -1,   100,    -1,   102,   103,   104,   105,   106,   107,
8785      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8786       -1,    -1,   120,    -1,   122,   123,    -1,   125,   126,   127,
8787       -1,    -1,   130,   131,    -1,   133,   134,   135,   136,     1,
8788       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8789       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8790       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8791       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8792       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8793       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8794       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8795       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8796       -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8797       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8798      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8799      112,   113,   114,   115,   116,   117,    -1,    -1,   120,    -1,
8800      122,   123,    -1,   125,   126,   127,    -1,    -1,   130,   131,
8801       -1,   133,   134,   135,   136,     1,    -1,     3,     4,     5,
8802        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8803       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8804       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8805       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8806       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
8807       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8808       66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
8809       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8810       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8811       -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,   105,
8812      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8813      116,   117,    -1,    -1,   120,    -1,   122,   123,    -1,   125,
8814      126,   127,    -1,    -1,   130,   131,    -1,   133,   134,   135,
8815      136,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8816       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8817       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8818       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8819       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8820       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8821       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8822       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8823       -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,
8824       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8825      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8826      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
8827      120,    -1,   122,   123,    -1,   125,   126,   127,    -1,    -1,
8828      130,   131,    -1,   133,   134,   135,   136,     1,    -1,     3,
8829        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8830       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8831       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8832       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8833       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8834       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8835       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8836       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8837       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8838       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8839      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8840      114,   115,   116,   117,    -1,    -1,   120,    -1,   122,   123,
8841       -1,   125,   126,   127,    -1,    -1,   130,   131,    -1,   133,
8842      134,   135,   136,     1,    -1,     3,     4,     5,     6,    -1,
8843        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8844       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8845       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8846       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8847       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8848       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8849       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8850       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,
8851       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8852       98,    -1,   100,    -1,   102,   103,   104,   105,   106,   107,
8853      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8854       -1,    -1,   120,    -1,   122,   123,    -1,   125,   126,   127,
8855       -1,    -1,   130,   131,    -1,   133,   134,   135,   136,     1,
8856       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8857       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8858       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8859       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8860       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8861       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8862       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8863       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8864       82,    83,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8865       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8866      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8867      112,   113,   114,   115,   116,   117,    -1,    -1,   120,     1,
8868      122,     3,     4,     5,     6,    -1,     8,     9,   130,   131,
8869       -1,   133,   134,   135,   136,    -1,    -1,    -1,    -1,    -1,
8870       -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,
8871       -1,    -1,    34,    35,    36,    37,    38,    39,    40,    41,
8872       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8873       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8874       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8875       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8876       82,    83,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8877       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8878      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8879      112,   113,   114,   115,    -1,   117,    -1,    -1,   120,   121,
8880      122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   130,   131,
8881       -1,   133,   134,   135,   136,     1,    -1,     3,     4,     5,
8882        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8883       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8884       -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,    34,    35,
8885       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8886       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
8887       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8888       66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
8889       -1,    -1,    -1,    79,    -1,    -1,    82,    83,    84,    85,
8890       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8891       -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,   105,
8892      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8893       -1,   117,    -1,    -1,   120,   121,   122,    -1,    -1,    -1,
8894       -1,    -1,    -1,    -1,   130,   131,    -1,   133,   134,   135,
8895      136,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8896       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8897       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,
8898       -1,    -1,    -1,    -1,    34,    35,    36,    37,    38,    39,
8899       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8900       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8901       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8902       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8903       -1,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
8904       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8905      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8906      110,   111,   112,   113,   114,   115,    -1,   117,    -1,    -1,
8907      120,     1,   122,     3,     4,     5,     6,   127,     8,     9,
8908      130,   131,    -1,   133,   134,   135,   136,    -1,    -1,    -1,
8909       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,
8910       -1,    -1,    -1,    -1,    34,    35,    36,    37,    38,    39,
8911       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8912       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8913       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8914       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8915       -1,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
8916       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8917      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8918      110,   111,   112,   113,   114,   115,    -1,   117,    -1,    -1,
8919      120,   121,   122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8920      130,   131,    -1,   133,   134,   135,   136,     1,    -1,     3,
8921        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8922       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8923       -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,
8924       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8925       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8926       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8927       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8928       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
8929       84,    85,    86,    87,    -1,     1,    -1,     3,     4,     5,
8930        6,    -1,     8,     9,    98,    -1,   100,    -1,   102,   103,
8931      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8932      114,   115,    28,   117,    -1,    -1,   120,   121,   122,    -1,
8933       -1,    -1,    -1,    -1,    -1,    -1,   130,   131,    -1,   133,
8934      134,   135,   136,    -1,    -1,    -1,    52,    53,    54,    55,
8935       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8936       -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,
8937       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8938       86,    -1,    88,    89,    90,    -1,     1,    -1,     3,     4,
8939        5,     6,    98,     8,     9,    -1,   102,   103,   104,   105,
8940      106,   107,   108,   109,   110,   111,    -1,    -1,    -1,    -1,
8941       -1,   117,    -1,    28,   120,   121,   122,   123,    -1,   125,
8942       -1,   127,    -1,   129,   130,   131,    -1,   133,   134,   135,
8943      136,    -1,    -1,    -1,    -1,    -1,    -1,    52,    53,    54,
8944       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
8945       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,
8946       -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,
8947       85,    86,    -1,    88,    89,    90,    -1,     1,    -1,     3,
8948        4,     5,     6,    98,     8,     9,    -1,   102,   103,   104,
8949      105,   106,   107,   108,   109,   110,   111,    -1,    -1,    -1,
8950       -1,    -1,   117,    -1,    28,   120,   121,   122,   123,    -1,
8951      125,    -1,   127,    -1,   129,   130,   131,    -1,   133,   134,
8952      135,   136,    -1,    -1,    -1,    -1,    -1,    -1,    52,    53,
8953       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8954       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8955       -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8956       84,    85,    86,    -1,    88,    89,    90,    -1,     1,    -1,
8957        3,     4,     5,     6,    98,     8,     9,    -1,   102,   103,
8958      104,   105,   106,   107,   108,   109,   110,   111,    -1,    -1,
8959       -1,    -1,    -1,   117,    -1,    28,   120,    -1,   122,   123,
8960       -1,    -1,    -1,   127,    -1,   129,   130,   131,    -1,   133,
8961      134,   135,   136,    -1,    -1,    -1,    -1,    -1,    -1,    52,
8962       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
8963       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8964       73,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,
8965       -1,    84,    85,    86,    -1,    88,    89,    90,    -1,     1,
8966       -1,     3,     4,     5,     6,    98,     8,     9,    -1,   102,
8967      103,   104,   105,   106,   107,   108,   109,   110,   111,    -1,
8968       -1,    -1,    -1,    -1,   117,    -1,    28,   120,    -1,   122,
8969      123,    -1,    -1,    -1,   127,    -1,   129,   130,   131,    -1,
8970      133,   134,   135,   136,    -1,    -1,    -1,    -1,    -1,    -1,
8971       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8972       62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8973       72,    73,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,
8974       -1,    -1,    84,    85,    86,    -1,    88,    89,    90,    -1,
8975        1,    -1,     3,     4,     5,     6,    98,     8,     9,    -1,
8976      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8977       -1,    -1,    -1,    -1,    -1,   117,    -1,    28,   120,    -1,
8978      122,   123,    -1,    -1,    -1,   127,    -1,   129,   130,   131,
8979       -1,   133,   134,   135,   136,    -1,    -1,    -1,    -1,    -1,
8980       -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
8981        8,     9,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
8982       71,    72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8983       28,    -1,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8984       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8985       -1,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8986       -1,    -1,    -1,    -1,    -1,    -1,   117,    65,    -1,   120,
8987      121,   122,    -1,    71,    72,    73,   127,    -1,    -1,   130,
8988      131,    -1,   133,   134,   135,   136,    84,    85,     1,    -1,
8989        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8990       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
8991      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,   117,
8992       -1,    -1,   120,   121,   122,    -1,    -1,    -1,    -1,   127,
8993       -1,    -1,   130,   131,    -1,   133,   134,   135,   136,    -1,
8994       -1,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8995       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8996       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,
8997       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8998       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
8999      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9000       -1,    -1,    -1,    -1,   117,    65,    -1,   120,    -1,   122,
9001      123,    71,    72,    73,   127,    -1,    -1,   130,   131,    -1,
9002      133,   134,   135,   136,    84,    85,     1,    -1,     3,     4,
9003        5,     6,    -1,     8,     9,    -1,    -1,    -1,    98,    -1,
9004       -1,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
9005       -1,    -1,    -1,    28,    -1,    -1,    -1,   117,    -1,    -1,
9006      120,   121,   122,    -1,    -1,   125,    -1,    -1,    -1,    -1,
9007      130,   131,    -1,   133,   134,   135,   136,    -1,    -1,     1,
9008       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
9009       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,
9010       -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    84,
9011       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9012       -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,   104,
9013      105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,
9014       -1,    -1,   117,    65,    -1,   120,   121,   122,   123,    71,
9015       72,    73,    -1,    -1,    -1,   130,   131,    -1,   133,   134,
9016      135,   136,    84,    85,     1,    -1,     3,     4,     5,     6,
9017       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9018      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9019       -1,    28,    -1,    -1,    -1,   117,    -1,    -1,   120,    -1,
9020      122,   123,    -1,   125,    -1,    -1,    -1,    -1,   130,   131,
9021       -1,   133,   134,   135,   136,    -1,    -1,     1,    -1,     3,
9022        4,     5,     6,    -1,     8,     9,    -1,    -1,    65,    -1,
9023       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9024       -1,    -1,    -1,    -1,    28,    -1,    -1,    84,    85,    -1,
9025       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9026       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9027      107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9028      117,    65,    -1,   120,   121,   122,    -1,    71,    72,    73,
9029      127,    -1,    -1,   130,   131,    -1,   133,   134,   135,   136,
9030       84,    85,     1,    -1,     3,     4,     5,     6,    -1,     8,
9031        9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,
9032      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    28,
9033       -1,    -1,    -1,   117,    -1,    -1,   120,   121,   122,    -1,
9034       -1,    -1,    -1,   127,    -1,    -1,   130,   131,    -1,   133,
9035      134,   135,   136,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9036       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
9037       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
9038        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
9039       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
9040       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
9041      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,    -1,
9042       -1,   120,   121,   122,    -1,    -1,   125,    -1,    -1,    -1,
9043       -1,   130,   131,    -1,   133,   134,   135,   136,    -1,    65,
9044       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
9045        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
9046       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9047       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
9048      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
9049       -1,   117,    -1,    -1,   120,    -1,   122,    -1,    -1,   125,
9050       -1,    -1,    -1,    -1,   130,   131,   132,   133,   134,   135,
9051      136,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9052       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
9053       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9054       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
9055      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9056       -1,    -1,    -1,    -1,   117,    -1,    -1,   120,    -1,   122,
9057       -1,    -1,   125,    -1,    -1,    -1,   129,   130,   131,    -1,
9058      133,   134,   135,   136,    -1,    65,    -1,    -1,    -1,    -1,
9059       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
9060       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
9061       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
9062       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
9063       -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,    -1,    -1,
9064      120,    -1,   122,    -1,    -1,   125,    -1,    -1,    -1,    -1,
9065      130,   131,   132,   133,   134,   135,   136,    -1,    65,    -1,
9066       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
9067        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
9068       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9069       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
9070      107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9071      117,    -1,    -1,   120,    -1,   122,    -1,    -1,   125,    -1,
9072       -1,    -1,   129,   130,   131,    -1,   133,   134,   135,   136,
9073       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
9074        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
9075       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9076       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
9077      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,
9078       -1,    -1,    -1,   117,    -1,    -1,   120,   121,   122,    -1,
9079       -1,   125,    -1,    -1,    -1,    -1,   130,   131,    -1,   133,
9080      134,   135,   136,    -1,    65,    -1,    -1,    -1,    -1,    -1,
9081       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
9082        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
9083       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
9084       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
9085       -1,    -1,    -1,    -1,    -1,    -1,   117,    -1,    -1,   120,
9086      121,   122,    -1,    -1,   125,    -1,    -1,    -1,    -1,   130,
9087      131,    -1,   133,   134,   135,   136,    -1,    65,    -1,    -1,
9088       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
9089        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
9090       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9091       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
9092      108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,
9093       -1,    -1,   120,   121,   122,    -1,    -1,   125,    -1,    -1,
9094       -1,    -1,   130,   131,    -1,   133,   134,   135,   136,    -1,
9095       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
9096       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
9097       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9098       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
9099      105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,
9100       -1,    -1,   117,    -1,    -1,   120,   121,   122,    -1,    -1,
9101      125,    -1,    -1,    -1,    -1,   130,   131,    -1,   133,   134,
9102      135,   136,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9103       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
9104        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
9105       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
9106      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9107       -1,    -1,    -1,    -1,    -1,   117,    -1,    -1,   120,   121,
9108      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,   130,   131,
9109       -1,   133,   134,   135,   136,    -1,    65,    -1,    -1,    -1,
9110       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
9111        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
9112       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
9113       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
9114      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,    -1,
9115       -1,   120,    -1,   122,   123,    -1,   125,    -1,    -1,    -1,
9116       -1,   130,   131,    -1,   133,   134,   135,   136,    -1,    65,
9117       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
9118        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
9119       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9120       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
9121      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
9122       -1,   117,    -1,    -1,   120,   121,   122,   123,    -1,    -1,
9123       -1,    -1,    -1,    -1,   130,   131,    -1,   133,   134,   135,
9124      136,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9125       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
9126       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9127       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
9128      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9129       -1,    -1,    -1,    -1,   117,    -1,    -1,   120,    -1,   122,
9130       -1,    -1,   125,    -1,    -1,    -1,   129,   130,   131,    -1,
9131      133,   134,   135,   136,    -1,    65,    -1,    -1,    -1,    -1,
9132       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
9133       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
9134       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
9135       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
9136       -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,    -1,    -1,
9137      120,    -1,   122,    -1,    -1,   125,    -1,    -1,    -1,   129,
9138      130,   131,    -1,   133,   134,   135,   136,    -1,    65,    -1,
9139       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
9140        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
9141       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9142       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
9143      107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9144      117,    -1,    -1,   120,    -1,   122,    -1,    -1,   125,    -1,
9145       -1,    -1,    -1,   130,   131,   132,   133,   134,   135,   136,
9146       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
9147        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
9148       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9149       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
9150      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,
9151       -1,    -1,    -1,   117,    -1,    -1,   120,    -1,   122,    -1,
9152       -1,   125,    -1,    -1,    -1,    -1,   130,   131,   132,   133,
9153      134,   135,   136,    -1,    65,    -1,    -1,    -1,    -1,    -1,
9154       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
9155        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
9156       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
9157       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
9158       -1,    -1,    -1,    -1,    -1,    -1,   117,    -1,    -1,   120,
9159      121,   122,    -1,    -1,   125,    -1,    -1,    -1,    -1,   130,
9160      131,    -1,   133,   134,   135,   136,    -1,    65,    -1,    -1,
9161       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
9162        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
9163       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9164       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
9165      108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,
9166       -1,    -1,   120,   121,   122,    -1,    -1,   125,    -1,    -1,
9167       -1,    -1,   130,   131,    -1,   133,   134,   135,   136,    -1,
9168       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
9169       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
9170       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9171       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
9172      105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,
9173       -1,    -1,   117,    -1,    -1,   120,   121,   122,    -1,    -1,
9174      125,    -1,    -1,    -1,    -1,   130,   131,    -1,   133,   134,
9175      135,   136,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9176       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
9177        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
9178       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
9179      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9180       -1,    -1,    -1,    -1,    -1,   117,    -1,    -1,   120,   121,
9181      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,   130,   131,
9182       -1,   133,   134,   135,   136,    -1,    65,    -1,    -1,    -1,
9183       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
9184        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
9185       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
9186       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
9187      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,    -1,
9188       -1,   120,   121,   122,    -1,    -1,   125,    -1,    -1,    -1,
9189       -1,   130,   131,    -1,   133,   134,   135,   136,    -1,    65,
9190       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
9191        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
9192       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9193       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
9194      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
9195       -1,   117,    -1,    -1,   120,    -1,   122,    -1,    -1,    -1,
9196      126,   127,    -1,    -1,   130,   131,    -1,   133,   134,   135,
9197      136,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9198       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
9199       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9200       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
9201      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9202       -1,    -1,    -1,    -1,   117,    -1,    -1,   120,   121,   122,
9203       -1,    -1,   125,    -1,    -1,    -1,    -1,   130,   131,    -1,
9204      133,   134,   135,   136,    -1,    65,    -1,    -1,    -1,    -1,
9205       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
9206       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
9207       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
9208       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
9209       -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,    -1,    -1,
9210      120,   121,   122,    -1,    -1,   125,    -1,    -1,    -1,    -1,
9211      130,   131,    -1,   133,   134,   135,   136,    -1,    65,    -1,
9212       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
9213        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
9214       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9215       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
9216      107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9217      117,    -1,    -1,   120,   121,   122,    -1,    -1,   125,    -1,
9218       -1,    -1,    -1,   130,   131,    -1,   133,   134,   135,   136,
9219       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
9220        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
9221       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9222       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
9223      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,
9224       -1,    -1,    -1,   117,    -1,    -1,   120,    -1,   122,    -1,
9225       -1,    -1,    -1,    -1,    -1,    -1,   130,   131,   132,   133,
9226      134,   135,   136,    -1,    65,    -1,    -1,    -1,    -1,    -1,
9227       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
9228        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
9229       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
9230       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
9231       -1,    -1,    -1,    -1,    -1,    -1,   117,    -1,    -1,   120,
9232       -1,   122,    -1,    -1,    -1,    -1,   127,    -1,    -1,   130,
9233      131,    -1,   133,   134,   135,   136,    -1,    65,    -1,    -1,
9234       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
9235        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
9236       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9237       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
9238      108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,
9239       -1,    -1,   120,    -1,   122,    -1,    -1,    -1,    -1,    -1,
9240       -1,    -1,   130,   131,   132,   133,   134,   135,   136,    -1,
9241       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
9242       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
9243       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9244       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
9245      105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,
9246       -1,    -1,   117,    -1,    -1,   120,    -1,   122,    -1,    -1,
9247       -1,    -1,    -1,    -1,    -1,   130,   131,   132,   133,   134,
9248      135,   136,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9249       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
9250        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
9251       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
9252      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9253       -1,    -1,    -1,    -1,    -1,   117,    -1,    -1,   120,    -1,
9254      122,    -1,    -1,    -1,    -1,   127,    -1,    -1,   130,   131,
9255       -1,   133,   134,   135,   136,    -1,    65,    -1,    -1,    -1,
9256       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
9257        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
9258       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
9259       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
9260      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,    -1,
9261       -1,   120,    -1,   122,    -1,    -1,    -1,    -1,    -1,    -1,
9262       -1,   130,   131,   132,   133,   134,   135,   136,    -1,    65,
9263       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
9264        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
9265       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9266       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
9267      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
9268       -1,   117,    -1,    -1,   120,    -1,   122,    -1,    -1,    -1,
9269       -1,    -1,    -1,   129,   130,   131,    -1,   133,   134,   135,
9270      136,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9271       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
9272       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9273       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
9274      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9275       -1,    -1,    -1,    -1,   117,    -1,    -1,   120,   121,   122,
9276       -1,    -1,    -1,    -1,    -1,    -1,    -1,   130,   131,    -1,
9277      133,   134,   135,   136,    -1,    65,    -1,    -1,    -1,    -1,
9278       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
9279       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
9280       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
9281       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
9282       -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,    -1,    -1,
9283      120,    -1,   122,    -1,    -1,    -1,    -1,   127,    -1,    -1,
9284      130,   131,    -1,   133,   134,   135,   136,    -1,    65,    -1,
9285       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
9286        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
9287       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9288       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
9289      107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9290      117,    -1,    -1,   120,    -1,   122,    -1,    -1,    -1,    -1,
9291       -1,    -1,    -1,   130,   131,   132,   133,   134,   135,   136,
9292       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
9293        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
9294       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9295       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
9296      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,
9297       -1,    -1,    -1,   117,    -1,    -1,   120,   121,   122,    -1,
9298       -1,    -1,    -1,    -1,    -1,    -1,   130,   131,    -1,   133,
9299      134,   135,   136,    -1,    65,    -1,    -1,    -1,    -1,    -1,
9300       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
9301        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
9302       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
9303       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
9304       -1,    -1,    -1,    -1,    -1,    -1,   117,    -1,    -1,   120,
9305       -1,   122,    -1,    -1,    -1,    -1,    -1,    -1,   129,   130,
9306      131,    -1,   133,   134,   135,   136,    -1,    65,    -1,    -1,
9307       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
9308        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
9309       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9310       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
9311      108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,
9312       -1,    -1,   120,    -1,   122,    -1,    -1,    -1,    -1,   127,
9313       -1,    -1,   130,   131,    -1,   133,   134,   135,   136,    -1,
9314       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
9315       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
9316       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9317       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
9318      105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,
9319       -1,    -1,   117,    -1,    -1,   120,    -1,   122,    -1,    -1,
9320       -1,    -1,   127,    -1,    -1,   130,   131,    -1,   133,   134,
9321      135,   136,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
9322       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
9323        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
9324       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
9325      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9326       -1,    -1,    -1,    -1,    -1,   117,    -1,    -1,   120,    -1,
9327      122,    -1,    -1,    -1,    -1,   127,    -1,    -1,   130,   131,
9328       -1,   133,   134,   135,   136,    -1,    65,    -1,    -1,    -1,
9329       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
9330        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
9331       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
9332       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
9333      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,    -1,
9334       -1,   120,    -1,   122,    -1,    -1,    -1,    -1,   127,    -1,
9335       -1,   130,   131,    -1,   133,   134,   135,   136,    -1,    65,
9336       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
9337        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
9338       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9339       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
9340      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
9341       -1,   117,    -1,    -1,   120,   121,   122,    -1,    -1,    -1,
9342       -1,    -1,    -1,    -1,   130,   131,    -1,   133,   134,   135,
9343      136,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9344       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
9345       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9346       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
9347      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9348       -1,    -1,    -1,    -1,   117,    -1,    -1,   120,    -1,   122,
9349       -1,    -1,    -1,    -1,   127,    -1,    -1,   130,   131,    -1,
9350      133,   134,   135,   136,    -1,    65,    -1,    -1,    -1,    -1,
9351       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
9352       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
9353       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
9354       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
9355       -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,    -1,    -1,
9356      120,   121,   122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9357      130,   131,    -1,   133,   134,   135,   136,    -1,    65,    -1,
9358       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
9359        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
9360       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9361       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
9362      107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9363      117,    -1,    -1,   120,   121,   122,    -1,    -1,    -1,    -1,
9364       -1,    -1,    -1,   130,   131,    -1,   133,   134,   135,   136,
9365       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
9366        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
9367       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9368       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
9369      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,
9370       -1,    -1,    -1,   117,    -1,    -1,   120,    -1,   122,    -1,
9371       -1,    -1,    -1,    -1,    -1,    -1,   130,   131,    -1,   133,
9372      134,   135,   136,    -1,    65,    -1,    -1,    -1,    -1,    -1,
9373       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
9374        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
9375       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
9376       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
9377       -1,    -1,    -1,    -1,    -1,    -1,   117,    -1,    -1,   120,
9378       -1,   122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   130,
9379      131,    -1,   133,   134,   135,   136,    -1,    65,    -1,    -1,
9380       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
9381        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
9382       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9383       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
9384      108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,
9385       -1,    -1,   120,    -1,   122,    -1,    -1,    -1,    -1,    -1,
9386       -1,    -1,   130,   131,    -1,   133,   134,   135,   136,    -1,
9387       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,
9388       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,
9389       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9390       -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,   104,
9391      105,   106,   107,   108,   109,     0,     1,    -1,     3,     4,
9392        5,    -1,   117,    -1,    -1,   120,    -1,   122,    -1,    -1,
9393       -1,    -1,    -1,    -1,    -1,   130,   131,    -1,   133,   134,
9394      135,   136,    -1,    28,    29,    30,    31,    32,    33,    34,
9395       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9396       45,    46,    47,    48,    49,    50,    -1,    -1,    53,    -1,
9397       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9398       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9399       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9400       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9401       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9402      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9403      115,   116,   117,    -1,    -1,   120,   121,   122,   123,    -1,
9404      125,   126,    -1,    -1,    -1,   130,   131,     0,     1,    -1,
9405        3,     4,     5,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9406       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9407       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9408       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9409       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9410       53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9411       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9412       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9413       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9414       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9415      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9416      113,   114,   115,   116,   117,    -1,    -1,   120,    -1,   122,
9417      123,    -1,   125,   126,    -1,    -1,    -1,   130,   131,     0,
9418        1,    -1,     3,     4,     5,    -1,    -1,    -1,    -1,    -1,
9419       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9420       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9421       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9422       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9423       -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9424       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9425       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9426       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9427       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9428       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9429      111,   112,   113,   114,   115,   116,   117,    -1,    -1,   120,
9430       -1,   122,   123,     0,     1,   126,     3,     4,     5,   130,
9431      131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9432       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9433       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9434       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9435       47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,    -1,
9436       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9437       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9438       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9439       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9440       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9441      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9442      117,    -1,    -1,   120,    -1,   122,   123,     0,     1,   126,
9443        3,     4,     5,   130,   131,    -1,    -1,    -1,    -1,    -1,
9444       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9445       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9446       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9447       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9448       53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9449       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9450       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9451       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9452       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9453      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9454      113,   114,   115,   116,   117,    -1,    -1,   120,    -1,   122,
9455      123,     0,     1,   126,     3,     4,     5,   130,   131,    -1,
9456       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9457       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9458       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9459       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9460       49,    50,    -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,
9461       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9462       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9463       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9464       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9465       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9466       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
9467       -1,   120,    -1,   122,   123,    -1,     1,   126,     3,     4,
9468        5,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9469       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9470       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9471       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9472       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9473       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9474       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9475       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9476       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9477       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9478      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9479      115,   116,   117,    -1,    -1,   120,    -1,   122,   123,    -1,
9480        1,   126,     3,     4,     5,   130,   131,    -1,    -1,    -1,
9481       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9482       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9483       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9484       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9485       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9486       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9487       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9488       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9489       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9490       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9491      111,   112,   113,   114,   115,   116,   117,    -1,    -1,   120,
9492       -1,   122,   123,    -1,     1,   126,     3,     4,     5,   130,
9493      131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9494       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9495       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9496       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9497       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9498       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9499       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9500       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9501       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9502       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9503      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9504      117,    -1,    -1,   120,    -1,   122,   123,    -1,     1,   126,
9505        3,     4,     5,   130,   131,    -1,    -1,    -1,    -1,    -1,
9506       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9507       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9508       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9509       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9510       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9511       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9512       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9513       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9514       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9515      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9516      113,   114,   115,   116,   117,    -1,    -1,   120,    -1,   122,
9517      123,    -1,     1,   126,     3,     4,     5,   130,   131,    -1,
9518       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9519       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9520       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9521       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9522       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9523       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9524       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9525       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9526       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9527       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9528       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
9529       -1,   120,    -1,   122,   123,    -1,     1,   126,     3,     4,
9530        5,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9531       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9532       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9533       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9534       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9535       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9536       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9537       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9538       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9539       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9540      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9541      115,   116,   117,    -1,    -1,   120,    -1,   122,   123,    -1,
9542        1,   126,     3,     4,     5,   130,   131,    -1,    -1,    -1,
9543       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9544       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9545       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9546       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9547       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9548       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9549       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9550       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9551       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9552       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9553      111,   112,   113,   114,   115,   116,   117,    -1,    -1,   120,
9554       -1,   122,   123,    -1,     1,   126,     3,     4,     5,   130,
9555      131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9556       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9557       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9558       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9559       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9560       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9561       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9562       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9563       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9564       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9565      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9566      117,    -1,    -1,   120,    -1,   122,   123,    -1,     1,   126,
9567        3,     4,     5,   130,   131,    -1,    -1,    -1,    -1,    -1,
9568       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9569       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9570       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9571       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9572       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9573       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9574       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9575       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9576       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9577      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9578      113,   114,   115,   116,   117,    -1,    -1,   120,    -1,   122,
9579      123,    -1,     1,   126,     3,     4,     5,   130,   131,    -1,
9580       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9581       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9582       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9583       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9584       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9585       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9586       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9587       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9588       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9589       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9590       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
9591       -1,   120,    -1,   122,   123,    -1,     1,   126,     3,     4,
9592        5,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9593       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9594       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9595       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9596       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9597       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9598       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9599       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9600       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9601       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9602      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9603      115,   116,   117,    -1,    -1,   120,    -1,   122,   123,    -1,
9604        1,   126,     3,     4,     5,   130,   131,    -1,    -1,    -1,
9605       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9606       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9607       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9608       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9609       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9610       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9611       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9612       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9613       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9614       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9615      111,   112,   113,   114,   115,   116,   117,    -1,    -1,   120,
9616       -1,   122,   123,    -1,     1,   126,     3,     4,     5,   130,
9617      131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9618       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9619       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9620       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9621       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9622       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9623       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9624       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9625       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9626       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9627      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9628      117,    -1,    -1,   120,    -1,   122,   123,    -1,     1,   126,
9629        3,     4,     5,   130,   131,    -1,    -1,    -1,    -1,    -1,
9630       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9631       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9632       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9633       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9634       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9635       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9636       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9637       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9638       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9639      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9640      113,   114,   115,   116,   117,    -1,    -1,   120,    -1,   122,
9641      123,    -1,     1,   126,     3,     4,     5,   130,   131,    -1,
9642       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9643       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9644       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9645       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9646       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9647       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9648       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9649       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9650       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9651       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9652       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
9653       -1,   120,    -1,   122,   123,    -1,     1,   126,     3,     4,
9654        5,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9655       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9656       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9657       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9658       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9659       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9660       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9661       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9662       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9663       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9664      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9665      115,   116,   117,    -1,    -1,   120,    -1,   122,   123,    -1,
9666        1,   126,     3,     4,     5,   130,   131,    -1,    -1,    -1,
9667       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9668       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9669       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9670       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9671       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9672       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9673       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9674       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9675       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9676       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9677      111,   112,   113,   114,   115,   116,   117,    -1,    -1,   120,
9678       -1,   122,   123,    -1,     1,   126,     3,     4,     5,   130,
9679      131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9680       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9681       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9682       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9683       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9684       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9685       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9686       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9687       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9688       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9689      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9690      117,    -1,    -1,   120,    -1,   122,   123,    -1,     1,   126,
9691        3,     4,     5,   130,   131,    -1,    -1,    -1,    -1,    -1,
9692       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9693       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9694       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9695       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9696       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9697       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9698       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9699       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9700       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9701      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9702      113,   114,   115,   116,   117,    -1,    -1,   120,    -1,   122,
9703      123,    -1,     1,   126,     3,     4,     5,   130,   131,    -1,
9704       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9705       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9706       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9707       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9708       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9709       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9710       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9711       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9712       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9713       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9714       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
9715       -1,   120,    -1,   122,   123,    -1,     1,   126,     3,     4,
9716        5,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9717       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9718       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9719       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9720       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9721       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9722       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9723       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9724       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9725       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9726      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9727      115,   116,   117,    -1,    -1,   120,    -1,   122,   123,    -1,
9728        1,   126,     3,     4,     5,   130,   131,    -1,    -1,    -1,
9729       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9730       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9731       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9732       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9733       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9734       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9735       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9736       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9737       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9738       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9739      111,   112,   113,   114,   115,   116,   117,    -1,    -1,   120,
9740       -1,   122,   123,    -1,     1,   126,     3,     4,     5,   130,
9741      131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9742       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9743       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9744       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9745       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9746       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9747       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9748       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9749       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9750       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9751      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9752      117,    -1,    -1,   120,    -1,   122,   123,    -1,     1,   126,
9753        3,     4,     5,   130,   131,    -1,    -1,    -1,    -1,    -1,
9754       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9755       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9756       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9757       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9758       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9759       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9760       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9761       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9762       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9763      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9764      113,   114,   115,   116,   117,    -1,    -1,   120,    -1,   122,
9765      123,    -1,     1,   126,     3,     4,     5,   130,   131,    -1,
9766       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9767       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9768       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9769       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9770       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9771       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9772       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9773       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9774       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9775       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9776       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
9777       -1,   120,    -1,   122,   123,    -1,     1,   126,     3,     4,
9778        5,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9779       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9780       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9781       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9782       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9783       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9784       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9785       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9786       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9787       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9788      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9789      115,   116,   117,    -1,    -1,   120,    -1,   122,   123,    -1,
9790        1,   126,     3,     4,     5,   130,   131,    -1,    -1,    -1,
9791       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9792       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9793       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9794       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9795       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9796       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9797       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9798       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9799       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9800       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9801      111,   112,   113,   114,   115,   116,   117,    -1,    -1,   120,
9802       -1,   122,   123,    -1,     1,   126,     3,     4,     5,   130,
9803      131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9804       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9805       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9806       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9807       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9808       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9809       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9810       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9811       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9812       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9813      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9814      117,    -1,    -1,   120,    -1,   122,   123,    -1,     1,   126,
9815        3,     4,     5,   130,   131,    -1,    -1,    -1,    -1,    -1,
9816       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9817       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9818       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9819       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9820       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9821       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9822       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9823       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9824       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9825      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9826      113,   114,   115,   116,   117,    -1,    -1,   120,    -1,   122,
9827      123,    -1,     1,   126,     3,     4,     5,   130,   131,    -1,
9828       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9829       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9830       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9831       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9832       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9833       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9834       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9835       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9836       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9837       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9838       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
9839       -1,   120,    -1,   122,   123,    -1,     1,   126,     3,     4,
9840        5,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9841       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9842       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9843       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9844       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9845       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9846       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9847       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9848       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9849       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9850      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9851      115,   116,   117,    -1,    -1,   120,    -1,   122,   123,    -1,
9852        1,   126,     3,     4,     5,   130,   131,    -1,    -1,    -1,
9853       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9854       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9855       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9856       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9857       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9858       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9859       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9860       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9861       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9862       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9863      111,   112,   113,   114,   115,   116,   117,    -1,    -1,   120,
9864       -1,   122,   123,    -1,     1,   126,     3,     4,     5,   130,
9865      131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9866       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9867       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9868       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9869       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9870       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9871       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9872       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9873       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9874       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9875      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9876      117,    -1,    -1,   120,    -1,   122,   123,     1,    -1,     3,
9877        4,     5,    -1,   130,   131,    -1,    -1,    -1,    -1,    -1,
9878       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9879       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
9880       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9881       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9882       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9883       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,
9884       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
9885       -1,    85,    86,    87,    88,    -1,    -1,    91,    92,    93,
9886       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
9887      104,   105,   106,   107,   108,    -1,   110,   111,   112,   113,
9888      114,   115,   116,   117,    -1,    -1,   120,    -1,   122,   123,
9889        1,    -1,     3,     4,     5,    -1,   130,   131,    -1,    -1,
9890       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9891       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9892       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9893       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9894       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9895       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9896       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9897       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9898       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9899       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9900      111,   112,   113,   114,   115,   116,   117,    -1,     1,   120,
9901        3,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,   130,
9902      131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9903       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9904       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9905       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9906       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9907       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9908       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
9909       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
9910       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,
9911       -1,    -1,     1,    -1,     3,    -1,    -1,   110,   111,   112,
9912      113,   114,   115,   116,   117,    -1,    -1,   120,   121,    -1,
9913       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,    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,    -1,
9920       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9921       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
9922       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
9923       -1,   120,   121,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9924       -1,    -1,   131,    28,    29,    30,    31,    32,    33,    34,
9925       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9926       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9927       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9928       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
9929       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
9930       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9931       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,
9932       -1,    -1,     3,    -1,    -1,   110,   111,   112,   113,   114,
9933      115,   116,   117,    -1,    -1,   120,    -1,    -1,    -1,    -1,
9934       -1,    -1,    -1,    -1,    -1,    -1,   131,    28,    29,    30,
9935       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9936       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9937       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9938       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9939       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9940       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
9941       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9942       -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,   110,
9943      111,   112,   113,   114,   115,   116,   117,    -1,    -1,   120,
9944       -1,    -1,    -1,    -1,    -1,    -1,   127,    -1,    -1,    -1,
9945      131,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9946       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9947       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9948       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
9949       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9950       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,
9951       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9952       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
9953        3,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
9954      117,    -1,    -1,   120,    -1,    -1,    -1,    -1,    -1,    -1,
9955      127,    -1,    -1,    -1,   131,    28,    29,    30,    31,    32,
9956       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9957       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9958       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9959       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9960       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
9961       -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
9962       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,
9963       -1,    -1,    -1,    -1,     3,    -1,    -1,   110,   111,   112,
9964      113,   114,   115,   116,   117,    -1,    -1,   120,    -1,    -1,
9965       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,    28,
9966       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9967       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9968       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9969       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
9970       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
9971       79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,
9972       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9973       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
9974       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
9975       -1,   120,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9976       -1,    -1,   131,    28,    29,    30,    31,    32,    33,    34,
9977       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9978       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9979       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9980       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
9981       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
9982       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9983       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,
9984       -1,    -1,     3,    -1,    -1,   110,   111,   112,   113,   114,
9985      115,   116,   117,    -1,    -1,   120,    -1,    -1,    -1,    -1,
9986       -1,    -1,    -1,    -1,    -1,    -1,   131,    28,    29,    30,
9987       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9988       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9989       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9990       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9991       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9992       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
9993       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9994       -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,   110,
9995      111,   112,   113,   114,   115,   116,   117,    -1,    -1,   120,
9996       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9997      131,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9998       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9999       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10000       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10001       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    76,
10002       77,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10003       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10004       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,   105,     3,
10005       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10006      117,    -1,    -1,   120,    -1,    -1,    -1,    -1,    -1,    -1,
10007       -1,    -1,   129,    -1,    28,    29,    30,    31,    32,    33,
10008       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10009       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10010       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10011       -1,    -1,    66,    -1,    68,    -1,    -1,    -1,    -1,    -1,
10012       74,    75,    -1,    -1,    78,    79,    -1,    -1,    82,    83,
10013       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
10014       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10015       -1,     3,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10016      114,   115,   116,   117,    -1,    -1,   120,    -1,   122,    -1,
10017       -1,    -1,    -1,    -1,    -1,   129,    28,    29,    30,    31,
10018       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10019       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10020       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10021       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
10022       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10023       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10024       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
10025       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,   110,   111,
10026      112,   113,   114,   115,   116,   117,    -1,    -1,   120,    -1,
10027       -1,    -1,    -1,    -1,    -1,    -1,    -1,   129,    28,    29,
10028       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10029       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10030       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10031       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10032       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10033       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10034       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10035      100,    -1,    -1,     1,    -1,    -1,    -1,    -1,    -1,    -1,
10036      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
10037      120,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   129,
10038       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
10039       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
10040       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10041       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
10042       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
10043       -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,
10044       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10045       -1,    -1,   100,     1,    -1,    -1,    -1,    -1,    -1,    -1,
10046       -1,    -1,   110,   111,   112,   113,   114,   115,   116,    -1,
10047       -1,    -1,    -1,    -1,    -1,   123,    -1,   125,   126,    -1,
10048       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
10049       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
10050       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10051       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
10052       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
10053       -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,
10054       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10055       -1,    -1,   100,     1,    -1,    -1,    -1,    -1,    -1,    -1,
10056       -1,    -1,   110,   111,   112,   113,   114,   115,   116,    -1,
10057       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   126,    -1,
10058       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
10059       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
10060       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10061       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
10062       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
10063       -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,
10064       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10065       -1,    -1,   100,     1,    -1,    -1,    -1,    -1,    -1,    -1,
10066       -1,    -1,   110,   111,   112,   113,   114,   115,   116,    -1,
10067       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   126,    -1,
10068       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
10069       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
10070       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10071       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
10072       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
10073       -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,
10074       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10075       -1,    -1,   100,     1,    -1,    -1,    -1,    -1,    -1,    -1,
10076       -1,    -1,   110,   111,   112,   113,   114,   115,   116,    -1,
10077       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   126,    -1,
10078       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
10079       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
10080       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10081       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
10082       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
10083       -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,
10084       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10085       -1,    -1,   100,     1,    -1,    -1,    -1,    -1,    -1,    -1,
10086       -1,    -1,   110,   111,   112,   113,   114,   115,   116,    -1,
10087       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   126,    -1,
10088       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
10089       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
10090       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10091       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
10092       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
10093       -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,
10094       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10095       -1,    -1,   100,     0,     1,    -1,     3,    -1,    -1,    -1,
10096       -1,    -1,   110,   111,   112,   113,   114,   115,   116,    -1,
10097       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   126,    -1,
10098       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10099       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10100       47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,    -1,
10101       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10102       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    76,
10103       77,    -1,    79,    80,    81,    82,    83,    -1,    85,    86,
10104       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10105       -1,    -1,     3,   100,   101,    -1,    -1,    -1,   105,    -1,
10106       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10107      117,    -1,    -1,   120,    -1,    -1,   123,    28,    29,    30,
10108       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10109       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10110       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10111       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10112       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10113       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10114       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10115       -1,     3,    -1,    -1,    -1,    -1,   107,    -1,    -1,   110,
10116      111,   112,   113,   114,   115,   116,    -1,    -1,    -1,    -1,
10117       -1,    -1,    -1,    -1,    -1,   126,    28,    29,    30,    31,
10118       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10119       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10120       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10121       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
10122       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10123       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10124       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
10125        3,    -1,    -1,    -1,    -1,   107,    -1,    -1,   110,   111,
10126      112,   113,   114,   115,   116,    -1,    -1,    -1,    -1,    -1,
10127       -1,    -1,    -1,    -1,   126,    28,    29,    30,    31,    32,
10128       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10129       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10130       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10131       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10132       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
10133       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10134       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,     1,    -1,
10135        3,    -1,    -1,    -1,   107,    -1,    -1,   110,   111,   112,
10136      113,   114,   115,   116,    -1,    -1,    -1,    -1,    -1,    -1,
10137       -1,    -1,    -1,   126,    -1,    28,    29,    30,    31,    32,
10138       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10139       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10140       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10141       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10142       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
10143       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10144       -1,    -1,    -1,    -1,     1,    -1,     3,   100,    -1,    -1,
10145       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
10146      113,   114,   115,   116,   117,    -1,    -1,   120,    -1,    -1,
10147      123,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10148       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10149       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10150       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
10151       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10152       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10153       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10154        1,    -1,     3,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10155       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10156      117,    -1,    -1,   120,    -1,    -1,   123,    28,    29,    30,
10157       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10158       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10159       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10160       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10161       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10162       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
10163       -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,   100,
10164       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10165      111,   112,   113,   114,   115,   116,   117,    -1,    -1,   120,
10166       -1,    -1,   123,    28,    29,    30,    31,    32,    33,    34,
10167       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10168       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10169       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10170       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10171       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10172       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10173       -1,    -1,    -1,    -1,     3,   100,    -1,    -1,    -1,    -1,
10174       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10175      115,   116,   117,    -1,    -1,   120,    -1,    -1,   123,    28,
10176       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10177       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10178       49,    50,    -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,
10179       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
10180       -1,    -1,    -1,    -1,    -1,    74,    75,    76,    77,    -1,
10181       79,    80,    81,    82,    83,    -1,    85,    86,    87,    -1,
10182       -1,    -1,    -1,    -1,    -1,    -1,    -1,     0,     1,    -1,
10183        3,   100,   101,    -1,    -1,    -1,   105,    -1,    -1,    -1,
10184       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10185       -1,   120,    -1,    -1,   123,    28,    29,    30,    31,    32,
10186       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10187       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10188       53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10189       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10190       -1,    74,    75,    -1,    -1,    -1,    79,    80,    81,    82,
10191       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10192       -1,     1,    -1,     3,    -1,    -1,    -1,   100,    -1,    -1,
10193       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
10194      113,   114,   115,   116,   117,    -1,    -1,   120,    28,    29,
10195       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10196       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10197       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10198       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10199       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10200       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10201       -1,    -1,    -1,    -1,    -1,     1,    -1,     3,    -1,    -1,
10202      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10203      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
10204      120,   121,    28,    29,    30,    31,    32,    33,    34,    35,
10205       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10206       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
10207       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
10208       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
10209       -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,
10210       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
10211       -1,     3,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
10212       -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
10213      116,    -1,    -1,    -1,    -1,   121,    28,    29,    30,    31,
10214       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10215       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10216       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10217       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
10218       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10219       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10220       -1,    -1,    -1,     1,    -1,     3,    -1,    -1,   100,    -1,
10221       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10222      112,   113,   114,   115,   116,    -1,    -1,    -1,    -1,   121,
10223       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
10224       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
10225       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10226       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
10227       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
10228       -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,    87,
10229       -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,
10230       -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10231       -1,    -1,   110,   111,   112,   113,   114,   115,   116,    -1,
10232       -1,    -1,    -1,   121,    28,    29,    30,    31,    32,    33,
10233       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10234       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10235       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10236       -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10237       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
10238       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
10239       -1,     1,    -1,     3,    -1,    -1,   100,    -1,    -1,    -1,
10240       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10241      114,   115,   116,    -1,    -1,    -1,    -1,   121,    28,    29,
10242       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10243       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10244       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10245       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10246       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10247       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10248       -1,    -1,    -1,    -1,    -1,     1,    -1,     3,    -1,    -1,
10249      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10250      110,   111,   112,   113,   114,   115,   116,    -1,    -1,    -1,
10251       -1,   121,    28,    29,    30,    31,    32,    33,    34,    35,
10252       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10253       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
10254       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
10255       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
10256       -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,
10257       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
10258       -1,     3,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
10259       -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
10260      116,    -1,    -1,    -1,    -1,   121,    28,    29,    30,    31,
10261       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10262       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10263       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10264       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
10265       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10266       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10267       -1,    -1,     1,    -1,     3,    -1,    -1,    -1,   100,    -1,
10268       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10269      112,   113,   114,   115,   116,   117,    -1,    -1,   120,    28,
10270       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10271       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10272       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10273       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
10274       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10275       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
10276       -1,    -1,    -1,    -1,    -1,     1,    -1,     3,    -1,    -1,
10277       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10278       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10279       -1,   120,    28,    29,    30,    31,    32,    33,    34,    35,
10280       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10281       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
10282       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10283       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
10284       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,
10285       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10286        3,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
10287       -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
10288      116,    -1,    -1,    -1,   120,    28,    29,    30,    31,    32,
10289       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10290       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10291       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10292       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10293       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
10294       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10295       -1,    -1,    -1,     3,    -1,    -1,    -1,   100,    -1,    -1,
10296       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
10297      113,   114,   115,   116,   117,    -1,    -1,   120,    28,    29,
10298       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10299       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10300       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10301       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10302       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10303       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10304       -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,
10305      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10306      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
10307      120,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10308       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10309       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10310       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
10311       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10312       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10313       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
10314       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10315       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10316      117,    -1,    -1,   120,    28,    29,    30,    31,    32,    33,
10317       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10318       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10319       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10320       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10321       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
10322       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
10323       -1,    -1,     3,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10324       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10325      114,   115,   116,    -1,    -1,    -1,   120,    28,    29,    30,
10326       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10327       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10328       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10329       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10330       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10331       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10332       -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,   100,
10333       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10334      111,   112,   113,   114,   115,   116,    -1,    -1,    -1,   120,
10335       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
10336       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
10337       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10338       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
10339       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
10340       -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,
10341       -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,    -1,
10342       -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10343       -1,    -1,   110,   111,   112,   113,   114,   115,   116,   117,
10344       -1,    -1,   120,    28,    29,    30,    31,    32,    33,    34,
10345       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10346       45,    46,    47,    48,    49,    50,    51,    -1,    -1,    -1,
10347       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10348       65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10349       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
10350       85,    86,    87,    -1,    -1,     1,    -1,     3,    -1,    -1,
10351       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,
10352       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10353      115,   116,    28,    29,    30,    31,    32,    33,    34,    35,
10354       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10355       46,    47,    48,    49,    50,    51,    -1,    -1,    -1,    -1,
10356       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
10357       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
10358       -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,
10359       86,    87,    -1,    -1,     1,    -1,     3,    -1,    -1,    -1,
10360       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
10361       -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
10362      116,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10363       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10364       47,    48,    49,    50,    51,    -1,    -1,    -1,    -1,    -1,
10365       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10366       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10367       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10368       87,    -1,    -1,     1,    -1,     3,    -1,    -1,    -1,    -1,
10369       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10370       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10371       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
10372       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
10373       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10374       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
10375       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
10376       -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,
10377       -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
10378       -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10379       -1,    -1,   110,   111,   112,   113,   114,   115,   116,    28,
10380       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10381       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10382       49,    50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10383       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
10384       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10385       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
10386       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10387       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10388       -1,   110,   111,   112,   113,   114,   115,   116,    28,    29,
10389       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10390       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10391       50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10392       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10393       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10394       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10395       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10396      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10397      110,   111,   112,   113,   114,   115,   116,    28,    29,    30,
10398       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10399       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10400       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10401       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
10402       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10403       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10404       -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10405       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10406      111,   112,   113,   114,   115,   116,    28,    29,    30,    31,
10407       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10408       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10409       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10410       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
10411       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10412       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10413        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
10414       -1,    -1,    -1,    -1,    -1,   107,    -1,    -1,   110,   111,
10415      112,   113,   114,   115,   116,    28,    29,    30,    31,    32,
10416       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10417       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10418       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10419       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10420       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
10421       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,     3,
10422       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,
10423       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
10424      113,   114,   115,   116,    28,    29,    30,    31,    32,    33,
10425       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10426       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10427       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10428       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10429       74,    75,    -1,    -1,    -1,    79,    80,    81,    -1,    -1,
10430       -1,    85,    86,    87,    -1,    -1,    -1,    -1,     3,    -1,
10431       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10432       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10433      114,   115,   116,    28,    29,    30,    31,    32,    33,    34,
10434       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10435       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10436       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10437       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10438       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
10439       85,    86,    87,    -1,    -1,    -1,    -1,     3,    -1,    -1,
10440       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,
10441       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10442      115,   116,    28,    29,    30,    31,    32,    33,    34,    35,
10443       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10444       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
10445       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10446       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
10447       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,
10448       86,    87,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,
10449       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
10450       -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
10451      116,    28,    -1,    -1,    -1,    -1,    -1,    34,    35,    36,
10452       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10453       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10454       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
10455       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10456       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10457       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10458       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10459       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,    28,
10460       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10461       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10462       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10463       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
10464       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10465       79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,
10466       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10467       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10468       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10469       -1,   120,   121,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10470       -1,    -1,   131,    28,    29,    30,    31,    32,    33,    34,
10471       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10472       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10473       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10474       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10475       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10476       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10477       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,
10478       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10479      115,   116,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10480       -1,    -1,   127,    28,    29,    30,    31,    32,    33,    34,
10481       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10482       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10483       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10484       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10485       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10486       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10487       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,
10488       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10489      115,   116,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10490       -1,   126
10491 };
10492
10493 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
10494    symbol of state STATE-NUM.  */
10495 static const yytype_uint16 yystos[] =
10496 {
10497        0,     3,    28,    29,    30,    31,    32,    33,    34,    35,
10498       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10499       46,    47,    48,    49,    50,    53,    65,    66,    74,    75,
10500       76,    77,    79,    80,    81,    82,    83,    85,    86,    87,
10501      100,   101,   105,   110,   111,   112,   113,   114,   115,   116,
10502      117,   120,   123,   143,   144,   145,   147,   172,   209,   210,
10503      211,   212,   213,   214,   270,   273,   274,   277,   278,   279,
10504      280,   281,   282,   283,   285,   289,   292,   293,   294,   295,
10505      296,   297,   302,   303,   312,   313,   314,   321,   322,   326,
10506      329,   334,   363,   366,   367,   385,   386,   388,   389,   390,
10507      391,   392,   393,    77,   129,     5,    31,   214,   387,   214,
10508      120,   120,   120,   147,   214,   387,   283,   284,   321,   329,
10509       37,   145,   214,   311,   312,   314,   316,   317,   318,   320,
10510      321,   329,   332,   333,   338,   118,   123,   144,   145,   214,
10511      127,   129,   123,   127,   126,   117,   118,   209,   214,   127,
10512      147,   214,   127,   129,   126,   118,   127,   129,   127,   126,
10513      127,   145,   214,   321,     1,    31,    37,    38,   123,   143,
10514      145,   211,   213,   214,   270,   280,   281,   283,   285,   314,
10515      318,   321,   329,   332,   333,   334,   336,   344,   345,   346,
10516      347,    37,    38,   145,   321,   346,   120,   131,     1,    29,
10517       30,    31,    32,    33,    65,   116,   121,   143,   214,   269,
10518      273,   275,   276,   283,   285,   289,   290,   291,   297,   301,
10519      309,   310,   350,   351,   352,   353,   354,   355,   329,   120,
10520      314,   321,    34,    35,    36,    37,    38,    39,    40,    41,
10521       42,    43,    46,    47,    66,    85,    87,   100,   112,   113,
10522      114,   115,   127,   147,   168,   169,   269,   274,   275,   283,
10523      286,   290,   292,   300,   365,   368,   369,   370,   375,   376,
10524      377,    31,    76,   129,   211,   213,   302,   366,   367,   385,
10525      386,   393,     1,   211,   279,   296,   302,   334,   363,   389,
10526        1,   388,   389,     0,   214,   387,   387,     5,   124,   387,
10527        1,     4,     6,     8,     9,    65,    71,    72,    73,    84,
10528       85,    98,   102,   103,   104,   105,   106,   107,   108,   109,
10529      117,   120,   122,   130,   131,   133,   134,   135,   136,   147,
10530      173,   174,   214,   215,   216,   217,   218,   221,   222,   226,
10531      227,   229,   230,   231,   232,   233,   234,   235,   236,   237,
10532      238,   239,   240,   241,   242,   243,   247,   249,   250,   252,
10533      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
10534      263,   387,   399,   400,   401,   402,   144,   214,   127,   147,
10535      214,   283,   329,   131,   120,   131,   121,   309,   310,   354,
10536      355,   329,   332,   333,   311,   316,   320,   321,   121,   321,
10537      121,   321,   321,    85,   147,   199,   201,   203,   207,   208,
10538      214,   227,   233,   250,   255,   301,   123,   118,   118,   123,
10539        1,    68,    78,    80,    81,    88,    91,    92,    93,    94,
10540       96,    98,    99,   120,   122,   123,   126,   148,   149,   150,
10541      151,   152,   153,   154,   155,   170,   171,   173,   174,   177,
10542      178,   179,   180,   181,   182,   183,   184,   185,   186,   190,
10543      194,   195,   196,   197,   214,   222,   247,   301,   313,   315,
10544      321,   329,   334,   335,   364,    80,    81,   214,   269,   273,
10545      283,   286,   289,   297,   304,   305,     1,   126,   196,   197,
10546      145,   214,     1,   214,   271,   272,     1,   126,   272,   305,
10547       65,   200,   202,   204,   205,   206,   214,   301,     1,   126,
10548      196,   197,   305,     1,   126,   196,   197,     1,   126,   196,
10549      197,   145,   214,   125,   125,   125,   127,   329,   314,   318,
10550      321,     1,   124,   369,   376,   377,   369,   376,   377,     1,
10551      123,   125,   125,   329,   123,   132,   144,   214,   242,   263,
10552      267,   268,   125,   127,   147,   214,   126,   127,   126,   127,
10553      321,    37,   120,   131,   133,   143,   145,   214,   269,   275,
10554      283,   285,   290,   311,   312,   321,   327,   329,   330,   333,
10555        1,   121,   125,     1,   121,   125,     1,   125,     1,   125,
10556      121,   121,   314,   120,   314,   120,   120,     1,   123,     1,
10557      126,     1,    37,    38,   123,   214,   269,   275,   283,   286,
10558      290,   321,   346,   347,     1,   123,     1,   365,   368,   376,
10559      377,   365,   368,    52,    53,    54,    55,    56,    57,    58,
10560       59,    60,    61,    62,    85,    86,    88,    89,    90,   123,
10561      129,   147,   191,   192,   193,   214,   222,   227,   243,   245,
10562      250,   263,   264,   265,   326,   356,   357,   360,   361,   362,
10563      369,   370,   371,   372,   373,   374,   376,   377,   379,   380,
10564      381,   382,   383,   384,   126,    31,   214,   387,   214,   209,
10565      210,   212,   213,   311,   312,   318,   321,   329,   334,   336,
10566      369,   377,   211,   302,   124,   241,   242,   262,   121,     1,
10567      120,   174,   218,   223,   226,   228,   248,   249,   251,   120,
10568      227,   250,   227,   250,   120,   214,   269,   275,   283,   286,
10569      290,   308,   267,   120,   120,   308,   267,   120,   120,   120,
10570      120,   120,   120,   228,   251,   121,   243,   245,   265,   275,
10571      283,   285,   290,   298,   348,   387,   127,   132,   175,   176,
10572      219,   224,   243,   127,     1,   126,   127,   214,     1,     7,
10573        8,     9,   120,   128,   131,    18,    19,    20,    21,    22,
10574       23,    24,    25,    26,    27,   124,   244,   176,   219,   220,
10575      230,   252,   117,   137,   138,   134,   135,    10,    11,   233,
10576      255,    12,    13,   118,   119,    14,    15,   133,   139,   140,
10577       16,    17,   141,   244,   121,     7,     8,     9,   120,   128,
10578      131,   244,   117,   137,   138,   134,   135,    10,    11,    12,
10579       13,   118,   119,    14,    15,   133,   139,   140,    16,    17,
10580      141,   244,   121,   121,   107,   214,   301,   394,   397,   398,
10581      127,   127,   132,   144,   267,   268,   132,   144,   267,   268,
10582      121,   121,   121,   121,   311,   316,   320,   121,   121,   311,
10583       11,   119,   125,   124,   120,   321,   329,   330,    65,   206,
10584      214,   301,   206,     1,   214,   269,   283,   286,   297,   306,
10585      301,   334,   335,   120,   147,   214,   214,   301,     1,   120,
10586      306,   117,   120,   214,   301,   123,   326,   376,   377,   376,
10587      377,   376,   123,   376,   377,   123,     1,   126,     1,     1,
10588      123,   125,   125,    69,    70,    91,    95,    97,   126,    69,
10589       70,   126,   123,     1,   194,   195,     1,   194,   195,     1,
10590      124,   120,   129,   214,   287,   288,   311,   317,   319,   321,
10591      329,   336,   337,   338,     1,   301,   309,   352,   329,   315,
10592      321,   120,   129,   154,   155,   170,   171,   173,   174,   183,
10593      214,   301,   118,   147,   214,   214,   269,   283,   286,   118,
10594      118,   124,   125,     1,   123,   127,    28,   146,   214,   119,
10595      125,   124,   214,   330,   332,   344,   344,   344,   123,   125,
10596      126,   156,   157,   158,   159,   160,   161,   162,   163,   164,
10597      165,   166,   167,   219,   220,   222,   242,   263,   300,   341,
10598      342,   311,   314,   316,   318,   320,   311,   318,   127,   243,
10599      264,   339,   340,   376,   377,   376,   377,   344,   345,   344,
10600      345,   132,   132,   132,    51,   350,   351,     1,   272,   127,
10601      127,     1,   126,   196,   197,     1,   126,   196,   197,   127,
10602      121,   214,   309,   310,   321,   329,   330,   354,   355,   132,
10603      144,   267,   268,   321,   329,   333,   329,   120,   131,   327,
10604        1,     1,   125,     1,    51,   214,   350,   351,   125,     1,
10605       51,   214,   350,   351,   125,     1,    51,   214,   350,   351,
10606      125,    51,   214,   350,   351,     3,    28,    44,    74,    75,
10607      121,   323,   324,   325,   243,   144,   214,   126,   127,   123,
10608      123,   129,   267,   268,   129,   120,   120,     1,   120,    52,
10609       53,    54,    56,    57,    58,    59,    62,    86,   214,   265,
10610      326,   356,   379,   383,   120,   214,   123,   123,   123,   219,
10611      220,   245,   265,   120,   283,   120,   120,   187,   214,   123,
10612      123,   123,   129,   128,   244,     1,   128,   123,   125,   245,
10613      265,   244,   121,   125,   245,     1,   371,   372,   371,   372,
10614      356,   357,   365,   368,   356,   357,   365,   368,     1,     1,
10615      387,   387,   145,   214,   127,   127,   329,   318,   321,   369,
10616      377,   369,   377,   377,   242,   141,   123,   141,    65,   143,
10617      214,   227,   250,   275,   283,   285,   290,   299,   349,     1,
10618        1,     7,     8,     9,   120,   128,   131,     7,     8,     9,
10619      120,   128,   131,   214,   300,   118,   120,   131,   214,   269,
10620      275,   283,   286,   290,   321,   328,   329,   331,   214,   269,
10621      275,   283,   286,   290,   307,   245,   348,   376,   214,   131,
10622      331,   307,   243,   387,   387,   387,   243,   227,   250,   349,
10623      121,   214,   275,   283,   285,   290,   330,   121,   128,     1,
10624      166,   167,     1,   126,   125,   132,     1,   166,   167,   126,
10625        1,   166,   167,     1,   214,   121,   220,   224,   225,   264,
10626        1,   214,   245,   265,   219,   243,     1,   230,   252,   230,
10627      252,   230,   252,   231,   253,   231,   253,   232,   254,   232,
10628      254,   233,   255,   233,   255,   233,   255,   219,   220,   235,
10629      256,   219,   220,   235,   256,   219,   220,   236,   257,   219,
10630      220,   237,   258,   219,   220,   238,   259,   239,   260,   240,
10631      261,   129,   219,   220,   245,   246,   265,   266,   219,   243,
10632        1,   214,   121,   224,   225,     1,   214,   245,   265,   219,
10633      243,   230,   252,   230,   252,   230,   252,   231,   253,   231,
10634      253,   232,   254,   232,   254,   233,   255,   233,   255,   233,
10635      255,   233,   255,   219,   220,   235,   256,   219,   220,   235,
10636      256,   219,   220,   236,   257,   219,   220,   237,   258,   219,
10637      220,   238,   259,   239,   260,   240,   261,   129,   245,   246,
10638      265,   266,   219,   243,   118,   119,   214,   395,   396,   214,
10639      126,   394,   397,   398,   398,   132,   132,   132,   132,   132,
10640      132,   207,   199,   201,   203,   214,   321,   329,   119,   124,
10641      330,   119,   127,   118,   127,   214,   269,   283,   286,   330,
10642      321,   329,   336,   337,   187,   288,   311,   321,   329,   127,
10643      214,   127,   214,   330,   214,   321,   120,   123,   126,   177,
10644      178,   177,   178,   376,   376,   376,   216,   376,   376,     1,
10645      341,   342,   121,   267,   268,   127,   125,     1,   301,   309,
10646      352,   329,   311,   319,   321,   129,   326,   214,   120,   315,
10647      315,   214,     1,     1,   288,   208,   118,   206,   206,   267,
10648      268,   271,   196,   197,     1,   126,   272,   124,   129,   124,
10649      129,   205,   201,   214,   124,   214,   124,   376,   377,     1,
10650      123,   125,   123,   125,   123,   158,   159,   162,   163,   164,
10651      126,   156,   159,   123,   126,   158,   159,   162,   163,   164,
10652      124,    37,   336,   337,   338,   339,   340,   343,     1,   126,
10653      272,     1,   126,   272,     1,   126,   196,   197,   321,   329,
10654      330,   121,   121,   121,   132,   132,   132,   329,   327,   121,
10655      354,   355,   132,   144,   267,   268,   350,   351,   301,   350,
10656      350,   350,   351,   121,   120,   121,   125,   324,   121,   121,
10657      121,     1,   166,   167,   356,   357,   365,   368,   129,   129,
10658      356,   357,   365,   368,   245,   265,   245,   265,   121,   245,
10659      265,   129,   267,   268,   129,   120,   120,   356,   120,   220,
10660      265,   120,   129,    56,     1,   121,   123,   214,   245,   265,
10661      378,   123,   123,   123,   123,   123,   387,   120,   243,   243,
10662      214,   356,   357,   365,   368,    90,   220,   264,    88,    89,
10663       90,   243,   264,   220,   264,   243,   264,   118,   318,   377,
10664      377,   123,   245,   246,   265,   266,   245,   246,   265,   266,
10665      143,   144,   121,   143,   275,   283,   285,   290,   330,   121,
10666        1,   214,   121,   224,   225,     1,   214,   245,   265,     1,
10667      214,   121,   224,   225,     1,   214,   245,   265,   121,   121,
10668      330,   208,   121,   321,   331,   354,   355,   267,   268,   118,
10669      329,   120,   328,   131,   118,   131,   214,   269,   275,   283,
10670      286,   290,   331,   121,   121,   121,   121,   267,   268,   131,
10671      131,   331,   125,   121,   125,   125,   125,   121,   121,   230,
10672      252,   387,     1,   126,   219,   243,     1,     1,   121,   125,
10673      121,   132,   132,     1,   125,   129,   129,   125,   129,   129,
10674      121,   132,   132,   129,   129,   129,   129,   214,   214,   123,
10675      125,   214,   387,   126,   126,   321,   329,   201,   208,   118,
10676      127,   127,   214,   329,   321,   121,   329,   311,   121,   127,
10677      127,   214,   121,     1,   166,   167,   287,   321,   214,   120,
10678      311,   319,   319,   267,   268,   120,   121,   119,   208,   119,
10679      119,   123,     1,   123,   199,   198,   301,   199,   198,   203,
10680      124,   127,     1,   160,   161,     1,   160,   161,   377,     1,
10681      341,   342,   125,   126,   339,   340,     1,   123,     1,   123,
10682      329,   327,   121,   121,   121,   132,   132,   132,   330,   333,
10683      245,   121,   324,     1,   356,   357,   365,   368,   356,   357,
10684      365,   368,   121,   121,   121,   121,     1,   356,   121,   245,
10685      356,   357,   129,   129,   265,   121,   245,   265,    56,   265,
10686      378,   387,   120,   356,   129,   123,     1,   123,     1,   121,
10687      265,   378,     3,   121,   129,   387,   121,   121,   125,   120,
10688      120,   187,   129,   129,   129,   129,   129,   129,   129,   129,
10689      121,   121,     1,   121,   121,   132,   132,   121,   132,   132,
10690      121,   119,   321,   329,   331,   121,   121,   121,   132,   132,
10691      208,   328,   121,   354,   355,   267,   268,   208,   267,   268,
10692      118,   131,   120,   339,   132,   132,   267,   268,   267,   268,
10693      131,   348,   214,   214,   243,     1,   220,   264,   219,   220,
10694      219,   220,   242,   262,   219,   220,   242,   262,   219,   220,
10695      219,   220,   242,   262,   219,   220,   242,   262,   219,   220,
10696      242,   262,   219,   220,   242,   262,   219,   220,   242,   262,
10697      219,   220,   242,   262,   395,   123,   123,   119,   208,   127,
10698      376,   311,   124,   127,     1,   120,   129,   129,   119,   196,
10699      197,   123,   196,   197,   124,   330,   124,   203,   343,   126,
10700      339,   340,     1,   196,   197,   196,   197,   121,   356,   356,
10701      356,   356,   356,   357,   121,   120,   378,   121,   245,   265,
10702      245,   356,     1,   121,   245,   265,   131,   358,   359,   387,
10703      123,   359,     3,   121,   129,   127,   187,   243,   243,     1,
10704        1,   328,   121,   119,   121,   121,   132,   132,   119,   132,
10705      132,   208,   267,   268,   348,   132,   132,   132,   132,   267,
10706      268,   121,   121,   121,   121,   119,   341,   267,   268,   267,
10707      268,   196,   197,   199,   199,   125,   126,     1,    64,    64,
10708      245,   265,   121,   245,   265,   121,   123,   121,   123,   356,
10709      357,   121,   356,   357,   214,   121,   125,   129,   120,     3,
10710      121,   129,   359,   123,   359,    73,   187,   188,   189,   121,
10711      121,   121,   125,   119,   132,   132,   121,   132,   132,   123,
10712      126,   356,   356,   121,   121,   123,   356,   245,   356,   357,
10713      132,   123,   358,   359,   243,   359,   123,   359,   121,   129,
10714        3,   121,   129,   376,   376,   126,   188,   127,   187,   230,
10715      252,   339,   121,   387,   121,   121,   121,   121,   129,   123,
10716      359,   359,   123,   359,   189,   121,   356,   120,   123,   123,
10717      123,   359,   121,   121,   121,   129,   126,   243,   121,   123,
10718      123,   123,   359,   121,   123,   121,   123
10719 };
10720
10721 #define yyerrok         (yyerrstatus = 0)
10722 #define yyclearin       (yychar = YYEMPTY)
10723 #define YYEMPTY         (-2)
10724 #define YYEOF           0
10725
10726 #define YYACCEPT        goto yyacceptlab
10727 #define YYABORT         goto yyabortlab
10728 #define YYERROR         goto yyerrorlab
10729
10730
10731 /* Like YYERROR except do call yyerror.  This remains here temporarily
10732    to ease the transition to the new meaning of YYERROR, for GCC.
10733    Once GCC version 2 has supplanted version 1, this can go.  However,
10734    YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
10735    in Bison 2.4.2's NEWS entry, where a plan to phase it out is
10736    discussed.  */
10737
10738 #define YYFAIL          goto yyerrlab
10739 #if defined YYFAIL
10740   /* This is here to suppress warnings from the GCC cpp's
10741      -Wunused-macros.  Normally we don't worry about that warning, but
10742      some users do, and we want to make it easy for users to remove
10743      YYFAIL uses, which will produce warnings from Bison 2.5.  */
10744 #endif
10745
10746 #define YYRECOVERING()  (!!yyerrstatus)
10747
10748 #define YYBACKUP(Token, Value)                                  \
10749 do                                                              \
10750   if (yychar == YYEMPTY && yylen == 1)                          \
10751     {                                                           \
10752       yychar = (Token);                                         \
10753       yylval = (Value);                                         \
10754       yytoken = YYTRANSLATE (yychar);                           \
10755       YYPOPSTACK (1);                                           \
10756       goto yybackup;                                            \
10757     }                                                           \
10758   else                                                          \
10759     {                                                           \
10760       yyerror (YY_("syntax error: cannot back up")); \
10761       YYERROR;                                                  \
10762     }                                                           \
10763 while (YYID (0))
10764
10765
10766 #define YYTERROR        1
10767 #define YYERRCODE       256
10768
10769
10770 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
10771    If N is 0, then set CURRENT to the empty location which ends
10772    the previous symbol: RHS[0] (always defined).  */
10773
10774 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
10775 #ifndef YYLLOC_DEFAULT
10776 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
10777     do                                                                  \
10778       if (YYID (N))                                                    \
10779         {                                                               \
10780           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
10781           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
10782           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
10783           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
10784         }                                                               \
10785       else                                                              \
10786         {                                                               \
10787           (Current).first_line   = (Current).last_line   =              \
10788             YYRHSLOC (Rhs, 0).last_line;                                \
10789           (Current).first_column = (Current).last_column =              \
10790             YYRHSLOC (Rhs, 0).last_column;                              \
10791         }                                                               \
10792     while (YYID (0))
10793 #endif
10794
10795
10796 /* YY_LOCATION_PRINT -- Print the location on the stream.
10797    This macro was not mandated originally: define only if we know
10798    we won't break user code: when these are the locations we know.  */
10799
10800 #ifndef YY_LOCATION_PRINT
10801 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
10802 #  define YY_LOCATION_PRINT(File, Loc)                  \
10803      fprintf (File, "%d.%d-%d.%d",                      \
10804               (Loc).first_line, (Loc).first_column,     \
10805               (Loc).last_line,  (Loc).last_column)
10806 # else
10807 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
10808 # endif
10809 #endif
10810
10811
10812 /* YYLEX -- calling `yylex' with the right arguments.  */
10813
10814 #ifdef YYLEX_PARAM
10815 # define YYLEX yylex (YYLEX_PARAM)
10816 #else
10817 # define YYLEX yylex ()
10818 #endif
10819
10820 /* Enable debugging if requested.  */
10821 #if YYDEBUG
10822
10823 # ifndef YYFPRINTF
10824 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
10825 #  define YYFPRINTF fprintf
10826 # endif
10827
10828 # define YYDPRINTF(Args)                        \
10829 do {                                            \
10830   if (yydebug)                                  \
10831     YYFPRINTF Args;                             \
10832 } while (YYID (0))
10833
10834 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
10835 do {                                                                      \
10836   if (yydebug)                                                            \
10837     {                                                                     \
10838       YYFPRINTF (stderr, "%s ", Title);                                   \
10839       yy_symbol_print (stderr,                                            \
10840                   Type, Value, Location); \
10841       YYFPRINTF (stderr, "\n");                                           \
10842     }                                                                     \
10843 } while (YYID (0))
10844
10845
10846 /*--------------------------------.
10847 | Print this symbol on YYOUTPUT.  |
10848 `--------------------------------*/
10849
10850 /*ARGSUSED*/
10851 #if (defined __STDC__ || defined __C99__FUNC__ \
10852      || defined __cplusplus || defined _MSC_VER)
10853 static void
10854 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
10855 #else
10856 static void
10857 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp)
10858     FILE *yyoutput;
10859     int yytype;
10860     YYSTYPE const * const yyvaluep;
10861     YYLTYPE const * const yylocationp;
10862 #endif
10863 {
10864   if (!yyvaluep)
10865     return;
10866   YYUSE (yylocationp);
10867 # ifdef YYPRINT
10868   if (yytype < YYNTOKENS)
10869     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
10870 # else
10871   YYUSE (yyoutput);
10872 # endif
10873   switch (yytype)
10874     {
10875       default:
10876         break;
10877     }
10878 }
10879
10880
10881 /*--------------------------------.
10882 | Print this symbol on YYOUTPUT.  |
10883 `--------------------------------*/
10884
10885 #if (defined __STDC__ || defined __C99__FUNC__ \
10886      || defined __cplusplus || defined _MSC_VER)
10887 static void
10888 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
10889 #else
10890 static void
10891 yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp)
10892     FILE *yyoutput;
10893     int yytype;
10894     YYSTYPE const * const yyvaluep;
10895     YYLTYPE const * const yylocationp;
10896 #endif
10897 {
10898   if (yytype < YYNTOKENS)
10899     YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
10900   else
10901     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
10902
10903   YY_LOCATION_PRINT (yyoutput, *yylocationp);
10904   YYFPRINTF (yyoutput, ": ");
10905   yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp);
10906   YYFPRINTF (yyoutput, ")");
10907 }
10908
10909 /*------------------------------------------------------------------.
10910 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
10911 | TOP (included).                                                   |
10912 `------------------------------------------------------------------*/
10913
10914 #if (defined __STDC__ || defined __C99__FUNC__ \
10915      || defined __cplusplus || defined _MSC_VER)
10916 static void
10917 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
10918 #else
10919 static void
10920 yy_stack_print (yybottom, yytop)
10921     yytype_int16 *yybottom;
10922     yytype_int16 *yytop;
10923 #endif
10924 {
10925   YYFPRINTF (stderr, "Stack now");
10926   for (; yybottom <= yytop; yybottom++)
10927     {
10928       int yybot = *yybottom;
10929       YYFPRINTF (stderr, " %d", yybot);
10930     }
10931   YYFPRINTF (stderr, "\n");
10932 }
10933
10934 # define YY_STACK_PRINT(Bottom, Top)                            \
10935 do {                                                            \
10936   if (yydebug)                                                  \
10937     yy_stack_print ((Bottom), (Top));                           \
10938 } while (YYID (0))
10939
10940
10941 /*------------------------------------------------.
10942 | Report that the YYRULE is going to be reduced.  |
10943 `------------------------------------------------*/
10944
10945 #if (defined __STDC__ || defined __C99__FUNC__ \
10946      || defined __cplusplus || defined _MSC_VER)
10947 static void
10948 yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule)
10949 #else
10950 static void
10951 yy_reduce_print (yyvsp, yylsp, yyrule)
10952     YYSTYPE *yyvsp;
10953     YYLTYPE *yylsp;
10954     int yyrule;
10955 #endif
10956 {
10957   int yynrhs = yyr2[yyrule];
10958   int yyi;
10959   unsigned long int yylno = yyrline[yyrule];
10960   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
10961              yyrule - 1, yylno);
10962   /* The symbols being reduced.  */
10963   for (yyi = 0; yyi < yynrhs; yyi++)
10964     {
10965       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
10966       yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
10967                        &(yyvsp[(yyi + 1) - (yynrhs)])
10968                        , &(yylsp[(yyi + 1) - (yynrhs)])                );
10969       YYFPRINTF (stderr, "\n");
10970     }
10971 }
10972
10973 # define YY_REDUCE_PRINT(Rule)          \
10974 do {                                    \
10975   if (yydebug)                          \
10976     yy_reduce_print (yyvsp, yylsp, Rule); \
10977 } while (YYID (0))
10978
10979 /* Nonzero means print parse trace.  It is left uninitialized so that
10980    multiple parsers can coexist.  */
10981 int yydebug;
10982 #else /* !YYDEBUG */
10983 # define YYDPRINTF(Args)
10984 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
10985 # define YY_STACK_PRINT(Bottom, Top)
10986 # define YY_REDUCE_PRINT(Rule)
10987 #endif /* !YYDEBUG */
10988
10989
10990 /* YYINITDEPTH -- initial size of the parser's stacks.  */
10991 #ifndef YYINITDEPTH
10992 # define YYINITDEPTH 200
10993 #endif
10994
10995 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
10996    if the built-in stack extension method is used).
10997
10998    Do not make this value too large; the results are undefined if
10999    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
11000    evaluated with infinite-precision integer arithmetic.  */
11001
11002 #ifndef YYMAXDEPTH
11003 # define YYMAXDEPTH 10000
11004 #endif
11005
11006 \f
11007
11008 #if YYERROR_VERBOSE
11009
11010 # ifndef yystrlen
11011 #  if defined __GLIBC__ && defined _STRING_H
11012 #   define yystrlen strlen
11013 #  else
11014 /* Return the length of YYSTR.  */
11015 #if (defined __STDC__ || defined __C99__FUNC__ \
11016      || defined __cplusplus || defined _MSC_VER)
11017 static YYSIZE_T
11018 yystrlen (const char *yystr)
11019 #else
11020 static YYSIZE_T
11021 yystrlen (yystr)
11022     const char *yystr;
11023 #endif
11024 {
11025   YYSIZE_T yylen;
11026   for (yylen = 0; yystr[yylen]; yylen++)
11027     continue;
11028   return yylen;
11029 }
11030 #  endif
11031 # endif
11032
11033 # ifndef yystpcpy
11034 #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
11035 #   define yystpcpy stpcpy
11036 #  else
11037 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
11038    YYDEST.  */
11039 #if (defined __STDC__ || defined __C99__FUNC__ \
11040      || defined __cplusplus || defined _MSC_VER)
11041 static char *
11042 yystpcpy (char *yydest, const char *yysrc)
11043 #else
11044 static char *
11045 yystpcpy (yydest, yysrc)
11046     char *yydest;
11047     const char *yysrc;
11048 #endif
11049 {
11050   char *yyd = yydest;
11051   const char *yys = yysrc;
11052
11053   while ((*yyd++ = *yys++) != '\0')
11054     continue;
11055
11056   return yyd - 1;
11057 }
11058 #  endif
11059 # endif
11060
11061 # ifndef yytnamerr
11062 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
11063    quotes and backslashes, so that it's suitable for yyerror.  The
11064    heuristic is that double-quoting is unnecessary unless the string
11065    contains an apostrophe, a comma, or backslash (other than
11066    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
11067    null, do not copy; instead, return the length of what the result
11068    would have been.  */
11069 static YYSIZE_T
11070 yytnamerr (char *yyres, const char *yystr)
11071 {
11072   if (*yystr == '"')
11073     {
11074       YYSIZE_T yyn = 0;
11075       char const *yyp = yystr;
11076
11077       for (;;)
11078         switch (*++yyp)
11079           {
11080           case '\'':
11081           case ',':
11082             goto do_not_strip_quotes;
11083
11084           case '\\':
11085             if (*++yyp != '\\')
11086               goto do_not_strip_quotes;
11087             /* Fall through.  */
11088           default:
11089             if (yyres)
11090               yyres[yyn] = *yyp;
11091             yyn++;
11092             break;
11093
11094           case '"':
11095             if (yyres)
11096               yyres[yyn] = '\0';
11097             return yyn;
11098           }
11099     do_not_strip_quotes: ;
11100     }
11101
11102   if (! yyres)
11103     return yystrlen (yystr);
11104
11105   return yystpcpy (yyres, yystr) - yyres;
11106 }
11107 # endif
11108
11109 /* Copy into YYRESULT an error message about the unexpected token
11110    YYCHAR while in state YYSTATE.  Return the number of bytes copied,
11111    including the terminating null byte.  If YYRESULT is null, do not
11112    copy anything; just return the number of bytes that would be
11113    copied.  As a special case, return 0 if an ordinary "syntax error"
11114    message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
11115    size calculation.  */
11116 static YYSIZE_T
11117 yysyntax_error (char *yyresult, int yystate, int yychar)
11118 {
11119   int yyn = yypact[yystate];
11120
11121   if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
11122     return 0;
11123   else
11124     {
11125       int yytype = YYTRANSLATE (yychar);
11126       YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
11127       YYSIZE_T yysize = yysize0;
11128       YYSIZE_T yysize1;
11129       int yysize_overflow = 0;
11130       enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
11131       char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
11132       int yyx;
11133
11134 # if 0
11135       /* This is so xgettext sees the translatable formats that are
11136          constructed on the fly.  */
11137       YY_("syntax error, unexpected %s");
11138       YY_("syntax error, unexpected %s, expecting %s");
11139       YY_("syntax error, unexpected %s, expecting %s or %s");
11140       YY_("syntax error, unexpected %s, expecting %s or %s or %s");
11141       YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
11142 # endif
11143       char *yyfmt;
11144       char const *yyf;
11145       static char const yyunexpected[] = "syntax error, unexpected %s";
11146       static char const yyexpecting[] = ", expecting %s";
11147       static char const yyor[] = " or %s";
11148       char yyformat[sizeof yyunexpected
11149                     + sizeof yyexpecting - 1
11150                     + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
11151                        * (sizeof yyor - 1))];
11152       char const *yyprefix = yyexpecting;
11153
11154       /* Start YYX at -YYN if negative to avoid negative indexes in
11155          YYCHECK.  */
11156       int yyxbegin = yyn < 0 ? -yyn : 0;
11157
11158       /* Stay within bounds of both yycheck and yytname.  */
11159       int yychecklim = YYLAST - yyn + 1;
11160       int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
11161       int yycount = 1;
11162
11163       yyarg[0] = yytname[yytype];
11164       yyfmt = yystpcpy (yyformat, yyunexpected);
11165
11166       for (yyx = yyxbegin; yyx < yyxend; ++yyx)
11167         if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
11168           {
11169             if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
11170               {
11171                 yycount = 1;
11172                 yysize = yysize0;
11173                 yyformat[sizeof yyunexpected - 1] = '\0';
11174                 break;
11175               }
11176             yyarg[yycount++] = yytname[yyx];
11177             yysize1 = yysize + yytnamerr (0, yytname[yyx]);
11178             yysize_overflow |= (yysize1 < yysize);
11179             yysize = yysize1;
11180             yyfmt = yystpcpy (yyfmt, yyprefix);
11181             yyprefix = yyor;
11182           }
11183
11184       yyf = YY_(yyformat);
11185       yysize1 = yysize + yystrlen (yyf);
11186       yysize_overflow |= (yysize1 < yysize);
11187       yysize = yysize1;
11188
11189       if (yysize_overflow)
11190         return YYSIZE_MAXIMUM;
11191
11192       if (yyresult)
11193         {
11194           /* Avoid sprintf, as that infringes on the user's name space.
11195              Don't have undefined behavior even if the translation
11196              produced a string with the wrong number of "%s"s.  */
11197           char *yyp = yyresult;
11198           int yyi = 0;
11199           while ((*yyp = *yyf) != '\0')
11200             {
11201               if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
11202                 {
11203                   yyp += yytnamerr (yyp, yyarg[yyi++]);
11204                   yyf += 2;
11205                 }
11206               else
11207                 {
11208                   yyp++;
11209                   yyf++;
11210                 }
11211             }
11212         }
11213       return yysize;
11214     }
11215 }
11216 #endif /* YYERROR_VERBOSE */
11217 \f
11218
11219 /*-----------------------------------------------.
11220 | Release the memory associated to this symbol.  |
11221 `-----------------------------------------------*/
11222
11223 /*ARGSUSED*/
11224 #if (defined __STDC__ || defined __C99__FUNC__ \
11225      || defined __cplusplus || defined _MSC_VER)
11226 static void
11227 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp)
11228 #else
11229 static void
11230 yydestruct (yymsg, yytype, yyvaluep, yylocationp)
11231     const char *yymsg;
11232     int yytype;
11233     YYSTYPE *yyvaluep;
11234     YYLTYPE *yylocationp;
11235 #endif
11236 {
11237   YYUSE (yyvaluep);
11238   YYUSE (yylocationp);
11239
11240   if (!yymsg)
11241     yymsg = "Deleting";
11242   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
11243
11244   switch (yytype)
11245     {
11246       case 143: /* "guess_type" */
11247
11248 /* Line 1009 of yacc.c  */
11249 #line 210 "grammar.y"
11250         { FreeSpecifier((yyvaluep->specifier)); };
11251
11252 /* Line 1009 of yacc.c  */
11253 #line 11254 "grammar.ec"
11254         break;
11255       case 144: /* "type" */
11256
11257 /* Line 1009 of yacc.c  */
11258 #line 210 "grammar.y"
11259         { FreeSpecifier((yyvaluep->specifier)); };
11260
11261 /* Line 1009 of yacc.c  */
11262 #line 11263 "grammar.ec"
11263         break;
11264       case 145: /* "base_strict_type" */
11265
11266 /* Line 1009 of yacc.c  */
11267 #line 210 "grammar.y"
11268         { FreeSpecifier((yyvaluep->specifier)); };
11269
11270 /* Line 1009 of yacc.c  */
11271 #line 11272 "grammar.ec"
11272         break;
11273       case 146: /* "base_strict_type_name" */
11274
11275 /* Line 1009 of yacc.c  */
11276 #line 245 "grammar.y"
11277         { delete (yyvaluep->string); };
11278
11279 /* Line 1009 of yacc.c  */
11280 #line 11281 "grammar.ec"
11281         break;
11282       case 147: /* "strict_type" */
11283
11284 /* Line 1009 of yacc.c  */
11285 #line 210 "grammar.y"
11286         { FreeSpecifier((yyvaluep->specifier)); };
11287
11288 /* Line 1009 of yacc.c  */
11289 #line 11290 "grammar.ec"
11290         break;
11291       case 148: /* "class_function_definition_start" */
11292
11293 /* Line 1009 of yacc.c  */
11294 #line 237 "grammar.y"
11295         { FreeClassFunction((yyvaluep->classFunction)); };
11296
11297 /* Line 1009 of yacc.c  */
11298 #line 11299 "grammar.ec"
11299         break;
11300       case 149: /* "constructor_function_definition_start" */
11301
11302 /* Line 1009 of yacc.c  */
11303 #line 237 "grammar.y"
11304         { FreeClassFunction((yyvaluep->classFunction)); };
11305
11306 /* Line 1009 of yacc.c  */
11307 #line 11308 "grammar.ec"
11308         break;
11309       case 150: /* "destructor_function_definition_start" */
11310
11311 /* Line 1009 of yacc.c  */
11312 #line 237 "grammar.y"
11313         { FreeClassFunction((yyvaluep->classFunction)); };
11314
11315 /* Line 1009 of yacc.c  */
11316 #line 11317 "grammar.ec"
11317         break;
11318       case 151: /* "virtual_class_function_definition_start" */
11319
11320 /* Line 1009 of yacc.c  */
11321 #line 237 "grammar.y"
11322         { FreeClassFunction((yyvaluep->classFunction)); };
11323
11324 /* Line 1009 of yacc.c  */
11325 #line 11326 "grammar.ec"
11326         break;
11327       case 152: /* "class_function_definition_start_error" */
11328
11329 /* Line 1009 of yacc.c  */
11330 #line 237 "grammar.y"
11331         { FreeClassFunction((yyvaluep->classFunction)); };
11332
11333 /* Line 1009 of yacc.c  */
11334 #line 11335 "grammar.ec"
11335         break;
11336       case 153: /* "virtual_class_function_definition_start_error" */
11337
11338 /* Line 1009 of yacc.c  */
11339 #line 237 "grammar.y"
11340         { FreeClassFunction((yyvaluep->classFunction)); };
11341
11342 /* Line 1009 of yacc.c  */
11343 #line 11344 "grammar.ec"
11344         break;
11345       case 154: /* "class_function_definition" */
11346
11347 /* Line 1009 of yacc.c  */
11348 #line 237 "grammar.y"
11349         { FreeClassFunction((yyvaluep->classFunction)); };
11350
11351 /* Line 1009 of yacc.c  */
11352 #line 11353 "grammar.ec"
11353         break;
11354       case 155: /* "class_function_definition_error" */
11355
11356 /* Line 1009 of yacc.c  */
11357 #line 237 "grammar.y"
11358         { FreeClassFunction((yyvaluep->classFunction)); };
11359
11360 /* Line 1009 of yacc.c  */
11361 #line 11362 "grammar.ec"
11362         break;
11363       case 156: /* "instance_class_function_definition_start" */
11364
11365 /* Line 1009 of yacc.c  */
11366 #line 237 "grammar.y"
11367         { FreeClassFunction((yyvaluep->classFunction)); };
11368
11369 /* Line 1009 of yacc.c  */
11370 #line 11371 "grammar.ec"
11371         break;
11372       case 157: /* "instance_class_function_definition_start_error" */
11373
11374 /* Line 1009 of yacc.c  */
11375 #line 237 "grammar.y"
11376         { FreeClassFunction((yyvaluep->classFunction)); };
11377
11378 /* Line 1009 of yacc.c  */
11379 #line 11380 "grammar.ec"
11380         break;
11381       case 158: /* "instance_class_function_definition" */
11382
11383 /* Line 1009 of yacc.c  */
11384 #line 237 "grammar.y"
11385         { FreeClassFunction((yyvaluep->classFunction)); };
11386
11387 /* Line 1009 of yacc.c  */
11388 #line 11389 "grammar.ec"
11389         break;
11390       case 159: /* "instance_class_function_definition_error" */
11391
11392 /* Line 1009 of yacc.c  */
11393 #line 237 "grammar.y"
11394         { FreeClassFunction((yyvaluep->classFunction)); };
11395
11396 /* Line 1009 of yacc.c  */
11397 #line 11398 "grammar.ec"
11398         break;
11399       case 160: /* "data_member_initialization" */
11400
11401 /* Line 1009 of yacc.c  */
11402 #line 235 "grammar.y"
11403         { FreeMemberInit((yyvaluep->memberInit)); };
11404
11405 /* Line 1009 of yacc.c  */
11406 #line 11407 "grammar.ec"
11407         break;
11408       case 161: /* "data_member_initialization_error" */
11409
11410 /* Line 1009 of yacc.c  */
11411 #line 235 "grammar.y"
11412         { FreeMemberInit((yyvaluep->memberInit)); };
11413
11414 /* Line 1009 of yacc.c  */
11415 #line 11416 "grammar.ec"
11416         break;
11417       case 162: /* "data_member_initialization_list" */
11418
11419 /* Line 1009 of yacc.c  */
11420 #line 260 "grammar.y"
11421         { FreeList((yyvaluep->list), FreeMemberInit); };
11422
11423 /* Line 1009 of yacc.c  */
11424 #line 11425 "grammar.ec"
11425         break;
11426       case 163: /* "data_member_initialization_list_error" */
11427
11428 /* Line 1009 of yacc.c  */
11429 #line 260 "grammar.y"
11430         { FreeList((yyvaluep->list), FreeMemberInit); };
11431
11432 /* Line 1009 of yacc.c  */
11433 #line 11434 "grammar.ec"
11434         break;
11435       case 164: /* "data_member_initialization_list_coloned" */
11436
11437 /* Line 1009 of yacc.c  */
11438 #line 260 "grammar.y"
11439         { FreeList((yyvaluep->list), FreeMemberInit); };
11440
11441 /* Line 1009 of yacc.c  */
11442 #line 11443 "grammar.ec"
11443         break;
11444       case 165: /* "members_initialization_list_coloned" */
11445
11446 /* Line 1009 of yacc.c  */
11447 #line 261 "grammar.y"
11448         { FreeList((yyvaluep->list), FreeMembersInit); };
11449
11450 /* Line 1009 of yacc.c  */
11451 #line 11452 "grammar.ec"
11452         break;
11453       case 166: /* "members_initialization_list" */
11454
11455 /* Line 1009 of yacc.c  */
11456 #line 261 "grammar.y"
11457         { FreeList((yyvaluep->list), FreeMembersInit); };
11458
11459 /* Line 1009 of yacc.c  */
11460 #line 11461 "grammar.ec"
11461         break;
11462       case 167: /* "members_initialization_list_error" */
11463
11464 /* Line 1009 of yacc.c  */
11465 #line 261 "grammar.y"
11466         { FreeList((yyvaluep->list), FreeMembersInit); };
11467
11468 /* Line 1009 of yacc.c  */
11469 #line 11470 "grammar.ec"
11470         break;
11471       case 168: /* "instantiation_named" */
11472
11473 /* Line 1009 of yacc.c  */
11474 #line 233 "grammar.y"
11475         { FreeInstance((yyvaluep->instance)); };
11476
11477 /* Line 1009 of yacc.c  */
11478 #line 11479 "grammar.ec"
11479         break;
11480       case 169: /* "instantiation_named_error" */
11481
11482 /* Line 1009 of yacc.c  */
11483 #line 233 "grammar.y"
11484         { FreeInstance((yyvaluep->instance)); };
11485
11486 /* Line 1009 of yacc.c  */
11487 #line 11488 "grammar.ec"
11488         break;
11489       case 173: /* "instantiation_unnamed" */
11490
11491 /* Line 1009 of yacc.c  */
11492 #line 233 "grammar.y"
11493         { FreeInstance((yyvaluep->instance)); };
11494
11495 /* Line 1009 of yacc.c  */
11496 #line 11497 "grammar.ec"
11497         break;
11498       case 174: /* "instantiation_unnamed_error" */
11499
11500 /* Line 1009 of yacc.c  */
11501 #line 233 "grammar.y"
11502         { FreeInstance((yyvaluep->instance)); };
11503
11504 /* Line 1009 of yacc.c  */
11505 #line 11506 "grammar.ec"
11506         break;
11507       case 177: /* "default_property" */
11508
11509 /* Line 1009 of yacc.c  */
11510 #line 235 "grammar.y"
11511         { FreeMemberInit((yyvaluep->memberInit)); };
11512
11513 /* Line 1009 of yacc.c  */
11514 #line 11515 "grammar.ec"
11515         break;
11516       case 178: /* "default_property_error" */
11517
11518 /* Line 1009 of yacc.c  */
11519 #line 235 "grammar.y"
11520         { FreeMemberInit((yyvaluep->memberInit)); };
11521
11522 /* Line 1009 of yacc.c  */
11523 #line 11524 "grammar.ec"
11524         break;
11525       case 179: /* "default_property_list" */
11526
11527 /* Line 1009 of yacc.c  */
11528 #line 260 "grammar.y"
11529         { FreeList((yyvaluep->list), FreeMemberInit); };
11530
11531 /* Line 1009 of yacc.c  */
11532 #line 11533 "grammar.ec"
11533         break;
11534       case 180: /* "default_property_list_error" */
11535
11536 /* Line 1009 of yacc.c  */
11537 #line 260 "grammar.y"
11538         { FreeList((yyvaluep->list), FreeMemberInit); };
11539
11540 /* Line 1009 of yacc.c  */
11541 #line 11542 "grammar.ec"
11542         break;
11543       case 183: /* "property" */
11544
11545 /* Line 1009 of yacc.c  */
11546 #line 246 "grammar.y"
11547         { FreeProperty((yyvaluep->prop)); };
11548
11549 /* Line 1009 of yacc.c  */
11550 #line 11551 "grammar.ec"
11551         break;
11552       case 194: /* "struct_declaration" */
11553
11554 /* Line 1009 of yacc.c  */
11555 #line 244 "grammar.y"
11556         { FreeClassDef((yyvaluep->classDef)); };
11557
11558 /* Line 1009 of yacc.c  */
11559 #line 11560 "grammar.ec"
11560         break;
11561       case 195: /* "struct_declaration_error" */
11562
11563 /* Line 1009 of yacc.c  */
11564 #line 244 "grammar.y"
11565         { FreeClassDef((yyvaluep->classDef)); };
11566
11567 /* Line 1009 of yacc.c  */
11568 #line 11569 "grammar.ec"
11569         break;
11570       case 196: /* "struct_declaration_list" */
11571
11572 /* Line 1009 of yacc.c  */
11573 #line 259 "grammar.y"
11574         { FreeList((yyvaluep->list), FreeClassDef); };
11575
11576 /* Line 1009 of yacc.c  */
11577 #line 11578 "grammar.ec"
11578         break;
11579       case 197: /* "struct_declaration_list_error" */
11580
11581 /* Line 1009 of yacc.c  */
11582 #line 259 "grammar.y"
11583         { FreeList((yyvaluep->list), FreeClassDef); };
11584
11585 /* Line 1009 of yacc.c  */
11586 #line 11587 "grammar.ec"
11587         break;
11588       case 198: /* "template_datatype" */
11589
11590 /* Line 1009 of yacc.c  */
11591 #line 265 "grammar.y"
11592         { FreeTemplateDataType((yyvaluep->templateDatatype)); };
11593
11594 /* Line 1009 of yacc.c  */
11595 #line 11596 "grammar.ec"
11596         break;
11597       case 199: /* "template_type_argument" */
11598
11599 /* Line 1009 of yacc.c  */
11600 #line 264 "grammar.y"
11601         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11602
11603 /* Line 1009 of yacc.c  */
11604 #line 11605 "grammar.ec"
11605         break;
11606       case 200: /* "template_type_parameter" */
11607
11608 /* Line 1009 of yacc.c  */
11609 #line 263 "grammar.y"
11610         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11611
11612 /* Line 1009 of yacc.c  */
11613 #line 11614 "grammar.ec"
11614         break;
11615       case 201: /* "template_identifier_argument" */
11616
11617 /* Line 1009 of yacc.c  */
11618 #line 264 "grammar.y"
11619         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11620
11621 /* Line 1009 of yacc.c  */
11622 #line 11623 "grammar.ec"
11623         break;
11624       case 202: /* "template_identifier_parameter" */
11625
11626 /* Line 1009 of yacc.c  */
11627 #line 263 "grammar.y"
11628         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11629
11630 /* Line 1009 of yacc.c  */
11631 #line 11632 "grammar.ec"
11632         break;
11633       case 203: /* "template_expression_argument" */
11634
11635 /* Line 1009 of yacc.c  */
11636 #line 264 "grammar.y"
11637         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11638
11639 /* Line 1009 of yacc.c  */
11640 #line 11641 "grammar.ec"
11641         break;
11642       case 204: /* "template_expression_parameter" */
11643
11644 /* Line 1009 of yacc.c  */
11645 #line 263 "grammar.y"
11646         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11647
11648 /* Line 1009 of yacc.c  */
11649 #line 11650 "grammar.ec"
11650         break;
11651       case 205: /* "template_parameter" */
11652
11653 /* Line 1009 of yacc.c  */
11654 #line 263 "grammar.y"
11655         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11656
11657 /* Line 1009 of yacc.c  */
11658 #line 11659 "grammar.ec"
11659         break;
11660       case 206: /* "template_parameters_list" */
11661
11662 /* Line 1009 of yacc.c  */
11663 #line 266 "grammar.y"
11664         { FreeList((yyvaluep->list), FreeTemplateParameter); };
11665
11666 /* Line 1009 of yacc.c  */
11667 #line 11668 "grammar.ec"
11668         break;
11669       case 207: /* "template_argument" */
11670
11671 /* Line 1009 of yacc.c  */
11672 #line 264 "grammar.y"
11673         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11674
11675 /* Line 1009 of yacc.c  */
11676 #line 11677 "grammar.ec"
11677         break;
11678       case 208: /* "template_arguments_list" */
11679
11680 /* Line 1009 of yacc.c  */
11681 #line 267 "grammar.y"
11682         { FreeList((yyvaluep->list), FreeTemplateArgument); };
11683
11684 /* Line 1009 of yacc.c  */
11685 #line 11686 "grammar.ec"
11686         break;
11687       case 209: /* "class_entry" */
11688
11689 /* Line 1009 of yacc.c  */
11690 #line 241 "grammar.y"
11691         { Context ctx = curContext; PopContext(ctx); FreeContext(ctx); delete ctx; };
11692
11693 /* Line 1009 of yacc.c  */
11694 #line 11695 "grammar.ec"
11695         break;
11696       case 210: /* "class_decl" */
11697
11698 /* Line 1009 of yacc.c  */
11699 #line 242 "grammar.y"
11700         { Context ctx = curContext; PopContext(ctx); FreeContext(ctx); delete ctx; };
11701
11702 /* Line 1009 of yacc.c  */
11703 #line 11704 "grammar.ec"
11704         break;
11705       case 211: /* "class" */
11706
11707 /* Line 1009 of yacc.c  */
11708 #line 243 "grammar.y"
11709         { FreeClass((yyvaluep->_class)); };
11710
11711 /* Line 1009 of yacc.c  */
11712 #line 11713 "grammar.ec"
11713         break;
11714       case 212: /* "class_head" */
11715
11716 /* Line 1009 of yacc.c  */
11717 #line 243 "grammar.y"
11718         { FreeClass((yyvaluep->_class)); };
11719
11720 /* Line 1009 of yacc.c  */
11721 #line 11722 "grammar.ec"
11722         break;
11723       case 213: /* "class_error" */
11724
11725 /* Line 1009 of yacc.c  */
11726 #line 243 "grammar.y"
11727         { FreeClass((yyvaluep->_class)); };
11728
11729 /* Line 1009 of yacc.c  */
11730 #line 11731 "grammar.ec"
11731         break;
11732       case 214: /* "identifier" */
11733
11734 /* Line 1009 of yacc.c  */
11735 #line 197 "grammar.y"
11736         { FreeIdentifier((yyvaluep->id)); };
11737
11738 /* Line 1009 of yacc.c  */
11739 #line 11740 "grammar.ec"
11740         break;
11741       case 215: /* "primary_expression" */
11742
11743 /* Line 1009 of yacc.c  */
11744 #line 199 "grammar.y"
11745         { FreeExpression((yyvaluep->exp)); };
11746
11747 /* Line 1009 of yacc.c  */
11748 #line 11749 "grammar.ec"
11749         break;
11750       case 216: /* "i18n_string" */
11751
11752 /* Line 1009 of yacc.c  */
11753 #line 199 "grammar.y"
11754         { FreeExpression((yyvaluep->exp)); };
11755
11756 /* Line 1009 of yacc.c  */
11757 #line 11758 "grammar.ec"
11758         break;
11759       case 221: /* "primary_expression_error" */
11760
11761 /* Line 1009 of yacc.c  */
11762 #line 199 "grammar.y"
11763         { FreeExpression((yyvaluep->exp)); };
11764
11765 /* Line 1009 of yacc.c  */
11766 #line 11767 "grammar.ec"
11767         break;
11768       case 222: /* "postfix_expression" */
11769
11770 /* Line 1009 of yacc.c  */
11771 #line 199 "grammar.y"
11772         { FreeExpression((yyvaluep->exp)); };
11773
11774 /* Line 1009 of yacc.c  */
11775 #line 11776 "grammar.ec"
11776         break;
11777       case 224: /* "argument_expression_list" */
11778
11779 /* Line 1009 of yacc.c  */
11780 #line 248 "grammar.y"
11781         { FreeList((yyvaluep->list), FreeExpression); };
11782
11783 /* Line 1009 of yacc.c  */
11784 #line 11785 "grammar.ec"
11785         break;
11786       case 225: /* "argument_expression_list_error" */
11787
11788 /* Line 1009 of yacc.c  */
11789 #line 248 "grammar.y"
11790         { FreeList((yyvaluep->list), FreeExpression); };
11791
11792 /* Line 1009 of yacc.c  */
11793 #line 11794 "grammar.ec"
11794         break;
11795       case 227: /* "unary_expression" */
11796
11797 /* Line 1009 of yacc.c  */
11798 #line 199 "grammar.y"
11799         { FreeExpression((yyvaluep->exp)); };
11800
11801 /* Line 1009 of yacc.c  */
11802 #line 11803 "grammar.ec"
11803         break;
11804       case 230: /* "cast_expression" */
11805
11806 /* Line 1009 of yacc.c  */
11807 #line 199 "grammar.y"
11808         { FreeExpression((yyvaluep->exp)); };
11809
11810 /* Line 1009 of yacc.c  */
11811 #line 11812 "grammar.ec"
11812         break;
11813       case 231: /* "multiplicative_expression" */
11814
11815 /* Line 1009 of yacc.c  */
11816 #line 199 "grammar.y"
11817         { FreeExpression((yyvaluep->exp)); };
11818
11819 /* Line 1009 of yacc.c  */
11820 #line 11821 "grammar.ec"
11821         break;
11822       case 232: /* "additive_expression" */
11823
11824 /* Line 1009 of yacc.c  */
11825 #line 199 "grammar.y"
11826         { FreeExpression((yyvaluep->exp)); };
11827
11828 /* Line 1009 of yacc.c  */
11829 #line 11830 "grammar.ec"
11830         break;
11831       case 233: /* "shift_expression" */
11832
11833 /* Line 1009 of yacc.c  */
11834 #line 199 "grammar.y"
11835         { FreeExpression((yyvaluep->exp)); };
11836
11837 /* Line 1009 of yacc.c  */
11838 #line 11839 "grammar.ec"
11839         break;
11840       case 235: /* "relational_expression" */
11841
11842 /* Line 1009 of yacc.c  */
11843 #line 199 "grammar.y"
11844         { FreeExpression((yyvaluep->exp)); };
11845
11846 /* Line 1009 of yacc.c  */
11847 #line 11848 "grammar.ec"
11848         break;
11849       case 236: /* "equality_expression" */
11850
11851 /* Line 1009 of yacc.c  */
11852 #line 199 "grammar.y"
11853         { FreeExpression((yyvaluep->exp)); };
11854
11855 /* Line 1009 of yacc.c  */
11856 #line 11857 "grammar.ec"
11857         break;
11858       case 237: /* "and_expression" */
11859
11860 /* Line 1009 of yacc.c  */
11861 #line 199 "grammar.y"
11862         { FreeExpression((yyvaluep->exp)); };
11863
11864 /* Line 1009 of yacc.c  */
11865 #line 11866 "grammar.ec"
11866         break;
11867       case 238: /* "exclusive_or_expression" */
11868
11869 /* Line 1009 of yacc.c  */
11870 #line 199 "grammar.y"
11871         { FreeExpression((yyvaluep->exp)); };
11872
11873 /* Line 1009 of yacc.c  */
11874 #line 11875 "grammar.ec"
11875         break;
11876       case 239: /* "inclusive_or_expression" */
11877
11878 /* Line 1009 of yacc.c  */
11879 #line 199 "grammar.y"
11880         { FreeExpression((yyvaluep->exp)); };
11881
11882 /* Line 1009 of yacc.c  */
11883 #line 11884 "grammar.ec"
11884         break;
11885       case 240: /* "logical_and_expression" */
11886
11887 /* Line 1009 of yacc.c  */
11888 #line 199 "grammar.y"
11889         { FreeExpression((yyvaluep->exp)); };
11890
11891 /* Line 1009 of yacc.c  */
11892 #line 11893 "grammar.ec"
11893         break;
11894       case 241: /* "logical_or_expression" */
11895
11896 /* Line 1009 of yacc.c  */
11897 #line 199 "grammar.y"
11898         { FreeExpression((yyvaluep->exp)); };
11899
11900 /* Line 1009 of yacc.c  */
11901 #line 11902 "grammar.ec"
11902         break;
11903       case 242: /* "conditional_expression" */
11904
11905 /* Line 1009 of yacc.c  */
11906 #line 199 "grammar.y"
11907         { FreeExpression((yyvaluep->exp)); };
11908
11909 /* Line 1009 of yacc.c  */
11910 #line 11911 "grammar.ec"
11911         break;
11912       case 243: /* "assignment_expression" */
11913
11914 /* Line 1009 of yacc.c  */
11915 #line 199 "grammar.y"
11916         { FreeExpression((yyvaluep->exp)); };
11917
11918 /* Line 1009 of yacc.c  */
11919 #line 11920 "grammar.ec"
11920         break;
11921       case 245: /* "expression" */
11922
11923 /* Line 1009 of yacc.c  */
11924 #line 248 "grammar.y"
11925         { FreeList((yyvaluep->list), FreeExpression); };
11926
11927 /* Line 1009 of yacc.c  */
11928 #line 11929 "grammar.ec"
11929         break;
11930       case 247: /* "postfix_expression_error" */
11931
11932 /* Line 1009 of yacc.c  */
11933 #line 199 "grammar.y"
11934         { FreeExpression((yyvaluep->exp)); };
11935
11936 /* Line 1009 of yacc.c  */
11937 #line 11938 "grammar.ec"
11938         break;
11939       case 250: /* "unary_expression_error" */
11940
11941 /* Line 1009 of yacc.c  */
11942 #line 199 "grammar.y"
11943         { FreeExpression((yyvaluep->exp)); };
11944
11945 /* Line 1009 of yacc.c  */
11946 #line 11947 "grammar.ec"
11947         break;
11948       case 252: /* "cast_expression_error" */
11949
11950 /* Line 1009 of yacc.c  */
11951 #line 199 "grammar.y"
11952         { FreeExpression((yyvaluep->exp)); };
11953
11954 /* Line 1009 of yacc.c  */
11955 #line 11956 "grammar.ec"
11956         break;
11957       case 253: /* "multiplicative_expression_error" */
11958
11959 /* Line 1009 of yacc.c  */
11960 #line 199 "grammar.y"
11961         { FreeExpression((yyvaluep->exp)); };
11962
11963 /* Line 1009 of yacc.c  */
11964 #line 11965 "grammar.ec"
11965         break;
11966       case 254: /* "additive_expression_error" */
11967
11968 /* Line 1009 of yacc.c  */
11969 #line 199 "grammar.y"
11970         { FreeExpression((yyvaluep->exp)); };
11971
11972 /* Line 1009 of yacc.c  */
11973 #line 11974 "grammar.ec"
11974         break;
11975       case 255: /* "shift_expression_error" */
11976
11977 /* Line 1009 of yacc.c  */
11978 #line 199 "grammar.y"
11979         { FreeExpression((yyvaluep->exp)); };
11980
11981 /* Line 1009 of yacc.c  */
11982 #line 11983 "grammar.ec"
11983         break;
11984       case 256: /* "relational_expression_error" */
11985
11986 /* Line 1009 of yacc.c  */
11987 #line 199 "grammar.y"
11988         { FreeExpression((yyvaluep->exp)); };
11989
11990 /* Line 1009 of yacc.c  */
11991 #line 11992 "grammar.ec"
11992         break;
11993       case 257: /* "equality_expression_error" */
11994
11995 /* Line 1009 of yacc.c  */
11996 #line 199 "grammar.y"
11997         { FreeExpression((yyvaluep->exp)); };
11998
11999 /* Line 1009 of yacc.c  */
12000 #line 12001 "grammar.ec"
12001         break;
12002       case 258: /* "and_expression_error" */
12003
12004 /* Line 1009 of yacc.c  */
12005 #line 199 "grammar.y"
12006         { FreeExpression((yyvaluep->exp)); };
12007
12008 /* Line 1009 of yacc.c  */
12009 #line 12010 "grammar.ec"
12010         break;
12011       case 259: /* "exclusive_or_expression_error" */
12012
12013 /* Line 1009 of yacc.c  */
12014 #line 199 "grammar.y"
12015         { FreeExpression((yyvaluep->exp)); };
12016
12017 /* Line 1009 of yacc.c  */
12018 #line 12019 "grammar.ec"
12019         break;
12020       case 260: /* "inclusive_or_expression_error" */
12021
12022 /* Line 1009 of yacc.c  */
12023 #line 199 "grammar.y"
12024         { FreeExpression((yyvaluep->exp)); };
12025
12026 /* Line 1009 of yacc.c  */
12027 #line 12028 "grammar.ec"
12028         break;
12029       case 261: /* "logical_and_expression_error" */
12030
12031 /* Line 1009 of yacc.c  */
12032 #line 199 "grammar.y"
12033         { FreeExpression((yyvaluep->exp)); };
12034
12035 /* Line 1009 of yacc.c  */
12036 #line 12037 "grammar.ec"
12037         break;
12038       case 262: /* "logical_or_expression_error" */
12039
12040 /* Line 1009 of yacc.c  */
12041 #line 199 "grammar.y"
12042         { FreeExpression((yyvaluep->exp)); };
12043
12044 /* Line 1009 of yacc.c  */
12045 #line 12046 "grammar.ec"
12046         break;
12047       case 263: /* "conditional_expression_error" */
12048
12049 /* Line 1009 of yacc.c  */
12050 #line 199 "grammar.y"
12051         { FreeExpression((yyvaluep->exp)); };
12052
12053 /* Line 1009 of yacc.c  */
12054 #line 12055 "grammar.ec"
12055         break;
12056       case 264: /* "assignment_expression_error" */
12057
12058 /* Line 1009 of yacc.c  */
12059 #line 199 "grammar.y"
12060         { FreeExpression((yyvaluep->exp)); };
12061
12062 /* Line 1009 of yacc.c  */
12063 #line 12064 "grammar.ec"
12064         break;
12065       case 265: /* "expression_error" */
12066
12067 /* Line 1009 of yacc.c  */
12068 #line 248 "grammar.y"
12069         { FreeList((yyvaluep->list), FreeExpression); };
12070
12071 /* Line 1009 of yacc.c  */
12072 #line 12073 "grammar.ec"
12073         break;
12074       case 267: /* "constant_expression" */
12075
12076 /* Line 1009 of yacc.c  */
12077 #line 199 "grammar.y"
12078         { FreeExpression((yyvaluep->exp)); };
12079
12080 /* Line 1009 of yacc.c  */
12081 #line 12082 "grammar.ec"
12082         break;
12083       case 268: /* "constant_expression_error" */
12084
12085 /* Line 1009 of yacc.c  */
12086 #line 199 "grammar.y"
12087         { FreeExpression((yyvaluep->exp)); };
12088
12089 /* Line 1009 of yacc.c  */
12090 #line 12091 "grammar.ec"
12091         break;
12092       case 269: /* "storage_class_specifier" */
12093
12094 /* Line 1009 of yacc.c  */
12095 #line 210 "grammar.y"
12096         { FreeSpecifier((yyvaluep->specifier)); };
12097
12098 /* Line 1009 of yacc.c  */
12099 #line 12100 "grammar.ec"
12100         break;
12101       case 270: /* "external_storage_class_specifier" */
12102
12103 /* Line 1009 of yacc.c  */
12104 #line 210 "grammar.y"
12105         { FreeSpecifier((yyvaluep->specifier)); };
12106
12107 /* Line 1009 of yacc.c  */
12108 #line 12109 "grammar.ec"
12109         break;
12110       case 271: /* "enumerator" */
12111
12112 /* Line 1009 of yacc.c  */
12113 #line 215 "grammar.y"
12114         { FreeEnumerator((yyvaluep->enumerator)); };
12115
12116 /* Line 1009 of yacc.c  */
12117 #line 12118 "grammar.ec"
12118         break;
12119       case 272: /* "enumerator_list" */
12120
12121 /* Line 1009 of yacc.c  */
12122 #line 249 "grammar.y"
12123         { FreeList((yyvaluep->list), FreeEnumerator); };
12124
12125 /* Line 1009 of yacc.c  */
12126 #line 12127 "grammar.ec"
12127         break;
12128       case 274: /* "enum_specifier_nocompound" */
12129
12130 /* Line 1009 of yacc.c  */
12131 #line 210 "grammar.y"
12132         { FreeSpecifier((yyvaluep->specifier)); };
12133
12134 /* Line 1009 of yacc.c  */
12135 #line 12136 "grammar.ec"
12136         break;
12137       case 275: /* "enum_specifier_compound" */
12138
12139 /* Line 1009 of yacc.c  */
12140 #line 210 "grammar.y"
12141         { FreeSpecifier((yyvaluep->specifier)); };
12142
12143 /* Line 1009 of yacc.c  */
12144 #line 12145 "grammar.ec"
12145         break;
12146       case 276: /* "enum_specifier_compound_error" */
12147
12148 /* Line 1009 of yacc.c  */
12149 #line 210 "grammar.y"
12150         { FreeSpecifier((yyvaluep->specifier)); };
12151
12152 /* Line 1009 of yacc.c  */
12153 #line 12154 "grammar.ec"
12154         break;
12155       case 278: /* "enum_class" */
12156
12157 /* Line 1009 of yacc.c  */
12158 #line 210 "grammar.y"
12159         { FreeSpecifier((yyvaluep->specifier)); };
12160
12161 /* Line 1009 of yacc.c  */
12162 #line 12163 "grammar.ec"
12163         break;
12164       case 279: /* "enum_class_error" */
12165
12166 /* Line 1009 of yacc.c  */
12167 #line 210 "grammar.y"
12168         { FreeSpecifier((yyvaluep->specifier)); };
12169
12170 /* Line 1009 of yacc.c  */
12171 #line 12172 "grammar.ec"
12172         break;
12173       case 280: /* "class_specifier" */
12174
12175 /* Line 1009 of yacc.c  */
12176 #line 210 "grammar.y"
12177         { FreeSpecifier((yyvaluep->specifier)); };
12178
12179 /* Line 1009 of yacc.c  */
12180 #line 12181 "grammar.ec"
12181         break;
12182       case 281: /* "class_specifier_error" */
12183
12184 /* Line 1009 of yacc.c  */
12185 #line 210 "grammar.y"
12186         { FreeSpecifier((yyvaluep->specifier)); };
12187
12188 /* Line 1009 of yacc.c  */
12189 #line 12190 "grammar.ec"
12190         break;
12191       case 282: /* "ext_storage" */
12192
12193 /* Line 1009 of yacc.c  */
12194 #line 210 "grammar.y"
12195         { FreeSpecifier((yyvaluep->specifier)); };
12196
12197 /* Line 1009 of yacc.c  */
12198 #line 12199 "grammar.ec"
12199         break;
12200       case 283: /* "type_qualifier" */
12201
12202 /* Line 1009 of yacc.c  */
12203 #line 210 "grammar.y"
12204         { FreeSpecifier((yyvaluep->specifier)); };
12205
12206 /* Line 1009 of yacc.c  */
12207 #line 12208 "grammar.ec"
12208         break;
12209       case 284: /* "type_qualifier_list" */
12210
12211 /* Line 1009 of yacc.c  */
12212 #line 250 "grammar.y"
12213         { FreeList((yyvaluep->list), FreeSpecifier); };
12214
12215 /* Line 1009 of yacc.c  */
12216 #line 12217 "grammar.ec"
12217         break;
12218       case 285: /* "type_specifier" */
12219
12220 /* Line 1009 of yacc.c  */
12221 #line 210 "grammar.y"
12222         { FreeSpecifier((yyvaluep->specifier)); };
12223
12224 /* Line 1009 of yacc.c  */
12225 #line 12226 "grammar.ec"
12226         break;
12227       case 286: /* "strict_type_specifier" */
12228
12229 /* Line 1009 of yacc.c  */
12230 #line 210 "grammar.y"
12231         { FreeSpecifier((yyvaluep->specifier)); };
12232
12233 /* Line 1009 of yacc.c  */
12234 #line 12235 "grammar.ec"
12235         break;
12236       case 287: /* "struct_declarator" */
12237
12238 /* Line 1009 of yacc.c  */
12239 #line 216 "grammar.y"
12240         { FreeDeclarator((yyvaluep->declarator)); };
12241
12242 /* Line 1009 of yacc.c  */
12243 #line 12244 "grammar.ec"
12244         break;
12245       case 288: /* "struct_declarator_list" */
12246
12247 /* Line 1009 of yacc.c  */
12248 #line 252 "grammar.y"
12249         { FreeList((yyvaluep->list), FreeDeclarator); };
12250
12251 /* Line 1009 of yacc.c  */
12252 #line 12253 "grammar.ec"
12253         break;
12254       case 289: /* "struct_entry" */
12255
12256 /* Line 1009 of yacc.c  */
12257 #line 210 "grammar.y"
12258         { FreeSpecifier((yyvaluep->specifier)); };
12259
12260 /* Line 1009 of yacc.c  */
12261 #line 12262 "grammar.ec"
12262         break;
12263       case 290: /* "struct_or_union_specifier_compound" */
12264
12265 /* Line 1009 of yacc.c  */
12266 #line 210 "grammar.y"
12267         { FreeSpecifier((yyvaluep->specifier)); };
12268
12269 /* Line 1009 of yacc.c  */
12270 #line 12271 "grammar.ec"
12271         break;
12272       case 291: /* "struct_or_union_specifier_compound_error" */
12273
12274 /* Line 1009 of yacc.c  */
12275 #line 210 "grammar.y"
12276         { FreeSpecifier((yyvaluep->specifier)); };
12277
12278 /* Line 1009 of yacc.c  */
12279 #line 12280 "grammar.ec"
12280         break;
12281       case 292: /* "struct_or_union_specifier_nocompound" */
12282
12283 /* Line 1009 of yacc.c  */
12284 #line 210 "grammar.y"
12285         { FreeSpecifier((yyvaluep->specifier)); };
12286
12287 /* Line 1009 of yacc.c  */
12288 #line 12289 "grammar.ec"
12289         break;
12290       case 293: /* "struct_decl" */
12291
12292 /* Line 1009 of yacc.c  */
12293 #line 210 "grammar.y"
12294         { FreeSpecifier((yyvaluep->specifier)); };
12295
12296 /* Line 1009 of yacc.c  */
12297 #line 12298 "grammar.ec"
12298         break;
12299       case 294: /* "struct_head" */
12300
12301 /* Line 1009 of yacc.c  */
12302 #line 210 "grammar.y"
12303         { FreeSpecifier((yyvaluep->specifier)); };
12304
12305 /* Line 1009 of yacc.c  */
12306 #line 12307 "grammar.ec"
12307         break;
12308       case 295: /* "struct_class" */
12309
12310 /* Line 1009 of yacc.c  */
12311 #line 210 "grammar.y"
12312         { FreeSpecifier((yyvaluep->specifier)); };
12313
12314 /* Line 1009 of yacc.c  */
12315 #line 12316 "grammar.ec"
12316         break;
12317       case 296: /* "struct_class_error" */
12318
12319 /* Line 1009 of yacc.c  */
12320 #line 210 "grammar.y"
12321         { FreeSpecifier((yyvaluep->specifier)); };
12322
12323 /* Line 1009 of yacc.c  */
12324 #line 12325 "grammar.ec"
12325         break;
12326       case 298: /* "specifier_qualifier_list" */
12327
12328 /* Line 1009 of yacc.c  */
12329 #line 250 "grammar.y"
12330         { FreeList((yyvaluep->list), FreeSpecifier); };
12331
12332 /* Line 1009 of yacc.c  */
12333 #line 12334 "grammar.ec"
12334         break;
12335       case 299: /* "guess_specifier_qualifier_list" */
12336
12337 /* Line 1009 of yacc.c  */
12338 #line 250 "grammar.y"
12339         { FreeList((yyvaluep->list), FreeSpecifier); };
12340
12341 /* Line 1009 of yacc.c  */
12342 #line 12343 "grammar.ec"
12343         break;
12344       case 300: /* "declaration_specifiers" */
12345
12346 /* Line 1009 of yacc.c  */
12347 #line 250 "grammar.y"
12348         { FreeList((yyvaluep->list), FreeSpecifier); };
12349
12350 /* Line 1009 of yacc.c  */
12351 #line 12352 "grammar.ec"
12352         break;
12353       case 301: /* "guess_declaration_specifiers" */
12354
12355 /* Line 1009 of yacc.c  */
12356 #line 250 "grammar.y"
12357         { FreeList((yyvaluep->list), FreeSpecifier); };
12358
12359 /* Line 1009 of yacc.c  */
12360 #line 12361 "grammar.ec"
12361         break;
12362       case 302: /* "external_guess_declaration_specifiers" */
12363
12364 /* Line 1009 of yacc.c  */
12365 #line 250 "grammar.y"
12366         { FreeList((yyvaluep->list), FreeSpecifier); };
12367
12368 /* Line 1009 of yacc.c  */
12369 #line 12370 "grammar.ec"
12370         break;
12371       case 303: /* "external_guess_declaration_specifiers_error" */
12372
12373 /* Line 1009 of yacc.c  */
12374 #line 250 "grammar.y"
12375         { FreeList((yyvaluep->list), FreeSpecifier); };
12376
12377 /* Line 1009 of yacc.c  */
12378 #line 12379 "grammar.ec"
12379         break;
12380       case 304: /* "_inheritance_specifiers" */
12381
12382 /* Line 1009 of yacc.c  */
12383 #line 250 "grammar.y"
12384         { FreeList((yyvaluep->list), FreeSpecifier); };
12385
12386 /* Line 1009 of yacc.c  */
12387 #line 12388 "grammar.ec"
12388         break;
12389       case 305: /* "inheritance_specifiers" */
12390
12391 /* Line 1009 of yacc.c  */
12392 #line 250 "grammar.y"
12393         { FreeList((yyvaluep->list), FreeSpecifier); };
12394
12395 /* Line 1009 of yacc.c  */
12396 #line 12397 "grammar.ec"
12397         break;
12398       case 309: /* "identifier_list_error" */
12399
12400 /* Line 1009 of yacc.c  */
12401 #line 256 "grammar.y"
12402         { FreeList((yyvaluep->list), FreeTypeName); };
12403
12404 /* Line 1009 of yacc.c  */
12405 #line 12406 "grammar.ec"
12406         break;
12407       case 310: /* "identifier_list" */
12408
12409 /* Line 1009 of yacc.c  */
12410 #line 256 "grammar.y"
12411         { FreeList((yyvaluep->list), FreeTypeName); };
12412
12413 /* Line 1009 of yacc.c  */
12414 #line 12415 "grammar.ec"
12415         break;
12416       case 311: /* "direct_declarator_nofunction_type_ok" */
12417
12418 /* Line 1009 of yacc.c  */
12419 #line 216 "grammar.y"
12420         { FreeDeclarator((yyvaluep->declarator)); };
12421
12422 /* Line 1009 of yacc.c  */
12423 #line 12424 "grammar.ec"
12424         break;
12425       case 312: /* "direct_declarator_nofunction" */
12426
12427 /* Line 1009 of yacc.c  */
12428 #line 216 "grammar.y"
12429         { FreeDeclarator((yyvaluep->declarator)); };
12430
12431 /* Line 1009 of yacc.c  */
12432 #line 12433 "grammar.ec"
12433         break;
12434       case 313: /* "direct_declarator_function_start" */
12435
12436 /* Line 1009 of yacc.c  */
12437 #line 216 "grammar.y"
12438         { FreeDeclarator((yyvaluep->declarator)); };
12439
12440 /* Line 1009 of yacc.c  */
12441 #line 12442 "grammar.ec"
12442         break;
12443       case 314: /* "direct_declarator_function" */
12444
12445 /* Line 1009 of yacc.c  */
12446 #line 216 "grammar.y"
12447         { FreeDeclarator((yyvaluep->declarator)); };
12448
12449 /* Line 1009 of yacc.c  */
12450 #line 12451 "grammar.ec"
12451         break;
12452       case 315: /* "direct_declarator_function_error" */
12453
12454 /* Line 1009 of yacc.c  */
12455 #line 216 "grammar.y"
12456         { FreeDeclarator((yyvaluep->declarator)); };
12457
12458 /* Line 1009 of yacc.c  */
12459 #line 12460 "grammar.ec"
12460         break;
12461       case 316: /* "direct_declarator" */
12462
12463 /* Line 1009 of yacc.c  */
12464 #line 216 "grammar.y"
12465         { FreeDeclarator((yyvaluep->declarator)); };
12466
12467 /* Line 1009 of yacc.c  */
12468 #line 12469 "grammar.ec"
12469         break;
12470       case 317: /* "direct_declarator_function_start_type_ok" */
12471
12472 /* Line 1009 of yacc.c  */
12473 #line 216 "grammar.y"
12474         { FreeDeclarator((yyvaluep->declarator)); };
12475
12476 /* Line 1009 of yacc.c  */
12477 #line 12478 "grammar.ec"
12478         break;
12479       case 318: /* "direct_declarator_function_type_ok" */
12480
12481 /* Line 1009 of yacc.c  */
12482 #line 216 "grammar.y"
12483         { FreeDeclarator((yyvaluep->declarator)); };
12484
12485 /* Line 1009 of yacc.c  */
12486 #line 12487 "grammar.ec"
12487         break;
12488       case 319: /* "direct_declarator_function_error_type_ok" */
12489
12490 /* Line 1009 of yacc.c  */
12491 #line 216 "grammar.y"
12492         { FreeDeclarator((yyvaluep->declarator)); };
12493
12494 /* Line 1009 of yacc.c  */
12495 #line 12496 "grammar.ec"
12496         break;
12497       case 320: /* "direct_declarator_type_ok" */
12498
12499 /* Line 1009 of yacc.c  */
12500 #line 216 "grammar.y"
12501         { FreeDeclarator((yyvaluep->declarator)); };
12502
12503 /* Line 1009 of yacc.c  */
12504 #line 12505 "grammar.ec"
12505         break;
12506       case 321: /* "ext_decl" */
12507
12508 /* Line 1009 of yacc.c  */
12509 #line 270 "grammar.y"
12510         { FreeExtDecl((yyvaluep->extDecl)); };
12511
12512 /* Line 1009 of yacc.c  */
12513 #line 12514 "grammar.ec"
12514         break;
12515       case 323: /* "attribute_word" */
12516
12517 /* Line 1009 of yacc.c  */
12518 #line 245 "grammar.y"
12519         { delete (yyvaluep->string); };
12520
12521 /* Line 1009 of yacc.c  */
12522 #line 12523 "grammar.ec"
12523         break;
12524       case 324: /* "attribute" */
12525
12526 /* Line 1009 of yacc.c  */
12527 #line 271 "grammar.y"
12528         { FreeAttribute((yyvaluep->attribute)); };
12529
12530 /* Line 1009 of yacc.c  */
12531 #line 12532 "grammar.ec"
12532         break;
12533       case 325: /* "attribs_list" */
12534
12535 /* Line 1009 of yacc.c  */
12536 #line 272 "grammar.y"
12537         { FreeList((yyvaluep->list), FreeAttribute); };
12538
12539 /* Line 1009 of yacc.c  */
12540 #line 12541 "grammar.ec"
12541         break;
12542       case 326: /* "attrib" */
12543
12544 /* Line 1009 of yacc.c  */
12545 #line 269 "grammar.y"
12546         { FreeAttrib((yyvaluep->attrib)); };
12547
12548 /* Line 1009 of yacc.c  */
12549 #line 12550 "grammar.ec"
12550         break;
12551       case 327: /* "direct_abstract_declarator" */
12552
12553 /* Line 1009 of yacc.c  */
12554 #line 216 "grammar.y"
12555         { FreeDeclarator((yyvaluep->declarator)); };
12556
12557 /* Line 1009 of yacc.c  */
12558 #line 12559 "grammar.ec"
12559         break;
12560       case 328: /* "direct_abstract_declarator_noarray" */
12561
12562 /* Line 1009 of yacc.c  */
12563 #line 216 "grammar.y"
12564         { FreeDeclarator((yyvaluep->declarator)); };
12565
12566 /* Line 1009 of yacc.c  */
12567 #line 12568 "grammar.ec"
12568         break;
12569       case 329: /* "pointer" */
12570
12571 /* Line 1009 of yacc.c  */
12572 #line 198 "grammar.y"
12573         { FreePointer((yyvaluep->pointer)); };
12574
12575 /* Line 1009 of yacc.c  */
12576 #line 12577 "grammar.ec"
12577         break;
12578       case 330: /* "abstract_declarator" */
12579
12580 /* Line 1009 of yacc.c  */
12581 #line 216 "grammar.y"
12582         { FreeDeclarator((yyvaluep->declarator)); };
12583
12584 /* Line 1009 of yacc.c  */
12585 #line 12586 "grammar.ec"
12586         break;
12587       case 331: /* "abstract_declarator_noarray" */
12588
12589 /* Line 1009 of yacc.c  */
12590 #line 216 "grammar.y"
12591         { FreeDeclarator((yyvaluep->declarator)); };
12592
12593 /* Line 1009 of yacc.c  */
12594 #line 12595 "grammar.ec"
12595         break;
12596       case 332: /* "declarator" */
12597
12598 /* Line 1009 of yacc.c  */
12599 #line 216 "grammar.y"
12600         { FreeDeclarator((yyvaluep->declarator)); };
12601
12602 /* Line 1009 of yacc.c  */
12603 #line 12604 "grammar.ec"
12604         break;
12605       case 333: /* "declarator_type_ok" */
12606
12607 /* Line 1009 of yacc.c  */
12608 #line 216 "grammar.y"
12609         { FreeDeclarator((yyvaluep->declarator)); };
12610
12611 /* Line 1009 of yacc.c  */
12612 #line 12613 "grammar.ec"
12613         break;
12614       case 334: /* "declarator_function" */
12615
12616 /* Line 1009 of yacc.c  */
12617 #line 216 "grammar.y"
12618         { FreeDeclarator((yyvaluep->declarator)); };
12619
12620 /* Line 1009 of yacc.c  */
12621 #line 12622 "grammar.ec"
12622         break;
12623       case 335: /* "declarator_function_error" */
12624
12625 /* Line 1009 of yacc.c  */
12626 #line 216 "grammar.y"
12627         { FreeDeclarator((yyvaluep->declarator)); };
12628
12629 /* Line 1009 of yacc.c  */
12630 #line 12631 "grammar.ec"
12631         break;
12632       case 336: /* "declarator_function_type_ok" */
12633
12634 /* Line 1009 of yacc.c  */
12635 #line 216 "grammar.y"
12636         { FreeDeclarator((yyvaluep->declarator)); };
12637
12638 /* Line 1009 of yacc.c  */
12639 #line 12640 "grammar.ec"
12640         break;
12641       case 337: /* "declarator_function_error_type_ok" */
12642
12643 /* Line 1009 of yacc.c  */
12644 #line 216 "grammar.y"
12645         { FreeDeclarator((yyvaluep->declarator)); };
12646
12647 /* Line 1009 of yacc.c  */
12648 #line 12649 "grammar.ec"
12649         break;
12650       case 338: /* "declarator_nofunction_type_ok" */
12651
12652 /* Line 1009 of yacc.c  */
12653 #line 216 "grammar.y"
12654         { FreeDeclarator((yyvaluep->declarator)); };
12655
12656 /* Line 1009 of yacc.c  */
12657 #line 12658 "grammar.ec"
12658         break;
12659       case 339: /* "initializer" */
12660
12661 /* Line 1009 of yacc.c  */
12662 #line 222 "grammar.y"
12663         { FreeInitializer((yyvaluep->initializer)); };
12664
12665 /* Line 1009 of yacc.c  */
12666 #line 12667 "grammar.ec"
12667         break;
12668       case 340: /* "initializer_error" */
12669
12670 /* Line 1009 of yacc.c  */
12671 #line 222 "grammar.y"
12672         { FreeInitializer((yyvaluep->initializer)); };
12673
12674 /* Line 1009 of yacc.c  */
12675 #line 12676 "grammar.ec"
12676         break;
12677       case 341: /* "initializer_condition" */
12678
12679 /* Line 1009 of yacc.c  */
12680 #line 222 "grammar.y"
12681         { FreeInitializer((yyvaluep->initializer)); };
12682
12683 /* Line 1009 of yacc.c  */
12684 #line 12685 "grammar.ec"
12685         break;
12686       case 342: /* "initializer_condition_error" */
12687
12688 /* Line 1009 of yacc.c  */
12689 #line 222 "grammar.y"
12690         { FreeInitializer((yyvaluep->initializer)); };
12691
12692 /* Line 1009 of yacc.c  */
12693 #line 12694 "grammar.ec"
12694         break;
12695       case 343: /* "initializer_list" */
12696
12697 /* Line 1009 of yacc.c  */
12698 #line 254 "grammar.y"
12699         { FreeList((yyvaluep->list), FreeInitializer); };
12700
12701 /* Line 1009 of yacc.c  */
12702 #line 12703 "grammar.ec"
12703         break;
12704       case 344: /* "init_declarator" */
12705
12706 /* Line 1009 of yacc.c  */
12707 #line 223 "grammar.y"
12708         { FreeInitDeclarator((yyvaluep->initDeclarator)); };
12709
12710 /* Line 1009 of yacc.c  */
12711 #line 12712 "grammar.ec"
12712         break;
12713       case 345: /* "init_declarator_error" */
12714
12715 /* Line 1009 of yacc.c  */
12716 #line 223 "grammar.y"
12717         { FreeInitDeclarator((yyvaluep->initDeclarator)); };
12718
12719 /* Line 1009 of yacc.c  */
12720 #line 12721 "grammar.ec"
12721         break;
12722       case 346: /* "init_declarator_list" */
12723
12724 /* Line 1009 of yacc.c  */
12725 #line 255 "grammar.y"
12726         { FreeList((yyvaluep->list), FreeInitDeclarator); };
12727
12728 /* Line 1009 of yacc.c  */
12729 #line 12730 "grammar.ec"
12730         break;
12731       case 347: /* "init_declarator_list_error" */
12732
12733 /* Line 1009 of yacc.c  */
12734 #line 255 "grammar.y"
12735         { FreeList((yyvaluep->list), FreeInitDeclarator); };
12736
12737 /* Line 1009 of yacc.c  */
12738 #line 12739 "grammar.ec"
12739         break;
12740       case 348: /* "type_name" */
12741
12742 /* Line 1009 of yacc.c  */
12743 #line 224 "grammar.y"
12744         { FreeTypeName((yyvaluep->typeName)); };
12745
12746 /* Line 1009 of yacc.c  */
12747 #line 12748 "grammar.ec"
12748         break;
12749       case 349: /* "guess_type_name" */
12750
12751 /* Line 1009 of yacc.c  */
12752 #line 224 "grammar.y"
12753         { FreeTypeName((yyvaluep->typeName)); };
12754
12755 /* Line 1009 of yacc.c  */
12756 #line 12757 "grammar.ec"
12757         break;
12758       case 350: /* "parameter_declaration" */
12759
12760 /* Line 1009 of yacc.c  */
12761 #line 224 "grammar.y"
12762         { FreeTypeName((yyvaluep->typeName)); };
12763
12764 /* Line 1009 of yacc.c  */
12765 #line 12766 "grammar.ec"
12766         break;
12767       case 351: /* "parameter_declaration_error" */
12768
12769 /* Line 1009 of yacc.c  */
12770 #line 224 "grammar.y"
12771         { FreeTypeName((yyvaluep->typeName)); };
12772
12773 /* Line 1009 of yacc.c  */
12774 #line 12775 "grammar.ec"
12775         break;
12776       case 352: /* "parameter_list" */
12777
12778 /* Line 1009 of yacc.c  */
12779 #line 256 "grammar.y"
12780         { FreeList((yyvaluep->list), FreeTypeName); };
12781
12782 /* Line 1009 of yacc.c  */
12783 #line 12784 "grammar.ec"
12784         break;
12785       case 353: /* "parameter_list_error" */
12786
12787 /* Line 1009 of yacc.c  */
12788 #line 256 "grammar.y"
12789         { FreeList((yyvaluep->list), FreeTypeName); };
12790
12791 /* Line 1009 of yacc.c  */
12792 #line 12793 "grammar.ec"
12793         break;
12794       case 354: /* "parameter_type_list" */
12795
12796 /* Line 1009 of yacc.c  */
12797 #line 256 "grammar.y"
12798         { FreeList((yyvaluep->list), FreeTypeName); };
12799
12800 /* Line 1009 of yacc.c  */
12801 #line 12802 "grammar.ec"
12802         break;
12803       case 355: /* "parameter_type_list_error" */
12804
12805 /* Line 1009 of yacc.c  */
12806 #line 256 "grammar.y"
12807         { FreeList((yyvaluep->list), FreeTypeName); };
12808
12809 /* Line 1009 of yacc.c  */
12810 #line 12811 "grammar.ec"
12811         break;
12812       case 356: /* "statement" */
12813
12814 /* Line 1009 of yacc.c  */
12815 #line 225 "grammar.y"
12816         { FreeStatement((yyvaluep->stmt)); };
12817
12818 /* Line 1009 of yacc.c  */
12819 #line 12820 "grammar.ec"
12820         break;
12821       case 357: /* "statement_error" */
12822
12823 /* Line 1009 of yacc.c  */
12824 #line 225 "grammar.y"
12825         { FreeStatement((yyvaluep->stmt)); };
12826
12827 /* Line 1009 of yacc.c  */
12828 #line 12829 "grammar.ec"
12829         break;
12830       case 361: /* "labeled_statement" */
12831
12832 /* Line 1009 of yacc.c  */
12833 #line 225 "grammar.y"
12834         { FreeStatement((yyvaluep->stmt)); };
12835
12836 /* Line 1009 of yacc.c  */
12837 #line 12838 "grammar.ec"
12838         break;
12839       case 362: /* "labeled_statement_error" */
12840
12841 /* Line 1009 of yacc.c  */
12842 #line 225 "grammar.y"
12843         { FreeStatement((yyvaluep->stmt)); };
12844
12845 /* Line 1009 of yacc.c  */
12846 #line 12847 "grammar.ec"
12847         break;
12848       case 363: /* "declaration_mode" */
12849
12850 /* Line 1009 of yacc.c  */
12851 #line 268 "grammar.y"
12852         { };
12853
12854 /* Line 1009 of yacc.c  */
12855 #line 12856 "grammar.ec"
12856         break;
12857       case 365: /* "declaration" */
12858
12859 /* Line 1009 of yacc.c  */
12860 #line 229 "grammar.y"
12861         { FreeDeclaration((yyvaluep->declaration)); };
12862
12863 /* Line 1009 of yacc.c  */
12864 #line 12865 "grammar.ec"
12865         break;
12866       case 369: /* "declaration_list" */
12867
12868 /* Line 1009 of yacc.c  */
12869 #line 253 "grammar.y"
12870         { FreeList((yyvaluep->list), FreeDeclaration); };
12871
12872 /* Line 1009 of yacc.c  */
12873 #line 12874 "grammar.ec"
12874         break;
12875       case 370: /* "declaration_list_error" */
12876
12877 /* Line 1009 of yacc.c  */
12878 #line 253 "grammar.y"
12879         { FreeList((yyvaluep->list), FreeDeclaration); };
12880
12881 /* Line 1009 of yacc.c  */
12882 #line 12883 "grammar.ec"
12883         break;
12884       case 371: /* "statement_list" */
12885
12886 /* Line 1009 of yacc.c  */
12887 #line 257 "grammar.y"
12888         { FreeList((yyvaluep->list), FreeStatement); };
12889
12890 /* Line 1009 of yacc.c  */
12891 #line 12892 "grammar.ec"
12892         break;
12893       case 372: /* "statement_list_error" */
12894
12895 /* Line 1009 of yacc.c  */
12896 #line 257 "grammar.y"
12897         { FreeList((yyvaluep->list), FreeStatement); };
12898
12899 /* Line 1009 of yacc.c  */
12900 #line 12901 "grammar.ec"
12901         break;
12902       case 373: /* "compound_inside" */
12903
12904 /* Line 1009 of yacc.c  */
12905 #line 225 "grammar.y"
12906         { FreeStatement((yyvaluep->stmt)); };
12907
12908 /* Line 1009 of yacc.c  */
12909 #line 12910 "grammar.ec"
12910         break;
12911       case 374: /* "compound_inside_error" */
12912
12913 /* Line 1009 of yacc.c  */
12914 #line 225 "grammar.y"
12915         { FreeStatement((yyvaluep->stmt)); };
12916
12917 /* Line 1009 of yacc.c  */
12918 #line 12919 "grammar.ec"
12919         break;
12920       case 375: /* "compound_start" */
12921
12922 /* Line 1009 of yacc.c  */
12923 #line 262 "grammar.y"
12924         { PopContext((yyvaluep->context)); FreeContext((yyvaluep->context)); delete (yyvaluep->context); };
12925
12926 /* Line 1009 of yacc.c  */
12927 #line 12928 "grammar.ec"
12928         break;
12929       case 376: /* "compound_statement" */
12930
12931 /* Line 1009 of yacc.c  */
12932 #line 225 "grammar.y"
12933         { FreeStatement((yyvaluep->stmt)); };
12934
12935 /* Line 1009 of yacc.c  */
12936 #line 12937 "grammar.ec"
12937         break;
12938       case 377: /* "compound_statement_error" */
12939
12940 /* Line 1009 of yacc.c  */
12941 #line 225 "grammar.y"
12942         { FreeStatement((yyvaluep->stmt)); };
12943
12944 /* Line 1009 of yacc.c  */
12945 #line 12946 "grammar.ec"
12946         break;
12947       case 378: /* "expression_statement" */
12948
12949 /* Line 1009 of yacc.c  */
12950 #line 225 "grammar.y"
12951         { FreeStatement((yyvaluep->stmt)); };
12952
12953 /* Line 1009 of yacc.c  */
12954 #line 12955 "grammar.ec"
12955         break;
12956       case 379: /* "selection_statement" */
12957
12958 /* Line 1009 of yacc.c  */
12959 #line 225 "grammar.y"
12960         { FreeStatement((yyvaluep->stmt)); };
12961
12962 /* Line 1009 of yacc.c  */
12963 #line 12964 "grammar.ec"
12964         break;
12965       case 380: /* "selection_statement_error" */
12966
12967 /* Line 1009 of yacc.c  */
12968 #line 225 "grammar.y"
12969         { FreeStatement((yyvaluep->stmt)); };
12970
12971 /* Line 1009 of yacc.c  */
12972 #line 12973 "grammar.ec"
12973         break;
12974       case 381: /* "iteration_statement" */
12975
12976 /* Line 1009 of yacc.c  */
12977 #line 225 "grammar.y"
12978         { FreeStatement((yyvaluep->stmt)); };
12979
12980 /* Line 1009 of yacc.c  */
12981 #line 12982 "grammar.ec"
12982         break;
12983       case 382: /* "iteration_statement_error" */
12984
12985 /* Line 1009 of yacc.c  */
12986 #line 225 "grammar.y"
12987         { FreeStatement((yyvaluep->stmt)); };
12988
12989 /* Line 1009 of yacc.c  */
12990 #line 12991 "grammar.ec"
12991         break;
12992       case 383: /* "jump_statement" */
12993
12994 /* Line 1009 of yacc.c  */
12995 #line 225 "grammar.y"
12996         { FreeStatement((yyvaluep->stmt)); };
12997
12998 /* Line 1009 of yacc.c  */
12999 #line 13000 "grammar.ec"
13000         break;
13001       case 384: /* "jump_statement_error" */
13002
13003 /* Line 1009 of yacc.c  */
13004 #line 225 "grammar.y"
13005         { FreeStatement((yyvaluep->stmt)); };
13006
13007 /* Line 1009 of yacc.c  */
13008 #line 13009 "grammar.ec"
13009         break;
13010       case 385: /* "function_definition" */
13011
13012 /* Line 1009 of yacc.c  */
13013 #line 230 "grammar.y"
13014         { FreeFunction((yyvaluep->function)); };
13015
13016 /* Line 1009 of yacc.c  */
13017 #line 13018 "grammar.ec"
13018         break;
13019       case 386: /* "function_definition_error" */
13020
13021 /* Line 1009 of yacc.c  */
13022 #line 230 "grammar.y"
13023         { FreeFunction((yyvaluep->function)); };
13024
13025 /* Line 1009 of yacc.c  */
13026 #line 13027 "grammar.ec"
13027         break;
13028       case 387: /* "string_literal" */
13029
13030 /* Line 1009 of yacc.c  */
13031 #line 245 "grammar.y"
13032         { delete (yyvaluep->string); };
13033
13034 /* Line 1009 of yacc.c  */
13035 #line 13036 "grammar.ec"
13036         break;
13037       case 388: /* "external_declaration" */
13038
13039 /* Line 1009 of yacc.c  */
13040 #line 231 "grammar.y"
13041         { FreeExternal((yyvaluep->external)); };
13042
13043 /* Line 1009 of yacc.c  */
13044 #line 13045 "grammar.ec"
13045         break;
13046       case 389: /* "external_declaration_error" */
13047
13048 /* Line 1009 of yacc.c  */
13049 #line 231 "grammar.y"
13050         { FreeExternal((yyvaluep->external)); };
13051
13052 /* Line 1009 of yacc.c  */
13053 #line 13054 "grammar.ec"
13054         break;
13055       case 390: /* "translation_unit_error" */
13056
13057 /* Line 1009 of yacc.c  */
13058 #line 258 "grammar.y"
13059         { if((yyvaluep->list) != ast) FreeList((yyvaluep->list), FreeExternal); };
13060
13061 /* Line 1009 of yacc.c  */
13062 #line 13063 "grammar.ec"
13063         break;
13064       case 391: /* "translation_unit" */
13065
13066 /* Line 1009 of yacc.c  */
13067 #line 258 "grammar.y"
13068         { if((yyvaluep->list) != ast) FreeList((yyvaluep->list), FreeExternal); };
13069
13070 /* Line 1009 of yacc.c  */
13071 #line 13072 "grammar.ec"
13072         break;
13073
13074       default:
13075         break;
13076     }
13077 }
13078
13079 /* Prevent warnings from -Wmissing-prototypes.  */
13080 #ifdef YYPARSE_PARAM
13081 #if defined __STDC__ || defined __cplusplus
13082 int yyparse (void *YYPARSE_PARAM);
13083 #else
13084 int yyparse ();
13085 #endif
13086 #else /* ! YYPARSE_PARAM */
13087 #if defined __STDC__ || defined __cplusplus
13088 int yyparse (void);
13089 #else
13090 int yyparse ();
13091 #endif
13092 #endif /* ! YYPARSE_PARAM */
13093
13094
13095 /* The lookahead symbol.  */
13096 int yychar;
13097
13098 /* The semantic value of the lookahead symbol.  */
13099 YYSTYPE yylval;
13100
13101 /* Location data for the lookahead symbol.  */
13102 YYLTYPE yylloc;
13103
13104 /* Number of syntax errors so far.  */
13105 int yynerrs;
13106
13107
13108
13109 /*-------------------------.
13110 | yyparse or yypush_parse.  |
13111 `-------------------------*/
13112
13113 #ifdef YYPARSE_PARAM
13114 #if (defined __STDC__ || defined __C99__FUNC__ \
13115      || defined __cplusplus || defined _MSC_VER)
13116 int
13117 yyparse (void *YYPARSE_PARAM)
13118 #else
13119 int
13120 yyparse (YYPARSE_PARAM)
13121     void *YYPARSE_PARAM;
13122 #endif
13123 #else /* ! YYPARSE_PARAM */
13124 #if (defined __STDC__ || defined __C99__FUNC__ \
13125      || defined __cplusplus || defined _MSC_VER)
13126 int
13127 yyparse (void)
13128 #else
13129 int
13130 yyparse ()
13131
13132 #endif
13133 #endif
13134 {
13135
13136
13137     int yystate;
13138     /* Number of tokens to shift before error messages enabled.  */
13139     int yyerrstatus;
13140
13141     /* The stacks and their tools:
13142        `yyss': related to states.
13143        `yyvs': related to semantic values.
13144        `yyls': related to locations.
13145
13146        Refer to the stacks thru separate pointers, to allow yyoverflow
13147        to reallocate them elsewhere.  */
13148
13149     /* The state stack.  */
13150     yytype_int16 yyssa[YYINITDEPTH];
13151     yytype_int16 *yyss;
13152     yytype_int16 *yyssp;
13153
13154     /* The semantic value stack.  */
13155     YYSTYPE yyvsa[YYINITDEPTH];
13156     YYSTYPE *yyvs;
13157     YYSTYPE *yyvsp;
13158
13159     /* The location stack.  */
13160     YYLTYPE yylsa[YYINITDEPTH];
13161     YYLTYPE *yyls;
13162     YYLTYPE *yylsp;
13163
13164     /* The locations where the error started and ended.  */
13165     YYLTYPE yyerror_range[2];
13166
13167     YYSIZE_T yystacksize;
13168
13169   int yyn;
13170   int yyresult;
13171   /* Lookahead token as an internal (translated) token number.  */
13172   int yytoken;
13173   /* The variables used to return semantic value and location from the
13174      action routines.  */
13175   YYSTYPE yyval;
13176   YYLTYPE yyloc;
13177
13178 #if YYERROR_VERBOSE
13179   /* Buffer for error messages, and its allocated size.  */
13180   char yymsgbuf[128];
13181   char *yymsg = yymsgbuf;
13182   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
13183 #endif
13184
13185 #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
13186
13187   /* The number of symbols on the RHS of the reduced rule.
13188      Keep to zero when no symbol should be popped.  */
13189   int yylen = 0;
13190
13191   yytoken = 0;
13192   yyss = yyssa;
13193   yyvs = yyvsa;
13194   yyls = yylsa;
13195   yystacksize = YYINITDEPTH;
13196
13197   YYDPRINTF ((stderr, "Starting parse\n"));
13198
13199   yystate = 0;
13200   yyerrstatus = 0;
13201   yynerrs = 0;
13202   yychar = YYEMPTY; /* Cause a token to be read.  */
13203
13204   /* Initialize stack pointers.
13205      Waste one element of value and location stack
13206      so that they stay on the same level as the state stack.
13207      The wasted elements are never initialized.  */
13208   yyssp = yyss;
13209   yyvsp = yyvs;
13210   yylsp = yyls;
13211
13212 #if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
13213   /* Initialize the default location before parsing starts.  */
13214   yylloc.first_line   = yylloc.last_line   = 1;
13215   yylloc.first_column = yylloc.last_column = 1;
13216 #endif
13217
13218   goto yysetstate;
13219
13220 /*------------------------------------------------------------.
13221 | yynewstate -- Push a new state, which is found in yystate.  |
13222 `------------------------------------------------------------*/
13223  yynewstate:
13224   /* In all cases, when you get here, the value and location stacks
13225      have just been pushed.  So pushing a state here evens the stacks.  */
13226   yyssp++;
13227
13228  yysetstate:
13229   *yyssp = yystate;
13230
13231   if (yyss + yystacksize - 1 <= yyssp)
13232     {
13233       /* Get the current used size of the three stacks, in elements.  */
13234       YYSIZE_T yysize = yyssp - yyss + 1;
13235
13236 #ifdef yyoverflow
13237       {
13238         /* Give user a chance to reallocate the stack.  Use copies of
13239            these so that the &'s don't force the real ones into
13240            memory.  */
13241         YYSTYPE *yyvs1 = yyvs;
13242         yytype_int16 *yyss1 = yyss;
13243         YYLTYPE *yyls1 = yyls;
13244
13245         /* Each stack pointer address is followed by the size of the
13246            data in use in that stack, in bytes.  This used to be a
13247            conditional around just the two extra args, but that might
13248            be undefined if yyoverflow is a macro.  */
13249         yyoverflow (YY_("memory exhausted"),
13250                     &yyss1, yysize * sizeof (*yyssp),
13251                     &yyvs1, yysize * sizeof (*yyvsp),
13252                     &yyls1, yysize * sizeof (*yylsp),
13253                     &yystacksize);
13254
13255         yyls = yyls1;
13256         yyss = yyss1;
13257         yyvs = yyvs1;
13258       }
13259 #else /* no yyoverflow */
13260 # ifndef YYSTACK_RELOCATE
13261       goto yyexhaustedlab;
13262 # else
13263       /* Extend the stack our own way.  */
13264       if (YYMAXDEPTH <= yystacksize)
13265         goto yyexhaustedlab;
13266       yystacksize *= 2;
13267       if (YYMAXDEPTH < yystacksize)
13268         yystacksize = YYMAXDEPTH;
13269
13270       {
13271         yytype_int16 *yyss1 = yyss;
13272         union yyalloc *yyptr =
13273           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
13274         if (! yyptr)
13275           goto yyexhaustedlab;
13276         YYSTACK_RELOCATE (yyss_alloc, yyss);
13277         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
13278         YYSTACK_RELOCATE (yyls_alloc, yyls);
13279 #  undef YYSTACK_RELOCATE
13280         if (yyss1 != yyssa)
13281           YYSTACK_FREE (yyss1);
13282       }
13283 # endif
13284 #endif /* no yyoverflow */
13285
13286       yyssp = yyss + yysize - 1;
13287       yyvsp = yyvs + yysize - 1;
13288       yylsp = yyls + yysize - 1;
13289
13290       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
13291                   (unsigned long int) yystacksize));
13292
13293       if (yyss + yystacksize - 1 <= yyssp)
13294         YYABORT;
13295     }
13296
13297   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
13298
13299   if (yystate == YYFINAL)
13300     YYACCEPT;
13301
13302   goto yybackup;
13303
13304 /*-----------.
13305 | yybackup.  |
13306 `-----------*/
13307 yybackup:
13308
13309   /* Do appropriate processing given the current state.  Read a
13310      lookahead token if we need one and don't already have one.  */
13311
13312   /* First try to decide what to do without reference to lookahead token.  */
13313   yyn = yypact[yystate];
13314   if (yyn == YYPACT_NINF)
13315     goto yydefault;
13316
13317   /* Not known => get a lookahead token if don't already have one.  */
13318
13319   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
13320   if (yychar == YYEMPTY)
13321     {
13322       YYDPRINTF ((stderr, "Reading a token: "));
13323       yychar = YYLEX;
13324     }
13325
13326   if (yychar <= YYEOF)
13327     {
13328       yychar = yytoken = YYEOF;
13329       YYDPRINTF ((stderr, "Now at end of input.\n"));
13330     }
13331   else
13332     {
13333       yytoken = YYTRANSLATE (yychar);
13334       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
13335     }
13336
13337   /* If the proper action on seeing token YYTOKEN is to reduce or to
13338      detect an error, take that action.  */
13339   yyn += yytoken;
13340   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
13341     goto yydefault;
13342   yyn = yytable[yyn];
13343   if (yyn <= 0)
13344     {
13345       if (yyn == 0 || yyn == YYTABLE_NINF)
13346         goto yyerrlab;
13347       yyn = -yyn;
13348       goto yyreduce;
13349     }
13350
13351   /* Count tokens shifted since error; after three, turn off error
13352      status.  */
13353   if (yyerrstatus)
13354     yyerrstatus--;
13355
13356   /* Shift the lookahead token.  */
13357   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
13358
13359   /* Discard the shifted token.  */
13360   yychar = YYEMPTY;
13361
13362   yystate = yyn;
13363   *++yyvsp = yylval;
13364   *++yylsp = yylloc;
13365   goto yynewstate;
13366
13367
13368 /*-----------------------------------------------------------.
13369 | yydefault -- do the default action for the current state.  |
13370 `-----------------------------------------------------------*/
13371 yydefault:
13372   yyn = yydefact[yystate];
13373   if (yyn == 0)
13374     goto yyerrlab;
13375   goto yyreduce;
13376
13377
13378 /*-----------------------------.
13379 | yyreduce -- Do a reduction.  |
13380 `-----------------------------*/
13381 yyreduce:
13382   /* yyn is the number of a rule to reduce with.  */
13383   yylen = yyr2[yyn];
13384
13385   /* If YYLEN is nonzero, implement the default value of the action:
13386      `$$ = $1'.
13387
13388      Otherwise, the following line sets YYVAL to garbage.
13389      This behavior is undocumented and Bison
13390      users should not rely upon it.  Assigning to YYVAL
13391      unconditionally makes the parser a bit smaller, and it avoids a
13392      GCC warning that YYVAL may be used uninitialized.  */
13393   yyval = yyvsp[1-yylen];
13394
13395   /* Default location.  */
13396   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
13397   YY_REDUCE_PRINT (yyn);
13398   switch (yyn)
13399     {
13400         case 2:
13401
13402 /* Line 1464 of yacc.c  */
13403 #line 280 "grammar.y"
13404     {
13405       (yyval.specifier) = null;
13406       // if($1._class && !$1._class.name)
13407       if((yyvsp[(1) - (2)].id)._class)
13408       {
13409          char name[1024];
13410          strcpy(name,  (yyvsp[(1) - (2)].id)._class.name ? (yyvsp[(1) - (2)].id)._class.name : "");
13411          strcat(name, "::");
13412          strcat(name, (yyvsp[(1) - (2)].id).string);
13413          _DeclClass(0, name);
13414       }
13415       else
13416          _DeclClass(0, (yyvsp[(1) - (2)].id).string);
13417
13418       FreeIdentifier((yyvsp[(1) - (2)].id));
13419
13420       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
13421       resetScannerPos(&(yylsp[(1) - (2)]).start);
13422       yyclearin;
13423
13424       YYPOPSTACK(1);
13425       yystate = *yyssp;
13426       YY_STACK_PRINT (yyss, yyssp);
13427       YYPOPSTACK(1);
13428       yystate = *yyssp;
13429       YY_STACK_PRINT (yyss, yyssp);
13430       goto yysetstate;
13431    ;}
13432     break;
13433
13434   case 3:
13435
13436 /* Line 1464 of yacc.c  */
13437 #line 309 "grammar.y"
13438     {
13439       (yyval.specifier) = null;
13440    #ifdef PRECOMPILER
13441       // if($1._class && !$1._class.name)
13442       if((yyvsp[(1) - (2)].id)._class)
13443       {
13444          char name[1024];
13445          strcpy(name,  (yyvsp[(1) - (2)].id)._class.name ? (yyvsp[(1) - (2)].id)._class.name : "");
13446          strcat(name, "::");
13447          strcat(name, (yyvsp[(1) - (2)].id).string);
13448          _DeclClass(0, name);
13449       }
13450       else
13451          _DeclClass(0, (yyvsp[(1) - (2)].id).string);
13452
13453       FreeIdentifier((yyvsp[(1) - (2)].id));
13454
13455       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
13456       resetScannerPos(&(yylsp[(1) - (2)]).start);
13457       yyclearin;
13458
13459       YYPOPSTACK(1);
13460       yystate = *yyssp;
13461       YY_STACK_PRINT (yyss, yyssp);
13462       YYPOPSTACK(1);
13463       yystate = *yyssp;
13464       YY_STACK_PRINT (yyss, yyssp);
13465       goto yysetstate;
13466    #endif
13467    ;}
13468     break;
13469
13470   case 4:
13471
13472 /* Line 1464 of yacc.c  */
13473 #line 367 "grammar.y"
13474     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); ;}
13475     break;
13476
13477   case 5:
13478
13479 /* Line 1464 of yacc.c  */
13480 #line 369 "grammar.y"
13481     {
13482    #ifdef PRECOMPILER
13483       // if($1._class && !$1._class.name)
13484       if((yyvsp[(1) - (2)].id)._class)
13485       {
13486          char name[1024];
13487          strcpy(name,  (yyvsp[(1) - (2)].id)._class.name ? (yyvsp[(1) - (2)].id)._class.name : "");
13488          strcat(name, "::");
13489          strcat(name, (yyvsp[(1) - (2)].id).string);
13490          _DeclClass(0, name);
13491       }
13492       else
13493          _DeclClass(0, (yyvsp[(1) - (2)].id).string);
13494       FreeIdentifier((yyvsp[(1) - (2)].id));
13495       FreeIdentifier((yyvsp[(2) - (2)].id));
13496
13497       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
13498       resetScannerPos(&(yylsp[(1) - (2)]).start);
13499       yyclearin;
13500
13501       YYPOPSTACK(1);
13502       yystate = *yyssp;
13503       YY_STACK_PRINT (yyss, yyssp);
13504       YYPOPSTACK(1);
13505       yystate = *yyssp;
13506       YY_STACK_PRINT (yyss, yyssp);
13507       goto yysetstate;
13508    #else
13509       Location tmpLoc = yylloc; (yyval.specifier) = (yyvsp[(2) - (2)].id); yylloc = (yylsp[(1) - (2)]);
13510       Compiler_Error($"Not a type: %s\n", (yyvsp[(1) - (2)].id).string);
13511       yylloc = tmpLoc; (yyvsp[(2) - (2)].id).badID = (yyvsp[(1) - (2)].id);
13512    #endif
13513    ;}
13514     break;
13515
13516   case 6:
13517
13518 /* Line 1464 of yacc.c  */
13519 #line 468 "grammar.y"
13520     { (yyval.specifier) = MkSpecifierName(yytext); ;}
13521     break;
13522
13523   case 7:
13524
13525 /* Line 1464 of yacc.c  */
13526 #line 472 "grammar.y"
13527     { (yyval.string) = CopyString(yytext); ;}
13528     break;
13529
13530   case 9:
13531
13532 /* Line 1464 of yacc.c  */
13533 #line 476 "grammar.y"
13534     { (yyval.specifier) = (yyvsp[(1) - (4)].specifier); SetClassTemplateArgs((yyval.specifier), (yyvsp[(3) - (4)].list)); (yyval.specifier).loc = (yyloc); ;}
13535     break;
13536
13537   case 10:
13538
13539 /* Line 1464 of yacc.c  */
13540 #line 478 "grammar.y"
13541     {
13542       (yyval.specifier) = (yyvsp[(1) - (4)].specifier);
13543       SetClassTemplateArgs((yyval.specifier), (yyvsp[(3) - (4)].list));
13544       (yyval.specifier).loc = (yyloc);
13545
13546       (yylsp[(4) - (4)]).end.pos--;
13547       fileInput.Seek((yylsp[(4) - (4)]).end.pos, start);
13548       resetScannerPos(&(yylsp[(4) - (4)]).end);
13549       yyclearin;
13550     ;}
13551     break;
13552
13553   case 11:
13554
13555 /* Line 1464 of yacc.c  */
13556 #line 527 "grammar.y"
13557     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13558     break;
13559
13560   case 12:
13561
13562 /* Line 1464 of yacc.c  */
13563 #line 529 "grammar.y"
13564     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(1) - (1)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13565     break;
13566
13567   case 13:
13568
13569 /* Line 1464 of yacc.c  */
13570 #line 534 "grammar.y"
13571     { (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); ;}
13572     break;
13573
13574   case 14:
13575
13576 /* Line 1464 of yacc.c  */
13577 #line 539 "grammar.y"
13578     { (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) ;}
13579     break;
13580
13581   case 15:
13582
13583 /* Line 1464 of yacc.c  */
13584 #line 544 "grammar.y"
13585     { (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; ;}
13586     break;
13587
13588   case 16:
13589
13590 /* Line 1464 of yacc.c  */
13591 #line 546 "grammar.y"
13592     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13593     break;
13594
13595   case 17:
13596
13597 /* Line 1464 of yacc.c  */
13598 #line 551 "grammar.y"
13599     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13600     break;
13601
13602   case 18:
13603
13604 /* Line 1464 of yacc.c  */
13605 #line 553 "grammar.y"
13606     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(1) - (1)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13607     break;
13608
13609   case 19:
13610
13611 /* Line 1464 of yacc.c  */
13612 #line 558 "grammar.y"
13613     { (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; ;}
13614     break;
13615
13616   case 20:
13617
13618 /* Line 1464 of yacc.c  */
13619 #line 560 "grammar.y"
13620     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13621     break;
13622
13623   case 21:
13624
13625 /* Line 1464 of yacc.c  */
13626 #line 565 "grammar.y"
13627     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13628     break;
13629
13630   case 22:
13631
13632 /* Line 1464 of yacc.c  */
13633 #line 567 "grammar.y"
13634     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13635     break;
13636
13637   case 23:
13638
13639 /* Line 1464 of yacc.c  */
13640 #line 569 "grammar.y"
13641     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); ;}
13642     break;
13643
13644   case 24:
13645
13646 /* Line 1464 of yacc.c  */
13647 #line 571 "grammar.y"
13648     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13649     break;
13650
13651   case 25:
13652
13653 /* Line 1464 of yacc.c  */
13654 #line 573 "grammar.y"
13655     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13656     break;
13657
13658   case 26:
13659
13660 /* Line 1464 of yacc.c  */
13661 #line 577 "grammar.y"
13662     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); ;}
13663     break;
13664
13665   case 27:
13666
13667 /* Line 1464 of yacc.c  */
13668 #line 581 "grammar.y"
13669     {
13670          if((yyvsp[(1) - (3)].classFunction).declarator)
13671          {
13672             (yyvsp[(1) - (3)].classFunction).declarator = MkStructDeclarator((yyvsp[(1) - (3)].classFunction).declarator, null);
13673             (yyvsp[(1) - (3)].classFunction).declarator.structDecl.attrib = (yyvsp[(2) - (3)].attrib);
13674          }
13675          ProcessClassFunctionBody((yyvsp[(1) - (3)].classFunction), null);
13676          (yyval.classFunction).loc = (yyloc);
13677       ;}
13678     break;
13679
13680   case 28:
13681
13682 /* Line 1464 of yacc.c  */
13683 #line 594 "grammar.y"
13684     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
13685     break;
13686
13687   case 29:
13688
13689 /* Line 1464 of yacc.c  */
13690 #line 596 "grammar.y"
13691     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13692     break;
13693
13694   case 30:
13695
13696 /* Line 1464 of yacc.c  */
13697 #line 598 "grammar.y"
13698     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
13699     break;
13700
13701   case 31:
13702
13703 /* Line 1464 of yacc.c  */
13704 #line 600 "grammar.y"
13705     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13706     break;
13707
13708   case 32:
13709
13710 /* Line 1464 of yacc.c  */
13711 #line 602 "grammar.y"
13712     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13713     break;
13714
13715   case 33:
13716
13717 /* Line 1464 of yacc.c  */
13718 #line 608 "grammar.y"
13719     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13720     break;
13721
13722   case 34:
13723
13724 /* Line 1464 of yacc.c  */
13725 #line 610 "grammar.y"
13726     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, MkDeclaratorFunction((yyvsp[(2) - (2)].declarator), null), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13727     break;
13728
13729   case 35:
13730
13731 /* Line 1464 of yacc.c  */
13732 #line 615 "grammar.y"
13733     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13734     break;
13735
13736   case 36:
13737
13738 /* Line 1464 of yacc.c  */
13739 #line 620 "grammar.y"
13740     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13741     break;
13742
13743   case 37:
13744
13745 /* Line 1464 of yacc.c  */
13746 #line 625 "grammar.y"
13747     { 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++;;}
13748     break;
13749
13750   case 38:
13751
13752 /* Line 1464 of yacc.c  */
13753 #line 627 "grammar.y"
13754     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13755     break;
13756
13757   case 39:
13758
13759 /* Line 1464 of yacc.c  */
13760 #line 629 "grammar.y"
13761     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13762     break;
13763
13764   case 40:
13765
13766 /* Line 1464 of yacc.c  */
13767 #line 633 "grammar.y"
13768     { (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;;}
13769     break;
13770
13771   case 41:
13772
13773 /* Line 1464 of yacc.c  */
13774 #line 634 "grammar.y"
13775     { (yyval.memberInit) = MkMemberInit(null, (yyvsp[(1) - (1)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc);;}
13776     break;
13777
13778   case 42:
13779
13780 /* Line 1464 of yacc.c  */
13781 #line 638 "grammar.y"
13782     { (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;;}
13783     break;
13784
13785   case 43:
13786
13787 /* Line 1464 of yacc.c  */
13788 #line 640 "grammar.y"
13789     {
13790          (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), MkInitializerAssignment(MkExpDummy()));
13791          (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yyval.memberInit).initializer.loc.end = (yylsp[(2) - (3)]).end;
13792
13793          fileInput.Seek((yylsp[(2) - (3)]).end.pos, start);
13794          yyclearin;
13795          resetScannerPos(&(yylsp[(2) - (3)]).end);
13796          (yyloc).start = (yylsp[(1) - (3)]).start;
13797          (yyloc).end = (yylsp[(2) - (3)]).end;
13798       ;}
13799     break;
13800
13801   case 44:
13802
13803 /* Line 1464 of yacc.c  */
13804 #line 650 "grammar.y"
13805     { (yyval.memberInit) = MkMemberInit(null, (yyvsp[(1) - (1)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc);;}
13806     break;
13807
13808   case 45:
13809
13810 /* Line 1464 of yacc.c  */
13811 #line 654 "grammar.y"
13812     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ;}
13813     break;
13814
13815   case 46:
13816
13817 /* Line 1464 of yacc.c  */
13818 #line 656 "grammar.y"
13819     { ((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); ;}
13820     break;
13821
13822   case 47:
13823
13824 /* Line 1464 of yacc.c  */
13825 #line 658 "grammar.y"
13826     { ((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); ;}
13827     break;
13828
13829   case 48:
13830
13831 /* Line 1464 of yacc.c  */
13832 #line 662 "grammar.y"
13833     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ;}
13834     break;
13835
13836   case 49:
13837
13838 /* Line 1464 of yacc.c  */
13839 #line 664 "grammar.y"
13840     { ((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); ;}
13841     break;
13842
13843   case 50:
13844
13845 /* Line 1464 of yacc.c  */
13846 #line 666 "grammar.y"
13847     { ((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); ;}
13848     break;
13849
13850   case 51:
13851
13852 /* Line 1464 of yacc.c  */
13853 #line 669 "grammar.y"
13854     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(2) - (3)]).end;
13855          {
13856             Initializer dummy = MkInitializerAssignment(MkExpDummy());
13857             MemberInit memberInit = MkMemberInit(null, dummy);
13858             memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(2) - (3)]).end;
13859             memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(2) - (3)]).end;
13860             ListAdd((yyvsp[(1) - (3)].list), memberInit);
13861           }
13862           (yyval.list) = (yyvsp[(1) - (3)].list);
13863        ;}
13864     break;
13865
13866   case 52:
13867
13868 /* Line 1464 of yacc.c  */
13869 #line 681 "grammar.y"
13870     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(2) - (3)]).end;
13871          {
13872             Initializer dummy = MkInitializerAssignment(MkExpDummy());
13873             MemberInit memberInit = MkMemberInit(null, dummy);
13874             memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(2) - (3)]).end;
13875             memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(2) - (3)]).end;
13876             ListAdd((yyvsp[(1) - (3)].list), memberInit);
13877           }
13878           (yyval.list) = (yyvsp[(1) - (3)].list);
13879        ;}
13880     break;
13881
13882   case 53:
13883
13884 /* Line 1464 of yacc.c  */
13885 #line 692 "grammar.y"
13886     {
13887          Initializer dummy = MkInitializerAssignment(MkExpDummy());
13888          MemberInit memberInit = MkMemberInit(null, dummy);
13889          memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(1) - (1)]).start;
13890          memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(1) - (1)]).start;
13891
13892          (yyval.list) = MkList();
13893          ListAdd((yyval.list), memberInit);
13894
13895          dummy = MkInitializerAssignment(MkExpDummy());
13896          memberInit = MkMemberInit(null, dummy);
13897          memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(1) - (1)]).end;
13898          memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(1) - (1)]).end;
13899          ListAdd((yyval.list), memberInit);
13900       ;}
13901     break;
13902
13903   case 54:
13904
13905 /* Line 1464 of yacc.c  */
13906 #line 711 "grammar.y"
13907     { if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13908     break;
13909
13910   case 55:
13911
13912 /* Line 1464 of yacc.c  */
13913 #line 713 "grammar.y"
13914     { if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13915     break;
13916
13917   case 56:
13918
13919 /* Line 1464 of yacc.c  */
13920 #line 717 "grammar.y"
13921     { MembersInit members = MkMembersInitList((yyvsp[(1) - (1)].list)); (yyval.list) = MkList(); ListAdd((yyval.list), members); members.loc = (yylsp[(1) - (1)]); ;}
13922     break;
13923
13924   case 57:
13925
13926 /* Line 1464 of yacc.c  */
13927 #line 718 "grammar.y"
13928     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(1) - (1)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
13929     break;
13930
13931   case 58:
13932
13933 /* Line 1464 of yacc.c  */
13934 #line 719 "grammar.y"
13935     { MembersInit members = MkMembersInitList((yyvsp[(2) - (2)].list)); ListAdd((yyval.list), members);  members.loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13936     break;
13937
13938   case 59:
13939
13940 /* Line 1464 of yacc.c  */
13941 #line 720 "grammar.y"
13942     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13943     break;
13944
13945   case 60:
13946
13947 /* Line 1464 of yacc.c  */
13948 #line 721 "grammar.y"
13949     { MembersInit members = MkMembersInitList((yyvsp[(2) - (2)].list)); ListAdd((yyval.list), members); members.loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13950     break;
13951
13952   case 61:
13953
13954 /* Line 1464 of yacc.c  */
13955 #line 722 "grammar.y"
13956     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13957     break;
13958
13959   case 62:
13960
13961 /* Line 1464 of yacc.c  */
13962 #line 723 "grammar.y"
13963     { MembersInit members = MkMembersInitList(MkList()); (yyval.list) = MkList(); ListAdd((yyval.list), members); members.loc = (yylsp[(1) - (1)]);  ;}
13964     break;
13965
13966   case 64:
13967
13968 /* Line 1464 of yacc.c  */
13969 #line 725 "grammar.y"
13970     { MembersInit members = MkMembersInitList(MkList()); ListAdd((yyval.list), members); members.loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13971     break;
13972
13973   case 66:
13974
13975 /* Line 1464 of yacc.c  */
13976 #line 730 "grammar.y"
13977     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (1)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
13978     break;
13979
13980   case 67:
13981
13982 /* Line 1464 of yacc.c  */
13983 #line 731 "grammar.y"
13984     { ListAdd((yyvsp[(1) - (2)].list), MkMembersInitList((yyvsp[(2) - (2)].list)));   ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
13985     break;
13986
13987   case 68:
13988
13989 /* Line 1464 of yacc.c  */
13990 #line 732 "grammar.y"
13991     { ListAdd((yyvsp[(1) - (2)].list), MkMembersInitList((yyvsp[(2) - (2)].list)));   ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
13992     break;
13993
13994   case 69:
13995
13996 /* Line 1464 of yacc.c  */
13997 #line 736 "grammar.y"
13998     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(1) - (1)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
13999     break;
14000
14001   case 70:
14002
14003 /* Line 1464 of yacc.c  */
14004 #line 737 "grammar.y"
14005     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14006     break;
14007
14008   case 71:
14009
14010 /* Line 1464 of yacc.c  */
14011 #line 738 "grammar.y"
14012     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14013     break;
14014
14015   case 72:
14016
14017 /* Line 1464 of yacc.c  */
14018 #line 739 "grammar.y"
14019     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14020     break;
14021
14022   case 73:
14023
14024 /* Line 1464 of yacc.c  */
14025 #line 740 "grammar.y"
14026     { ListAdd((yyval.list), MkMembersInitList((yyvsp[(2) - (2)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14027     break;
14028
14029   case 74:
14030
14031 /* Line 1464 of yacc.c  */
14032 #line 741 "grammar.y"
14033     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (1)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
14034     break;
14035
14036   case 75:
14037
14038 /* Line 1464 of yacc.c  */
14039 #line 742 "grammar.y"
14040     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (2)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
14041     break;
14042
14043   case 76:
14044
14045 /* Line 1464 of yacc.c  */
14046 #line 747 "grammar.y"
14047     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; (yyval.instance) = (yyvsp[(1) - (2)].instance); ;}
14048     break;
14049
14050   case 77:
14051
14052 /* Line 1464 of yacc.c  */
14053 #line 749 "grammar.y"
14054     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; (yyval.instance) = (yyvsp[(1) - (3)].instance); ;}
14055     break;
14056
14057   case 78:
14058
14059 /* Line 1464 of yacc.c  */
14060 #line 754 "grammar.y"
14061     { (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++; ;}
14062     break;
14063
14064   case 79:
14065
14066 /* Line 1464 of yacc.c  */
14067 #line 756 "grammar.y"
14068     { (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++; ;}
14069     break;
14070
14071   case 80:
14072
14073 /* Line 1464 of yacc.c  */
14074 #line 758 "grammar.y"
14075     { (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++; ;}
14076     break;
14077
14078   case 81:
14079
14080 /* Line 1464 of yacc.c  */
14081 #line 760 "grammar.y"
14082     { (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++; ;}
14083     break;
14084
14085   case 82:
14086
14087 /* Line 1464 of yacc.c  */
14088 #line 762 "grammar.y"
14089     { (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++; ;}
14090     break;
14091
14092   case 83:
14093
14094 /* Line 1464 of yacc.c  */
14095 #line 792 "grammar.y"
14096     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
14097     break;
14098
14099   case 84:
14100
14101 /* Line 1464 of yacc.c  */
14102 #line 794 "grammar.y"
14103     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
14104     break;
14105
14106   case 85:
14107
14108 /* Line 1464 of yacc.c  */
14109 #line 799 "grammar.y"
14110     { (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++; ;}
14111     break;
14112
14113   case 86:
14114
14115 /* Line 1464 of yacc.c  */
14116 #line 801 "grammar.y"
14117     { (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++; ;}
14118     break;
14119
14120   case 87:
14121
14122 /* Line 1464 of yacc.c  */
14123 #line 803 "grammar.y"
14124     { (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++; ;}
14125     break;
14126
14127   case 88:
14128
14129 /* Line 1464 of yacc.c  */
14130 #line 805 "grammar.y"
14131     { (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++; ;}
14132     break;
14133
14134   case 89:
14135
14136 /* Line 1464 of yacc.c  */
14137 #line 807 "grammar.y"
14138     { (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++; ;}
14139     break;
14140
14141   case 90:
14142
14143 /* Line 1464 of yacc.c  */
14144 #line 836 "grammar.y"
14145     { (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;;}
14146     break;
14147
14148   case 91:
14149
14150 /* Line 1464 of yacc.c  */
14151 #line 838 "grammar.y"
14152     { (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;;}
14153     break;
14154
14155   case 92:
14156
14157 /* Line 1464 of yacc.c  */
14158 #line 840 "grammar.y"
14159     { (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;;}
14160     break;
14161
14162   case 93:
14163
14164 /* Line 1464 of yacc.c  */
14165 #line 845 "grammar.y"
14166     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; (yyval.instance) = (yyvsp[(1) - (2)].instance); ;}
14167     break;
14168
14169   case 94:
14170
14171 /* Line 1464 of yacc.c  */
14172 #line 847 "grammar.y"
14173     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; (yyval.instance) = (yyvsp[(1) - (3)].instance); ;}
14174     break;
14175
14176   case 95:
14177
14178 /* Line 1464 of yacc.c  */
14179 #line 852 "grammar.y"
14180     { (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++; ;}
14181     break;
14182
14183   case 96:
14184
14185 /* Line 1464 of yacc.c  */
14186 #line 854 "grammar.y"
14187     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
14188       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)); ;}
14189     break;
14190
14191   case 97:
14192
14193 /* Line 1464 of yacc.c  */
14194 #line 858 "grammar.y"
14195     { (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++; ;}
14196     break;
14197
14198   case 98:
14199
14200 /* Line 1464 of yacc.c  */
14201 #line 860 "grammar.y"
14202     { (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++; ;}
14203     break;
14204
14205   case 99:
14206
14207 /* Line 1464 of yacc.c  */
14208 #line 862 "grammar.y"
14209     { (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++; ;}
14210     break;
14211
14212   case 100:
14213
14214 /* Line 1464 of yacc.c  */
14215 #line 864 "grammar.y"
14216     { (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++;  ;}
14217     break;
14218
14219   case 101:
14220
14221 /* Line 1464 of yacc.c  */
14222 #line 869 "grammar.y"
14223     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
14224       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)); ;}
14225     break;
14226
14227   case 102:
14228
14229 /* Line 1464 of yacc.c  */
14230 #line 872 "grammar.y"
14231     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (2)]);
14232       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)); ;}
14233     break;
14234
14235   case 103:
14236
14237 /* Line 1464 of yacc.c  */
14238 #line 875 "grammar.y"
14239     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (4)]);
14240       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)); ;}
14241     break;
14242
14243   case 104:
14244
14245 /* Line 1464 of yacc.c  */
14246 #line 878 "grammar.y"
14247     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
14248       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)); ;}
14249     break;
14250
14251   case 105:
14252
14253 /* Line 1464 of yacc.c  */
14254 #line 943 "grammar.y"
14255     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
14256     break;
14257
14258   case 106:
14259
14260 /* Line 1464 of yacc.c  */
14261 #line 945 "grammar.y"
14262     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
14263     break;
14264
14265   case 107:
14266
14267 /* Line 1464 of yacc.c  */
14268 #line 950 "grammar.y"
14269     { (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++; ;}
14270     break;
14271
14272   case 108:
14273
14274 /* Line 1464 of yacc.c  */
14275 #line 952 "grammar.y"
14276     { (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++; ;}
14277     break;
14278
14279   case 109:
14280
14281 /* Line 1464 of yacc.c  */
14282 #line 954 "grammar.y"
14283     { (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++;  ;}
14284     break;
14285
14286   case 110:
14287
14288 /* Line 1464 of yacc.c  */
14289 #line 956 "grammar.y"
14290     { (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++; ;}
14291     break;
14292
14293   case 111:
14294
14295 /* Line 1464 of yacc.c  */
14296 #line 958 "grammar.y"
14297     { (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++; ;}
14298     break;
14299
14300   case 112:
14301
14302 /* Line 1464 of yacc.c  */
14303 #line 988 "grammar.y"
14304     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); ;}
14305     break;
14306
14307   case 113:
14308
14309 /* Line 1464 of yacc.c  */
14310 #line 992 "grammar.y"
14311     { (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; ;}
14312     break;
14313
14314   case 114:
14315
14316 /* Line 1464 of yacc.c  */
14317 #line 993 "grammar.y"
14318     { (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; ;}
14319     break;
14320
14321   case 115:
14322
14323 /* Line 1464 of yacc.c  */
14324 #line 994 "grammar.y"
14325     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (2)].exp), null); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); ;}
14326     break;
14327
14328   case 116:
14329
14330 /* Line 1464 of yacc.c  */
14331 #line 998 "grammar.y"
14332     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ((MemberInit)(yyval.list)->last).loc = (yyloc); ;}
14333     break;
14334
14335   case 117:
14336
14337 /* Line 1464 of yacc.c  */
14338 #line 999 "grammar.y"
14339     { ((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); ;}
14340     break;
14341
14342   case 118:
14343
14344 /* Line 1464 of yacc.c  */
14345 #line 1000 "grammar.y"
14346     { ((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); ;}
14347     break;
14348
14349   case 119:
14350
14351 /* Line 1464 of yacc.c  */
14352 #line 1004 "grammar.y"
14353     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ((MemberInit)(yyval.list)->last).loc = (yyloc); ;}
14354     break;
14355
14356   case 120:
14357
14358 /* Line 1464 of yacc.c  */
14359 #line 1005 "grammar.y"
14360     { ((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); ;}
14361     break;
14362
14363   case 121:
14364
14365 /* Line 1464 of yacc.c  */
14366 #line 1006 "grammar.y"
14367     { ((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); ;}
14368     break;
14369
14370   case 123:
14371
14372 /* Line 1464 of yacc.c  */
14373 #line 1012 "grammar.y"
14374     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), null, (yyvsp[(3) - (4)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14375     break;
14376
14377   case 124:
14378
14379 /* Line 1464 of yacc.c  */
14380 #line 1015 "grammar.y"
14381     { (yyval.prop) = MkProperty((yyvsp[(2) - (5)].list), (yyvsp[(3) - (5)].declarator), (yyvsp[(4) - (5)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14382     break;
14383
14384   case 125:
14385
14386 /* Line 1464 of yacc.c  */
14387 #line 1018 "grammar.y"
14388     { (yyval.prop) = MkProperty((yyvsp[(2) - (3)].list), null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14389     break;
14390
14391   case 126:
14392
14393 /* Line 1464 of yacc.c  */
14394 #line 1021 "grammar.y"
14395     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].declarator), null, null, null); (yyval.prop).loc = (yyloc); ;}
14396     break;
14397
14398   case 127:
14399
14400 /* Line 1464 of yacc.c  */
14401 #line 1024 "grammar.y"
14402     { (yyval.prop) = MkProperty(null, null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14403     break;
14404
14405   case 129:
14406
14407 /* Line 1464 of yacc.c  */
14408 #line 1030 "grammar.y"
14409     { (yyvsp[(1) - (3)].prop).setStmt = (yyvsp[(3) - (3)].stmt); ;}
14410     break;
14411
14412   case 130:
14413
14414 /* Line 1464 of yacc.c  */
14415 #line 1032 "grammar.y"
14416     { (yyvsp[(1) - (3)].prop).getStmt = (yyvsp[(3) - (3)].stmt); ;}
14417     break;
14418
14419   case 131:
14420
14421 /* Line 1464 of yacc.c  */
14422 #line 1034 "grammar.y"
14423     { (yyvsp[(1) - (3)].prop).issetStmt = (yyvsp[(3) - (3)].stmt); ;}
14424     break;
14425
14426   case 132:
14427
14428 /* Line 1464 of yacc.c  */
14429 #line 1036 "grammar.y"
14430     { (yyvsp[(1) - (2)].prop).isWatchable = true; ;}
14431     break;
14432
14433   case 133:
14434
14435 /* Line 1464 of yacc.c  */
14436 #line 1038 "grammar.y"
14437     { (yyvsp[(1) - (3)].prop).category = (yyvsp[(3) - (3)].exp); ;}
14438     break;
14439
14440   case 134:
14441
14442 /* Line 1464 of yacc.c  */
14443 #line 1042 "grammar.y"
14444     { (yyvsp[(1) - (2)].prop).loc.end = (yylsp[(2) - (2)]).end; (yyval.prop) = (yyvsp[(1) - (2)].prop); ;}
14445     break;
14446
14447   case 135:
14448
14449 /* Line 1464 of yacc.c  */
14450 #line 1047 "grammar.y"
14451     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), null, (yyvsp[(3) - (4)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14452     break;
14453
14454   case 136:
14455
14456 /* Line 1464 of yacc.c  */
14457 #line 1050 "grammar.y"
14458     { (yyval.prop) = MkProperty((yyvsp[(2) - (5)].list), (yyvsp[(3) - (5)].declarator), (yyvsp[(4) - (5)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14459     break;
14460
14461   case 137:
14462
14463 /* Line 1464 of yacc.c  */
14464 #line 1053 "grammar.y"
14465     { (yyval.prop) = MkProperty((yyvsp[(2) - (3)].list), null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14466     break;
14467
14468   case 138:
14469
14470 /* Line 1464 of yacc.c  */
14471 #line 1056 "grammar.y"
14472     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].declarator), null, null, null); (yyval.prop).loc = (yyloc); ;}
14473     break;
14474
14475   case 139:
14476
14477 /* Line 1464 of yacc.c  */
14478 #line 1059 "grammar.y"
14479     { (yyval.prop) = MkProperty(null, null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14480     break;
14481
14482   case 141:
14483
14484 /* Line 1464 of yacc.c  */
14485 #line 1065 "grammar.y"
14486     { (yyvsp[(1) - (3)].prop).setStmt = (yyvsp[(3) - (3)].stmt); ;}
14487     break;
14488
14489   case 142:
14490
14491 /* Line 1464 of yacc.c  */
14492 #line 1067 "grammar.y"
14493     { (yyvsp[(1) - (3)].prop).getStmt = (yyvsp[(3) - (3)].stmt); ;}
14494     break;
14495
14496   case 143:
14497
14498 /* Line 1464 of yacc.c  */
14499 #line 1071 "grammar.y"
14500     { (yyvsp[(1) - (2)].prop).loc.end = (yylsp[(2) - (2)]).end; ;}
14501     break;
14502
14503   case 144:
14504
14505 /* Line 1464 of yacc.c  */
14506 #line 1076 "grammar.y"
14507     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].id)); ;}
14508     break;
14509
14510   case 145:
14511
14512 /* Line 1464 of yacc.c  */
14513 #line 1078 "grammar.y"
14514     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].id)); ;}
14515     break;
14516
14517   case 146:
14518
14519 /* Line 1464 of yacc.c  */
14520 #line 1083 "grammar.y"
14521     { (yyval.propertyWatch) = MkPropertyWatch((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
14522     break;
14523
14524   case 147:
14525
14526 /* Line 1464 of yacc.c  */
14527 #line 1085 "grammar.y"
14528     { (yyval.propertyWatch) = MkDeleteWatch((yyvsp[(2) - (2)].stmt)); ;}
14529     break;
14530
14531   case 148:
14532
14533 /* Line 1464 of yacc.c  */
14534 #line 1090 "grammar.y"
14535     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].propertyWatch)); ;}
14536     break;
14537
14538   case 149:
14539
14540 /* Line 1464 of yacc.c  */
14541 #line 1092 "grammar.y"
14542     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].propertyWatch)); ;}
14543     break;
14544
14545   case 150:
14546
14547 /* Line 1464 of yacc.c  */
14548 #line 1097 "grammar.y"
14549     { (yyval.propertyWatch) = MkPropertyWatch((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); ;}
14550     break;
14551
14552   case 151:
14553
14554 /* Line 1464 of yacc.c  */
14555 #line 1102 "grammar.y"
14556     { (yyval.stmt) = MkWatchStmt(null, (yyvsp[(3) - (7)].exp), (yyvsp[(6) - (7)].list)); ;}
14557     break;
14558
14559   case 152:
14560
14561 /* Line 1464 of yacc.c  */
14562 #line 1104 "grammar.y"
14563     { (yyval.stmt) = MkWatchStmt((yyvsp[(1) - (9)].exp), (yyvsp[(5) - (9)].exp), (yyvsp[(8) - (9)].list)); ;}
14564     break;
14565
14566   case 153:
14567
14568 /* Line 1464 of yacc.c  */
14569 #line 1109 "grammar.y"
14570     { (yyval.stmt) = MkStopWatchingStmt(null, (yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].list)); ;}
14571     break;
14572
14573   case 154:
14574
14575 /* Line 1464 of yacc.c  */
14576 #line 1111 "grammar.y"
14577     { (yyval.stmt) = MkStopWatchingStmt((yyvsp[(1) - (8)].exp), (yyvsp[(5) - (8)].exp), (yyvsp[(7) - (8)].list)); ;}
14578     break;
14579
14580   case 155:
14581
14582 /* Line 1464 of yacc.c  */
14583 #line 1113 "grammar.y"
14584     { (yyval.stmt) = MkStopWatchingStmt(null, (yyvsp[(3) - (4)].exp), null); ;}
14585     break;
14586
14587   case 156:
14588
14589 /* Line 1464 of yacc.c  */
14590 #line 1115 "grammar.y"
14591     { (yyval.stmt) = MkStopWatchingStmt((yyvsp[(1) - (6)].exp), (yyvsp[(5) - (6)].exp), null); ;}
14592     break;
14593
14594   case 157:
14595
14596 /* Line 1464 of yacc.c  */
14597 #line 1120 "grammar.y"
14598     { (yyval.stmt) = MkFireWatchersStmt(null, null); ;}
14599     break;
14600
14601   case 158:
14602
14603 /* Line 1464 of yacc.c  */
14604 #line 1122 "grammar.y"
14605     { (yyval.stmt) = MkFireWatchersStmt(null, (yyvsp[(2) - (2)].list)); ;}
14606     break;
14607
14608   case 159:
14609
14610 /* Line 1464 of yacc.c  */
14611 #line 1124 "grammar.y"
14612     { (yyval.stmt) = MkFireWatchersStmt((yyvsp[(1) - (3)].exp), null); ;}
14613     break;
14614
14615   case 160:
14616
14617 /* Line 1464 of yacc.c  */
14618 #line 1126 "grammar.y"
14619     { (yyval.stmt) = MkFireWatchersStmt((yyvsp[(1) - (4)].exp), (yyvsp[(4) - (4)].list)); ;}
14620     break;
14621
14622   case 161:
14623
14624 /* Line 1464 of yacc.c  */
14625 #line 1130 "grammar.y"
14626     { (yyval.classDef) = (yyvsp[(1) - (2)].classDef); (yyval.classDef).loc.end = (yylsp[(2) - (2)]).start; ;}
14627     break;
14628
14629   case 162:
14630
14631 /* Line 1464 of yacc.c  */
14632 #line 1131 "grammar.y"
14633     { (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); ;}
14634     break;
14635
14636   case 163:
14637
14638 /* Line 1464 of yacc.c  */
14639 #line 1132 "grammar.y"
14640     { (yyval.classDef) = MkClassDefFunction((yyvsp[(1) - (1)].classFunction)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14641     break;
14642
14643   case 164:
14644
14645 /* Line 1464 of yacc.c  */
14646 #line 1133 "grammar.y"
14647     { (yyval.classDef) = MkClassDefProperty((yyvsp[(1) - (1)].prop)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14648     break;
14649
14650   case 165:
14651
14652 /* Line 1464 of yacc.c  */
14653 #line 1134 "grammar.y"
14654     { (yyval.classDef) = MkClassDefFunction((yyvsp[(2) - (2)].classFunction)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14655     break;
14656
14657   case 166:
14658
14659 /* Line 1464 of yacc.c  */
14660 #line 1135 "grammar.y"
14661     { (yyval.classDef) = MkClassDefProperty((yyvsp[(2) - (2)].prop)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14662     break;
14663
14664   case 167:
14665
14666 /* Line 1464 of yacc.c  */
14667 #line 1136 "grammar.y"
14668     { (yyval.classDef) = MkClassDefClassProperty((yyvsp[(1) - (1)].prop)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; ;}
14669     break;
14670
14671   case 168:
14672
14673 /* Line 1464 of yacc.c  */
14674 #line 1137 "grammar.y"
14675     { (yyval.classDef) = null; deleteWatchable = true; ;}
14676     break;
14677
14678   case 169:
14679
14680 /* Line 1464 of yacc.c  */
14681 #line 1138 "grammar.y"
14682     { (yyval.classDef) = MkClassDefNoExpansion(); ;}
14683     break;
14684
14685   case 170:
14686
14687 /* Line 1464 of yacc.c  */
14688 #line 1139 "grammar.y"
14689     { (yyval.classDef) = MkClassDefFixed(); ;}
14690     break;
14691
14692   case 171:
14693
14694 /* Line 1464 of yacc.c  */
14695 #line 1140 "grammar.y"
14696     { (yyval.classDef) = MkClassDefClassPropertyValue((yyvsp[(3) - (7)].id), (yyvsp[(6) - (7)].initializer)); (yyval.classDef).loc = (yyloc); ;}
14697     break;
14698
14699   case 172:
14700
14701 /* Line 1464 of yacc.c  */
14702 #line 1142 "grammar.y"
14703     { (yyval.classDef) = null; ;}
14704     break;
14705
14706   case 173:
14707
14708 /* Line 1464 of yacc.c  */
14709 #line 1143 "grammar.y"
14710     { 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; ;}
14711     break;
14712
14713   case 174:
14714
14715 /* Line 1464 of yacc.c  */
14716 #line 1145 "grammar.y"
14717     { (yyval.classDef) = MkClassDefAccessOverride((yyvsp[(1) - (4)].declMode), (yyvsp[(3) - (4)].id)); (yyval.classDef).loc = (yyloc); ;}
14718     break;
14719
14720   case 175:
14721
14722 /* Line 1464 of yacc.c  */
14723 #line 1149 "grammar.y"
14724     { (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]; ;}
14725     break;
14726
14727   case 176:
14728
14729 /* Line 1464 of yacc.c  */
14730 #line 1152 "grammar.y"
14731     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(1) - (1)].list), null, null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14732     break;
14733
14734   case 177:
14735
14736 /* Line 1464 of yacc.c  */
14737 #line 1153 "grammar.y"
14738     { (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]; ;}
14739     break;
14740
14741   case 178:
14742
14743 /* Line 1464 of yacc.c  */
14744 #line 1154 "grammar.y"
14745     { (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); ;}
14746     break;
14747
14748   case 179:
14749
14750 /* Line 1464 of yacc.c  */
14751 #line 1155 "grammar.y"
14752     { (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); ;}
14753     break;
14754
14755   case 180:
14756
14757 /* Line 1464 of yacc.c  */
14758 #line 1156 "grammar.y"
14759     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14760     break;
14761
14762   case 181:
14763
14764 /* Line 1464 of yacc.c  */
14765 #line 1157 "grammar.y"
14766     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14767     break;
14768
14769   case 182:
14770
14771 /* Line 1464 of yacc.c  */
14772 #line 1158 "grammar.y"
14773     { (yyval.classDef) = MkClassDefClassData(MkStructDeclaration((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].list), null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); ;}
14774     break;
14775
14776   case 183:
14777
14778 /* Line 1464 of yacc.c  */
14779 #line 1159 "grammar.y"
14780     { (yyval.classDef) = MkClassDefPropertyWatch((yyvsp[(1) - (1)].propertyWatch)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; ;}
14781     break;
14782
14783   case 184:
14784
14785 /* Line 1464 of yacc.c  */
14786 #line 1160 "grammar.y"
14787     { (yyval.classDef) = MkClassDefDesigner((yyvsp[(2) - (2)].id).string); FreeIdentifier((yyvsp[(2) - (2)].id)); ;}
14788     break;
14789
14790   case 185:
14791
14792 /* Line 1464 of yacc.c  */
14793 #line 1161 "grammar.y"
14794     { (yyval.classDef) = MkClassDefDesigner((yyvsp[(2) - (2)].specifier).name); FreeSpecifier((yyvsp[(2) - (2)].specifier)); ;}
14795     break;
14796
14797   case 186:
14798
14799 /* Line 1464 of yacc.c  */
14800 #line 1162 "grammar.y"
14801     { (yyval.classDef) = MkClassDefDesignerDefaultProperty((yyvsp[(2) - (2)].id)); ;}
14802     break;
14803
14804   case 187:
14805
14806 /* Line 1464 of yacc.c  */
14807 #line 1163 "grammar.y"
14808     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (1)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14809     break;
14810
14811   case 188:
14812
14813 /* Line 1464 of yacc.c  */
14814 #line 1164 "grammar.y"
14815     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (1)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14816     break;
14817
14818   case 189:
14819
14820 /* Line 1464 of yacc.c  */
14821 #line 1165 "grammar.y"
14822     { (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); ;}
14823     break;
14824
14825   case 190:
14826
14827 /* Line 1464 of yacc.c  */
14828 #line 1167 "grammar.y"
14829     { (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]; ;}
14830     break;
14831
14832   case 191:
14833
14834 /* Line 1464 of yacc.c  */
14835 #line 1168 "grammar.y"
14836     { (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]; ;}
14837     break;
14838
14839   case 192:
14840
14841 /* Line 1464 of yacc.c  */
14842 #line 1172 "grammar.y"
14843     { (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); ;}
14844     break;
14845
14846   case 193:
14847
14848 /* Line 1464 of yacc.c  */
14849 #line 1173 "grammar.y"
14850     { (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); ;}
14851     break;
14852
14853   case 194:
14854
14855 /* Line 1464 of yacc.c  */
14856 #line 1174 "grammar.y"
14857     { (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); ;}
14858     break;
14859
14860   case 195:
14861
14862 /* Line 1464 of yacc.c  */
14863 #line 1178 "grammar.y"
14864     { (yyval.classDef) = MkClassDefDefaultProperty((yyvsp[(1) - (1)].list)); (yyval.classDef).loc = (yyloc);  (yyval.classDef).loc.end.charPos++; (yyval.classDef).loc.end.pos++; ;}
14865     break;
14866
14867   case 196:
14868
14869 /* Line 1464 of yacc.c  */
14870 #line 1182 "grammar.y"
14871     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].classDef)); ;}
14872     break;
14873
14874   case 197:
14875
14876 /* Line 1464 of yacc.c  */
14877 #line 1183 "grammar.y"
14878     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].classDef)); ;}
14879     break;
14880
14881   case 198:
14882
14883 /* Line 1464 of yacc.c  */
14884 #line 1184 "grammar.y"
14885     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].classDef)); ;}
14886     break;
14887
14888   case 199:
14889
14890 /* Line 1464 of yacc.c  */
14891 #line 1188 "grammar.y"
14892     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].classDef)); ;}
14893     break;
14894
14895   case 202:
14896
14897 /* Line 1464 of yacc.c  */
14898 #line 1191 "grammar.y"
14899     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyval.list), (yyvsp[(2) - (2)].classDef)); ;}
14900     break;
14901
14902   case 203:
14903
14904 /* Line 1464 of yacc.c  */
14905 #line 1192 "grammar.y"
14906     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyval.list), (yyvsp[(2) - (2)].classDef)); ;}
14907     break;
14908
14909   case 204:
14910
14911 /* Line 1464 of yacc.c  */
14912 #line 1196 "grammar.y"
14913     { (yyval.templateDatatype) = MkTemplateDatatype((yyvsp[(1) - (1)].list), null); ;}
14914     break;
14915
14916   case 205:
14917
14918 /* Line 1464 of yacc.c  */
14919 #line 1197 "grammar.y"
14920     { (yyval.templateDatatype) = MkTemplateDatatype((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
14921     break;
14922
14923   case 206:
14924
14925 /* Line 1464 of yacc.c  */
14926 #line 1209 "grammar.y"
14927     { (yyval.templateArgument) = MkTemplateTypeArgument(MkTemplateDatatype((yyvsp[(1) - (1)].list), null)); ;}
14928     break;
14929
14930   case 207:
14931
14932 /* Line 1464 of yacc.c  */
14933 #line 1210 "grammar.y"
14934     { (yyval.templateArgument) = MkTemplateTypeArgument(MkTemplateDatatype((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator))); ;}
14935     break;
14936
14937   case 208:
14938
14939 /* Line 1464 of yacc.c  */
14940 #line 1214 "grammar.y"
14941     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (2)].id), null, null); ;}
14942     break;
14943
14944   case 209:
14945
14946 /* Line 1464 of yacc.c  */
14947 #line 1215 "grammar.y"
14948     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (4)].id), null, (yyvsp[(4) - (4)].templateArgument)); ;}
14949     break;
14950
14951   case 210:
14952
14953 /* Line 1464 of yacc.c  */
14954 #line 1216 "grammar.y"
14955     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (4)].id), (yyvsp[(4) - (4)].templateDatatype), null); ;}
14956     break;
14957
14958   case 211:
14959
14960 /* Line 1464 of yacc.c  */
14961 #line 1217 "grammar.y"
14962     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (6)].id), (yyvsp[(4) - (6)].templateDatatype), (yyvsp[(6) - (6)].templateArgument)); ;}
14963     break;
14964
14965   case 212:
14966
14967 /* Line 1464 of yacc.c  */
14968 #line 1218 "grammar.y"
14969     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (2)].string)), null, null); delete (yyvsp[(2) - (2)].string); ;}
14970     break;
14971
14972   case 213:
14973
14974 /* Line 1464 of yacc.c  */
14975 #line 1219 "grammar.y"
14976     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (4)].string)), null, (yyvsp[(4) - (4)].templateArgument)); ;}
14977     break;
14978
14979   case 214:
14980
14981 /* Line 1464 of yacc.c  */
14982 #line 1220 "grammar.y"
14983     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (4)].string)), (yyvsp[(4) - (4)].templateDatatype), null); ;}
14984     break;
14985
14986   case 215:
14987
14988 /* Line 1464 of yacc.c  */
14989 #line 1221 "grammar.y"
14990     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (6)].string)), (yyvsp[(4) - (6)].templateDatatype), (yyvsp[(6) - (6)].templateArgument)); ;}
14991     break;
14992
14993   case 216:
14994
14995 /* Line 1464 of yacc.c  */
14996 #line 1225 "grammar.y"
14997     { (yyval.templateArgument) = MkTemplateIdentifierArgument((yyvsp[(1) - (1)].id)); ;}
14998     break;
14999
15000   case 217:
15001
15002 /* Line 1464 of yacc.c  */
15003 #line 1229 "grammar.y"
15004     { (yyval.templateParameter) = MkIdentifierTemplateParameter((yyvsp[(1) - (1)].id), dataMember, null); ;}
15005     break;
15006
15007   case 218:
15008
15009 /* Line 1464 of yacc.c  */
15010 #line 1230 "grammar.y"
15011     { (yyval.templateParameter) = MkIdentifierTemplateParameter((yyvsp[(1) - (3)].id), dataMember, (yyvsp[(3) - (3)].templateArgument)); ;}
15012     break;
15013
15014   case 219:
15015
15016 /* Line 1464 of yacc.c  */
15017 #line 1234 "grammar.y"
15018     { (yyval.templateArgument) = MkTemplateExpressionArgument((yyvsp[(1) - (1)].exp)); ;}
15019     break;
15020
15021   case 220:
15022
15023 /* Line 1464 of yacc.c  */
15024 #line 1242 "grammar.y"
15025     { (yyval.templateParameter) = MkExpressionTemplateParameter((yyvsp[(2) - (4)].id), MkTemplateDatatype((yyvsp[(1) - (4)].list), null), (yyvsp[(4) - (4)].templateArgument)); ;}
15026     break;
15027
15028   case 221:
15029
15030 /* Line 1464 of yacc.c  */
15031 #line 1243 "grammar.y"
15032     { (yyval.templateParameter) = MkExpressionTemplateParameter((yyvsp[(3) - (5)].id), MkTemplateDatatype((yyvsp[(1) - (5)].list), (yyvsp[(2) - (5)].declarator)), (yyvsp[(5) - (5)].templateArgument)); ;}
15033     break;
15034
15035   case 225:
15036
15037 /* Line 1464 of yacc.c  */
15038 #line 1253 "grammar.y"
15039     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].templateParameter)); ;}
15040     break;
15041
15042   case 226:
15043
15044 /* Line 1464 of yacc.c  */
15045 #line 1254 "grammar.y"
15046     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].templateParameter)); ;}
15047     break;
15048
15049   case 230:
15050
15051 /* Line 1464 of yacc.c  */
15052 #line 1261 "grammar.y"
15053     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
15054     break;
15055
15056   case 231:
15057
15058 /* Line 1464 of yacc.c  */
15059 #line 1262 "grammar.y"
15060     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
15061     break;
15062
15063   case 232:
15064
15065 /* Line 1464 of yacc.c  */
15066 #line 1263 "grammar.y"
15067     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
15068     break;
15069
15070   case 233:
15071
15072 /* Line 1464 of yacc.c  */
15073 #line 1303 "grammar.y"
15074     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].templateArgument)); ;}
15075     break;
15076
15077   case 234:
15078
15079 /* Line 1464 of yacc.c  */
15080 #line 1304 "grammar.y"
15081     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].templateArgument)); ;}
15082     break;
15083
15084   case 235:
15085
15086 /* Line 1464 of yacc.c  */
15087 #line 1309 "grammar.y"
15088     {
15089       if(curContext != globalContext)
15090          PopContext(curContext);
15091       (yyval.context) = PushContext();
15092    ;}
15093     break;
15094
15095   case 236:
15096
15097 /* Line 1464 of yacc.c  */
15098 #line 1316 "grammar.y"
15099     { (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; ;}
15100     break;
15101
15102   case 237:
15103
15104 /* Line 1464 of yacc.c  */
15105 #line 1318 "grammar.y"
15106     {
15107       (yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(2) - (2)].specifier).name);
15108       (yyval.symbol).nameLoc = (yylsp[(2) - (2)]);
15109       FreeSpecifier((yyvsp[(2) - (2)].specifier));
15110       ++defaultMemberAccess;
15111       memberAccessStack[defaultMemberAccess] = privateAccess;
15112    ;}
15113     break;
15114
15115   case 238:
15116
15117 /* Line 1464 of yacc.c  */
15118 #line 1325 "grammar.y"
15119     { (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; ;}
15120     break;
15121
15122   case 239:
15123
15124 /* Line 1464 of yacc.c  */
15125 #line 1326 "grammar.y"
15126     { (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; ;}
15127     break;
15128
15129   case 240:
15130
15131 /* Line 1464 of yacc.c  */
15132 #line 1328 "grammar.y"
15133     { (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; ;}
15134     break;
15135
15136   case 241:
15137
15138 /* Line 1464 of yacc.c  */
15139 #line 1330 "grammar.y"
15140     {
15141       (yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(2) - (5)].specifier).name);
15142       (yyval.symbol).templateParams = (yyvsp[(4) - (5)].list);
15143       (yyval.symbol).nameLoc = (yylsp[(2) - (5)]);
15144       FreeSpecifier((yyvsp[(2) - (5)].specifier));
15145       ++defaultMemberAccess;
15146       memberAccessStack[defaultMemberAccess] = privateAccess;
15147    ;}
15148     break;
15149
15150   case 242:
15151
15152 /* Line 1464 of yacc.c  */
15153 #line 1338 "grammar.y"
15154     { (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; ;}
15155     break;
15156
15157   case 243:
15158
15159 /* Line 1464 of yacc.c  */
15160 #line 1339 "grammar.y"
15161     { (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; ;}
15162     break;
15163
15164   case 244:
15165
15166 /* Line 1464 of yacc.c  */
15167 #line 1344 "grammar.y"
15168     {
15169          (yyval._class).loc = (yyloc);
15170          (yyval._class) = (yyvsp[(1) - (2)]._class);
15171       ;}
15172     break;
15173
15174   case 245:
15175
15176 /* Line 1464 of yacc.c  */
15177 #line 1351 "grammar.y"
15178     {
15179          (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++;
15180          POP_DEFAULT_ACCESS
15181          PopContext(curContext);
15182       ;}
15183     break;
15184
15185   case 246:
15186
15187 /* Line 1464 of yacc.c  */
15188 #line 1358 "grammar.y"
15189     {
15190          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, MkList()); (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).endid = globalContext.nextID++;
15191          POP_DEFAULT_ACCESS
15192          PopContext(curContext);
15193       ;}
15194     break;
15195
15196   case 247:
15197
15198 /* Line 1464 of yacc.c  */
15199 #line 1364 "grammar.y"
15200     {
15201          (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++;
15202          POP_DEFAULT_ACCESS
15203          PopContext(curContext);
15204       ;}
15205     break;
15206
15207   case 248:
15208
15209 /* Line 1464 of yacc.c  */
15210 #line 1371 "grammar.y"
15211     {
15212          (yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClassAddNameSpace(0, (yyvsp[(2) - (3)].id).string), null, null); FreeIdentifier((yyvsp[(2) - (3)].id));
15213          POP_DEFAULT_ACCESS
15214          PopContext(curContext);
15215       ;}
15216     break;
15217
15218   case 249:
15219
15220 /* Line 1464 of yacc.c  */
15221 #line 1377 "grammar.y"
15222     {
15223          (yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClass(0, (yyvsp[(2) - (3)].specifier).name), null, null); FreeSpecifier((yyvsp[(2) - (3)].specifier));
15224          POP_DEFAULT_ACCESS
15225          PopContext(curContext);
15226       ;}
15227     break;
15228
15229   case 250:
15230
15231 /* Line 1464 of yacc.c  */
15232 #line 1386 "grammar.y"
15233     {
15234          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].list), null);
15235       ;}
15236     break;
15237
15238   case 251:
15239
15240 /* Line 1464 of yacc.c  */
15241 #line 1393 "grammar.y"
15242     {
15243          (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++;
15244          POP_DEFAULT_ACCESS
15245          PopContext(curContext);
15246       ;}
15247     break;
15248
15249   case 252:
15250
15251 /* Line 1464 of yacc.c  */
15252 #line 1399 "grammar.y"
15253     {
15254          (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++;
15255          POP_DEFAULT_ACCESS
15256          PopContext(curContext);
15257       ;}
15258     break;
15259
15260   case 253:
15261
15262 /* Line 1464 of yacc.c  */
15263 #line 1405 "grammar.y"
15264     {
15265          (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++;
15266          POP_DEFAULT_ACCESS
15267          PopContext(curContext);
15268       ;}
15269     break;
15270
15271   case 254:
15272
15273 /* Line 1464 of yacc.c  */
15274 #line 1411 "grammar.y"
15275     {
15276          (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++;
15277          POP_DEFAULT_ACCESS
15278          PopContext(curContext);
15279       ;}
15280     break;
15281
15282   case 255:
15283
15284 /* Line 1464 of yacc.c  */
15285 #line 1417 "grammar.y"
15286     {
15287          (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++;
15288          POP_DEFAULT_ACCESS
15289          PopContext(curContext);
15290       ;}
15291     break;
15292
15293   case 256:
15294
15295 /* Line 1464 of yacc.c  */
15296 #line 1423 "grammar.y"
15297     {
15298          (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++;
15299          POP_DEFAULT_ACCESS
15300          PopContext(curContext);
15301       ;}
15302     break;
15303
15304   case 257:
15305
15306 /* Line 1464 of yacc.c  */
15307 #line 1434 "grammar.y"
15308     { (yyval.id) = MkIdentifier(yytext); (yyval.id).loc = (yylsp[(1) - (1)]); ;}
15309     break;
15310
15311   case 259:
15312
15313 /* Line 1464 of yacc.c  */
15314 #line 1440 "grammar.y"
15315     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (3)].list)); (yyval.exp).loc = (yyloc); ;}
15316     break;
15317
15318   case 260:
15319
15320 /* Line 1464 of yacc.c  */
15321 #line 1444 "grammar.y"
15322     { (yyval.exp) = MkExpString((yyvsp[(1) - (1)].string)); delete (yyvsp[(1) - (1)].string); (yyval.exp).loc = (yyloc); ;}
15323     break;
15324
15325   case 261:
15326
15327 /* Line 1464 of yacc.c  */
15328 #line 1445 "grammar.y"
15329     { (yyval.exp) = MkExpIntlString((yyvsp[(2) - (2)].string), null); delete (yyvsp[(2) - (2)].string); (yyval.exp).loc = (yyloc); ;}
15330     break;
15331
15332   case 262:
15333
15334 /* Line 1464 of yacc.c  */
15335 #line 1446 "grammar.y"
15336     { (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); ;}
15337     break;
15338
15339   case 263:
15340
15341 /* Line 1464 of yacc.c  */
15342 #line 1450 "grammar.y"
15343     { (yyval.exp) = MkExpConstant(yytext); (yyval.exp).loc = (yyloc); ;}
15344     break;
15345
15346   case 264:
15347
15348 /* Line 1464 of yacc.c  */
15349 #line 1454 "grammar.y"
15350     { (yyval.exp) = MkExpIdentifier((yyvsp[(1) - (1)].id)); (yyval.exp).loc = (yyloc); ;}
15351     break;
15352
15353   case 265:
15354
15355 /* Line 1464 of yacc.c  */
15356 #line 1455 "grammar.y"
15357     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (1)].instance)); (yyval.exp).loc = (yyloc); ;}
15358     break;
15359
15360   case 266:
15361
15362 /* Line 1464 of yacc.c  */
15363 #line 1456 "grammar.y"
15364     { (yyval.exp) = MkExpExtensionCompound((yyvsp[(3) - (4)].stmt)); (yyval.exp).loc = (yyloc); ;}
15365     break;
15366
15367   case 267:
15368
15369 /* Line 1464 of yacc.c  */
15370 #line 1457 "grammar.y"
15371     { (yyval.exp) = MkExpExtensionExpression((yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15372     break;
15373
15374   case 268:
15375
15376 /* Line 1464 of yacc.c  */
15377 #line 1458 "grammar.y"
15378     { (yyval.exp) = MkExpExtensionInitializer((yyvsp[(3) - (5)].typeName), (yyvsp[(5) - (5)].initializer)); (yyval.exp).loc = (yyloc); ;}
15379     break;
15380
15381   case 269:
15382
15383 /* Line 1464 of yacc.c  */
15384 #line 1459 "grammar.y"
15385     { (yyval.exp) = MkExpExtensionInitializer((yyvsp[(3) - (8)].typeName), MkInitializerAssignment(MkExpExtensionInitializer((yyvsp[(6) - (8)].typeName), (yyvsp[(8) - (8)].initializer)))); (yyval.exp).loc = (yyloc); ;}
15386     break;
15387
15388   case 270:
15389
15390 /* Line 1464 of yacc.c  */
15391 #line 1461 "grammar.y"
15392     {
15393       char * constant = (yyvsp[(1) - (2)].exp).constant;
15394       int len = strlen(constant);
15395       if(constant[len-1] == '.')
15396       {
15397          constant[len-1] = 0;
15398          (yyval.exp) = MkExpMember((yyvsp[(1) - (2)].exp), (yyvsp[(2) - (2)].id));
15399          (yyval.exp).loc = (yyloc);
15400       }
15401       else
15402          yyerror();
15403    ;}
15404     break;
15405
15406   case 271:
15407
15408 /* Line 1464 of yacc.c  */
15409 #line 1473 "grammar.y"
15410     { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
15411     break;
15412
15413   case 273:
15414
15415 /* Line 1464 of yacc.c  */
15416 #line 1475 "grammar.y"
15417     { 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(); ;}
15418     break;
15419
15420   case 274:
15421
15422 /* Line 1464 of yacc.c  */
15423 #line 1476 "grammar.y"
15424     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15425     break;
15426
15427   case 275:
15428
15429 /* Line 1464 of yacc.c  */
15430 #line 1477 "grammar.y"
15431     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15432     break;
15433
15434   case 276:
15435
15436 /* Line 1464 of yacc.c  */
15437 #line 1478 "grammar.y"
15438     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15439     break;
15440
15441   case 277:
15442
15443 /* Line 1464 of yacc.c  */
15444 #line 1479 "grammar.y"
15445     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15446     break;
15447
15448   case 278:
15449
15450 /* Line 1464 of yacc.c  */
15451 #line 1480 "grammar.y"
15452     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15453     break;
15454
15455   case 279:
15456
15457 /* Line 1464 of yacc.c  */
15458 #line 1481 "grammar.y"
15459     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15460     break;
15461
15462   case 280:
15463
15464 /* Line 1464 of yacc.c  */
15465 #line 1482 "grammar.y"
15466     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15467     break;
15468
15469   case 281:
15470
15471 /* Line 1464 of yacc.c  */
15472 #line 1483 "grammar.y"
15473     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15474     break;
15475
15476   case 282:
15477
15478 /* Line 1464 of yacc.c  */
15479 #line 1484 "grammar.y"
15480     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15481     break;
15482
15483   case 283:
15484
15485 /* Line 1464 of yacc.c  */
15486 #line 1485 "grammar.y"
15487     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15488     break;
15489
15490   case 284:
15491
15492 /* Line 1464 of yacc.c  */
15493 #line 1486 "grammar.y"
15494     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15495     break;
15496
15497   case 285:
15498
15499 /* Line 1464 of yacc.c  */
15500 #line 1487 "grammar.y"
15501     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15502     break;
15503
15504   case 286:
15505
15506 /* Line 1464 of yacc.c  */
15507 #line 1488 "grammar.y"
15508     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15509     break;
15510
15511   case 287:
15512
15513 /* Line 1464 of yacc.c  */
15514 #line 1489 "grammar.y"
15515     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15516     break;
15517
15518   case 288:
15519
15520 /* Line 1464 of yacc.c  */
15521 #line 1490 "grammar.y"
15522     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15523     break;
15524
15525   case 289:
15526
15527 /* Line 1464 of yacc.c  */
15528 #line 1491 "grammar.y"
15529     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15530     break;
15531
15532   case 290:
15533
15534 /* Line 1464 of yacc.c  */
15535 #line 1492 "grammar.y"
15536     { (yyval.exp) = MkExpClass((yyvsp[(3) - (4)].list), null); (yyval.exp).loc = (yyloc); ;}
15537     break;
15538
15539   case 291:
15540
15541 /* Line 1464 of yacc.c  */
15542 #line 1493 "grammar.y"
15543     { (yyval.exp) = MkExpClass((yyvsp[(3) - (5)].list), (yyvsp[(4) - (5)].declarator)); (yyval.exp).loc = (yyloc); ;}
15544     break;
15545
15546   case 292:
15547
15548 /* Line 1464 of yacc.c  */
15549 #line 1494 "grammar.y"
15550     { (yyval.exp) = MkExpClass(MkListOne(MkSpecifierName((yyvsp[(3) - (4)].id).string)), null); FreeIdentifier((yyvsp[(3) - (4)].id)); (yyval.exp).loc = (yyloc); ;}
15551     break;
15552
15553   case 293:
15554
15555 /* Line 1464 of yacc.c  */
15556 #line 1495 "grammar.y"
15557     { (yyval.exp) = MkExpVaArg((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].typeName)); (yyval.exp).loc = (yyloc); ;}
15558     break;
15559
15560   case 294:
15561
15562 /* Line 1464 of yacc.c  */
15563 #line 1497 "grammar.y"
15564     { (yyval.exp) = MkExpClassData((yyvsp[(3) - (4)].id)); (yyval.exp).loc = (yyloc); ;}
15565     break;
15566
15567   case 299:
15568
15569 /* Line 1464 of yacc.c  */
15570 #line 1503 "grammar.y"
15571     { (yyval.exp) = MkExpArray((yyvsp[(2) - (3)].list)); (yyval.exp).loc = (yyloc); ;}
15572     break;
15573
15574   case 300:
15575
15576 /* Line 1464 of yacc.c  */
15577 #line 1504 "grammar.y"
15578     { (yyval.exp) = MkExpArray(null); (yyval.exp).loc = (yyloc); ;}
15579     break;
15580
15581   case 301:
15582
15583 /* Line 1464 of yacc.c  */
15584 #line 1508 "grammar.y"
15585     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (1)].instance)); (yyval.exp).loc = (yyloc); ;}
15586     break;
15587
15588   case 302:
15589
15590 /* Line 1464 of yacc.c  */
15591 #line 1512 "grammar.y"
15592     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
15593     break;
15594
15595   case 303:
15596
15597 /* Line 1464 of yacc.c  */
15598 #line 1516 "grammar.y"
15599     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (2)].list)); (yyval.exp).loc = (yyloc); ;}
15600     break;
15601
15602   case 304:
15603
15604 /* Line 1464 of yacc.c  */
15605 #line 1517 "grammar.y"
15606     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (2)].list)); (yyval.exp).loc = (yyloc); ;}
15607     break;
15608
15609   case 306:
15610
15611 /* Line 1464 of yacc.c  */
15612 #line 1523 "grammar.y"
15613     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15614     break;
15615
15616   case 307:
15617
15618 /* Line 1464 of yacc.c  */
15619 #line 1524 "grammar.y"
15620     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15621     break;
15622
15623   case 308:
15624
15625 /* Line 1464 of yacc.c  */
15626 #line 1525 "grammar.y"
15627     { (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); ;}
15628     break;
15629
15630   case 309:
15631
15632 /* Line 1464 of yacc.c  */
15633 #line 1526 "grammar.y"
15634     { (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); ;}
15635     break;
15636
15637   case 310:
15638
15639 /* Line 1464 of yacc.c  */
15640 #line 1527 "grammar.y"
15641     { (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; ;}
15642     break;
15643
15644   case 311:
15645
15646 /* Line 1464 of yacc.c  */
15647 #line 1528 "grammar.y"
15648     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15649     break;
15650
15651   case 312:
15652
15653 /* Line 1464 of yacc.c  */
15654 #line 1529 "grammar.y"
15655     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15656     break;
15657
15658   case 313:
15659
15660 /* Line 1464 of yacc.c  */
15661 #line 1530 "grammar.y"
15662     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
15663     break;
15664
15665   case 314:
15666
15667 /* Line 1464 of yacc.c  */
15668 #line 1531 "grammar.y"
15669     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
15670     break;
15671
15672   case 315:
15673
15674 /* Line 1464 of yacc.c  */
15675 #line 1533 "grammar.y"
15676     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15677     break;
15678
15679   case 316:
15680
15681 /* Line 1464 of yacc.c  */
15682 #line 1534 "grammar.y"
15683     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15684     break;
15685
15686   case 317:
15687
15688 /* Line 1464 of yacc.c  */
15689 #line 1535 "grammar.y"
15690     { (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); ;}
15691     break;
15692
15693   case 318:
15694
15695 /* Line 1464 of yacc.c  */
15696 #line 1536 "grammar.y"
15697     { (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); ;}
15698     break;
15699
15700   case 319:
15701
15702 /* Line 1464 of yacc.c  */
15703 #line 1537 "grammar.y"
15704     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15705     break;
15706
15707   case 320:
15708
15709 /* Line 1464 of yacc.c  */
15710 #line 1538 "grammar.y"
15711     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15712     break;
15713
15714   case 321:
15715
15716 /* Line 1464 of yacc.c  */
15717 #line 1539 "grammar.y"
15718     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
15719     break;
15720
15721   case 322:
15722
15723 /* Line 1464 of yacc.c  */
15724 #line 1540 "grammar.y"
15725     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
15726     break;
15727
15728   case 324:
15729
15730 /* Line 1464 of yacc.c  */
15731 #line 1546 "grammar.y"
15732     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15733     break;
15734
15735   case 325:
15736
15737 /* Line 1464 of yacc.c  */
15738 #line 1547 "grammar.y"
15739     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15740     break;
15741
15742   case 326:
15743
15744 /* Line 1464 of yacc.c  */
15745 #line 1548 "grammar.y"
15746     { (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); ;}
15747     break;
15748
15749   case 327:
15750
15751 /* Line 1464 of yacc.c  */
15752 #line 1549 "grammar.y"
15753     { (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); ;}
15754     break;
15755
15756   case 328:
15757
15758 /* Line 1464 of yacc.c  */
15759 #line 1550 "grammar.y"
15760     { (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; ;}
15761     break;
15762
15763   case 329:
15764
15765 /* Line 1464 of yacc.c  */
15766 #line 1551 "grammar.y"
15767     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15768     break;
15769
15770   case 330:
15771
15772 /* Line 1464 of yacc.c  */
15773 #line 1552 "grammar.y"
15774     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15775     break;
15776
15777   case 331:
15778
15779 /* Line 1464 of yacc.c  */
15780 #line 1553 "grammar.y"
15781     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
15782     break;
15783
15784   case 332:
15785
15786 /* Line 1464 of yacc.c  */
15787 #line 1554 "grammar.y"
15788     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
15789     break;
15790
15791   case 333:
15792
15793 /* Line 1464 of yacc.c  */
15794 #line 1556 "grammar.y"
15795     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15796     break;
15797
15798   case 334:
15799
15800 /* Line 1464 of yacc.c  */
15801 #line 1557 "grammar.y"
15802     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15803     break;
15804
15805   case 335:
15806
15807 /* Line 1464 of yacc.c  */
15808 #line 1558 "grammar.y"
15809     { (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); ;}
15810     break;
15811
15812   case 336:
15813
15814 /* Line 1464 of yacc.c  */
15815 #line 1559 "grammar.y"
15816     { (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); ;}
15817     break;
15818
15819   case 337:
15820
15821 /* Line 1464 of yacc.c  */
15822 #line 1560 "grammar.y"
15823     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15824     break;
15825
15826   case 338:
15827
15828 /* Line 1464 of yacc.c  */
15829 #line 1561 "grammar.y"
15830     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15831     break;
15832
15833   case 339:
15834
15835 /* Line 1464 of yacc.c  */
15836 #line 1562 "grammar.y"
15837     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
15838     break;
15839
15840   case 340:
15841
15842 /* Line 1464 of yacc.c  */
15843 #line 1563 "grammar.y"
15844     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
15845     break;
15846
15847   case 341:
15848
15849 /* Line 1464 of yacc.c  */
15850 #line 1567 "grammar.y"
15851     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15852     break;
15853
15854   case 342:
15855
15856 /* Line 1464 of yacc.c  */
15857 #line 1568 "grammar.y"
15858     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15859     break;
15860
15861   case 343:
15862
15863 /* Line 1464 of yacc.c  */
15864 #line 1569 "grammar.y"
15865     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15866     break;
15867
15868   case 344:
15869
15870 /* Line 1464 of yacc.c  */
15871 #line 1570 "grammar.y"
15872     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15873     break;
15874
15875   case 345:
15876
15877 /* Line 1464 of yacc.c  */
15878 #line 1574 "grammar.y"
15879     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15880     break;
15881
15882   case 346:
15883
15884 /* Line 1464 of yacc.c  */
15885 #line 1575 "grammar.y"
15886     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15887     break;
15888
15889   case 347:
15890
15891 /* Line 1464 of yacc.c  */
15892 #line 1576 "grammar.y"
15893     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15894     break;
15895
15896   case 348:
15897
15898 /* Line 1464 of yacc.c  */
15899 #line 1577 "grammar.y"
15900     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15901     break;
15902
15903   case 349:
15904
15905 /* Line 1464 of yacc.c  */
15906 #line 1578 "grammar.y"
15907     { 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); ;}
15908     break;
15909
15910   case 350:
15911
15912 /* Line 1464 of yacc.c  */
15913 #line 1582 "grammar.y"
15914     { (yyval.exp) = MkExpOp(null, INC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15915     break;
15916
15917   case 351:
15918
15919 /* Line 1464 of yacc.c  */
15920 #line 1583 "grammar.y"
15921     { (yyval.exp) = MkExpOp(null, DEC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15922     break;
15923
15924   case 352:
15925
15926 /* Line 1464 of yacc.c  */
15927 #line 1584 "grammar.y"
15928     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15929     break;
15930
15931   case 353:
15932
15933 /* Line 1464 of yacc.c  */
15934 #line 1585 "grammar.y"
15935     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15936     break;
15937
15938   case 354:
15939
15940 /* Line 1464 of yacc.c  */
15941 #line 1586 "grammar.y"
15942     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(3) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
15943     break;
15944
15945   case 355:
15946
15947 /* Line 1464 of yacc.c  */
15948 #line 1587 "grammar.y"
15949     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15950     break;
15951
15952   case 356:
15953
15954 /* Line 1464 of yacc.c  */
15955 #line 1588 "grammar.y"
15956     { (yyval.exp) = MkExpTypeSize((yyvsp[(3) - (4)].typeName)); (yyval.exp).loc = (yyloc); ;}
15957     break;
15958
15959   case 357:
15960
15961 /* Line 1464 of yacc.c  */
15962 #line 1589 "grammar.y"
15963     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (5)].specifier)); (yyval.exp).loc = (yyloc); ;}
15964     break;
15965
15966   case 358:
15967
15968 /* Line 1464 of yacc.c  */
15969 #line 1590 "grammar.y"
15970     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (5)].specifier)); (yyval.exp).loc = (yyloc); ;}
15971     break;
15972
15973   case 359:
15974
15975 /* Line 1464 of yacc.c  */
15976 #line 1592 "grammar.y"
15977     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(3) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
15978     break;
15979
15980   case 360:
15981
15982 /* Line 1464 of yacc.c  */
15983 #line 1593 "grammar.y"
15984     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15985     break;
15986
15987   case 361:
15988
15989 /* Line 1464 of yacc.c  */
15990 #line 1594 "grammar.y"
15991     { (yyval.exp) = MkExpTypeAlign((yyvsp[(3) - (4)].typeName)); (yyval.exp).loc = (yyloc); ;}
15992     break;
15993
15994   case 366:
15995
15996 /* Line 1464 of yacc.c  */
15997 #line 1608 "grammar.y"
15998     { (yyval.i) = '&'; ;}
15999     break;
16000
16001   case 367:
16002
16003 /* Line 1464 of yacc.c  */
16004 #line 1609 "grammar.y"
16005     { (yyval.i) = '*'; ;}
16006     break;
16007
16008   case 368:
16009
16010 /* Line 1464 of yacc.c  */
16011 #line 1610 "grammar.y"
16012     { (yyval.i) = '+'; ;}
16013     break;
16014
16015   case 369:
16016
16017 /* Line 1464 of yacc.c  */
16018 #line 1611 "grammar.y"
16019     { (yyval.i) = '-'; ;}
16020     break;
16021
16022   case 370:
16023
16024 /* Line 1464 of yacc.c  */
16025 #line 1612 "grammar.y"
16026     { (yyval.i) = '~'; ;}
16027     break;
16028
16029   case 371:
16030
16031 /* Line 1464 of yacc.c  */
16032 #line 1613 "grammar.y"
16033     { (yyval.i) = '!'; ;}
16034     break;
16035
16036   case 372:
16037
16038 /* Line 1464 of yacc.c  */
16039 #line 1614 "grammar.y"
16040     { (yyval.i) = DELETE; ;}
16041     break;
16042
16043   case 373:
16044
16045 /* Line 1464 of yacc.c  */
16046 #line 1615 "grammar.y"
16047     { (yyval.i) = _INCREF; ;}
16048     break;
16049
16050   case 375:
16051
16052 /* Line 1464 of yacc.c  */
16053 #line 1620 "grammar.y"
16054     { (yyval.exp) = MkExpCast((yyvsp[(2) - (4)].typeName), (yyvsp[(4) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
16055     break;
16056
16057   case 377:
16058
16059 /* Line 1464 of yacc.c  */
16060 #line 1625 "grammar.y"
16061     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16062     break;
16063
16064   case 378:
16065
16066 /* Line 1464 of yacc.c  */
16067 #line 1626 "grammar.y"
16068     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16069     break;
16070
16071   case 379:
16072
16073 /* Line 1464 of yacc.c  */
16074 #line 1627 "grammar.y"
16075     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16076     break;
16077
16078   case 380:
16079
16080 /* Line 1464 of yacc.c  */
16081 #line 1628 "grammar.y"
16082     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16083     break;
16084
16085   case 381:
16086
16087 /* Line 1464 of yacc.c  */
16088 #line 1629 "grammar.y"
16089     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16090     break;
16091
16092   case 382:
16093
16094 /* Line 1464 of yacc.c  */
16095 #line 1630 "grammar.y"
16096     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16097     break;
16098
16099   case 384:
16100
16101 /* Line 1464 of yacc.c  */
16102 #line 1635 "grammar.y"
16103     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16104     break;
16105
16106   case 385:
16107
16108 /* Line 1464 of yacc.c  */
16109 #line 1636 "grammar.y"
16110     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16111     break;
16112
16113   case 386:
16114
16115 /* Line 1464 of yacc.c  */
16116 #line 1637 "grammar.y"
16117     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16118     break;
16119
16120   case 387:
16121
16122 /* Line 1464 of yacc.c  */
16123 #line 1638 "grammar.y"
16124     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16125     break;
16126
16127   case 389:
16128
16129 /* Line 1464 of yacc.c  */
16130 #line 1643 "grammar.y"
16131     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16132     break;
16133
16134   case 390:
16135
16136 /* Line 1464 of yacc.c  */
16137 #line 1644 "grammar.y"
16138     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16139     break;
16140
16141   case 391:
16142
16143 /* Line 1464 of yacc.c  */
16144 #line 1645 "grammar.y"
16145     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16146     break;
16147
16148   case 392:
16149
16150 /* Line 1464 of yacc.c  */
16151 #line 1646 "grammar.y"
16152     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16153     break;
16154
16155   case 393:
16156
16157 /* Line 1464 of yacc.c  */
16158 #line 1651 "grammar.y"
16159     {
16160       (yyval.exp) = (yyvsp[(1) - (2)].exp);
16161       skipErrors = true;
16162    ;}
16163     break;
16164
16165   case 395:
16166
16167 /* Line 1464 of yacc.c  */
16168 #line 1659 "grammar.y"
16169     { skipErrors = false; (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), '<', (yyvsp[(2) - (2)].exp)/*$3*/); (yyval.exp).loc = (yyloc); ;}
16170     break;
16171
16172   case 396:
16173
16174 /* Line 1464 of yacc.c  */
16175 #line 1660 "grammar.y"
16176     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16177     break;
16178
16179   case 397:
16180
16181 /* Line 1464 of yacc.c  */
16182 #line 1661 "grammar.y"
16183     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16184     break;
16185
16186   case 398:
16187
16188 /* Line 1464 of yacc.c  */
16189 #line 1662 "grammar.y"
16190     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16191     break;
16192
16193   case 399:
16194
16195 /* Line 1464 of yacc.c  */
16196 #line 1663 "grammar.y"
16197     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '<', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16198     break;
16199
16200   case 400:
16201
16202 /* Line 1464 of yacc.c  */
16203 #line 1664 "grammar.y"
16204     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16205     break;
16206
16207   case 401:
16208
16209 /* Line 1464 of yacc.c  */
16210 #line 1665 "grammar.y"
16211     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16212     break;
16213
16214   case 402:
16215
16216 /* Line 1464 of yacc.c  */
16217 #line 1666 "grammar.y"
16218     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16219     break;
16220
16221   case 404:
16222
16223 /* Line 1464 of yacc.c  */
16224 #line 1671 "grammar.y"
16225     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16226     break;
16227
16228   case 405:
16229
16230 /* Line 1464 of yacc.c  */
16231 #line 1672 "grammar.y"
16232     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16233     break;
16234
16235   case 406:
16236
16237 /* Line 1464 of yacc.c  */
16238 #line 1673 "grammar.y"
16239     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16240     break;
16241
16242   case 407:
16243
16244 /* Line 1464 of yacc.c  */
16245 #line 1674 "grammar.y"
16246     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16247     break;
16248
16249   case 408:
16250
16251 /* Line 1464 of yacc.c  */
16252 #line 1676 "grammar.y"
16253     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16254     break;
16255
16256   case 409:
16257
16258 /* Line 1464 of yacc.c  */
16259 #line 1677 "grammar.y"
16260     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16261     break;
16262
16263   case 410:
16264
16265 /* Line 1464 of yacc.c  */
16266 #line 1678 "grammar.y"
16267     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16268     break;
16269
16270   case 411:
16271
16272 /* Line 1464 of yacc.c  */
16273 #line 1679 "grammar.y"
16274     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16275     break;
16276
16277   case 413:
16278
16279 /* Line 1464 of yacc.c  */
16280 #line 1684 "grammar.y"
16281     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16282     break;
16283
16284   case 414:
16285
16286 /* Line 1464 of yacc.c  */
16287 #line 1685 "grammar.y"
16288     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16289     break;
16290
16291   case 415:
16292
16293 /* Line 1464 of yacc.c  */
16294 #line 1687 "grammar.y"
16295     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16296     break;
16297
16298   case 416:
16299
16300 /* Line 1464 of yacc.c  */
16301 #line 1688 "grammar.y"
16302     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16303     break;
16304
16305   case 418:
16306
16307 /* Line 1464 of yacc.c  */
16308 #line 1693 "grammar.y"
16309     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16310     break;
16311
16312   case 419:
16313
16314 /* Line 1464 of yacc.c  */
16315 #line 1694 "grammar.y"
16316     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16317     break;
16318
16319   case 420:
16320
16321 /* Line 1464 of yacc.c  */
16322 #line 1696 "grammar.y"
16323     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16324     break;
16325
16326   case 421:
16327
16328 /* Line 1464 of yacc.c  */
16329 #line 1697 "grammar.y"
16330     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16331     break;
16332
16333   case 423:
16334
16335 /* Line 1464 of yacc.c  */
16336 #line 1702 "grammar.y"
16337     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16338     break;
16339
16340   case 424:
16341
16342 /* Line 1464 of yacc.c  */
16343 #line 1703 "grammar.y"
16344     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16345     break;
16346
16347   case 425:
16348
16349 /* Line 1464 of yacc.c  */
16350 #line 1705 "grammar.y"
16351     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16352     break;
16353
16354   case 426:
16355
16356 /* Line 1464 of yacc.c  */
16357 #line 1706 "grammar.y"
16358     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16359     break;
16360
16361   case 428:
16362
16363 /* Line 1464 of yacc.c  */
16364 #line 1711 "grammar.y"
16365     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16366     break;
16367
16368   case 429:
16369
16370 /* Line 1464 of yacc.c  */
16371 #line 1712 "grammar.y"
16372     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16373     break;
16374
16375   case 431:
16376
16377 /* Line 1464 of yacc.c  */
16378 #line 1717 "grammar.y"
16379     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16380     break;
16381
16382   case 432:
16383
16384 /* Line 1464 of yacc.c  */
16385 #line 1718 "grammar.y"
16386     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16387     break;
16388
16389   case 434:
16390
16391 /* Line 1464 of yacc.c  */
16392 #line 1723 "grammar.y"
16393     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16394     break;
16395
16396   case 435:
16397
16398 /* Line 1464 of yacc.c  */
16399 #line 1724 "grammar.y"
16400     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16401     break;
16402
16403   case 436:
16404
16405 /* Line 1464 of yacc.c  */
16406 #line 1725 "grammar.y"
16407     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16408     break;
16409
16410   case 437:
16411
16412 /* Line 1464 of yacc.c  */
16413 #line 1726 "grammar.y"
16414     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16415     break;
16416
16417   case 438:
16418
16419 /* Line 1464 of yacc.c  */
16420 #line 1728 "grammar.y"
16421     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16422     break;
16423
16424   case 439:
16425
16426 /* Line 1464 of yacc.c  */
16427 #line 1729 "grammar.y"
16428     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16429     break;
16430
16431   case 440:
16432
16433 /* Line 1464 of yacc.c  */
16434 #line 1730 "grammar.y"
16435     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16436     break;
16437
16438   case 441:
16439
16440 /* Line 1464 of yacc.c  */
16441 #line 1731 "grammar.y"
16442     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16443     break;
16444
16445   case 442:
16446
16447 /* Line 1464 of yacc.c  */
16448 #line 1733 "grammar.y"
16449     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16450     break;
16451
16452   case 443:
16453
16454 /* Line 1464 of yacc.c  */
16455 #line 1734 "grammar.y"
16456     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16457     break;
16458
16459   case 444:
16460
16461 /* Line 1464 of yacc.c  */
16462 #line 1735 "grammar.y"
16463     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16464     break;
16465
16466   case 445:
16467
16468 /* Line 1464 of yacc.c  */
16469 #line 1736 "grammar.y"
16470     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16471     break;
16472
16473   case 446:
16474
16475 /* Line 1464 of yacc.c  */
16476 #line 1738 "grammar.y"
16477     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16478     break;
16479
16480   case 447:
16481
16482 /* Line 1464 of yacc.c  */
16483 #line 1739 "grammar.y"
16484     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16485     break;
16486
16487   case 448:
16488
16489 /* Line 1464 of yacc.c  */
16490 #line 1740 "grammar.y"
16491     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16492     break;
16493
16494   case 449:
16495
16496 /* Line 1464 of yacc.c  */
16497 #line 1741 "grammar.y"
16498     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16499     break;
16500
16501   case 451:
16502
16503 /* Line 1464 of yacc.c  */
16504 #line 1746 "grammar.y"
16505     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16506     break;
16507
16508   case 452:
16509
16510 /* Line 1464 of yacc.c  */
16511 #line 1747 "grammar.y"
16512     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16513     break;
16514
16515   case 453:
16516
16517 /* Line 1464 of yacc.c  */
16518 #line 1748 "grammar.y"
16519     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16520     break;
16521
16522   case 454:
16523
16524 /* Line 1464 of yacc.c  */
16525 #line 1749 "grammar.y"
16526     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16527     break;
16528
16529   case 455:
16530
16531 /* Line 1464 of yacc.c  */
16532 #line 1751 "grammar.y"
16533     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16534     break;
16535
16536   case 456:
16537
16538 /* Line 1464 of yacc.c  */
16539 #line 1752 "grammar.y"
16540     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16541     break;
16542
16543   case 457:
16544
16545 /* Line 1464 of yacc.c  */
16546 #line 1753 "grammar.y"
16547     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16548     break;
16549
16550   case 458:
16551
16552 /* Line 1464 of yacc.c  */
16553 #line 1754 "grammar.y"
16554     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16555     break;
16556
16557   case 459:
16558
16559 /* Line 1464 of yacc.c  */
16560 #line 1758 "grammar.y"
16561     { (yyval.i) = '='; ;}
16562     break;
16563
16564   case 460:
16565
16566 /* Line 1464 of yacc.c  */
16567 #line 1759 "grammar.y"
16568     { (yyval.i) = MUL_ASSIGN; ;}
16569     break;
16570
16571   case 461:
16572
16573 /* Line 1464 of yacc.c  */
16574 #line 1760 "grammar.y"
16575     { (yyval.i) = DIV_ASSIGN; ;}
16576     break;
16577
16578   case 462:
16579
16580 /* Line 1464 of yacc.c  */
16581 #line 1761 "grammar.y"
16582     { (yyval.i) = MOD_ASSIGN; ;}
16583     break;
16584
16585   case 463:
16586
16587 /* Line 1464 of yacc.c  */
16588 #line 1762 "grammar.y"
16589     { (yyval.i) = ADD_ASSIGN; ;}
16590     break;
16591
16592   case 464:
16593
16594 /* Line 1464 of yacc.c  */
16595 #line 1763 "grammar.y"
16596     { (yyval.i) = SUB_ASSIGN; ;}
16597     break;
16598
16599   case 465:
16600
16601 /* Line 1464 of yacc.c  */
16602 #line 1764 "grammar.y"
16603     { (yyval.i) = LEFT_ASSIGN; ;}
16604     break;
16605
16606   case 466:
16607
16608 /* Line 1464 of yacc.c  */
16609 #line 1765 "grammar.y"
16610     { (yyval.i) = RIGHT_ASSIGN; ;}
16611     break;
16612
16613   case 467:
16614
16615 /* Line 1464 of yacc.c  */
16616 #line 1766 "grammar.y"
16617     { (yyval.i) = AND_ASSIGN; ;}
16618     break;
16619
16620   case 468:
16621
16622 /* Line 1464 of yacc.c  */
16623 #line 1767 "grammar.y"
16624     { (yyval.i) = XOR_ASSIGN; ;}
16625     break;
16626
16627   case 469:
16628
16629 /* Line 1464 of yacc.c  */
16630 #line 1768 "grammar.y"
16631     { (yyval.i) = OR_ASSIGN; ;}
16632     break;
16633
16634   case 470:
16635
16636 /* Line 1464 of yacc.c  */
16637 #line 1772 "grammar.y"
16638     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16639     break;
16640
16641   case 471:
16642
16643 /* Line 1464 of yacc.c  */
16644 #line 1773 "grammar.y"
16645     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16646     break;
16647
16648   case 472:
16649
16650 /* Line 1464 of yacc.c  */
16651 #line 1774 "grammar.y"
16652     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16653     break;
16654
16655   case 474:
16656
16657 /* Line 1464 of yacc.c  */
16658 #line 1779 "grammar.y"
16659     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16660     break;
16661
16662   case 475:
16663
16664 /* Line 1464 of yacc.c  */
16665 #line 1780 "grammar.y"
16666     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16667     break;
16668
16669   case 476:
16670
16671 /* Line 1464 of yacc.c  */
16672 #line 1781 "grammar.y"
16673     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16674     break;
16675
16676   case 478:
16677
16678 /* Line 1464 of yacc.c  */
16679 #line 1786 "grammar.y"
16680     { (yyval.exp) = MkExpDummy(); (yyval.exp).loc = (yyloc); /*printf("Sorry, didn't mean that syntax error\n");*/ ;}
16681     break;
16682
16683   case 480:
16684
16685 /* Line 1464 of yacc.c  */
16686 #line 1788 "grammar.y"
16687     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
16688     break;
16689
16690   case 481:
16691
16692 /* Line 1464 of yacc.c  */
16693 #line 1790 "grammar.y"
16694     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16695     break;
16696
16697   case 482:
16698
16699 /* Line 1464 of yacc.c  */
16700 #line 1791 "grammar.y"
16701     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16702     break;
16703
16704   case 483:
16705
16706 /* Line 1464 of yacc.c  */
16707 #line 1793 "grammar.y"
16708     { (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++;;}
16709     break;
16710
16711   case 484:
16712
16713 /* Line 1464 of yacc.c  */
16714 #line 1794 "grammar.y"
16715     { (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++;;}
16716     break;
16717
16718   case 485:
16719
16720 /* Line 1464 of yacc.c  */
16721 #line 1799 "grammar.y"
16722     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16723     break;
16724
16725   case 486:
16726
16727 /* Line 1464 of yacc.c  */
16728 #line 1801 "grammar.y"
16729     { (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++;;}
16730     break;
16731
16732   case 487:
16733
16734 /* Line 1464 of yacc.c  */
16735 #line 1806 "grammar.y"
16736     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16737     break;
16738
16739   case 488:
16740
16741 /* Line 1464 of yacc.c  */
16742 #line 1810 "grammar.y"
16743     { (yyval.exp) = MkExpDummy(); (yyval.exp).loc = (yyloc); ;}
16744     break;
16745
16746   case 490:
16747
16748 /* Line 1464 of yacc.c  */
16749 #line 1812 "grammar.y"
16750     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
16751     break;
16752
16753   case 491:
16754
16755 /* Line 1464 of yacc.c  */
16756 #line 1814 "grammar.y"
16757     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16758     break;
16759
16760   case 492:
16761
16762 /* Line 1464 of yacc.c  */
16763 #line 1815 "grammar.y"
16764     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16765     break;
16766
16767   case 493:
16768
16769 /* Line 1464 of yacc.c  */
16770 #line 1817 "grammar.y"
16771     { (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++;;}
16772     break;
16773
16774   case 494:
16775
16776 /* Line 1464 of yacc.c  */
16777 #line 1818 "grammar.y"
16778     { (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++;;}
16779     break;
16780
16781   case 495:
16782
16783 /* Line 1464 of yacc.c  */
16784 #line 1823 "grammar.y"
16785     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16786     break;
16787
16788   case 496:
16789
16790 /* Line 1464 of yacc.c  */
16791 #line 1825 "grammar.y"
16792     { (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++;;}
16793     break;
16794
16795   case 497:
16796
16797 /* Line 1464 of yacc.c  */
16798 #line 1830 "grammar.y"
16799     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16800     break;
16801
16802   case 498:
16803
16804 /* Line 1464 of yacc.c  */
16805 #line 1834 "grammar.y"
16806     { (yyval.exp) = MkExpOp(null, INC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16807     break;
16808
16809   case 499:
16810
16811 /* Line 1464 of yacc.c  */
16812 #line 1835 "grammar.y"
16813     { (yyval.exp) = MkExpOp(null, DEC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16814     break;
16815
16816   case 500:
16817
16818 /* Line 1464 of yacc.c  */
16819 #line 1836 "grammar.y"
16820     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16821     break;
16822
16823   case 501:
16824
16825 /* Line 1464 of yacc.c  */
16826 #line 1837 "grammar.y"
16827     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16828     break;
16829
16830   case 502:
16831
16832 /* Line 1464 of yacc.c  */
16833 #line 1838 "grammar.y"
16834     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16835     break;
16836
16837   case 503:
16838
16839 /* Line 1464 of yacc.c  */
16840 #line 1839 "grammar.y"
16841     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16842     break;
16843
16844   case 504:
16845
16846 /* Line 1464 of yacc.c  */
16847 #line 1840 "grammar.y"
16848     { (yyval.exp) = MkExpTypeSize((yyvsp[(3) - (5)].typeName)); (yyval.exp).loc = (yyloc); ;}
16849     break;
16850
16851   case 505:
16852
16853 /* Line 1464 of yacc.c  */
16854 #line 1841 "grammar.y"
16855     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (6)].specifier)); (yyval.exp).loc = (yyloc); ;}
16856     break;
16857
16858   case 506:
16859
16860 /* Line 1464 of yacc.c  */
16861 #line 1842 "grammar.y"
16862     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (6)].specifier)); (yyval.exp).loc = (yyloc); ;}
16863     break;
16864
16865   case 507:
16866
16867 /* Line 1464 of yacc.c  */
16868 #line 1843 "grammar.y"
16869     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16870     break;
16871
16872   case 508:
16873
16874 /* Line 1464 of yacc.c  */
16875 #line 1844 "grammar.y"
16876     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16877     break;
16878
16879   case 509:
16880
16881 /* Line 1464 of yacc.c  */
16882 #line 1845 "grammar.y"
16883     { (yyval.exp) = MkExpTypeAlign((yyvsp[(3) - (5)].typeName)); (yyval.exp).loc = (yyloc); ;}
16884     break;
16885
16886   case 515:
16887
16888 /* Line 1464 of yacc.c  */
16889 #line 1861 "grammar.y"
16890     { (yyval.exp) = MkExpCast((yyvsp[(2) - (4)].typeName), (yyvsp[(4) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
16891     break;
16892
16893   case 517:
16894
16895 /* Line 1464 of yacc.c  */
16896 #line 1866 "grammar.y"
16897     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16898     break;
16899
16900   case 518:
16901
16902 /* Line 1464 of yacc.c  */
16903 #line 1867 "grammar.y"
16904     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16905     break;
16906
16907   case 519:
16908
16909 /* Line 1464 of yacc.c  */
16910 #line 1868 "grammar.y"
16911     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16912     break;
16913
16914   case 520:
16915
16916 /* Line 1464 of yacc.c  */
16917 #line 1869 "grammar.y"
16918     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16919     break;
16920
16921   case 521:
16922
16923 /* Line 1464 of yacc.c  */
16924 #line 1870 "grammar.y"
16925     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16926     break;
16927
16928   case 522:
16929
16930 /* Line 1464 of yacc.c  */
16931 #line 1871 "grammar.y"
16932     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16933     break;
16934
16935   case 524:
16936
16937 /* Line 1464 of yacc.c  */
16938 #line 1876 "grammar.y"
16939     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16940     break;
16941
16942   case 525:
16943
16944 /* Line 1464 of yacc.c  */
16945 #line 1880 "grammar.y"
16946     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16947     break;
16948
16949   case 526:
16950
16951 /* Line 1464 of yacc.c  */
16952 #line 1884 "grammar.y"
16953     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16954     break;
16955
16956   case 527:
16957
16958 /* Line 1464 of yacc.c  */
16959 #line 1888 "grammar.y"
16960     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16961     break;
16962
16963   case 529:
16964
16965 /* Line 1464 of yacc.c  */
16966 #line 1896 "grammar.y"
16967     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16968     break;
16969
16970   case 530:
16971
16972 /* Line 1464 of yacc.c  */
16973 #line 1897 "grammar.y"
16974     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16975     break;
16976
16977   case 531:
16978
16979 /* Line 1464 of yacc.c  */
16980 #line 1898 "grammar.y"
16981     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16982     break;
16983
16984   case 532:
16985
16986 /* Line 1464 of yacc.c  */
16987 #line 1899 "grammar.y"
16988     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16989     break;
16990
16991   case 534:
16992
16993 /* Line 1464 of yacc.c  */
16994 #line 1905 "grammar.y"
16995     {
16996       if((yyvsp[(1) - (2)].exp).type == identifierExp)
16997       {
16998          if((yyvsp[(1) - (2)].exp).identifier._class && !(yyvsp[(1) - (2)].exp).identifier._class.name)
16999          {
17000             char name[1024];
17001             strcpy(name, "::");
17002             strcat(name, (yyvsp[(1) - (2)].exp).identifier.string);
17003             _DeclClass(0, name);
17004          }
17005          else
17006             _DeclClass(0, (yyvsp[(1) - (2)].exp).identifier.string);
17007
17008          // printf("Declaring Class %s\n", $1.identifier.string);
17009          skipErrors = false;
17010
17011          FreeExpression((yyvsp[(1) - (2)].exp));
17012          FreeExpression((yyvsp[(2) - (2)].exp));
17013
17014          fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
17015          resetScannerPos(&(yylsp[(1) - (2)]).start);
17016          yyclearin;
17017
17018          YYPOPSTACK(1);
17019          yystate = *yyssp;
17020          YY_STACK_PRINT (yyss, yyssp);
17021
17022          YYPOPSTACK(1);
17023          yystate = *yyssp;
17024          YY_STACK_PRINT (yyss, yyssp);
17025 /*
17026          YYPOPSTACK(1);
17027          yystate = *yyssp;
17028          YY_STACK_PRINT (yyss, yyssp);
17029
17030          YYPOPSTACK(1);
17031          yystate = *yyssp;
17032          YY_STACK_PRINT (yyss, yyssp);
17033 */
17034          yyerrok;
17035
17036          goto yysetstate;
17037       }
17038       else
17039       {
17040          (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), '<', (yyvsp[(2) - (2)].exp));
17041          (yyval.exp).loc = (yyloc);
17042       }
17043       skipErrors = false;
17044    ;}
17045     break;
17046
17047   case 535:
17048
17049 /* Line 1464 of yacc.c  */
17050 #line 1955 "grammar.y"
17051     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17052     break;
17053
17054   case 536:
17055
17056 /* Line 1464 of yacc.c  */
17057 #line 1956 "grammar.y"
17058     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17059     break;
17060
17061   case 537:
17062
17063 /* Line 1464 of yacc.c  */
17064 #line 1957 "grammar.y"
17065     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17066     break;
17067
17068   case 538:
17069
17070 /* Line 1464 of yacc.c  */
17071 #line 1958 "grammar.y"
17072     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '<', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17073     break;
17074
17075   case 539:
17076
17077 /* Line 1464 of yacc.c  */
17078 #line 1959 "grammar.y"
17079     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17080     break;
17081
17082   case 540:
17083
17084 /* Line 1464 of yacc.c  */
17085 #line 1960 "grammar.y"
17086     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17087     break;
17088
17089   case 541:
17090
17091 /* Line 1464 of yacc.c  */
17092 #line 1961 "grammar.y"
17093     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17094     break;
17095
17096   case 543:
17097
17098 /* Line 1464 of yacc.c  */
17099 #line 1966 "grammar.y"
17100     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17101     break;
17102
17103   case 544:
17104
17105 /* Line 1464 of yacc.c  */
17106 #line 1967 "grammar.y"
17107     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17108     break;
17109
17110   case 545:
17111
17112 /* Line 1464 of yacc.c  */
17113 #line 1968 "grammar.y"
17114     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17115     break;
17116
17117   case 546:
17118
17119 /* Line 1464 of yacc.c  */
17120 #line 1969 "grammar.y"
17121     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17122     break;
17123
17124   case 547:
17125
17126 /* Line 1464 of yacc.c  */
17127 #line 1976 "grammar.y"
17128     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17129     break;
17130
17131   case 548:
17132
17133 /* Line 1464 of yacc.c  */
17134 #line 1977 "grammar.y"
17135     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17136     break;
17137
17138   case 549:
17139
17140 /* Line 1464 of yacc.c  */
17141 #line 1978 "grammar.y"
17142     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17143     break;
17144
17145   case 550:
17146
17147 /* Line 1464 of yacc.c  */
17148 #line 1979 "grammar.y"
17149     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17150     break;
17151
17152   case 552:
17153
17154 /* Line 1464 of yacc.c  */
17155 #line 1984 "grammar.y"
17156     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17157     break;
17158
17159   case 553:
17160
17161 /* Line 1464 of yacc.c  */
17162 #line 1985 "grammar.y"
17163     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17164     break;
17165
17166   case 554:
17167
17168 /* Line 1464 of yacc.c  */
17169 #line 1987 "grammar.y"
17170     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17171     break;
17172
17173   case 555:
17174
17175 /* Line 1464 of yacc.c  */
17176 #line 1988 "grammar.y"
17177     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17178     break;
17179
17180   case 557:
17181
17182 /* Line 1464 of yacc.c  */
17183 #line 1993 "grammar.y"
17184     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17185     break;
17186
17187   case 558:
17188
17189 /* Line 1464 of yacc.c  */
17190 #line 1994 "grammar.y"
17191     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17192     break;
17193
17194   case 559:
17195
17196 /* Line 1464 of yacc.c  */
17197 #line 1996 "grammar.y"
17198     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17199     break;
17200
17201   case 560:
17202
17203 /* Line 1464 of yacc.c  */
17204 #line 1997 "grammar.y"
17205     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17206     break;
17207
17208   case 562:
17209
17210 /* Line 1464 of yacc.c  */
17211 #line 2002 "grammar.y"
17212     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17213     break;
17214
17215   case 563:
17216
17217 /* Line 1464 of yacc.c  */
17218 #line 2003 "grammar.y"
17219     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17220     break;
17221
17222   case 564:
17223
17224 /* Line 1464 of yacc.c  */
17225 #line 2005 "grammar.y"
17226     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17227     break;
17228
17229   case 565:
17230
17231 /* Line 1464 of yacc.c  */
17232 #line 2006 "grammar.y"
17233     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17234     break;
17235
17236   case 567:
17237
17238 /* Line 1464 of yacc.c  */
17239 #line 2011 "grammar.y"
17240     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17241     break;
17242
17243   case 568:
17244
17245 /* Line 1464 of yacc.c  */
17246 #line 2012 "grammar.y"
17247     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17248     break;
17249
17250   case 570:
17251
17252 /* Line 1464 of yacc.c  */
17253 #line 2017 "grammar.y"
17254     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17255     break;
17256
17257   case 571:
17258
17259 /* Line 1464 of yacc.c  */
17260 #line 2018 "grammar.y"
17261     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17262     break;
17263
17264   case 573:
17265
17266 /* Line 1464 of yacc.c  */
17267 #line 2023 "grammar.y"
17268     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17269     break;
17270
17271   case 574:
17272
17273 /* Line 1464 of yacc.c  */
17274 #line 2024 "grammar.y"
17275     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17276     break;
17277
17278   case 575:
17279
17280 /* Line 1464 of yacc.c  */
17281 #line 2025 "grammar.y"
17282     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17283     break;
17284
17285   case 576:
17286
17287 /* Line 1464 of yacc.c  */
17288 #line 2026 "grammar.y"
17289     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17290     break;
17291
17292   case 577:
17293
17294 /* Line 1464 of yacc.c  */
17295 #line 2027 "grammar.y"
17296     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17297     break;
17298
17299   case 578:
17300
17301 /* Line 1464 of yacc.c  */
17302 #line 2028 "grammar.y"
17303     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17304     break;
17305
17306   case 579:
17307
17308 /* Line 1464 of yacc.c  */
17309 #line 2029 "grammar.y"
17310     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17311     break;
17312
17313   case 580:
17314
17315 /* Line 1464 of yacc.c  */
17316 #line 2030 "grammar.y"
17317     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17318     break;
17319
17320   case 581:
17321
17322 /* Line 1464 of yacc.c  */
17323 #line 2032 "grammar.y"
17324     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17325     break;
17326
17327   case 582:
17328
17329 /* Line 1464 of yacc.c  */
17330 #line 2033 "grammar.y"
17331     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17332     break;
17333
17334   case 583:
17335
17336 /* Line 1464 of yacc.c  */
17337 #line 2034 "grammar.y"
17338     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17339     break;
17340
17341   case 584:
17342
17343 /* Line 1464 of yacc.c  */
17344 #line 2035 "grammar.y"
17345     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17346     break;
17347
17348   case 585:
17349
17350 /* Line 1464 of yacc.c  */
17351 #line 2036 "grammar.y"
17352     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17353     break;
17354
17355   case 586:
17356
17357 /* Line 1464 of yacc.c  */
17358 #line 2037 "grammar.y"
17359     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17360     break;
17361
17362   case 587:
17363
17364 /* Line 1464 of yacc.c  */
17365 #line 2038 "grammar.y"
17366     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17367     break;
17368
17369   case 588:
17370
17371 /* Line 1464 of yacc.c  */
17372 #line 2039 "grammar.y"
17373     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17374     break;
17375
17376   case 589:
17377
17378 /* Line 1464 of yacc.c  */
17379 #line 2041 "grammar.y"
17380     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17381     break;
17382
17383   case 590:
17384
17385 /* Line 1464 of yacc.c  */
17386 #line 2042 "grammar.y"
17387     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17388     break;
17389
17390   case 591:
17391
17392 /* Line 1464 of yacc.c  */
17393 #line 2043 "grammar.y"
17394     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17395     break;
17396
17397   case 592:
17398
17399 /* Line 1464 of yacc.c  */
17400 #line 2044 "grammar.y"
17401     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17402     break;
17403
17404   case 593:
17405
17406 /* Line 1464 of yacc.c  */
17407 #line 2046 "grammar.y"
17408     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17409     break;
17410
17411   case 594:
17412
17413 /* Line 1464 of yacc.c  */
17414 #line 2047 "grammar.y"
17415     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17416     break;
17417
17418   case 595:
17419
17420 /* Line 1464 of yacc.c  */
17421 #line 2048 "grammar.y"
17422     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17423     break;
17424
17425   case 596:
17426
17427 /* Line 1464 of yacc.c  */
17428 #line 2049 "grammar.y"
17429     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17430     break;
17431
17432   case 597:
17433
17434 /* Line 1464 of yacc.c  */
17435 #line 2052 "grammar.y"
17436     {
17437          (yyval.exp) = MkExpCondition((yyvsp[(1) - (3)].exp), MkListOne(MkExpDummy()), MkExpDummy());
17438          (yyval.exp).loc = (yyloc);
17439          ((Expression)(yyval.exp).cond.exp->last).loc = (yylsp[(2) - (3)]);
17440          (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (3)]);
17441       ;}
17442     break;
17443
17444   case 598:
17445
17446 /* Line 1464 of yacc.c  */
17447 #line 2059 "grammar.y"
17448     {
17449          (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)]);
17450       ;}
17451     break;
17452
17453   case 599:
17454
17455 /* Line 1464 of yacc.c  */
17456 #line 2063 "grammar.y"
17457     {
17458          (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)]);
17459       ;}
17460     break;
17461
17462   case 600:
17463
17464 /* Line 1464 of yacc.c  */
17465 #line 2067 "grammar.y"
17466     {
17467          (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)]);
17468       ;}
17469     break;
17470
17471   case 602:
17472
17473 /* Line 1464 of yacc.c  */
17474 #line 2074 "grammar.y"
17475     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17476     break;
17477
17478   case 603:
17479
17480 /* Line 1464 of yacc.c  */
17481 #line 2078 "grammar.y"
17482     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17483     break;
17484
17485   case 604:
17486
17487 /* Line 1464 of yacc.c  */
17488 #line 2083 "grammar.y"
17489     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17490     break;
17491
17492   case 605:
17493
17494 /* Line 1464 of yacc.c  */
17495 #line 2084 "grammar.y"
17496     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17497     break;
17498
17499   case 606:
17500
17501 /* Line 1464 of yacc.c  */
17502 #line 2088 "grammar.y"
17503     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
17504     break;
17505
17506   case 607:
17507
17508 /* Line 1464 of yacc.c  */
17509 #line 2089 "grammar.y"
17510     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].exp)); ;}
17511     break;
17512
17513   case 608:
17514
17515 /* Line 1464 of yacc.c  */
17516 #line 2090 "grammar.y"
17517     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17518     break;
17519
17520   case 609:
17521
17522 /* Line 1464 of yacc.c  */
17523 #line 2091 "grammar.y"
17524     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17525     break;
17526
17527   case 610:
17528
17529 /* Line 1464 of yacc.c  */
17530 #line 2097 "grammar.y"
17531     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17532     break;
17533
17534   case 611:
17535
17536 /* Line 1464 of yacc.c  */
17537 #line 2098 "grammar.y"
17538     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17539     break;
17540
17541   case 612:
17542
17543 /* Line 1464 of yacc.c  */
17544 #line 2099 "grammar.y"
17545     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17546     break;
17547
17548   case 613:
17549
17550 /* Line 1464 of yacc.c  */
17551 #line 2103 "grammar.y"
17552     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
17553     break;
17554
17555   case 614:
17556
17557 /* Line 1464 of yacc.c  */
17558 #line 2104 "grammar.y"
17559     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].exp)); ;}
17560     break;
17561
17562   case 615:
17563
17564 /* Line 1464 of yacc.c  */
17565 #line 2105 "grammar.y"
17566     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17567     break;
17568
17569   case 616:
17570
17571 /* Line 1464 of yacc.c  */
17572 #line 2106 "grammar.y"
17573     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17574     break;
17575
17576   case 619:
17577
17578 /* Line 1464 of yacc.c  */
17579 #line 2116 "grammar.y"
17580     { (yyval.specifier) = MkSpecifier(TYPEDEF); ;}
17581     break;
17582
17583   case 620:
17584
17585 /* Line 1464 of yacc.c  */
17586 #line 2117 "grammar.y"
17587     { (yyval.specifier) = MkSpecifier(EXTERN); ;}
17588     break;
17589
17590   case 621:
17591
17592 /* Line 1464 of yacc.c  */
17593 #line 2118 "grammar.y"
17594     { (yyval.specifier) = MkSpecifier(STATIC); ;}
17595     break;
17596
17597   case 622:
17598
17599 /* Line 1464 of yacc.c  */
17600 #line 2119 "grammar.y"
17601     { (yyval.specifier) = MkSpecifier(AUTO); ;}
17602     break;
17603
17604   case 623:
17605
17606 /* Line 1464 of yacc.c  */
17607 #line 2120 "grammar.y"
17608     { (yyval.specifier) = MkSpecifier(REGISTER); ;}
17609     break;
17610
17611   case 624:
17612
17613 /* Line 1464 of yacc.c  */
17614 #line 2121 "grammar.y"
17615     { (yyval.specifier) = MkSpecifier(RESTRICT); ;}
17616     break;
17617
17618   case 625:
17619
17620 /* Line 1464 of yacc.c  */
17621 #line 2125 "grammar.y"
17622     { (yyval.specifier) = MkSpecifier(TYPEDEF); structDeclMode = declMode = defaultAccess; ;}
17623     break;
17624
17625   case 626:
17626
17627 /* Line 1464 of yacc.c  */
17628 #line 2126 "grammar.y"
17629     { (yyval.specifier) = MkSpecifier(EXTERN); ;}
17630     break;
17631
17632   case 627:
17633
17634 /* Line 1464 of yacc.c  */
17635 #line 2127 "grammar.y"
17636     { (yyval.specifier) = MkSpecifier(STATIC); structDeclMode = declMode = staticAccess; ;}
17637     break;
17638
17639   case 628:
17640
17641 /* Line 1464 of yacc.c  */
17642 #line 2128 "grammar.y"
17643     { (yyval.specifier) = MkSpecifier(AUTO); ;}
17644     break;
17645
17646   case 629:
17647
17648 /* Line 1464 of yacc.c  */
17649 #line 2129 "grammar.y"
17650     { (yyval.specifier) = MkSpecifier(REGISTER); ;}
17651     break;
17652
17653   case 630:
17654
17655 /* Line 1464 of yacc.c  */
17656 #line 2130 "grammar.y"
17657     { (yyval.specifier) = MkSpecifier(RESTRICT); ;}
17658     break;
17659
17660   case 631:
17661
17662 /* Line 1464 of yacc.c  */
17663 #line 2134 "grammar.y"
17664     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (1)].id), null); ;}
17665     break;
17666
17667   case 632:
17668
17669 /* Line 1464 of yacc.c  */
17670 #line 2135 "grammar.y"
17671     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].exp)); ;}
17672     break;
17673
17674   case 633:
17675
17676 /* Line 1464 of yacc.c  */
17677 #line 2136 "grammar.y"
17678     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].exp)); ;}
17679     break;
17680
17681   case 634:
17682
17683 /* Line 1464 of yacc.c  */
17684 #line 2140 "grammar.y"
17685     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].enumerator)); ;}
17686     break;
17687
17688   case 635:
17689
17690 /* Line 1464 of yacc.c  */
17691 #line 2141 "grammar.y"
17692     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].enumerator)); ;}
17693     break;
17694
17695   case 637:
17696
17697 /* Line 1464 of yacc.c  */
17698 #line 2146 "grammar.y"
17699     { memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
17700     break;
17701
17702   case 638:
17703
17704 /* Line 1464 of yacc.c  */
17705 #line 2150 "grammar.y"
17706     { (yyval.specifier) = MkEnum((yyvsp[(2) - (2)].id), null); POP_DEFAULT_ACCESS ;}
17707     break;
17708
17709   case 639:
17710
17711 /* Line 1464 of yacc.c  */
17712 #line 2151 "grammar.y"
17713     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (2)].specifier).name), null); POP_DEFAULT_ACCESS ;}
17714     break;
17715
17716   case 640:
17717
17718 /* Line 1464 of yacc.c  */
17719 #line 2155 "grammar.y"
17720     { (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS (yyval.specifier) = (yyvsp[(1) - (2)].specifier); ;}
17721     break;
17722
17723   case 641:
17724
17725 /* Line 1464 of yacc.c  */
17726 #line 2156 "grammar.y"
17727     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17728     break;
17729
17730   case 642:
17731
17732 /* Line 1464 of yacc.c  */
17733 #line 2157 "grammar.y"
17734     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), null); FreeSpecifier((yyvsp[(2) - (4)].specifier)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17735     break;
17736
17737   case 643:
17738
17739 /* Line 1464 of yacc.c  */
17740 #line 2161 "grammar.y"
17741     { (yyval.specifier) = MkEnum(null, (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17742     break;
17743
17744   case 644:
17745
17746 /* Line 1464 of yacc.c  */
17747 #line 2162 "grammar.y"
17748     { (yyval.specifier) = MkEnum(null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17749     break;
17750
17751   case 645:
17752
17753 /* Line 1464 of yacc.c  */
17754 #line 2164 "grammar.y"
17755     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), (yyvsp[(4) - (4)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17756     break;
17757
17758   case 646:
17759
17760 /* Line 1464 of yacc.c  */
17761 #line 2165 "grammar.y"
17762     { (yyval.specifier) = MkEnum((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].list));  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17763     break;
17764
17765   case 647:
17766
17767 /* Line 1464 of yacc.c  */
17768 #line 2166 "grammar.y"
17769     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), null);  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17770     break;
17771
17772   case 648:
17773
17774 /* Line 1464 of yacc.c  */
17775 #line 2167 "grammar.y"
17776     { (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 ;}
17777     break;
17778
17779   case 649:
17780
17781 /* Line 1464 of yacc.c  */
17782 #line 2168 "grammar.y"
17783     { (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 ;}
17784     break;
17785
17786   case 650:
17787
17788 /* Line 1464 of yacc.c  */
17789 #line 2170 "grammar.y"
17790     { (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 ;}
17791     break;
17792
17793   case 651:
17794
17795 /* Line 1464 of yacc.c  */
17796 #line 2171 "grammar.y"
17797     { (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 ;}
17798     break;
17799
17800   case 652:
17801
17802 /* Line 1464 of yacc.c  */
17803 #line 2172 "grammar.y"
17804     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), null); (yyval.specifier).loc = (yyloc); FreeSpecifier((yyvsp[(2) - (4)].specifier)); POP_DEFAULT_ACCESS ;}
17805     break;
17806
17807   case 653:
17808
17809 /* Line 1464 of yacc.c  */
17810 #line 2173 "grammar.y"
17811     { (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 ;}
17812     break;
17813
17814   case 654:
17815
17816 /* Line 1464 of yacc.c  */
17817 #line 2174 "grammar.y"
17818     { (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 ;}
17819     break;
17820
17821   case 655:
17822
17823 /* Line 1464 of yacc.c  */
17824 #line 2178 "grammar.y"
17825     { (yyval.id) = (yyvsp[(2) - (2)].id); if(declMode) DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (2)].id).string); ;}
17826     break;
17827
17828   case 656:
17829
17830 /* Line 1464 of yacc.c  */
17831 #line 2179 "grammar.y"
17832     { (yyval.id) = MkIdentifier((yyvsp[(2) - (2)].specifier).name); if(declMode) DeclClass(globalContext.nextID++, (yyvsp[(2) - (2)].specifier).name); FreeSpecifier((yyvsp[(2) - (2)].specifier)); ;}
17833     break;
17834
17835   case 657:
17836
17837 /* Line 1464 of yacc.c  */
17838 #line 2183 "grammar.y"
17839     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
17840     break;
17841
17842   case 658:
17843
17844 /* Line 1464 of yacc.c  */
17845 #line 2184 "grammar.y"
17846     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17847     break;
17848
17849   case 659:
17850
17851 /* Line 1464 of yacc.c  */
17852 #line 2185 "grammar.y"
17853     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), null); POP_DEFAULT_ACCESS ;}
17854     break;
17855
17856   case 660:
17857
17858 /* Line 1464 of yacc.c  */
17859 #line 2189 "grammar.y"
17860     { (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 ;}
17861     break;
17862
17863   case 661:
17864
17865 /* Line 1464 of yacc.c  */
17866 #line 2190 "grammar.y"
17867     { (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 ;}
17868     break;
17869
17870   case 662:
17871
17872 /* Line 1464 of yacc.c  */
17873 #line 2191 "grammar.y"
17874     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17875     break;
17876
17877   case 663:
17878
17879 /* Line 1464 of yacc.c  */
17880 #line 2192 "grammar.y"
17881     { (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 ;}
17882     break;
17883
17884   case 664:
17885
17886 /* Line 1464 of yacc.c  */
17887 #line 2193 "grammar.y"
17888     { (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 ;}
17889     break;
17890
17891   case 665:
17892
17893 /* Line 1464 of yacc.c  */
17894 #line 2194 "grammar.y"
17895     { (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 ;}
17896     break;
17897
17898   case 666:
17899
17900 /* Line 1464 of yacc.c  */
17901 #line 2195 "grammar.y"
17902     { (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 ;}
17903     break;
17904
17905   case 667:
17906
17907 /* Line 1464 of yacc.c  */
17908 #line 2196 "grammar.y"
17909     { (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 ;}
17910     break;
17911
17912   case 668:
17913
17914 /* Line 1464 of yacc.c  */
17915 #line 2197 "grammar.y"
17916     { (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 ;}
17917     break;
17918
17919   case 669:
17920
17921 /* Line 1464 of yacc.c  */
17922 #line 2199 "grammar.y"
17923     { (yyval.specifier) = MkEnum(null, (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17924     break;
17925
17926   case 670:
17927
17928 /* Line 1464 of yacc.c  */
17929 #line 2200 "grammar.y"
17930     { (yyval.specifier) = MkEnum(null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17931     break;
17932
17933   case 671:
17934
17935 /* Line 1464 of yacc.c  */
17936 #line 2202 "grammar.y"
17937     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17938     break;
17939
17940   case 672:
17941
17942 /* Line 1464 of yacc.c  */
17943 #line 2203 "grammar.y"
17944     { (yyval.specifier) = MkEnum((yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17945     break;
17946
17947   case 673:
17948
17949 /* Line 1464 of yacc.c  */
17950 #line 2204 "grammar.y"
17951     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17952     break;
17953
17954   case 674:
17955
17956 /* Line 1464 of yacc.c  */
17957 #line 2205 "grammar.y"
17958     { (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 ;}
17959     break;
17960
17961   case 675:
17962
17963 /* Line 1464 of yacc.c  */
17964 #line 2206 "grammar.y"
17965     { (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 ;}
17966     break;
17967
17968   case 680:
17969
17970 /* Line 1464 of yacc.c  */
17971 #line 2220 "grammar.y"
17972     { (yyval.specifier) = MkSpecifierExtended((yyvsp[(1) - (1)].extDecl)); ;}
17973     break;
17974
17975   case 681:
17976
17977 /* Line 1464 of yacc.c  */
17978 #line 2224 "grammar.y"
17979     { (yyval.specifier) = MkSpecifier(CONST); ;}
17980     break;
17981
17982   case 682:
17983
17984 /* Line 1464 of yacc.c  */
17985 #line 2225 "grammar.y"
17986     { (yyval.specifier) = MkSpecifier(VOLATILE); ;}
17987     break;
17988
17989   case 683:
17990
17991 /* Line 1464 of yacc.c  */
17992 #line 2226 "grammar.y"
17993     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); ;}
17994     break;
17995
17996   case 684:
17997
17998 /* Line 1464 of yacc.c  */
17999 #line 2231 "grammar.y"
18000     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18001     break;
18002
18003   case 685:
18004
18005 /* Line 1464 of yacc.c  */
18006 #line 2232 "grammar.y"
18007     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier));  ;}
18008     break;
18009
18010   case 686:
18011
18012 /* Line 1464 of yacc.c  */
18013 #line 2236 "grammar.y"
18014     { (yyval.specifier) = MkSpecifier(VOID); ;}
18015     break;
18016
18017   case 687:
18018
18019 /* Line 1464 of yacc.c  */
18020 #line 2237 "grammar.y"
18021     { (yyval.specifier) = MkSpecifier(CHAR); ;}
18022     break;
18023
18024   case 688:
18025
18026 /* Line 1464 of yacc.c  */
18027 #line 2238 "grammar.y"
18028     { (yyval.specifier) = MkSpecifier(SHORT); ;}
18029     break;
18030
18031   case 689:
18032
18033 /* Line 1464 of yacc.c  */
18034 #line 2239 "grammar.y"
18035     { (yyval.specifier) = MkSpecifier(INT); ;}
18036     break;
18037
18038   case 690:
18039
18040 /* Line 1464 of yacc.c  */
18041 #line 2240 "grammar.y"
18042     { (yyval.specifier) = MkSpecifier(UINT); ;}
18043     break;
18044
18045   case 691:
18046
18047 /* Line 1464 of yacc.c  */
18048 #line 2241 "grammar.y"
18049     { (yyval.specifier) = MkSpecifier(INT64); ;}
18050     break;
18051
18052   case 692:
18053
18054 /* Line 1464 of yacc.c  */
18055 #line 2242 "grammar.y"
18056     { (yyval.specifier) = MkSpecifier(VALIST); ;}
18057     break;
18058
18059   case 693:
18060
18061 /* Line 1464 of yacc.c  */
18062 #line 2243 "grammar.y"
18063     { (yyval.specifier) = MkSpecifier(LONG); ;}
18064     break;
18065
18066   case 694:
18067
18068 /* Line 1464 of yacc.c  */
18069 #line 2244 "grammar.y"
18070     { (yyval.specifier) = MkSpecifier(FLOAT); ;}
18071     break;
18072
18073   case 695:
18074
18075 /* Line 1464 of yacc.c  */
18076 #line 2245 "grammar.y"
18077     { (yyval.specifier) = MkSpecifier(DOUBLE); ;}
18078     break;
18079
18080   case 696:
18081
18082 /* Line 1464 of yacc.c  */
18083 #line 2246 "grammar.y"
18084     { (yyval.specifier) = MkSpecifier(SIGNED); ;}
18085     break;
18086
18087   case 697:
18088
18089 /* Line 1464 of yacc.c  */
18090 #line 2247 "grammar.y"
18091     { (yyval.specifier) = MkSpecifier(UNSIGNED); ;}
18092     break;
18093
18094   case 698:
18095
18096 /* Line 1464 of yacc.c  */
18097 #line 2248 "grammar.y"
18098     { (yyval.specifier) = MkSpecifier(EXTENSION); ;}
18099     break;
18100
18101   case 702:
18102
18103 /* Line 1464 of yacc.c  */
18104 #line 2252 "grammar.y"
18105     { (yyval.specifier) = MkSpecifierTypeOf((yyvsp[(3) - (4)].exp)); ;}
18106     break;
18107
18108   case 703:
18109
18110 /* Line 1464 of yacc.c  */
18111 #line 2253 "grammar.y"
18112     { (yyval.specifier) = MkSpecifierSubClass((yyvsp[(3) - (4)].specifier)); ;}
18113     break;
18114
18115   case 704:
18116
18117 /* Line 1464 of yacc.c  */
18118 #line 2254 "grammar.y"
18119     { _DeclClass(0, (yyvsp[(3) - (4)].id).string); (yyval.specifier) = MkSpecifierSubClass(MkSpecifierName((yyvsp[(3) - (4)].id).string)); FreeIdentifier((yyvsp[(3) - (4)].id)); ;}
18120     break;
18121
18122   case 705:
18123
18124 /* Line 1464 of yacc.c  */
18125 #line 2255 "grammar.y"
18126     { (yyval.specifier) = MkSpecifier(THISCLASS); ;}
18127     break;
18128
18129   case 706:
18130
18131 /* Line 1464 of yacc.c  */
18132 #line 2256 "grammar.y"
18133     { (yyval.specifier) = MkSpecifier(TYPED_OBJECT); ;}
18134     break;
18135
18136   case 707:
18137
18138 /* Line 1464 of yacc.c  */
18139 #line 2257 "grammar.y"
18140     { (yyval.specifier) = MkSpecifier(ANY_OBJECT); ;}
18141     break;
18142
18143   case 708:
18144
18145 /* Line 1464 of yacc.c  */
18146 #line 2258 "grammar.y"
18147     { (yyval.specifier) = MkSpecifier(_BOOL); ;}
18148     break;
18149
18150   case 709:
18151
18152 /* Line 1464 of yacc.c  */
18153 #line 2259 "grammar.y"
18154     { (yyval.specifier) = MkSpecifier(BOOL); ;}
18155     break;
18156
18157   case 710:
18158
18159 /* Line 1464 of yacc.c  */
18160 #line 2260 "grammar.y"
18161     { (yyval.specifier) = MkSpecifier(_COMPLEX); ;}
18162     break;
18163
18164   case 711:
18165
18166 /* Line 1464 of yacc.c  */
18167 #line 2261 "grammar.y"
18168     { (yyval.specifier) = MkSpecifier(_IMAGINARY); ;}
18169     break;
18170
18171   case 712:
18172
18173 /* Line 1464 of yacc.c  */
18174 #line 2265 "grammar.y"
18175     { (yyval.specifier) = MkSpecifier(VOID); ;}
18176     break;
18177
18178   case 713:
18179
18180 /* Line 1464 of yacc.c  */
18181 #line 2266 "grammar.y"
18182     { (yyval.specifier) = MkSpecifier(CHAR); ;}
18183     break;
18184
18185   case 714:
18186
18187 /* Line 1464 of yacc.c  */
18188 #line 2267 "grammar.y"
18189     { (yyval.specifier) = MkSpecifier(SHORT); ;}
18190     break;
18191
18192   case 715:
18193
18194 /* Line 1464 of yacc.c  */
18195 #line 2268 "grammar.y"
18196     { (yyval.specifier) = MkSpecifier(INT); ;}
18197     break;
18198
18199   case 716:
18200
18201 /* Line 1464 of yacc.c  */
18202 #line 2269 "grammar.y"
18203     { (yyval.specifier) = MkSpecifier(UINT); ;}
18204     break;
18205
18206   case 717:
18207
18208 /* Line 1464 of yacc.c  */
18209 #line 2270 "grammar.y"
18210     { (yyval.specifier) = MkSpecifier(INT64); ;}
18211     break;
18212
18213   case 718:
18214
18215 /* Line 1464 of yacc.c  */
18216 #line 2271 "grammar.y"
18217     { (yyval.specifier) = MkSpecifier(VALIST); ;}
18218     break;
18219
18220   case 719:
18221
18222 /* Line 1464 of yacc.c  */
18223 #line 2272 "grammar.y"
18224     { (yyval.specifier) = MkSpecifier(LONG); ;}
18225     break;
18226
18227   case 720:
18228
18229 /* Line 1464 of yacc.c  */
18230 #line 2273 "grammar.y"
18231     { (yyval.specifier) = MkSpecifier(FLOAT); ;}
18232     break;
18233
18234   case 721:
18235
18236 /* Line 1464 of yacc.c  */
18237 #line 2274 "grammar.y"
18238     { (yyval.specifier) = MkSpecifier(DOUBLE); ;}
18239     break;
18240
18241   case 722:
18242
18243 /* Line 1464 of yacc.c  */
18244 #line 2275 "grammar.y"
18245     { (yyval.specifier) = MkSpecifier(SIGNED); ;}
18246     break;
18247
18248   case 723:
18249
18250 /* Line 1464 of yacc.c  */
18251 #line 2276 "grammar.y"
18252     { (yyval.specifier) = MkSpecifier(UNSIGNED); ;}
18253     break;
18254
18255   case 724:
18256
18257 /* Line 1464 of yacc.c  */
18258 #line 2277 "grammar.y"
18259     { (yyval.specifier) = MkSpecifier(EXTENSION); ;}
18260     break;
18261
18262   case 728:
18263
18264 /* Line 1464 of yacc.c  */
18265 #line 2281 "grammar.y"
18266     { (yyval.specifier) = MkSpecifier(_BOOL); ;}
18267     break;
18268
18269   case 729:
18270
18271 /* Line 1464 of yacc.c  */
18272 #line 2282 "grammar.y"
18273     { (yyval.specifier) = MkSpecifier(BOOL); ;}
18274     break;
18275
18276   case 730:
18277
18278 /* Line 1464 of yacc.c  */
18279 #line 2283 "grammar.y"
18280     { (yyval.specifier) = MkSpecifier(_COMPLEX); ;}
18281     break;
18282
18283   case 731:
18284
18285 /* Line 1464 of yacc.c  */
18286 #line 2284 "grammar.y"
18287     { (yyval.specifier) = MkSpecifier(_IMAGINARY); ;}
18288     break;
18289
18290   case 732:
18291
18292 /* Line 1464 of yacc.c  */
18293 #line 2285 "grammar.y"
18294     { (yyval.specifier) = MkSpecifierTypeOf((yyvsp[(3) - (4)].exp)); ;}
18295     break;
18296
18297   case 733:
18298
18299 /* Line 1464 of yacc.c  */
18300 #line 2286 "grammar.y"
18301     { (yyval.specifier) = MkSpecifierSubClass((yyvsp[(3) - (4)].specifier)); ;}
18302     break;
18303
18304   case 734:
18305
18306 /* Line 1464 of yacc.c  */
18307 #line 2287 "grammar.y"
18308     { _DeclClass(0, (yyvsp[(3) - (4)].id).string); (yyval.specifier) = MkSpecifierSubClass(MkSpecifierName((yyvsp[(3) - (4)].id).string)); FreeIdentifier((yyvsp[(3) - (4)].id)); ;}
18309     break;
18310
18311   case 735:
18312
18313 /* Line 1464 of yacc.c  */
18314 #line 2288 "grammar.y"
18315     { (yyval.specifier) = MkSpecifier(THISCLASS); ;}
18316     break;
18317
18318   case 736:
18319
18320 /* Line 1464 of yacc.c  */
18321 #line 2295 "grammar.y"
18322     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.declarator).loc = (yyloc); ;}
18323     break;
18324
18325   case 737:
18326
18327 /* Line 1464 of yacc.c  */
18328 #line 2297 "grammar.y"
18329     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (2)].declarator), null); (yyval.declarator).structDecl.attrib = (yyvsp[(2) - (2)].attrib); (yyval.declarator).loc = (yyloc); ;}
18330     break;
18331
18332   case 738:
18333
18334 /* Line 1464 of yacc.c  */
18335 #line 2299 "grammar.y"
18336     { (yyval.declarator) = MkStructDeclarator(null, (yyvsp[(2) - (2)].exp));  (yyval.declarator).loc = (yyloc); ;}
18337     break;
18338
18339   case 739:
18340
18341 /* Line 1464 of yacc.c  */
18342 #line 2301 "grammar.y"
18343     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].exp));  (yyval.declarator).loc = (yyloc); ;}
18344     break;
18345
18346   case 740:
18347
18348 /* Line 1464 of yacc.c  */
18349 #line 2303 "grammar.y"
18350     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18351     break;
18352
18353   case 741:
18354
18355 /* Line 1464 of yacc.c  */
18356 #line 2305 "grammar.y"
18357     { (yyval.declarator) = MkStructDeclarator(null, (yyvsp[(2) - (2)].exp));  (yyval.declarator).loc = (yyloc); ;}
18358     break;
18359
18360   case 742:
18361
18362 /* Line 1464 of yacc.c  */
18363 #line 2307 "grammar.y"
18364     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].exp));  (yyval.declarator).loc = (yyloc); ;}
18365     break;
18366
18367   case 743:
18368
18369 /* Line 1464 of yacc.c  */
18370 #line 2309 "grammar.y"
18371     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18372     break;
18373
18374   case 744:
18375
18376 /* Line 1464 of yacc.c  */
18377 #line 2311 "grammar.y"
18378     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18379     break;
18380
18381   case 745:
18382
18383 /* Line 1464 of yacc.c  */
18384 #line 2313 "grammar.y"
18385     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18386     break;
18387
18388   case 746:
18389
18390 /* Line 1464 of yacc.c  */
18391 #line 2317 "grammar.y"
18392     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declarator)); ;}
18393     break;
18394
18395   case 747:
18396
18397 /* Line 1464 of yacc.c  */
18398 #line 2318 "grammar.y"
18399     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].declarator)); ;}
18400     break;
18401
18402   case 748:
18403
18404 /* Line 1464 of yacc.c  */
18405 #line 2323 "grammar.y"
18406     {
18407          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (2)].specifierType), (yyvsp[(2) - (2)].id), null);
18408          (yyval.specifier).addNameSpace = true;
18409          (yyval.specifier).ctx = PushContext();
18410       ;}
18411     break;
18412
18413   case 749:
18414
18415 /* Line 1464 of yacc.c  */
18416 #line 2329 "grammar.y"
18417     {
18418          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (2)].specifierType), MkIdentifier((yyvsp[(2) - (2)].specifier).name), null);
18419          (yyval.specifier).ctx = PushContext();
18420          FreeSpecifier((yyvsp[(2) - (2)].specifier));
18421       ;}
18422     break;
18423
18424   case 750:
18425
18426 /* Line 1464 of yacc.c  */
18427 #line 2335 "grammar.y"
18428     {
18429          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), (yyvsp[(3) - (3)].id), null);
18430          (yyval.specifier).extDeclStruct = (yyvsp[(2) - (3)].extDecl);
18431          (yyval.specifier).addNameSpace = true;
18432          (yyval.specifier).ctx = PushContext();
18433       ;}
18434     break;
18435
18436   case 751:
18437
18438 /* Line 1464 of yacc.c  */
18439 #line 2342 "grammar.y"
18440     {
18441          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), MkIdentifier((yyvsp[(3) - (3)].specifier).name), null);
18442          (yyval.specifier).extDeclStruct = (yyvsp[(2) - (3)].extDecl);
18443          (yyval.specifier).ctx = PushContext();
18444          FreeSpecifier((yyvsp[(3) - (3)].specifier));
18445       ;}
18446     break;
18447
18448   case 752:
18449
18450 /* Line 1464 of yacc.c  */
18451 #line 2351 "grammar.y"
18452     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
18453     break;
18454
18455   case 753:
18456
18457 /* Line 1464 of yacc.c  */
18458 #line 2352 "grammar.y"
18459     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18460     break;
18461
18462   case 754:
18463
18464 /* Line 1464 of yacc.c  */
18465 #line 2353 "grammar.y"
18466     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18467     break;
18468
18469   case 755:
18470
18471 /* Line 1464 of yacc.c  */
18472 #line 2354 "grammar.y"
18473     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, null); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18474     break;
18475
18476   case 756:
18477
18478 /* Line 1464 of yacc.c  */
18479 #line 2358 "grammar.y"
18480     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); AddStructDefinitions((yyvsp[(1) - (3)].specifier), (yyvsp[(3) - (3)].list));  POP_DEFAULT_ACCESS PopContext(curContext); ;}
18481     break;
18482
18483   case 757:
18484
18485 /* Line 1464 of yacc.c  */
18486 #line 2359 "grammar.y"
18487     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); AddStructDefinitions((yyvsp[(1) - (3)].specifier), (yyvsp[(3) - (3)].list));  POP_DEFAULT_ACCESS PopContext(curContext); ;}
18488     break;
18489
18490   case 758:
18491
18492 /* Line 1464 of yacc.c  */
18493 #line 2360 "grammar.y"
18494     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18495     break;
18496
18497   case 759:
18498
18499 /* Line 1464 of yacc.c  */
18500 #line 2362 "grammar.y"
18501     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18502     break;
18503
18504   case 760:
18505
18506 /* Line 1464 of yacc.c  */
18507 #line 2363 "grammar.y"
18508     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18509     break;
18510
18511   case 761:
18512
18513 /* Line 1464 of yacc.c  */
18514 #line 2364 "grammar.y"
18515     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18516     break;
18517
18518   case 762:
18519
18520 /* Line 1464 of yacc.c  */
18521 #line 2366 "grammar.y"
18522     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, (yyvsp[(4) - (4)].list)); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18523     break;
18524
18525   case 763:
18526
18527 /* Line 1464 of yacc.c  */
18528 #line 2367 "grammar.y"
18529     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, (yyvsp[(4) - (4)].list)); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18530     break;
18531
18532   case 764:
18533
18534 /* Line 1464 of yacc.c  */
18535 #line 2368 "grammar.y"
18536     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, null); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18537     break;
18538
18539   case 765:
18540
18541 /* Line 1464 of yacc.c  */
18542 #line 2372 "grammar.y"
18543     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18544     break;
18545
18546   case 766:
18547
18548 /* Line 1464 of yacc.c  */
18549 #line 2377 "grammar.y"
18550     {
18551         (yyval.specifier) = (yyvsp[(1) - (1)].specifier);
18552         if(declMode)
18553         {
18554            ((yyvsp[(1) - (1)].specifier).addNameSpace ? DeclClassAddNameSpace : DeclClass)(globalContext.nextID++, (yyvsp[(1) - (1)].specifier).id.string);
18555         }
18556      ;}
18557     break;
18558
18559   case 767:
18560
18561 /* Line 1464 of yacc.c  */
18562 #line 2385 "grammar.y"
18563     {
18564       Symbol symbol = ((yyvsp[(1) - (4)].specifier).addNameSpace ? DeclClassAddNameSpace : DeclClass)(globalContext.nextID++, (yyvsp[(1) - (4)].specifier).id.string);
18565       (yyval.specifier) = (yyvsp[(1) - (4)].specifier);
18566       symbol.templateParams = (yyvsp[(3) - (4)].list);
18567    ;}
18568     break;
18569
18570   case 768:
18571
18572 /* Line 1464 of yacc.c  */
18573 #line 2394 "grammar.y"
18574     {
18575       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18576       (yyval.specifier).baseSpecs = (yyvsp[(3) - (3)].list);
18577       SetupBaseSpecs(null, (yyvsp[(3) - (3)].list));
18578    ;}
18579     break;
18580
18581   case 769:
18582
18583 /* Line 1464 of yacc.c  */
18584 #line 2402 "grammar.y"
18585     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
18586     break;
18587
18588   case 770:
18589
18590 /* Line 1464 of yacc.c  */
18591 #line 2404 "grammar.y"
18592     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18593     break;
18594
18595   case 771:
18596
18597 /* Line 1464 of yacc.c  */
18598 #line 2405 "grammar.y"
18599     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18600     break;
18601
18602   case 772:
18603
18604 /* Line 1464 of yacc.c  */
18605 #line 2406 "grammar.y"
18606     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18607     break;
18608
18609   case 773:
18610
18611 /* Line 1464 of yacc.c  */
18612 #line 2411 "grammar.y"
18613     {
18614       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18615       (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18616       POP_DEFAULT_ACCESS
18617       PopContext(curContext);
18618    ;}
18619     break;
18620
18621   case 774:
18622
18623 /* Line 1464 of yacc.c  */
18624 #line 2418 "grammar.y"
18625     {
18626       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18627       (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18628       POP_DEFAULT_ACCESS
18629       PopContext(curContext);
18630    ;}
18631     break;
18632
18633   case 775:
18634
18635 /* Line 1464 of yacc.c  */
18636 #line 2425 "grammar.y"
18637     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext);;}
18638     break;
18639
18640   case 776:
18641
18642 /* Line 1464 of yacc.c  */
18643 #line 2428 "grammar.y"
18644     {
18645         PopContext(curContext);
18646         if(!declMode)
18647         {
18648            (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifier).type, (yyvsp[(1) - (3)].specifier).id, (yyvsp[(3) - (3)].list));
18649            (yyvsp[(1) - (3)].specifier).id = null;
18650            FreeSpecifier((yyvsp[(1) - (3)].specifier));
18651         }
18652         else
18653            (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18654         POP_DEFAULT_ACCESS
18655      ;}
18656     break;
18657
18658   case 777:
18659
18660 /* Line 1464 of yacc.c  */
18661 #line 2441 "grammar.y"
18662     {
18663         PopContext(curContext);
18664
18665         if(!declMode)
18666         {
18667            (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifier).type, (yyvsp[(1) - (3)].specifier).id, (yyvsp[(3) - (3)].list));
18668            (yyvsp[(1) - (3)].specifier).id = null;
18669            FreeSpecifier((yyvsp[(1) - (3)].specifier));
18670         }
18671         else
18672            (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18673         POP_DEFAULT_ACCESS
18674      ;}
18675     break;
18676
18677   case 778:
18678
18679 /* Line 1464 of yacc.c  */
18680 #line 2455 "grammar.y"
18681     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18682     break;
18683
18684   case 779:
18685
18686 /* Line 1464 of yacc.c  */
18687 #line 2458 "grammar.y"
18688     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS  ;}
18689     break;
18690
18691   case 780:
18692
18693 /* Line 1464 of yacc.c  */
18694 #line 2460 "grammar.y"
18695     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18696     break;
18697
18698   case 781:
18699
18700 /* Line 1464 of yacc.c  */
18701 #line 2462 "grammar.y"
18702     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18703     break;
18704
18705   case 782:
18706
18707 /* Line 1464 of yacc.c  */
18708 #line 2466 "grammar.y"
18709     { (yyval.specifierType) = structSpecifier; memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
18710     break;
18711
18712   case 783:
18713
18714 /* Line 1464 of yacc.c  */
18715 #line 2467 "grammar.y"
18716     { (yyval.specifierType) = unionSpecifier; memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
18717     break;
18718
18719   case 784:
18720
18721 /* Line 1464 of yacc.c  */
18722 #line 2471 "grammar.y"
18723     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18724     break;
18725
18726   case 785:
18727
18728 /* Line 1464 of yacc.c  */
18729 #line 2472 "grammar.y"
18730     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18731     break;
18732
18733   case 786:
18734
18735 /* Line 1464 of yacc.c  */
18736 #line 2473 "grammar.y"
18737     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18738     break;
18739
18740   case 787:
18741
18742 /* Line 1464 of yacc.c  */
18743 #line 2474 "grammar.y"
18744     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18745     break;
18746
18747   case 788:
18748
18749 /* Line 1464 of yacc.c  */
18750 #line 2475 "grammar.y"
18751     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18752     break;
18753
18754   case 789:
18755
18756 /* Line 1464 of yacc.c  */
18757 #line 2476 "grammar.y"
18758     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18759     break;
18760
18761   case 790:
18762
18763 /* Line 1464 of yacc.c  */
18764 #line 2477 "grammar.y"
18765     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18766     break;
18767
18768   case 791:
18769
18770 /* Line 1464 of yacc.c  */
18771 #line 2478 "grammar.y"
18772     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18773     break;
18774
18775   case 792:
18776
18777 /* Line 1464 of yacc.c  */
18778 #line 2482 "grammar.y"
18779     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18780     break;
18781
18782   case 793:
18783
18784 /* Line 1464 of yacc.c  */
18785 #line 2483 "grammar.y"
18786     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18787     break;
18788
18789   case 794:
18790
18791 /* Line 1464 of yacc.c  */
18792 #line 2484 "grammar.y"
18793     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18794     break;
18795
18796   case 795:
18797
18798 /* Line 1464 of yacc.c  */
18799 #line 2485 "grammar.y"
18800     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18801     break;
18802
18803   case 796:
18804
18805 /* Line 1464 of yacc.c  */
18806 #line 2486 "grammar.y"
18807     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18808     break;
18809
18810   case 797:
18811
18812 /* Line 1464 of yacc.c  */
18813 #line 2487 "grammar.y"
18814     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18815     break;
18816
18817   case 798:
18818
18819 /* Line 1464 of yacc.c  */
18820 #line 2488 "grammar.y"
18821     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18822     break;
18823
18824   case 799:
18825
18826 /* Line 1464 of yacc.c  */
18827 #line 2489 "grammar.y"
18828     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18829     break;
18830
18831   case 800:
18832
18833 /* Line 1464 of yacc.c  */
18834 #line 2490 "grammar.y"
18835     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18836     break;
18837
18838   case 801:
18839
18840 /* Line 1464 of yacc.c  */
18841 #line 2491 "grammar.y"
18842     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18843     break;
18844
18845   case 802:
18846
18847 /* Line 1464 of yacc.c  */
18848 #line 2495 "grammar.y"
18849     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18850     break;
18851
18852   case 803:
18853
18854 /* Line 1464 of yacc.c  */
18855 #line 2496 "grammar.y"
18856     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18857     break;
18858
18859   case 804:
18860
18861 /* Line 1464 of yacc.c  */
18862 #line 2497 "grammar.y"
18863     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18864     break;
18865
18866   case 805:
18867
18868 /* Line 1464 of yacc.c  */
18869 #line 2498 "grammar.y"
18870     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18871     break;
18872
18873   case 806:
18874
18875 /* Line 1464 of yacc.c  */
18876 #line 2499 "grammar.y"
18877     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18878     break;
18879
18880   case 807:
18881
18882 /* Line 1464 of yacc.c  */
18883 #line 2500 "grammar.y"
18884     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18885     break;
18886
18887   case 808:
18888
18889 /* Line 1464 of yacc.c  */
18890 #line 2501 "grammar.y"
18891     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18892     break;
18893
18894   case 809:
18895
18896 /* Line 1464 of yacc.c  */
18897 #line 2502 "grammar.y"
18898     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18899     break;
18900
18901   case 810:
18902
18903 /* Line 1464 of yacc.c  */
18904 #line 2503 "grammar.y"
18905     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18906     break;
18907
18908   case 811:
18909
18910 /* Line 1464 of yacc.c  */
18911 #line 2504 "grammar.y"
18912     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18913     break;
18914
18915   case 812:
18916
18917 /* Line 1464 of yacc.c  */
18918 #line 2508 "grammar.y"
18919     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18920     break;
18921
18922   case 813:
18923
18924 /* Line 1464 of yacc.c  */
18925 #line 2509 "grammar.y"
18926     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18927     break;
18928
18929   case 814:
18930
18931 /* Line 1464 of yacc.c  */
18932 #line 2510 "grammar.y"
18933     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18934     break;
18935
18936   case 815:
18937
18938 /* Line 1464 of yacc.c  */
18939 #line 2511 "grammar.y"
18940     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18941     break;
18942
18943   case 816:
18944
18945 /* Line 1464 of yacc.c  */
18946 #line 2512 "grammar.y"
18947     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18948     break;
18949
18950   case 817:
18951
18952 /* Line 1464 of yacc.c  */
18953 #line 2513 "grammar.y"
18954     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18955     break;
18956
18957   case 818:
18958
18959 /* Line 1464 of yacc.c  */
18960 #line 2514 "grammar.y"
18961     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18962     break;
18963
18964   case 819:
18965
18966 /* Line 1464 of yacc.c  */
18967 #line 2515 "grammar.y"
18968     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18969     break;
18970
18971   case 820:
18972
18973 /* Line 1464 of yacc.c  */
18974 #line 2516 "grammar.y"
18975     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18976     break;
18977
18978   case 821:
18979
18980 /* Line 1464 of yacc.c  */
18981 #line 2517 "grammar.y"
18982     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18983     break;
18984
18985   case 822:
18986
18987 /* Line 1464 of yacc.c  */
18988 #line 2518 "grammar.y"
18989     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18990     break;
18991
18992   case 823:
18993
18994 /* Line 1464 of yacc.c  */
18995 #line 2519 "grammar.y"
18996     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18997     break;
18998
18999   case 824:
19000
19001 /* Line 1464 of yacc.c  */
19002 #line 2523 "grammar.y"
19003     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19004     break;
19005
19006   case 825:
19007
19008 /* Line 1464 of yacc.c  */
19009 #line 2524 "grammar.y"
19010     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19011     break;
19012
19013   case 826:
19014
19015 /* Line 1464 of yacc.c  */
19016 #line 2525 "grammar.y"
19017     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19018     break;
19019
19020   case 827:
19021
19022 /* Line 1464 of yacc.c  */
19023 #line 2526 "grammar.y"
19024     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19025     break;
19026
19027   case 828:
19028
19029 /* Line 1464 of yacc.c  */
19030 #line 2527 "grammar.y"
19031     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19032     break;
19033
19034   case 829:
19035
19036 /* Line 1464 of yacc.c  */
19037 #line 2528 "grammar.y"
19038     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19039     break;
19040
19041   case 830:
19042
19043 /* Line 1464 of yacc.c  */
19044 #line 2529 "grammar.y"
19045     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19046     break;
19047
19048   case 831:
19049
19050 /* Line 1464 of yacc.c  */
19051 #line 2530 "grammar.y"
19052     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19053     break;
19054
19055   case 832:
19056
19057 /* Line 1464 of yacc.c  */
19058 #line 2531 "grammar.y"
19059     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19060     break;
19061
19062   case 833:
19063
19064 /* Line 1464 of yacc.c  */
19065 #line 2532 "grammar.y"
19066     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19067     break;
19068
19069   case 834:
19070
19071 /* Line 1464 of yacc.c  */
19072 #line 2536 "grammar.y"
19073     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19074     break;
19075
19076   case 835:
19077
19078 /* Line 1464 of yacc.c  */
19079 #line 2537 "grammar.y"
19080     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19081     break;
19082
19083   case 836:
19084
19085 /* Line 1464 of yacc.c  */
19086 #line 2541 "grammar.y"
19087     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifier(PRIVATE)); ;}
19088     break;
19089
19090   case 837:
19091
19092 /* Line 1464 of yacc.c  */
19093 #line 2542 "grammar.y"
19094     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifier(PUBLIC)); ;}
19095     break;
19096
19097   case 838:
19098
19099 /* Line 1464 of yacc.c  */
19100 #line 2543 "grammar.y"
19101     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19102     break;
19103
19104   case 839:
19105
19106 /* Line 1464 of yacc.c  */
19107 #line 2544 "grammar.y"
19108     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19109     break;
19110
19111   case 840:
19112
19113 /* Line 1464 of yacc.c  */
19114 #line 2545 "grammar.y"
19115     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19116     break;
19117
19118   case 841:
19119
19120 /* Line 1464 of yacc.c  */
19121 #line 2546 "grammar.y"
19122     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19123     break;
19124
19125   case 842:
19126
19127 /* Line 1464 of yacc.c  */
19128 #line 2547 "grammar.y"
19129     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19130     break;
19131
19132   case 843:
19133
19134 /* Line 1464 of yacc.c  */
19135 #line 2548 "grammar.y"
19136     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19137     break;
19138
19139   case 844:
19140
19141 /* Line 1464 of yacc.c  */
19142 #line 2550 "grammar.y"
19143     { _DeclClass(0, (yyvsp[(1) - (1)].id).string); (yyval.list) = MkListOne(MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id)); ;}
19144     break;
19145
19146   case 845:
19147
19148 /* Line 1464 of yacc.c  */
19149 #line 2551 "grammar.y"
19150     { (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)); ;}
19151     break;
19152
19153   case 846:
19154
19155 /* Line 1464 of yacc.c  */
19156 #line 2554 "grammar.y"
19157     {
19158          // if($1._class && !$1._class.name)
19159          if((yyvsp[(1) - (4)].id)._class)
19160          {
19161             char name[1024];
19162             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
19163             strcat(name, "::");
19164             strcat(name, (yyvsp[(1) - (4)].id).string);
19165             _DeclClass(0, name);
19166          }
19167          else
19168             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
19169
19170          (yyval.list) = MkList();
19171          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19172          FreeIdentifier((yyvsp[(1) - (4)].id));
19173       ;}
19174     break;
19175
19176   case 847:
19177
19178 /* Line 1464 of yacc.c  */
19179 #line 2572 "grammar.y"
19180     {
19181          (yyval.list) = (yyvsp[(1) - (5)].list);
19182          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
19183          {
19184             char name[1024];
19185             strcpy(name, "::");
19186             strcat(name, (yyvsp[(2) - (5)].id).string);
19187             _DeclClass(0, name);
19188          }
19189          else
19190             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
19191          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19192          FreeIdentifier((yyvsp[(2) - (5)].id));
19193       ;}
19194     break;
19195
19196   case 849:
19197
19198 /* Line 1464 of yacc.c  */
19199 #line 2590 "grammar.y"
19200     { (yyval.list) = MkListOne(MkStructOrUnion((yyvsp[(1) - (1)].specifierType), null, null)); POP_DEFAULT_ACCESS ;}
19201     break;
19202
19203   case 850:
19204
19205 /* Line 1464 of yacc.c  */
19206 #line 2594 "grammar.y"
19207     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19208     break;
19209
19210   case 851:
19211
19212 /* Line 1464 of yacc.c  */
19213 #line 2595 "grammar.y"
19214     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19215     break;
19216
19217   case 852:
19218
19219 /* Line 1464 of yacc.c  */
19220 #line 2596 "grammar.y"
19221     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19222     break;
19223
19224   case 853:
19225
19226 /* Line 1464 of yacc.c  */
19227 #line 2597 "grammar.y"
19228     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19229     break;
19230
19231   case 854:
19232
19233 /* Line 1464 of yacc.c  */
19234 #line 2598 "grammar.y"
19235     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19236     break;
19237
19238   case 855:
19239
19240 /* Line 1464 of yacc.c  */
19241 #line 2599 "grammar.y"
19242     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19243     break;
19244
19245   case 856:
19246
19247 /* Line 1464 of yacc.c  */
19248 #line 2600 "grammar.y"
19249     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
19250     break;
19251
19252   case 857:
19253
19254 /* Line 1464 of yacc.c  */
19255 #line 2601 "grammar.y"
19256     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
19257     break;
19258
19259   case 858:
19260
19261 /* Line 1464 of yacc.c  */
19262 #line 2603 "grammar.y"
19263     {
19264          // if($1._class && !$1._class.name)
19265          if((yyvsp[(1) - (4)].id)._class)
19266          {
19267             char name[1024];
19268             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
19269             strcat(name, "::");
19270             strcat(name, (yyvsp[(1) - (4)].id).string);
19271             _DeclClass(0, name);
19272          }
19273          else
19274             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
19275
19276          (yyval.list) = MkList();
19277          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19278          FreeIdentifier((yyvsp[(1) - (4)].id));
19279       ;}
19280     break;
19281
19282   case 859:
19283
19284 /* Line 1464 of yacc.c  */
19285 #line 2621 "grammar.y"
19286     {
19287          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
19288          {
19289             char name[1024];
19290             strcpy(name, "::");
19291             strcat(name, (yyvsp[(2) - (5)].id).string);
19292             _DeclClass(0, name);
19293          }
19294          else
19295             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
19296          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19297          FreeIdentifier((yyvsp[(2) - (5)].id));
19298       ;}
19299     break;
19300
19301   case 860:
19302
19303 /* Line 1464 of yacc.c  */
19304 #line 2637 "grammar.y"
19305     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19306     break;
19307
19308   case 861:
19309
19310 /* Line 1464 of yacc.c  */
19311 #line 2638 "grammar.y"
19312     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19313     break;
19314
19315   case 862:
19316
19317 /* Line 1464 of yacc.c  */
19318 #line 2639 "grammar.y"
19319     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19320     break;
19321
19322   case 863:
19323
19324 /* Line 1464 of yacc.c  */
19325 #line 2640 "grammar.y"
19326     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19327     break;
19328
19329   case 864:
19330
19331 /* Line 1464 of yacc.c  */
19332 #line 2641 "grammar.y"
19333     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19334     break;
19335
19336   case 865:
19337
19338 /* Line 1464 of yacc.c  */
19339 #line 2642 "grammar.y"
19340     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19341     break;
19342
19343   case 866:
19344
19345 /* Line 1464 of yacc.c  */
19346 #line 2643 "grammar.y"
19347     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19348     break;
19349
19350   case 867:
19351
19352 /* Line 1464 of yacc.c  */
19353 #line 2644 "grammar.y"
19354     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19355     break;
19356
19357   case 868:
19358
19359 /* Line 1464 of yacc.c  */
19360 #line 2645 "grammar.y"
19361     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19362     break;
19363
19364   case 869:
19365
19366 /* Line 1464 of yacc.c  */
19367 #line 2646 "grammar.y"
19368     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19369     break;
19370
19371   case 870:
19372
19373 /* Line 1464 of yacc.c  */
19374 #line 2647 "grammar.y"
19375     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
19376     break;
19377
19378   case 871:
19379
19380 /* Line 1464 of yacc.c  */
19381 #line 2648 "grammar.y"
19382     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
19383     break;
19384
19385   case 872:
19386
19387 /* Line 1464 of yacc.c  */
19388 #line 2650 "grammar.y"
19389     {
19390          // if($1._class && !$1._class.name)
19391          if((yyvsp[(1) - (4)].id)._class)
19392          {
19393             char name[1024];
19394             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
19395             strcat(name, "::");
19396             strcat(name, (yyvsp[(1) - (4)].id).string);
19397             _DeclClass(0, name);
19398          }
19399          else
19400             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
19401
19402          (yyval.list) = MkList();
19403          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19404          FreeIdentifier((yyvsp[(1) - (4)].id));
19405       ;}
19406     break;
19407
19408   case 873:
19409
19410 /* Line 1464 of yacc.c  */
19411 #line 2668 "grammar.y"
19412     {
19413          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
19414          {
19415             char name[1024];
19416             strcpy(name, "::");
19417             strcat(name, (yyvsp[(2) - (5)].id).string);
19418             _DeclClass(0, name);
19419          }
19420          else
19421             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
19422          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19423          FreeIdentifier((yyvsp[(2) - (5)].id));
19424       ;}
19425     break;
19426
19427   case 874:
19428
19429 /* Line 1464 of yacc.c  */
19430 #line 2684 "grammar.y"
19431     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19432     break;
19433
19434   case 875:
19435
19436 /* Line 1464 of yacc.c  */
19437 #line 2685 "grammar.y"
19438     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19439     break;
19440
19441   case 876:
19442
19443 /* Line 1464 of yacc.c  */
19444 #line 2686 "grammar.y"
19445     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19446     break;
19447
19448   case 877:
19449
19450 /* Line 1464 of yacc.c  */
19451 #line 2687 "grammar.y"
19452     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19453     break;
19454
19455   case 878:
19456
19457 /* Line 1464 of yacc.c  */
19458 #line 2688 "grammar.y"
19459     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19460     break;
19461
19462   case 879:
19463
19464 /* Line 1464 of yacc.c  */
19465 #line 2689 "grammar.y"
19466     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19467     break;
19468
19469   case 880:
19470
19471 /* Line 1464 of yacc.c  */
19472 #line 2690 "grammar.y"
19473     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19474     break;
19475
19476   case 881:
19477
19478 /* Line 1464 of yacc.c  */
19479 #line 2691 "grammar.y"
19480     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19481     break;
19482
19483   case 882:
19484
19485 /* Line 1464 of yacc.c  */
19486 #line 2692 "grammar.y"
19487     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19488     break;
19489
19490   case 883:
19491
19492 /* Line 1464 of yacc.c  */
19493 #line 2693 "grammar.y"
19494     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19495     break;
19496
19497   case 884:
19498
19499 /* Line 1464 of yacc.c  */
19500 #line 2694 "grammar.y"
19501     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
19502     break;
19503
19504   case 885:
19505
19506 /* Line 1464 of yacc.c  */
19507 #line 2695 "grammar.y"
19508     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
19509     break;
19510
19511   case 886:
19512
19513 /* Line 1464 of yacc.c  */
19514 #line 2697 "grammar.y"
19515     {
19516          // if($1._class && !$1._class.name)
19517          if((yyvsp[(1) - (4)].id)._class)
19518          {
19519             char name[1024];
19520             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
19521             strcat(name, "::");
19522             strcat(name, (yyvsp[(1) - (4)].id).string);
19523             _DeclClass(0, name);
19524          }
19525          else
19526             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
19527
19528          (yyval.list) = MkList();
19529          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19530          FreeIdentifier((yyvsp[(1) - (4)].id));
19531       ;}
19532     break;
19533
19534   case 887:
19535
19536 /* Line 1464 of yacc.c  */
19537 #line 2715 "grammar.y"
19538     {
19539          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
19540          {
19541             char name[1024];
19542             strcpy(name, "::");
19543             strcat(name, (yyvsp[(2) - (5)].id).string);
19544             _DeclClass(0, name);
19545          }
19546          else
19547             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
19548          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19549          FreeIdentifier((yyvsp[(2) - (5)].id));
19550       ;}
19551     break;
19552
19553   case 888:
19554
19555 /* Line 1464 of yacc.c  */
19556 #line 2731 "grammar.y"
19557     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
19558     break;
19559
19560   case 889:
19561
19562 /* Line 1464 of yacc.c  */
19563 #line 2732 "grammar.y"
19564     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
19565     break;
19566
19567   case 890:
19568
19569 /* Line 1464 of yacc.c  */
19570 #line 2736 "grammar.y"
19571     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(1) - (1)].id)))); ;}
19572     break;
19573
19574   case 891:
19575
19576 /* Line 1464 of yacc.c  */
19577 #line 2737 "grammar.y"
19578     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19579     break;
19580
19581   case 892:
19582
19583 /* Line 1464 of yacc.c  */
19584 #line 2738 "grammar.y"
19585     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19586     break;
19587
19588   case 893:
19589
19590 /* Line 1464 of yacc.c  */
19591 #line 2739 "grammar.y"
19592     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19593     break;
19594
19595   case 894:
19596
19597 /* Line 1464 of yacc.c  */
19598 #line 2740 "grammar.y"
19599     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19600     break;
19601
19602   case 896:
19603
19604 /* Line 1464 of yacc.c  */
19605 #line 2746 "grammar.y"
19606     {
19607       char * colon = RSearchString((yyvsp[(1) - (1)].specifier).name, "::", strlen((yyvsp[(1) - (1)].specifier).name), true, false);
19608       String s = colon ? colon + 2 : (yyvsp[(1) - (1)].specifier).name;
19609       (yyval.declarator) = MkDeclaratorIdentifier(MkIdentifier(s));
19610       FreeSpecifier((yyvsp[(1) - (1)].specifier));
19611    ;}
19612     break;
19613
19614   case 897:
19615
19616 /* Line 1464 of yacc.c  */
19617 #line 2752 "grammar.y"
19618     { (yyval.declarator) = MkDeclaratorIdentifier(MkIdentifier("uint")); ;}
19619     break;
19620
19621   case 898:
19622
19623 /* Line 1464 of yacc.c  */
19624 #line 2755 "grammar.y"
19625     {
19626          Declarator decl;
19627          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19628          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19629          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19630          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19631          (yyval.declarator) = MkDeclaratorArray(decl, (yyvsp[(3) - (4)].exp));
19632       ;}
19633     break;
19634
19635   case 899:
19636
19637 /* Line 1464 of yacc.c  */
19638 #line 2764 "grammar.y"
19639     {
19640          Declarator decl;
19641          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19642          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19643          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19644          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19645          (yyval.declarator) = MkDeclaratorArray(decl, (yyvsp[(3) - (4)].exp));
19646       ;}
19647     break;
19648
19649   case 900:
19650
19651 /* Line 1464 of yacc.c  */
19652 #line 2773 "grammar.y"
19653     {
19654          Declarator decl;
19655          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19656          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19657          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19658          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19659          (yyval.declarator) = MkDeclaratorEnumArray(decl, (yyvsp[(3) - (4)].specifier));
19660       ;}
19661     break;
19662
19663   case 901:
19664
19665 /* Line 1464 of yacc.c  */
19666 #line 2782 "grammar.y"
19667     {
19668          Declarator decl;
19669          char * colon = RSearchString((yyvsp[(1) - (3)].specifier).name, "::", strlen((yyvsp[(1) - (3)].specifier).name), true, false);
19670          String s = colon ? colon + 2 : (yyvsp[(1) - (3)].specifier).name;
19671          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19672          FreeSpecifier((yyvsp[(1) - (3)].specifier));
19673          (yyval.declarator) = MkDeclaratorEnumArray(decl, null);
19674       ;}
19675     break;
19676
19677   case 902:
19678
19679 /* Line 1464 of yacc.c  */
19680 #line 2790 "grammar.y"
19681     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19682     break;
19683
19684   case 903:
19685
19686 /* Line 1464 of yacc.c  */
19687 #line 2791 "grammar.y"
19688     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19689     break;
19690
19691   case 904:
19692
19693 /* Line 1464 of yacc.c  */
19694 #line 2792 "grammar.y"
19695     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
19696     break;
19697
19698   case 905:
19699
19700 /* Line 1464 of yacc.c  */
19701 #line 2793 "grammar.y"
19702     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19703     break;
19704
19705   case 906:
19706
19707 /* Line 1464 of yacc.c  */
19708 #line 2797 "grammar.y"
19709     { (yyval.declarator) = MkDeclaratorIdentifier((yyvsp[(1) - (1)].id)); ;}
19710     break;
19711
19712   case 907:
19713
19714 /* Line 1464 of yacc.c  */
19715 #line 2798 "grammar.y"
19716     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19717     break;
19718
19719   case 908:
19720
19721 /* Line 1464 of yacc.c  */
19722 #line 2799 "grammar.y"
19723     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19724     break;
19725
19726   case 909:
19727
19728 /* Line 1464 of yacc.c  */
19729 #line 2800 "grammar.y"
19730     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19731     break;
19732
19733   case 910:
19734
19735 /* Line 1464 of yacc.c  */
19736 #line 2801 "grammar.y"
19737     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19738     break;
19739
19740   case 911:
19741
19742 /* Line 1464 of yacc.c  */
19743 #line 2802 "grammar.y"
19744     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19745     break;
19746
19747   case 912:
19748
19749 /* Line 1464 of yacc.c  */
19750 #line 2803 "grammar.y"
19751     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19752     break;
19753
19754   case 913:
19755
19756 /* Line 1464 of yacc.c  */
19757 #line 2804 "grammar.y"
19758     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
19759     break;
19760
19761   case 914:
19762
19763 /* Line 1464 of yacc.c  */
19764 #line 2805 "grammar.y"
19765     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19766     break;
19767
19768   case 916:
19769
19770 /* Line 1464 of yacc.c  */
19771 #line 2813 "grammar.y"
19772     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19773     break;
19774
19775   case 917:
19776
19777 /* Line 1464 of yacc.c  */
19778 #line 2814 "grammar.y"
19779     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19780     break;
19781
19782   case 918:
19783
19784 /* Line 1464 of yacc.c  */
19785 #line 2815 "grammar.y"
19786     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19787     break;
19788
19789   case 919:
19790
19791 /* Line 1464 of yacc.c  */
19792 #line 2816 "grammar.y"
19793     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19794     break;
19795
19796   case 920:
19797
19798 /* Line 1464 of yacc.c  */
19799 #line 2817 "grammar.y"
19800     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); ;}
19801     break;
19802
19803   case 921:
19804
19805 /* Line 1464 of yacc.c  */
19806 #line 2823 "grammar.y"
19807     {
19808          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), (yyvsp[(2) - (2)].list));
19809          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19810          yyclearin;
19811          resetScannerPos(&(yylsp[(1) - (2)]).end);
19812          (yyloc).start = (yylsp[(1) - (2)]).start;
19813          (yyloc).end = (yylsp[(1) - (2)]).end;
19814       ;}
19815     break;
19816
19817   case 922:
19818
19819 /* Line 1464 of yacc.c  */
19820 #line 2832 "grammar.y"
19821     {
19822          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null);
19823          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19824          yyclearin;
19825          resetScannerPos(&(yylsp[(1) - (2)]).end);
19826          (yyloc).start = (yylsp[(1) - (2)]).start;
19827          (yyloc).end = (yylsp[(1) - (2)]).end;
19828       ;}
19829     break;
19830
19831   case 923:
19832
19833 /* Line 1464 of yacc.c  */
19834 #line 2841 "grammar.y"
19835     {
19836          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list));
19837          fileInput.Seek((yylsp[(1) - (3)]).end.pos, start);
19838          yyclearin;
19839          resetScannerPos(&(yylsp[(1) - (3)]).end);
19840          (yyloc).start = (yylsp[(1) - (3)]).start;
19841          (yyloc).end = (yylsp[(1) - (3)]).end;
19842       ;}
19843     break;
19844
19845   case 924:
19846
19847 /* Line 1464 of yacc.c  */
19848 #line 2850 "grammar.y"
19849     {
19850          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), null);
19851          fileInput.Seek((yylsp[(1) - (4)]).end.pos, start);
19852          yyclearin;
19853          resetScannerPos(&(yylsp[(1) - (4)]).end);
19854          (yyloc).start = (yylsp[(1) - (4)]).start;
19855          (yyloc).end = (yylsp[(1) - (4)]).end;
19856          FreeList((yyvsp[(2) - (4)].list), FreeSpecifier);
19857          FreeIdentifier((yyvsp[(3) - (4)].id));
19858       ;}
19859     break;
19860
19861   case 928:
19862
19863 /* Line 1464 of yacc.c  */
19864 #line 2873 "grammar.y"
19865     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19866     break;
19867
19868   case 929:
19869
19870 /* Line 1464 of yacc.c  */
19871 #line 2874 "grammar.y"
19872     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19873     break;
19874
19875   case 930:
19876
19877 /* Line 1464 of yacc.c  */
19878 #line 2875 "grammar.y"
19879     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19880     break;
19881
19882   case 931:
19883
19884 /* Line 1464 of yacc.c  */
19885 #line 2876 "grammar.y"
19886     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19887     break;
19888
19889   case 932:
19890
19891 /* Line 1464 of yacc.c  */
19892 #line 2877 "grammar.y"
19893     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); ;}
19894     break;
19895
19896   case 933:
19897
19898 /* Line 1464 of yacc.c  */
19899 #line 2883 "grammar.y"
19900     {
19901          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), (yyvsp[(2) - (2)].list));
19902          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19903          yyclearin;
19904          resetScannerPos(&(yylsp[(1) - (2)]).end);
19905          (yyloc).start = (yylsp[(1) - (2)]).start;
19906          (yyloc).end = (yylsp[(1) - (2)]).end;
19907       ;}
19908     break;
19909
19910   case 934:
19911
19912 /* Line 1464 of yacc.c  */
19913 #line 2892 "grammar.y"
19914     {
19915          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null);
19916          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19917          yyclearin;
19918          resetScannerPos(&(yylsp[(1) - (2)]).end);
19919          (yyloc).start = (yylsp[(1) - (2)]).start;
19920          (yyloc).end = (yylsp[(1) - (2)]).end;
19921       ;}
19922     break;
19923
19924   case 935:
19925
19926 /* Line 1464 of yacc.c  */
19927 #line 2901 "grammar.y"
19928     {
19929          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list));
19930          fileInput.Seek((yylsp[(1) - (3)]).end.pos, start);
19931          yyclearin;
19932          resetScannerPos(&(yylsp[(1) - (3)]).end);
19933          (yyloc).start = (yylsp[(1) - (3)]).start;
19934          (yyloc).end = (yylsp[(1) - (3)]).end;
19935       ;}
19936     break;
19937
19938   case 936:
19939
19940 /* Line 1464 of yacc.c  */
19941 #line 2910 "grammar.y"
19942     {
19943          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), null);
19944          fileInput.Seek((yylsp[(1) - (4)]).end.pos, start);
19945          yyclearin;
19946          resetScannerPos(&(yylsp[(1) - (4)]).end);
19947          (yyloc).start = (yylsp[(1) - (4)]).start;
19948          (yyloc).end = (yylsp[(1) - (4)]).end;
19949          FreeList((yyvsp[(2) - (4)].list), FreeSpecifier);
19950          FreeIdentifier((yyvsp[(3) - (4)].id));
19951       ;}
19952     break;
19953
19954   case 939:
19955
19956 /* Line 1464 of yacc.c  */
19957 #line 2973 "grammar.y"
19958     { (yyval.extDecl) = MkExtDeclString(CopyString(yytext)); ;}
19959     break;
19960
19961   case 940:
19962
19963 /* Line 1464 of yacc.c  */
19964 #line 2974 "grammar.y"
19965     { (yyval.extDecl) = MkExtDeclString(CopyString(yytext)); ;}
19966     break;
19967
19968   case 941:
19969
19970 /* Line 1464 of yacc.c  */
19971 #line 2975 "grammar.y"
19972     { (yyval.extDecl) = MkExtDeclAttrib((yyvsp[(1) - (1)].attrib)); ;}
19973     break;
19974
19975   case 942:
19976
19977 /* Line 1464 of yacc.c  */
19978 #line 2977 "grammar.y"
19979     {
19980          char temp[1024];
19981          strcpy(temp, "__asm__(");
19982          strcat(temp, (yyvsp[(3) - (4)].string));
19983          strcat(temp, ")");
19984          (yyval.extDecl) = MkExtDeclString(CopyString(temp));
19985          delete (yyvsp[(3) - (4)].string);
19986       ;}
19987     break;
19988
19989   case 943:
19990
19991 /* Line 1464 of yacc.c  */
19992 #line 2988 "grammar.y"
19993     { (yyval.i) = ATTRIB; ;}
19994     break;
19995
19996   case 944:
19997
19998 /* Line 1464 of yacc.c  */
19999 #line 2989 "grammar.y"
20000     { (yyval.i) = ATTRIB_DEP; ;}
20001     break;
20002
20003   case 945:
20004
20005 /* Line 1464 of yacc.c  */
20006 #line 2990 "grammar.y"
20007     { (yyval.i) = __ATTRIB; ;}
20008     break;
20009
20010   case 946:
20011
20012 /* Line 1464 of yacc.c  */
20013 #line 2995 "grammar.y"
20014     { (yyval.string)  = CopyString(yytext); ;}
20015     break;
20016
20017   case 947:
20018
20019 /* Line 1464 of yacc.c  */
20020 #line 2996 "grammar.y"
20021     { (yyval.string)  = CopyString(yytext); ;}
20022     break;
20023
20024   case 948:
20025
20026 /* Line 1464 of yacc.c  */
20027 #line 2997 "grammar.y"
20028     { (yyval.string)  = CopyString(yytext); ;}
20029     break;
20030
20031   case 949:
20032
20033 /* Line 1464 of yacc.c  */
20034 #line 2998 "grammar.y"
20035     { (yyval.string)  = CopyString(yytext); ;}
20036     break;
20037
20038   case 950:
20039
20040 /* Line 1464 of yacc.c  */
20041 #line 2999 "grammar.y"
20042     { (yyval.string)  = CopyString(yytext); ;}
20043     break;
20044
20045   case 951:
20046
20047 /* Line 1464 of yacc.c  */
20048 #line 3003 "grammar.y"
20049     { (yyval.attribute) = MkAttribute((yyvsp[(1) - (1)].string), null); (yyval.attribute).loc = (yyloc); ;}
20050     break;
20051
20052   case 952:
20053
20054 /* Line 1464 of yacc.c  */
20055 #line 3004 "grammar.y"
20056     { (yyval.attribute) = MkAttribute((yyvsp[(1) - (4)].string), MkExpBrackets((yyvsp[(3) - (4)].list))); (yyval.attribute).loc = (yyloc); ;}
20057     break;
20058
20059   case 953:
20060
20061 /* Line 1464 of yacc.c  */
20062 #line 3008 "grammar.y"
20063     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].attribute)); ;}
20064     break;
20065
20066   case 954:
20067
20068 /* Line 1464 of yacc.c  */
20069 #line 3009 "grammar.y"
20070     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].attribute)); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
20071     break;
20072
20073   case 955:
20074
20075 /* Line 1464 of yacc.c  */
20076 #line 3010 "grammar.y"
20077     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].attribute)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
20078     break;
20079
20080   case 956:
20081
20082 /* Line 1464 of yacc.c  */
20083 #line 3014 "grammar.y"
20084     { (yyval.attrib) = MkAttrib((yyvsp[(1) - (6)].i), (yyvsp[(4) - (6)].list)); (yyval.attrib).loc = (yyloc); ;}
20085     break;
20086
20087   case 957:
20088
20089 /* Line 1464 of yacc.c  */
20090 #line 3015 "grammar.y"
20091     { (yyval.attrib) = MkAttrib((yyvsp[(1) - (5)].i), null); (yyval.attrib).loc = (yyloc); ;}
20092     break;
20093
20094   case 958:
20095
20096 /* Line 1464 of yacc.c  */
20097 #line 3019 "grammar.y"
20098     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
20099     break;
20100
20101   case 959:
20102
20103 /* Line 1464 of yacc.c  */
20104 #line 3020 "grammar.y"
20105     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
20106     break;
20107
20108   case 960:
20109
20110 /* Line 1464 of yacc.c  */
20111 #line 3021 "grammar.y"
20112     { (yyval.declarator) = MkDeclaratorArray(null, null); ;}
20113     break;
20114
20115   case 961:
20116
20117 /* Line 1464 of yacc.c  */
20118 #line 3022 "grammar.y"
20119     { (yyval.declarator) = MkDeclaratorArray(null, (yyvsp[(2) - (3)].exp)); ;}
20120     break;
20121
20122   case 962:
20123
20124 /* Line 1464 of yacc.c  */
20125 #line 3023 "grammar.y"
20126     { (yyval.declarator) = MkDeclaratorArray(null, (yyvsp[(2) - (3)].exp)); ;}
20127     break;
20128
20129   case 963:
20130
20131 /* Line 1464 of yacc.c  */
20132 #line 3024 "grammar.y"
20133     { (yyval.declarator) = MkDeclaratorEnumArray(null, (yyvsp[(2) - (3)].specifier)); ;}
20134     break;
20135
20136   case 964:
20137
20138 /* Line 1464 of yacc.c  */
20139 #line 3025 "grammar.y"
20140     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
20141     break;
20142
20143   case 965:
20144
20145 /* Line 1464 of yacc.c  */
20146 #line 3026 "grammar.y"
20147     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
20148     break;
20149
20150   case 966:
20151
20152 /* Line 1464 of yacc.c  */
20153 #line 3027 "grammar.y"
20154     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
20155     break;
20156
20157   case 967:
20158
20159 /* Line 1464 of yacc.c  */
20160 #line 3028 "grammar.y"
20161     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
20162     break;
20163
20164   case 968:
20165
20166 /* Line 1464 of yacc.c  */
20167 #line 3029 "grammar.y"
20168     { (yyval.declarator) = MkDeclaratorFunction(null, null); ;}
20169     break;
20170
20171   case 969:
20172
20173 /* Line 1464 of yacc.c  */
20174 #line 3030 "grammar.y"
20175     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
20176     break;
20177
20178   case 970:
20179
20180 /* Line 1464 of yacc.c  */
20181 #line 3031 "grammar.y"
20182     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
20183     break;
20184
20185   case 971:
20186
20187 /* Line 1464 of yacc.c  */
20188 #line 3032 "grammar.y"
20189     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), null); ;}
20190     break;
20191
20192   case 972:
20193
20194 /* Line 1464 of yacc.c  */
20195 #line 3033 "grammar.y"
20196     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
20197     break;
20198
20199   case 973:
20200
20201 /* Line 1464 of yacc.c  */
20202 #line 3034 "grammar.y"
20203     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
20204     break;
20205
20206   case 974:
20207
20208 /* Line 1464 of yacc.c  */
20209 #line 3038 "grammar.y"
20210     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
20211     break;
20212
20213   case 975:
20214
20215 /* Line 1464 of yacc.c  */
20216 #line 3039 "grammar.y"
20217     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
20218     break;
20219
20220   case 976:
20221
20222 /* Line 1464 of yacc.c  */
20223 #line 3040 "grammar.y"
20224     { (yyval.declarator) = MkDeclaratorFunction(null, null); ;}
20225     break;
20226
20227   case 977:
20228
20229 /* Line 1464 of yacc.c  */
20230 #line 3041 "grammar.y"
20231     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
20232     break;
20233
20234   case 978:
20235
20236 /* Line 1464 of yacc.c  */
20237 #line 3042 "grammar.y"
20238     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
20239     break;
20240
20241   case 979:
20242
20243 /* Line 1464 of yacc.c  */
20244 #line 3043 "grammar.y"
20245     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), null); ;}
20246     break;
20247
20248   case 980:
20249
20250 /* Line 1464 of yacc.c  */
20251 #line 3044 "grammar.y"
20252     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
20253     break;
20254
20255   case 981:
20256
20257 /* Line 1464 of yacc.c  */
20258 #line 3045 "grammar.y"
20259     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
20260     break;
20261
20262   case 982:
20263
20264 /* Line 1464 of yacc.c  */
20265 #line 3049 "grammar.y"
20266     { (yyval.pointer) = MkPointer(null, null); ;}
20267     break;
20268
20269   case 983:
20270
20271 /* Line 1464 of yacc.c  */
20272 #line 3050 "grammar.y"
20273     { (yyval.pointer) = MkPointer((yyvsp[(2) - (2)].list), null); ;}
20274     break;
20275
20276   case 984:
20277
20278 /* Line 1464 of yacc.c  */
20279 #line 3051 "grammar.y"
20280     { (yyval.pointer) = MkPointer(null, (yyvsp[(2) - (2)].pointer)); ;}
20281     break;
20282
20283   case 985:
20284
20285 /* Line 1464 of yacc.c  */
20286 #line 3052 "grammar.y"
20287     { (yyval.pointer) = MkPointer((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].pointer)); ;}
20288     break;
20289
20290   case 986:
20291
20292 /* Line 1464 of yacc.c  */
20293 #line 3056 "grammar.y"
20294     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (1)].pointer), null); ;}
20295     break;
20296
20297   case 988:
20298
20299 /* Line 1464 of yacc.c  */
20300 #line 3058 "grammar.y"
20301     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20302     break;
20303
20304   case 989:
20305
20306 /* Line 1464 of yacc.c  */
20307 #line 3059 "grammar.y"
20308     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (2)].pointer), null)); ;}
20309     break;
20310
20311   case 990:
20312
20313 /* Line 1464 of yacc.c  */
20314 #line 3060 "grammar.y"
20315     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20316     break;
20317
20318   case 991:
20319
20320 /* Line 1464 of yacc.c  */
20321 #line 3064 "grammar.y"
20322     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (1)].pointer), null); ;}
20323     break;
20324
20325   case 993:
20326
20327 /* Line 1464 of yacc.c  */
20328 #line 3066 "grammar.y"
20329     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20330     break;
20331
20332   case 994:
20333
20334 /* Line 1464 of yacc.c  */
20335 #line 3067 "grammar.y"
20336     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (2)].pointer), null)); ;}
20337     break;
20338
20339   case 995:
20340
20341 /* Line 1464 of yacc.c  */
20342 #line 3068 "grammar.y"
20343     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20344     break;
20345
20346   case 997:
20347
20348 /* Line 1464 of yacc.c  */
20349 #line 3074 "grammar.y"
20350     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20351     break;
20352
20353   case 998:
20354
20355 /* Line 1464 of yacc.c  */
20356 #line 3076 "grammar.y"
20357     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20358     break;
20359
20360   case 999:
20361
20362 /* Line 1464 of yacc.c  */
20363 #line 3078 "grammar.y"
20364     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
20365     break;
20366
20367   case 1000:
20368
20369 /* Line 1464 of yacc.c  */
20370 #line 3080 "grammar.y"
20371     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
20372     break;
20373
20374   case 1002:
20375
20376 /* Line 1464 of yacc.c  */
20377 #line 3086 "grammar.y"
20378     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20379     break;
20380
20381   case 1003:
20382
20383 /* Line 1464 of yacc.c  */
20384 #line 3088 "grammar.y"
20385     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20386     break;
20387
20388   case 1004:
20389
20390 /* Line 1464 of yacc.c  */
20391 #line 3090 "grammar.y"
20392     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
20393     break;
20394
20395   case 1006:
20396
20397 /* Line 1464 of yacc.c  */
20398 #line 3095 "grammar.y"
20399     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20400     break;
20401
20402   case 1007:
20403
20404 /* Line 1464 of yacc.c  */
20405 #line 3096 "grammar.y"
20406     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20407     break;
20408
20409   case 1008:
20410
20411 /* Line 1464 of yacc.c  */
20412 #line 3097 "grammar.y"
20413     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20414     break;
20415
20416   case 1010:
20417
20418 /* Line 1464 of yacc.c  */
20419 #line 3102 "grammar.y"
20420     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20421     break;
20422
20423   case 1011:
20424
20425 /* Line 1464 of yacc.c  */
20426 #line 3103 "grammar.y"
20427     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20428     break;
20429
20430   case 1012:
20431
20432 /* Line 1464 of yacc.c  */
20433 #line 3104 "grammar.y"
20434     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20435     break;
20436
20437   case 1014:
20438
20439 /* Line 1464 of yacc.c  */
20440 #line 3109 "grammar.y"
20441     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20442     break;
20443
20444   case 1015:
20445
20446 /* Line 1464 of yacc.c  */
20447 #line 3110 "grammar.y"
20448     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20449     break;
20450
20451   case 1016:
20452
20453 /* Line 1464 of yacc.c  */
20454 #line 3111 "grammar.y"
20455     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20456     break;
20457
20458   case 1018:
20459
20460 /* Line 1464 of yacc.c  */
20461 #line 3116 "grammar.y"
20462     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20463     break;
20464
20465   case 1019:
20466
20467 /* Line 1464 of yacc.c  */
20468 #line 3117 "grammar.y"
20469     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20470     break;
20471
20472   case 1020:
20473
20474 /* Line 1464 of yacc.c  */
20475 #line 3118 "grammar.y"
20476     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20477     break;
20478
20479   case 1022:
20480
20481 /* Line 1464 of yacc.c  */
20482 #line 3123 "grammar.y"
20483     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20484     break;
20485
20486   case 1023:
20487
20488 /* Line 1464 of yacc.c  */
20489 #line 3124 "grammar.y"
20490     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20491     break;
20492
20493   case 1024:
20494
20495 /* Line 1464 of yacc.c  */
20496 #line 3125 "grammar.y"
20497     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20498     break;
20499
20500   case 1025:
20501
20502 /* Line 1464 of yacc.c  */
20503 #line 3129 "grammar.y"
20504     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20505     break;
20506
20507   case 1026:
20508
20509 /* Line 1464 of yacc.c  */
20510 #line 3130 "grammar.y"
20511     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (3)].list)); (yyval.initializer).loc = (yyloc); ;}
20512     break;
20513
20514   case 1027:
20515
20516 /* Line 1464 of yacc.c  */
20517 #line 3132 "grammar.y"
20518     {
20519          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (4)].list));
20520          (yyval.initializer).loc = (yyloc);
20521
20522          {
20523             Expression exp = MkExpDummy();
20524             Initializer init = MkInitializerAssignment(exp);
20525             init.loc = (yylsp[(3) - (4)]);
20526             exp.loc = (yylsp[(3) - (4)]);
20527             ListAdd((yyvsp[(2) - (4)].list), init);
20528          }
20529       ;}
20530     break;
20531
20532   case 1028:
20533
20534 /* Line 1464 of yacc.c  */
20535 #line 3147 "grammar.y"
20536     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20537     break;
20538
20539   case 1029:
20540
20541 /* Line 1464 of yacc.c  */
20542 #line 3148 "grammar.y"
20543     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (4)].list)); (yyval.initializer).loc = (yyloc); ;}
20544     break;
20545
20546   case 1030:
20547
20548 /* Line 1464 of yacc.c  */
20549 #line 3149 "grammar.y"
20550     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (2)].list)); (yyval.initializer).loc = (yyloc); ;}
20551     break;
20552
20553   case 1031:
20554
20555 /* Line 1464 of yacc.c  */
20556 #line 3151 "grammar.y"
20557     {
20558          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (5)].list));
20559          (yyval.initializer).loc = (yyloc);
20560
20561          {
20562             Expression exp = MkExpDummy();
20563             Initializer init = MkInitializerAssignment(exp);
20564             init.loc = (yylsp[(3) - (5)]);
20565             exp.loc = (yylsp[(3) - (5)]);
20566             ListAdd((yyvsp[(2) - (5)].list), init);
20567          }
20568       ;}
20569     break;
20570
20571   case 1032:
20572
20573 /* Line 1464 of yacc.c  */
20574 #line 3164 "grammar.y"
20575     {
20576          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (3)].list));
20577          (yyval.initializer).loc = (yyloc);
20578
20579          {
20580             Expression exp = MkExpDummy();
20581             Initializer init = MkInitializerAssignment(exp);
20582             init.loc = (yylsp[(3) - (3)]);
20583             exp.loc = (yylsp[(3) - (3)]);
20584             ListAdd((yyvsp[(2) - (3)].list), init);
20585          }
20586       ;}
20587     break;
20588
20589   case 1033:
20590
20591 /* Line 1464 of yacc.c  */
20592 #line 3179 "grammar.y"
20593     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20594     break;
20595
20596   case 1034:
20597
20598 /* Line 1464 of yacc.c  */
20599 #line 3181 "grammar.y"
20600     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20601     break;
20602
20603   case 1035:
20604
20605 /* Line 1464 of yacc.c  */
20606 #line 3185 "grammar.y"
20607     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20608     break;
20609
20610   case 1036:
20611
20612 /* Line 1464 of yacc.c  */
20613 #line 3186 "grammar.y"
20614     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20615     break;
20616
20617   case 1037:
20618
20619 /* Line 1464 of yacc.c  */
20620 #line 3190 "grammar.y"
20621     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initializer)); ;}
20622     break;
20623
20624   case 1038:
20625
20626 /* Line 1464 of yacc.c  */
20627 #line 3191 "grammar.y"
20628     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initializer)); ;}
20629     break;
20630
20631   case 1039:
20632
20633 /* Line 1464 of yacc.c  */
20634 #line 3192 "grammar.y"
20635     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initializer)); ;}
20636     break;
20637
20638   case 1040:
20639
20640 /* Line 1464 of yacc.c  */
20641 #line 3193 "grammar.y"
20642     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initializer)); ;}
20643     break;
20644
20645   case 1041:
20646
20647 /* Line 1464 of yacc.c  */
20648 #line 3196 "grammar.y"
20649     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].initializer)); ;}
20650     break;
20651
20652   case 1042:
20653
20654 /* Line 1464 of yacc.c  */
20655 #line 3197 "grammar.y"
20656     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].initializer)); ;}
20657     break;
20658
20659   case 1043:
20660
20661 /* Line 1464 of yacc.c  */
20662 #line 3201 "grammar.y"
20663     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20664     break;
20665
20666   case 1044:
20667
20668 /* Line 1464 of yacc.c  */
20669 #line 3202 "grammar.y"
20670     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20671     break;
20672
20673   case 1045:
20674
20675 /* Line 1464 of yacc.c  */
20676 #line 3203 "grammar.y"
20677     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].initializer)); (yyval.initDeclarator).loc = (yyloc); (yyval.initDeclarator).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
20678     break;
20679
20680   case 1046:
20681
20682 /* Line 1464 of yacc.c  */
20683 #line 3207 "grammar.y"
20684     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (2)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20685     break;
20686
20687   case 1047:
20688
20689 /* Line 1464 of yacc.c  */
20690 #line 3211 "grammar.y"
20691     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].initializer)); (yyval.initDeclarator).loc = (yyloc); (yyval.initDeclarator).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
20692     break;
20693
20694   case 1048:
20695
20696 /* Line 1464 of yacc.c  */
20697 #line 3215 "grammar.y"
20698     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initDeclarator)); ;}
20699     break;
20700
20701   case 1049:
20702
20703 /* Line 1464 of yacc.c  */
20704 #line 3216 "grammar.y"
20705     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20706     break;
20707
20708   case 1050:
20709
20710 /* Line 1464 of yacc.c  */
20711 #line 3217 "grammar.y"
20712     { (yyval.list) = MkList(); ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("uint")), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20713     break;
20714
20715   case 1051:
20716
20717 /* Line 1464 of yacc.c  */
20718 #line 3218 "grammar.y"
20719     { (yyval.list) = MkList(); ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("int64")), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20720     break;
20721
20722   case 1052:
20723
20724 /* Line 1464 of yacc.c  */
20725 #line 3220 "grammar.y"
20726     {
20727       char * colon = RSearchString((yyvsp[(1) - (3)].specifier).name, "::", strlen((yyvsp[(1) - (3)].specifier).name), true, false);
20728       String s = colon ? colon + 2 : (yyvsp[(1) - (3)].specifier).name;
20729       (yyval.list) = MkList();
20730       ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), null));
20731       ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator));
20732       FreeSpecifier((yyvsp[(1) - (3)].specifier));
20733    ;}
20734     break;
20735
20736   case 1053:
20737
20738 /* Line 1464 of yacc.c  */
20739 #line 3228 "grammar.y"
20740     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20741     break;
20742
20743   case 1054:
20744
20745 /* Line 1464 of yacc.c  */
20746 #line 3237 "grammar.y"
20747     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initDeclarator)); ;}
20748     break;
20749
20750   case 1055:
20751
20752 /* Line 1464 of yacc.c  */
20753 #line 3238 "grammar.y"
20754     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].initDeclarator)); ;}
20755     break;
20756
20757   case 1056:
20758
20759 /* Line 1464 of yacc.c  */
20760 #line 3239 "grammar.y"
20761     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20762     break;
20763
20764   case 1057:
20765
20766 /* Line 1464 of yacc.c  */
20767 #line 3240 "grammar.y"
20768     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20769     break;
20770
20771   case 1058:
20772
20773 /* Line 1464 of yacc.c  */
20774 #line 3244 "grammar.y"
20775     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (1)].list), null); ;}
20776     break;
20777
20778   case 1059:
20779
20780 /* Line 1464 of yacc.c  */
20781 #line 3245 "grammar.y"
20782     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20783     break;
20784
20785   case 1060:
20786
20787 /* Line 1464 of yacc.c  */
20788 #line 3249 "grammar.y"
20789     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (1)].list), null); ;}
20790     break;
20791
20792   case 1061:
20793
20794 /* Line 1464 of yacc.c  */
20795 #line 3250 "grammar.y"
20796     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20797     break;
20798
20799   case 1062:
20800
20801 /* Line 1464 of yacc.c  */
20802 #line 3255 "grammar.y"
20803     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20804     break;
20805
20806   case 1063:
20807
20808 /* Line 1464 of yacc.c  */
20809 #line 3256 "grammar.y"
20810     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20811     break;
20812
20813   case 1064:
20814
20815 /* Line 1464 of yacc.c  */
20816 #line 3257 "grammar.y"
20817     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), MkDeclaratorPointer(MkPointer(null,null), null)); ;}
20818     break;
20819
20820   case 1065:
20821
20822 /* Line 1464 of yacc.c  */
20823 #line 3258 "grammar.y"
20824     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), MkDeclaratorPointer(MkPointer(null,null), (yyvsp[(3) - (3)].declarator))); ;}
20825     break;
20826
20827   case 1066:
20828
20829 /* Line 1464 of yacc.c  */
20830 #line 3259 "grammar.y"
20831     { (yyval.typeName) = MkTypeNameGuessDecl((yyvsp[(1) - (1)].list), null); ;}
20832     break;
20833
20834   case 1067:
20835
20836 /* Line 1464 of yacc.c  */
20837 #line 3261 "grammar.y"
20838     { (yyval.typeName) = MkTypeName(MkListOne(MkSpecifier(CLASS)), null); ;}
20839     break;
20840
20841   case 1068:
20842
20843 /* Line 1464 of yacc.c  */
20844 #line 3279 "grammar.y"
20845     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator)); ;}
20846     break;
20847
20848   case 1069:
20849
20850 /* Line 1464 of yacc.c  */
20851 #line 3280 "grammar.y"
20852     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator)); ;}
20853     break;
20854
20855   case 1070:
20856
20857 /* Line 1464 of yacc.c  */
20858 #line 3284 "grammar.y"
20859     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].typeName)); ;}
20860     break;
20861
20862   case 1071:
20863
20864 /* Line 1464 of yacc.c  */
20865 #line 3285 "grammar.y"
20866     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20867     break;
20868
20869   case 1072:
20870
20871 /* Line 1464 of yacc.c  */
20872 #line 3286 "grammar.y"
20873     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20874     break;
20875
20876   case 1073:
20877
20878 /* Line 1464 of yacc.c  */
20879 #line 3287 "grammar.y"
20880     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20881     break;
20882
20883   case 1074:
20884
20885 /* Line 1464 of yacc.c  */
20886 #line 3288 "grammar.y"
20887     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20888     break;
20889
20890   case 1075:
20891
20892 /* Line 1464 of yacc.c  */
20893 #line 3289 "grammar.y"
20894     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(MkList(), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].typeName)); ;}
20895     break;
20896
20897   case 1076:
20898
20899 /* Line 1464 of yacc.c  */
20900 #line 3291 "grammar.y"
20901     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20902     break;
20903
20904   case 1077:
20905
20906 /* Line 1464 of yacc.c  */
20907 #line 3292 "grammar.y"
20908     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20909     break;
20910
20911   case 1078:
20912
20913 /* Line 1464 of yacc.c  */
20914 #line 3293 "grammar.y"
20915     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20916     break;
20917
20918   case 1079:
20919
20920 /* Line 1464 of yacc.c  */
20921 #line 3294 "grammar.y"
20922     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20923     break;
20924
20925   case 1080:
20926
20927 /* Line 1464 of yacc.c  */
20928 #line 3298 "grammar.y"
20929     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].typeName)); ;}
20930     break;
20931
20932   case 1081:
20933
20934 /* Line 1464 of yacc.c  */
20935 #line 3299 "grammar.y"
20936     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20937     break;
20938
20939   case 1082:
20940
20941 /* Line 1464 of yacc.c  */
20942 #line 3300 "grammar.y"
20943     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20944     break;
20945
20946   case 1083:
20947
20948 /* Line 1464 of yacc.c  */
20949 #line 3301 "grammar.y"
20950     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20951     break;
20952
20953   case 1084:
20954
20955 /* Line 1464 of yacc.c  */
20956 #line 3302 "grammar.y"
20957     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(MkList(), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].typeName)); ;}
20958     break;
20959
20960   case 1085:
20961
20962 /* Line 1464 of yacc.c  */
20963 #line 3304 "grammar.y"
20964     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20965     break;
20966
20967   case 1086:
20968
20969 /* Line 1464 of yacc.c  */
20970 #line 3305 "grammar.y"
20971     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20972     break;
20973
20974   case 1087:
20975
20976 /* Line 1464 of yacc.c  */
20977 #line 3306 "grammar.y"
20978     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20979     break;
20980
20981   case 1089:
20982
20983 /* Line 1464 of yacc.c  */
20984 #line 3311 "grammar.y"
20985     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20986     break;
20987
20988   case 1090:
20989
20990 /* Line 1464 of yacc.c  */
20991 #line 3312 "grammar.y"
20992     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20993     break;
20994
20995   case 1091:
20996
20997 /* Line 1464 of yacc.c  */
20998 #line 3313 "grammar.y"
20999     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
21000     break;
21001
21002   case 1092:
21003
21004 /* Line 1464 of yacc.c  */
21005 #line 3314 "grammar.y"
21006     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
21007     break;
21008
21009   case 1093:
21010
21011 /* Line 1464 of yacc.c  */
21012 #line 3315 "grammar.y"
21013     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(null, null)); ;}
21014     break;
21015
21016   case 1095:
21017
21018 /* Line 1464 of yacc.c  */
21019 #line 3320 "grammar.y"
21020     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
21021     break;
21022
21023   case 1098:
21024
21025 /* Line 1464 of yacc.c  */
21026 #line 3327 "grammar.y"
21027     { (yyval.stmt) = MkExpressionStmt(null); FreeAttrib((yyvsp[(1) - (1)].attrib)); ;}
21028     break;
21029
21030   case 1100:
21031
21032 /* Line 1464 of yacc.c  */
21033 #line 3329 "grammar.y"
21034     { (yyval.stmt) = MkExpressionStmt(null); ;}
21035     break;
21036
21037   case 1101:
21038
21039 /* Line 1464 of yacc.c  */
21040 #line 3330 "grammar.y"
21041     { (yyval.stmt) = MkExpressionStmt(null); ;}
21042     break;
21043
21044   case 1102:
21045
21046 /* Line 1464 of yacc.c  */
21047 #line 3331 "grammar.y"
21048     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21049     break;
21050
21051   case 1110:
21052
21053 /* Line 1464 of yacc.c  */
21054 #line 3342 "grammar.y"
21055     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
21056     break;
21057
21058   case 1111:
21059
21060 /* Line 1464 of yacc.c  */
21061 #line 3343 "grammar.y"
21062     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
21063     break;
21064
21065   case 1112:
21066
21067 /* Line 1464 of yacc.c  */
21068 #line 3344 "grammar.y"
21069     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
21070     break;
21071
21072   case 1113:
21073
21074 /* Line 1464 of yacc.c  */
21075 #line 3345 "grammar.y"
21076     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
21077     break;
21078
21079   case 1114:
21080
21081 /* Line 1464 of yacc.c  */
21082 #line 3346 "grammar.y"
21083     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
21084     break;
21085
21086   case 1115:
21087
21088 /* Line 1464 of yacc.c  */
21089 #line 3347 "grammar.y"
21090     { (yyval.stmt) = (yyvsp[(1) - (2)].stmt); Compiler_Error($"syntax error\n"); ;}
21091     break;
21092
21093   case 1116:
21094
21095 /* Line 1464 of yacc.c  */
21096 #line 3348 "grammar.y"
21097     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (1)].list)); Compiler_Error($"syntax error\n"); (yyval.stmt).loc = (yylsp[(1) - (1)]); ;}
21098     break;
21099
21100   case 1117:
21101
21102 /* Line 1464 of yacc.c  */
21103 #line 3352 "grammar.y"
21104     { (yyval.asmField) = MkAsmField((yyvsp[(1) - (1)].string), null, null); (yyval.asmField).loc = (yylsp[(1) - (1)]); ;}
21105     break;
21106
21107   case 1118:
21108
21109 /* Line 1464 of yacc.c  */
21110 #line 3353 "grammar.y"
21111     { (yyval.asmField) = MkAsmField((yyvsp[(1) - (4)].string), (yyvsp[(3) - (4)].exp), null); (yyval.asmField).loc = (yyloc); ;}
21112     break;
21113
21114   case 1119:
21115
21116 /* Line 1464 of yacc.c  */
21117 #line 3354 "grammar.y"
21118     { (yyval.asmField) = MkAsmField((yyvsp[(4) - (7)].string), (yyvsp[(6) - (7)].exp), (yyvsp[(2) - (7)].id)); (yyval.asmField).loc = (yyloc); ;}
21119     break;
21120
21121   case 1120:
21122
21123 /* Line 1464 of yacc.c  */
21124 #line 3358 "grammar.y"
21125     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].asmField)); ;}
21126     break;
21127
21128   case 1121:
21129
21130 /* Line 1464 of yacc.c  */
21131 #line 3359 "grammar.y"
21132     { ListAdd((yyval.list), (yyvsp[(3) - (3)].asmField)); ;}
21133     break;
21134
21135   case 1122:
21136
21137 /* Line 1464 of yacc.c  */
21138 #line 3360 "grammar.y"
21139     { (yyval.list) = null; ;}
21140     break;
21141
21142   case 1123:
21143
21144 /* Line 1464 of yacc.c  */
21145 #line 3364 "grammar.y"
21146     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (6)].specifier), (yyvsp[(4) - (6)].string), null, null, null); (yyval.stmt).loc = (yyloc); ;}
21147     break;
21148
21149   case 1124:
21150
21151 /* Line 1464 of yacc.c  */
21152 #line 3365 "grammar.y"
21153     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (8)].specifier), (yyvsp[(4) - (8)].string), (yyvsp[(6) - (8)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
21154     break;
21155
21156   case 1125:
21157
21158 /* Line 1464 of yacc.c  */
21159 #line 3366 "grammar.y"
21160     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), (yyvsp[(6) - (10)].list), (yyvsp[(8) - (10)].list), null); (yyval.stmt).loc = (yyloc); ;}
21161     break;
21162
21163   case 1126:
21164
21165 /* Line 1464 of yacc.c  */
21166 #line 3367 "grammar.y"
21167     { (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); ;}
21168     break;
21169
21170   case 1127:
21171
21172 /* Line 1464 of yacc.c  */
21173 #line 3369 "grammar.y"
21174     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (8)].specifier), (yyvsp[(4) - (8)].string), null, (yyvsp[(6) - (8)].list), null); (yyval.stmt).loc = (yyloc); ;}
21175     break;
21176
21177   case 1128:
21178
21179 /* Line 1464 of yacc.c  */
21180 #line 3370 "grammar.y"
21181     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), null, (yyvsp[(6) - (10)].list), (yyvsp[(8) - (10)].list)); (yyval.stmt).loc = (yyloc); ;}
21182     break;
21183
21184   case 1129:
21185
21186 /* Line 1464 of yacc.c  */
21187 #line 3371 "grammar.y"
21188     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), (yyvsp[(6) - (10)].list), null, (yyvsp[(8) - (10)].list)); (yyval.stmt).loc = (yyloc); ;}
21189     break;
21190
21191   case 1130:
21192
21193 /* Line 1464 of yacc.c  */
21194 #line 3373 "grammar.y"
21195     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (5)].string), null, null, null); (yyval.stmt).loc = (yyloc); ;}
21196     break;
21197
21198   case 1131:
21199
21200 /* Line 1464 of yacc.c  */
21201 #line 3374 "grammar.y"
21202     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (7)].string), (yyvsp[(5) - (7)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
21203     break;
21204
21205   case 1132:
21206
21207 /* Line 1464 of yacc.c  */
21208 #line 3375 "grammar.y"
21209     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list), null); (yyval.stmt).loc = (yyloc); ;}
21210     break;
21211
21212   case 1133:
21213
21214 /* Line 1464 of yacc.c  */
21215 #line 3376 "grammar.y"
21216     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (11)].string), (yyvsp[(5) - (11)].list), (yyvsp[(7) - (11)].list), (yyvsp[(9) - (11)].list)); (yyval.stmt).loc = (yyloc); ;}
21217     break;
21218
21219   case 1134:
21220
21221 /* Line 1464 of yacc.c  */
21222 #line 3378 "grammar.y"
21223     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (7)].string), null, (yyvsp[(5) - (7)].list), null); (yyval.stmt).loc = (yyloc); ;}
21224     break;
21225
21226   case 1135:
21227
21228 /* Line 1464 of yacc.c  */
21229 #line 3379 "grammar.y"
21230     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), null, (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list)); (yyval.stmt).loc = (yyloc); ;}
21231     break;
21232
21233   case 1136:
21234
21235 /* Line 1464 of yacc.c  */
21236 #line 3380 "grammar.y"
21237     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), (yyvsp[(5) - (9)].list), null, (yyvsp[(7) - (9)].list)); (yyval.stmt).loc = (yyloc); ;}
21238     break;
21239
21240   case 1137:
21241
21242 /* Line 1464 of yacc.c  */
21243 #line 3384 "grammar.y"
21244     { (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21245     break;
21246
21247   case 1138:
21248
21249 /* Line 1464 of yacc.c  */
21250 #line 3385 "grammar.y"
21251     { (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; ;}
21252     break;
21253
21254   case 1139:
21255
21256 /* Line 1464 of yacc.c  */
21257 #line 3386 "grammar.y"
21258     { (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; ;}
21259     break;
21260
21261   case 1140:
21262
21263 /* Line 1464 of yacc.c  */
21264 #line 3387 "grammar.y"
21265     { (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; ;}
21266     break;
21267
21268   case 1141:
21269
21270 /* Line 1464 of yacc.c  */
21271 #line 3388 "grammar.y"
21272     { (yyval.stmt) = MkCaseStmt(null, (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21273     break;
21274
21275   case 1142:
21276
21277 /* Line 1464 of yacc.c  */
21278 #line 3390 "grammar.y"
21279     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), stmt); (yyval.stmt).loc = (yyloc); ;}
21280     break;
21281
21282   case 1143:
21283
21284 /* Line 1464 of yacc.c  */
21285 #line 3391 "grammar.y"
21286     { Statement stmt = MkBadDeclStmt((yyvsp[(4) - (4)].declaration)); stmt.loc = (yylsp[(4) - (4)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), stmt); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
21287     break;
21288
21289   case 1144:
21290
21291 /* Line 1464 of yacc.c  */
21292 #line 3392 "grammar.y"
21293     { Statement stmt = MkBadDeclStmt((yyvsp[(4) - (4)].declaration)); stmt.loc = (yylsp[(4) - (4)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), stmt); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
21294     break;
21295
21296   case 1145:
21297
21298 /* Line 1464 of yacc.c  */
21299 #line 3393 "grammar.y"
21300     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt(MkExpDummy(), stmt); (yyval.stmt).caseStmt.exp.loc = (yylsp[(2) - (3)]); (yyval.stmt).loc = (yyloc); (yyval.stmt).caseStmt.exp.loc.start = (yylsp[(1) - (3)]).end; ;}
21301     break;
21302
21303   case 1146:
21304
21305 /* Line 1464 of yacc.c  */
21306 #line 3394 "grammar.y"
21307     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt(null, stmt); (yyval.stmt).loc = (yyloc); ;}
21308     break;
21309
21310   case 1147:
21311
21312 /* Line 1464 of yacc.c  */
21313 #line 3398 "grammar.y"
21314     { (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21315     break;
21316
21317   case 1148:
21318
21319 /* Line 1464 of yacc.c  */
21320 #line 3399 "grammar.y"
21321     { (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; ;}
21322     break;
21323
21324   case 1149:
21325
21326 /* Line 1464 of yacc.c  */
21327 #line 3400 "grammar.y"
21328     { (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; ;}
21329     break;
21330
21331   case 1150:
21332
21333 /* Line 1464 of yacc.c  */
21334 #line 3401 "grammar.y"
21335     { (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; ;}
21336     break;
21337
21338   case 1151:
21339
21340 /* Line 1464 of yacc.c  */
21341 #line 3402 "grammar.y"
21342     { (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; ;}
21343     break;
21344
21345   case 1152:
21346
21347 /* Line 1464 of yacc.c  */
21348 #line 3403 "grammar.y"
21349     { (yyval.stmt) = MkCaseStmt(null, (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21350     break;
21351
21352   case 1153:
21353
21354 /* Line 1464 of yacc.c  */
21355 #line 3404 "grammar.y"
21356     { (yyval.stmt) = MkCaseStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21357     break;
21358
21359   case 1154:
21360
21361 /* Line 1464 of yacc.c  */
21362 #line 3406 "grammar.y"
21363     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), stmt); (yyval.stmt).loc = (yyloc); ;}
21364     break;
21365
21366   case 1155:
21367
21368 /* Line 1464 of yacc.c  */
21369 #line 3407 "grammar.y"
21370     { Statement stmt = MkBadDeclStmt((yyvsp[(4) - (4)].declaration)); stmt.loc = (yylsp[(4) - (4)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), stmt); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
21371     break;
21372
21373   case 1156:
21374
21375 /* Line 1464 of yacc.c  */
21376 #line 3408 "grammar.y"
21377     { Statement stmt = MkBadDeclStmt((yyvsp[(4) - (4)].declaration)); stmt.loc = (yylsp[(4) - (4)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), stmt); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
21378     break;
21379
21380   case 1157:
21381
21382 /* Line 1464 of yacc.c  */
21383 #line 3409 "grammar.y"
21384     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt(MkExpDummy(), stmt); (yyval.stmt).caseStmt.exp.loc = (yylsp[(2) - (3)]); (yyval.stmt).loc = (yyloc); (yyval.stmt).caseStmt.exp.loc.start = (yylsp[(1) - (3)]).end; ;}
21385     break;
21386
21387   case 1158:
21388
21389 /* Line 1464 of yacc.c  */
21390 #line 3410 "grammar.y"
21391     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt(null, stmt); (yyval.stmt).loc = (yyloc); ;}
21392     break;
21393
21394   case 1159:
21395
21396 /* Line 1464 of yacc.c  */
21397 #line 3414 "grammar.y"
21398     { (yyval.declMode) = structDeclMode = declMode = publicAccess; ;}
21399     break;
21400
21401   case 1160:
21402
21403 /* Line 1464 of yacc.c  */
21404 #line 3415 "grammar.y"
21405     { (yyval.declMode) = structDeclMode = declMode = privateAccess; ;}
21406     break;
21407
21408   case 1161:
21409
21410 /* Line 1464 of yacc.c  */
21411 #line 3416 "grammar.y"
21412     { (yyval.declMode) = structDeclMode = declMode = defaultAccess; ;}
21413     break;
21414
21415   case 1162:
21416
21417 /* Line 1464 of yacc.c  */
21418 #line 3420 "grammar.y"
21419     { (yyval.declMode) = publicAccess; ;}
21420     break;
21421
21422   case 1163:
21423
21424 /* Line 1464 of yacc.c  */
21425 #line 3421 "grammar.y"
21426     { (yyval.declMode) = privateAccess; ;}
21427     break;
21428
21429   case 1164:
21430
21431 /* Line 1464 of yacc.c  */
21432 #line 3425 "grammar.y"
21433     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21434     break;
21435
21436   case 1165:
21437
21438 /* Line 1464 of yacc.c  */
21439 #line 3426 "grammar.y"
21440     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21441     break;
21442
21443   case 1166:
21444
21445 /* Line 1464 of yacc.c  */
21446 #line 3427 "grammar.y"
21447     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21448     break;
21449
21450   case 1167:
21451
21452 /* Line 1464 of yacc.c  */
21453 #line 3428 "grammar.y"
21454     { (yyval.declaration) = (yyvsp[(1) - (2)].declaration); structDeclMode = defaultDeclMode; ;}
21455     break;
21456
21457   case 1168:
21458
21459 /* Line 1464 of yacc.c  */
21460 #line 3432 "grammar.y"
21461     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); ;}
21462     break;
21463
21464   case 1169:
21465
21466 /* Line 1464 of yacc.c  */
21467 #line 3433 "grammar.y"
21468     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
21469     break;
21470
21471   case 1170:
21472
21473 /* Line 1464 of yacc.c  */
21474 #line 3434 "grammar.y"
21475     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
21476     break;
21477
21478   case 1171:
21479
21480 /* Line 1464 of yacc.c  */
21481 #line 3436 "grammar.y"
21482     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); ;}
21483     break;
21484
21485   case 1172:
21486
21487 /* Line 1464 of yacc.c  */
21488 #line 3437 "grammar.y"
21489     { (yyval.declaration) = MkDeclarationDefine((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].exp)); (yyval.declaration).loc = (yyloc); ;}
21490     break;
21491
21492   case 1173:
21493
21494 /* Line 1464 of yacc.c  */
21495 #line 3438 "grammar.y"
21496     { structDeclMode = declMode = staticAccess; (yyval.declaration) = MkDeclarationDefine((yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].exp)); (yyval.declaration).loc = (yyloc); ;}
21497     break;
21498
21499   case 1174:
21500
21501 /* Line 1464 of yacc.c  */
21502 #line 3442 "grammar.y"
21503     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); yyerrok; ;}
21504     break;
21505
21506   case 1175:
21507
21508 /* Line 1464 of yacc.c  */
21509 #line 3446 "grammar.y"
21510     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21511     break;
21512
21513   case 1176:
21514
21515 /* Line 1464 of yacc.c  */
21516 #line 3447 "grammar.y"
21517     { structDeclMode = defaultDeclMode;  ;}
21518     break;
21519
21520   case 1177:
21521
21522 /* Line 1464 of yacc.c  */
21523 #line 3449 "grammar.y"
21524     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21525     break;
21526
21527   case 1178:
21528
21529 /* Line 1464 of yacc.c  */
21530 #line 3450 "grammar.y"
21531     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21532     break;
21533
21534   case 1179:
21535
21536 /* Line 1464 of yacc.c  */
21537 #line 3451 "grammar.y"
21538     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21539     break;
21540
21541   case 1180:
21542
21543 /* Line 1464 of yacc.c  */
21544 #line 3455 "grammar.y"
21545     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declaration)); /*declMode = defaultDeclMode;*/ ;}
21546     break;
21547
21548   case 1181:
21549
21550 /* Line 1464 of yacc.c  */
21551 #line 3456 "grammar.y"
21552     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); /*declMode = defaultDeclMode; */;}
21553     break;
21554
21555   case 1182:
21556
21557 /* Line 1464 of yacc.c  */
21558 #line 3457 "grammar.y"
21559     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); /*declMode = defaultDeclMode; */;}
21560     break;
21561
21562   case 1183:
21563
21564 /* Line 1464 of yacc.c  */
21565 #line 3458 "grammar.y"
21566     { (yyval.list) = (yyvsp[(1) - (3)].list); ;}
21567     break;
21568
21569   case 1184:
21570
21571 /* Line 1464 of yacc.c  */
21572 #line 3462 "grammar.y"
21573     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declaration)); ;}
21574     break;
21575
21576   case 1185:
21577
21578 /* Line 1464 of yacc.c  */
21579 #line 3463 "grammar.y"
21580     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); ;}
21581     break;
21582
21583   case 1186:
21584
21585 /* Line 1464 of yacc.c  */
21586 #line 3467 "grammar.y"
21587     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].stmt)); ;}
21588     break;
21589
21590   case 1187:
21591
21592 /* Line 1464 of yacc.c  */
21593 #line 3468 "grammar.y"
21594     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21595     break;
21596
21597   case 1188:
21598
21599 /* Line 1464 of yacc.c  */
21600 #line 3469 "grammar.y"
21601     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21602     break;
21603
21604   case 1189:
21605
21606 /* Line 1464 of yacc.c  */
21607 #line 3473 "grammar.y"
21608     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].stmt)); ;}
21609     break;
21610
21611   case 1190:
21612
21613 /* Line 1464 of yacc.c  */
21614 #line 3474 "grammar.y"
21615     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21616     break;
21617
21618   case 1191:
21619
21620 /* Line 1464 of yacc.c  */
21621 #line 3475 "grammar.y"
21622     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21623     break;
21624
21625   case 1192:
21626
21627 /* Line 1464 of yacc.c  */
21628 #line 3476 "grammar.y"
21629     { 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;*/ ;}
21630     break;
21631
21632   case 1193:
21633
21634 /* Line 1464 of yacc.c  */
21635 #line 3477 "grammar.y"
21636     { 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;*/ ;}
21637     break;
21638
21639   case 1194:
21640
21641 /* Line 1464 of yacc.c  */
21642 #line 3478 "grammar.y"
21643     { 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;*/ ;}
21644     break;
21645
21646   case 1195:
21647
21648 /* Line 1464 of yacc.c  */
21649 #line 3479 "grammar.y"
21650     { 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;*/ ;}
21651     break;
21652
21653   case 1196:
21654
21655 /* Line 1464 of yacc.c  */
21656 #line 3483 "grammar.y"
21657     { (yyval.stmt) = MkCompoundStmt(null, (yyvsp[(1) - (1)].list)); ;}
21658     break;
21659
21660   case 1197:
21661
21662 /* Line 1464 of yacc.c  */
21663 #line 3484 "grammar.y"
21664     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (1)].list), null); ;}
21665     break;
21666
21667   case 1198:
21668
21669 /* Line 1464 of yacc.c  */
21670 #line 3485 "grammar.y"
21671     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21672     break;
21673
21674   case 1199:
21675
21676 /* Line 1464 of yacc.c  */
21677 #line 3486 "grammar.y"
21678     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21679     break;
21680
21681   case 1200:
21682
21683 /* Line 1464 of yacc.c  */
21684 #line 3490 "grammar.y"
21685     { (yyval.stmt) = MkCompoundStmt(null, (yyvsp[(1) - (1)].list)); ;}
21686     break;
21687
21688   case 1201:
21689
21690 /* Line 1464 of yacc.c  */
21691 #line 3491 "grammar.y"
21692     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (1)].list), null); ;}
21693     break;
21694
21695   case 1202:
21696
21697 /* Line 1464 of yacc.c  */
21698 #line 3492 "grammar.y"
21699     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21700     break;
21701
21702   case 1203:
21703
21704 /* Line 1464 of yacc.c  */
21705 #line 3493 "grammar.y"
21706     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21707     break;
21708
21709   case 1204:
21710
21711 /* Line 1464 of yacc.c  */
21712 #line 3497 "grammar.y"
21713     { (yyval.context) = PushContext(); ;}
21714     break;
21715
21716   case 1205:
21717
21718 /* Line 1464 of yacc.c  */
21719 #line 3501 "grammar.y"
21720     { (yyval.stmt) = (yyvsp[(1) - (2)].stmt); (yyval.stmt).loc = (yyloc); ;}
21721     break;
21722
21723   case 1206:
21724
21725 /* Line 1464 of yacc.c  */
21726 #line 3506 "grammar.y"
21727     { (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++; ;}
21728     break;
21729
21730   case 1207:
21731
21732 /* Line 1464 of yacc.c  */
21733 #line 3508 "grammar.y"
21734     { (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++; ;}
21735     break;
21736
21737   case 1208:
21738
21739 /* Line 1464 of yacc.c  */
21740 #line 3511 "grammar.y"
21741     { (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++; ;}
21742     break;
21743
21744   case 1209:
21745
21746 /* Line 1464 of yacc.c  */
21747 #line 3516 "grammar.y"
21748     { (yyval.stmt) = MkExpressionStmt(null); (yyval.stmt).loc = (yyloc); ;}
21749     break;
21750
21751   case 1210:
21752
21753 /* Line 1464 of yacc.c  */
21754 #line 3517 "grammar.y"
21755     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21756     break;
21757
21758   case 1211:
21759
21760 /* Line 1464 of yacc.c  */
21761 #line 3518 "grammar.y"
21762     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21763     break;
21764
21765   case 1212:
21766
21767 /* Line 1464 of yacc.c  */
21768 #line 3522 "grammar.y"
21769     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21770     break;
21771
21772   case 1213:
21773
21774 /* Line 1464 of yacc.c  */
21775 #line 3523 "grammar.y"
21776     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21777     break;
21778
21779   case 1214:
21780
21781 /* Line 1464 of yacc.c  */
21782 #line 3524 "grammar.y"
21783     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].stmt), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21784     break;
21785
21786   case 1215:
21787
21788 /* Line 1464 of yacc.c  */
21789 #line 3525 "grammar.y"
21790     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].stmt), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21791     break;
21792
21793   case 1216:
21794
21795 /* Line 1464 of yacc.c  */
21796 #line 3526 "grammar.y"
21797     { (yyval.stmt) = MkSwitchStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21798     break;
21799
21800   case 1217:
21801
21802 /* Line 1464 of yacc.c  */
21803 #line 3527 "grammar.y"
21804     { (yyval.stmt) = MkSwitchStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21805     break;
21806
21807   case 1218:
21808
21809 /* Line 1464 of yacc.c  */
21810 #line 3531 "grammar.y"
21811     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (3)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
21812     break;
21813
21814   case 1220:
21815
21816 /* Line 1464 of yacc.c  */
21817 #line 3536 "grammar.y"
21818     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21819     break;
21820
21821   case 1221:
21822
21823 /* Line 1464 of yacc.c  */
21824 #line 3537 "grammar.y"
21825     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21826     break;
21827
21828   case 1222:
21829
21830 /* Line 1464 of yacc.c  */
21831 #line 3538 "grammar.y"
21832     { (yyval.stmt) = MkWhileStmt(null, (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21833     break;
21834
21835   case 1223:
21836
21837 /* Line 1464 of yacc.c  */
21838 #line 3540 "grammar.y"
21839     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (7)].stmt), (yyvsp[(5) - (7)].list)); (yyval.stmt).loc = (yyloc); ;}
21840     break;
21841
21842   case 1224:
21843
21844 /* Line 1464 of yacc.c  */
21845 #line 3541 "grammar.y"
21846     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (6)].stmt), (yyvsp[(5) - (6)].list)); (yyval.stmt).loc = (yyloc); ;}
21847     break;
21848
21849   case 1225:
21850
21851 /* Line 1464 of yacc.c  */
21852 #line 3543 "grammar.y"
21853     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), null, (yyvsp[(6) - (6)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21854     break;
21855
21856   case 1226:
21857
21858 /* Line 1464 of yacc.c  */
21859 #line 3544 "grammar.y"
21860     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), null, null, (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21861     break;
21862
21863   case 1227:
21864
21865 /* Line 1464 of yacc.c  */
21866 #line 3545 "grammar.y"
21867     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (7)].stmt), (yyvsp[(4) - (7)].stmt), (yyvsp[(5) - (7)].list), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21868     break;
21869
21870   case 1228:
21871
21872 /* Line 1464 of yacc.c  */
21873 #line 3546 "grammar.y"
21874     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), (yyvsp[(5) - (6)].list), (yyvsp[(6) - (6)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21875     break;
21876
21877   case 1229:
21878
21879 /* Line 1464 of yacc.c  */
21880 #line 3547 "grammar.y"
21881     { (yyval.stmt) = MkForStmt(null, null, null, (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21882     break;
21883
21884   case 1230:
21885
21886 /* Line 1464 of yacc.c  */
21887 #line 3549 "grammar.y"
21888     { (yyval.stmt) = MkForEachStmt((yyvsp[(3) - (7)].id), (yyvsp[(5) - (7)].list), null, (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21889     break;
21890
21891   case 1231:
21892
21893 /* Line 1464 of yacc.c  */
21894 #line 3550 "grammar.y"
21895     { (yyval.stmt) = MkForEachStmt((yyvsp[(3) - (9)].id), (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list), (yyvsp[(9) - (9)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21896     break;
21897
21898   case 1232:
21899
21900 /* Line 1464 of yacc.c  */
21901 #line 3554 "grammar.y"
21902     { (yyval.stmt) = MkForStmt(null, null, null, null); (yyval.stmt).loc = (yyloc); ;}
21903     break;
21904
21905   case 1233:
21906
21907 /* Line 1464 of yacc.c  */
21908 #line 3555 "grammar.y"
21909     { (yyval.stmt) = MkForStmt(MkExpressionStmt((yyvsp[(3) - (4)].list)), null, null, null); (yyval.stmt).forStmt.init.loc = (yylsp[(3) - (4)]); (yyval.stmt).loc = (yyloc); ;}
21910     break;
21911
21912   case 1234:
21913
21914 /* Line 1464 of yacc.c  */
21915 #line 3556 "grammar.y"
21916     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (4)].stmt), null, null, null); (yyval.stmt).loc = (yyloc); ;}
21917     break;
21918
21919   case 1235:
21920
21921 /* Line 1464 of yacc.c  */
21922 #line 3557 "grammar.y"
21923     { (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)]); ;}
21924     break;
21925
21926   case 1236:
21927
21928 /* Line 1464 of yacc.c  */
21929 #line 3561 "grammar.y"
21930     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), (yyvsp[(4) - (5)].stmt), (yyvsp[(5) - (5)].list), null); (yyval.stmt).loc = (yyloc); ;}
21931     break;
21932
21933   case 1237:
21934
21935 /* Line 1464 of yacc.c  */
21936 #line 3562 "grammar.y"
21937     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), null, (yyvsp[(6) - (6)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21938     break;
21939
21940   case 1238:
21941
21942 /* Line 1464 of yacc.c  */
21943 #line 3563 "grammar.y"
21944     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (7)].stmt), (yyvsp[(4) - (7)].stmt), (yyvsp[(5) - (7)].list), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21945     break;
21946
21947   case 1239:
21948
21949 /* Line 1464 of yacc.c  */
21950 #line 3564 "grammar.y"
21951     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), (yyvsp[(5) - (6)].list), (yyvsp[(6) - (6)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21952     break;
21953
21954   case 1240:
21955
21956 /* Line 1464 of yacc.c  */
21957 #line 3566 "grammar.y"
21958     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (6)].stmt), (yyvsp[(5) - (6)].list)); (yyval.stmt).loc = (yyloc); ;}
21959     break;
21960
21961   case 1241:
21962
21963 /* Line 1464 of yacc.c  */
21964 #line 3567 "grammar.y"
21965     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (5)].stmt), (yyvsp[(5) - (5)].list)); (yyval.stmt).loc = (yyloc); ;}
21966     break;
21967
21968   case 1242:
21969
21970 /* Line 1464 of yacc.c  */
21971 #line 3568 "grammar.y"
21972     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (5)].stmt), (yyvsp[(5) - (5)].list)); (yyval.stmt).loc = (yyloc); ;}
21973     break;
21974
21975   case 1243:
21976
21977 /* Line 1464 of yacc.c  */
21978 #line 3569 "grammar.y"
21979     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (4)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21980     break;
21981
21982   case 1244:
21983
21984 /* Line 1464 of yacc.c  */
21985 #line 3570 "grammar.y"
21986     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (3)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21987     break;
21988
21989   case 1245:
21990
21991 /* Line 1464 of yacc.c  */
21992 #line 3571 "grammar.y"
21993     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (2)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21994     break;
21995
21996   case 1246:
21997
21998 /* Line 1464 of yacc.c  */
21999 #line 3572 "grammar.y"
22000     { (yyval.stmt) = MkDoWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
22001     break;
22002
22003   case 1247:
22004
22005 /* Line 1464 of yacc.c  */
22006 #line 3575 "grammar.y"
22007     { (yyval.stmt) = MkWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
22008     break;
22009
22010   case 1248:
22011
22012 /* Line 1464 of yacc.c  */
22013 #line 3579 "grammar.y"
22014     { (yyval.stmt) = MkWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
22015     break;
22016
22017   case 1249:
22018
22019 /* Line 1464 of yacc.c  */
22020 #line 3580 "grammar.y"
22021     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (3)].list), null); (yyval.stmt).loc = (yyloc); ;}
22022     break;
22023
22024   case 1250:
22025
22026 /* Line 1464 of yacc.c  */
22027 #line 3584 "grammar.y"
22028     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
22029     break;
22030
22031   case 1251:
22032
22033 /* Line 1464 of yacc.c  */
22034 #line 3585 "grammar.y"
22035     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
22036     break;
22037
22038   case 1252:
22039
22040 /* Line 1464 of yacc.c  */
22041 #line 3589 "grammar.y"
22042     { (yyval.stmt) = MkGotoStmt((yyvsp[(2) - (3)].id)); (yyval.stmt).loc = (yyloc); ;}
22043     break;
22044
22045   case 1253:
22046
22047 /* Line 1464 of yacc.c  */
22048 #line 3590 "grammar.y"
22049     { (yyval.stmt) = MkContinueStmt(); (yyval.stmt).loc = (yyloc); ;}
22050     break;
22051
22052   case 1254:
22053
22054 /* Line 1464 of yacc.c  */
22055 #line 3591 "grammar.y"
22056     { (yyval.stmt) = MkBreakStmt(); (yyval.stmt).loc = (yyloc); ;}
22057     break;
22058
22059   case 1255:
22060
22061 /* Line 1464 of yacc.c  */
22062 #line 3592 "grammar.y"
22063     { Expression exp = MkExpDummy(); (yyval.stmt) = MkReturnStmt(MkListOne(exp)); (yyval.stmt).loc = (yyloc); exp.loc = (yylsp[(2) - (2)]); ;}
22064     break;
22065
22066   case 1256:
22067
22068 /* Line 1464 of yacc.c  */
22069 #line 3593 "grammar.y"
22070     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (3)].list)); (yyval.stmt).loc = (yyloc); ;}
22071     break;
22072
22073   case 1257:
22074
22075 /* Line 1464 of yacc.c  */
22076 #line 3594 "grammar.y"
22077     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (3)].list)); (yyval.stmt).loc = (yyloc); ;}
22078     break;
22079
22080   case 1258:
22081
22082 /* Line 1464 of yacc.c  */
22083 #line 3595 "grammar.y"
22084     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (3)].exp))); (yyval.stmt).loc = (yyloc); ;}
22085     break;
22086
22087   case 1259:
22088
22089 /* Line 1464 of yacc.c  */
22090 #line 3596 "grammar.y"
22091     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (3)].exp))); (yyval.stmt).loc = (yyloc); ;}
22092     break;
22093
22094   case 1260:
22095
22096 /* Line 1464 of yacc.c  */
22097 #line 3600 "grammar.y"
22098     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
22099     break;
22100
22101   case 1261:
22102
22103 /* Line 1464 of yacc.c  */
22104 #line 3601 "grammar.y"
22105     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (2)].exp))); (yyval.stmt).loc = (yyloc); ;}
22106     break;
22107
22108   case 1262:
22109
22110 /* Line 1464 of yacc.c  */
22111 #line 3602 "grammar.y"
22112     { Expression exp = MkExpDummy(); (yyval.stmt) = MkReturnStmt(MkListOne(exp)); (yyval.stmt).loc = (yyloc); exp.loc.start = exp.loc.end = (yylsp[(1) - (1)]).end; ;}
22113     break;
22114
22115   case 1263:
22116
22117 /* Line 1464 of yacc.c  */
22118 #line 3603 "grammar.y"
22119     { (yyval.stmt) = MkGotoStmt(null); (yyval.stmt).loc = (yyloc); ;}
22120     break;
22121
22122   case 1264:
22123
22124 /* Line 1464 of yacc.c  */
22125 #line 3609 "grammar.y"
22126     { (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); ;}
22127     break;
22128
22129   case 1265:
22130
22131 /* Line 1464 of yacc.c  */
22132 #line 3611 "grammar.y"
22133     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
22134     break;
22135
22136   case 1266:
22137
22138 /* Line 1464 of yacc.c  */
22139 #line 3612 "grammar.y"
22140     { (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); ;}
22141     break;
22142
22143   case 1267:
22144
22145 /* Line 1464 of yacc.c  */
22146 #line 3614 "grammar.y"
22147     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
22148     break;
22149
22150   case 1268:
22151
22152 /* Line 1464 of yacc.c  */
22153 #line 3616 "grammar.y"
22154     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
22155     break;
22156
22157   case 1269:
22158
22159 /* Line 1464 of yacc.c  */
22160 #line 3617 "grammar.y"
22161     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (2)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(2) - (2)].stmt)); (yyval.function).loc = (yyloc);;}
22162     break;
22163
22164   case 1270:
22165
22166 /* Line 1464 of yacc.c  */
22167 #line 3620 "grammar.y"
22168     { (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; ;}
22169     break;
22170
22171   case 1271:
22172
22173 /* Line 1464 of yacc.c  */
22174 #line 3621 "grammar.y"
22175     { (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; ;}
22176     break;
22177
22178   case 1272:
22179
22180 /* Line 1464 of yacc.c  */
22181 #line 3622 "grammar.y"
22182     { (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; ;}
22183     break;
22184
22185   case 1273:
22186
22187 /* Line 1464 of yacc.c  */
22188 #line 3623 "grammar.y"
22189     { (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; ;}
22190     break;
22191
22192   case 1274:
22193
22194 /* Line 1464 of yacc.c  */
22195 #line 3624 "grammar.y"
22196     { (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; ;}
22197     break;
22198
22199   case 1275:
22200
22201 /* Line 1464 of yacc.c  */
22202 #line 3625 "grammar.y"
22203     { (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; ;}
22204     break;
22205
22206   case 1276:
22207
22208 /* Line 1464 of yacc.c  */
22209 #line 3629 "grammar.y"
22210     { (yyval.string) = CopyString(yytext); ;}
22211     break;
22212
22213   case 1277:
22214
22215 /* Line 1464 of yacc.c  */
22216 #line 3631 "grammar.y"
22217     {
22218       int len1 = strlen((yyvsp[(1) - (2)].string));
22219       int len2 = strlen(yytext);
22220       (yyval.string) = new byte[len1-1 + len2-1 + 1];
22221       memcpy((yyval.string), (yyvsp[(1) - (2)].string), len1-1);
22222       memcpy((yyval.string) + len1-1, yytext+1, len2);
22223       delete (yyvsp[(1) - (2)].string);
22224    ;}
22225     break;
22226
22227   case 1278:
22228
22229 /* Line 1464 of yacc.c  */
22230 #line 3642 "grammar.y"
22231     { (yyval.external) = MkExternalFunction((yyvsp[(1) - (1)].function)); (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].function).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
22232     break;
22233
22234   case 1279:
22235
22236 /* Line 1464 of yacc.c  */
22237 #line 3644 "grammar.y"
22238     { (yyval.external) = MkExternalClass((yyvsp[(1) - (1)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22239     break;
22240
22241   case 1280:
22242
22243 /* Line 1464 of yacc.c  */
22244 #line 3647 "grammar.y"
22245     { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; FreeList((yyvsp[(1) - (2)].list), FreeSpecifier); ;}
22246     break;
22247
22248   case 1281:
22249
22250 /* Line 1464 of yacc.c  */
22251 #line 3650 "grammar.y"
22252     { (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
22253     break;
22254
22255   case 1282:
22256
22257 /* Line 1464 of yacc.c  */
22258 #line 3651 "grammar.y"
22259     { (yyval.external) = MkExternalImport((yyvsp[(2) - (2)].string), normalImport, (declMode != defaultAccess) ? declMode : privateAccess);  (yyval.external).loc = (yyloc); ;}
22260     break;
22261
22262   case 1283:
22263
22264 /* Line 1464 of yacc.c  */
22265 #line 3652 "grammar.y"
22266     { (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), staticImport, (declMode != defaultAccess) ? declMode : privateAccess);  (yyval.external).loc = (yyloc); ;}
22267     break;
22268
22269   case 1284:
22270
22271 /* Line 1464 of yacc.c  */
22272 #line 3654 "grammar.y"
22273     {
22274       bool isRemote = !strcmp((yyvsp[(2) - (3)].id).string, "remote");
22275       (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), isRemote ? remoteImport : normalImport, (declMode != defaultAccess) ? declMode : privateAccess);
22276       (yyval.external).loc = (yyloc);
22277       FreeIdentifier((yyvsp[(2) - (3)].id));
22278       if(!isRemote)
22279          yyerror();
22280    ;}
22281     break;
22282
22283   case 1285:
22284
22285 /* Line 1464 of yacc.c  */
22286 #line 3663 "grammar.y"
22287     { (yyval.external) = null; ;}
22288     break;
22289
22290   case 1286:
22291
22292 /* Line 1464 of yacc.c  */
22293 #line 3665 "grammar.y"
22294     { (yyval.external) = MkExternalFunction((yyvsp[(2) - (2)].function)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].function).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22295     break;
22296
22297   case 1287:
22298
22299 /* Line 1464 of yacc.c  */
22300 #line 3667 "grammar.y"
22301     { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)]._class).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? (yyvsp[(1) - (2)].declMode) : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22302     break;
22303
22304   case 1288:
22305
22306 /* Line 1464 of yacc.c  */
22307 #line 3668 "grammar.y"
22308     { (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22309     break;
22310
22311   case 1289:
22312
22313 /* Line 1464 of yacc.c  */
22314 #line 3669 "grammar.y"
22315     { (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), normalImport, ((yyvsp[(1) - (3)].declMode) != defaultAccess) ? (yyvsp[(1) - (3)].declMode) : privateAccess);  (yyval.external).loc = (yyloc); structDeclMode = declMode = defaultDeclMode; ;}
22316     break;
22317
22318   case 1290:
22319
22320 /* Line 1464 of yacc.c  */
22321 #line 3670 "grammar.y"
22322     { (yyval.external) = MkExternalImport((yyvsp[(4) - (4)].string), staticImport, ((yyvsp[(1) - (4)].declMode) != defaultAccess) ? (yyvsp[(1) - (4)].declMode) : privateAccess);  (yyval.external).loc = (yyloc); structDeclMode = declMode = defaultDeclMode; ;}
22323     break;
22324
22325   case 1291:
22326
22327 /* Line 1464 of yacc.c  */
22328 #line 3672 "grammar.y"
22329     {
22330       bool isRemote = !strcmp((yyvsp[(3) - (4)].id).string, "remote");
22331       (yyval.external) = MkExternalImport((yyvsp[(4) - (4)].string), isRemote ? remoteImport : normalImport, ((yyvsp[(1) - (4)].declMode) != defaultAccess) ? (yyvsp[(1) - (4)].declMode) : privateAccess);
22332       (yyval.external).loc = (yyloc);
22333       FreeIdentifier((yyvsp[(3) - (4)].id));
22334       structDeclMode = declMode = defaultDeclMode;
22335       if(!isRemote)
22336          yyerror();
22337    ;}
22338     break;
22339
22340   case 1292:
22341
22342 /* Line 1464 of yacc.c  */
22343 #line 3681 "grammar.y"
22344     { defaultDeclMode = (yyvsp[(1) - (2)].declMode); (yyval.external) = null; ;}
22345     break;
22346
22347   case 1293:
22348
22349 /* Line 1464 of yacc.c  */
22350 #line 3682 "grammar.y"
22351     { defaultDeclMode = staticAccess; (yyval.external) = null; ;}
22352     break;
22353
22354   case 1294:
22355
22356 /* Line 1464 of yacc.c  */
22357 #line 3683 "grammar.y"
22358     { (yyval.external) = MkExternalNameSpace((yyvsp[(2) - (2)].id)); (yyval.external).loc = (yyloc); ;}
22359     break;
22360
22361   case 1295:
22362
22363 /* Line 1464 of yacc.c  */
22364 #line 3684 "grammar.y"
22365     { (yyval.external) = MkExternalNameSpace(MkIdentifier((yyvsp[(2) - (2)].specifier).name)); FreeSpecifier((yyvsp[(2) - (2)].specifier)); (yyval.external).loc = (yyloc); ;}
22366     break;
22367
22368   case 1296:
22369
22370 /* Line 1464 of yacc.c  */
22371 #line 3685 "grammar.y"
22372     { (yyval.external) = MkExternalDBTable((yyvsp[(1) - (1)].dbtableDef)); (yyval.external).loc = (yyloc);  (yyvsp[(1) - (1)].dbtableDef).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22373     break;
22374
22375   case 1297:
22376
22377 /* Line 1464 of yacc.c  */
22378 #line 3686 "grammar.y"
22379     { (yyval.external) = MkExternalDBTable((yyvsp[(2) - (2)].dbtableDef)); (yyval.external).loc = (yyloc);  (yyvsp[(2) - (2)].dbtableDef).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22380     break;
22381
22382   case 1298:
22383
22384 /* Line 1464 of yacc.c  */
22385 #line 3690 "grammar.y"
22386     { (yyval.external) = MkExternalClass((yyvsp[(1) - (1)]._class));  (yyval.external).loc = (yyvsp[(1) - (1)]._class).loc; (yyvsp[(1) - (1)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22387     break;
22388
22389   case 1299:
22390
22391 /* Line 1464 of yacc.c  */
22392 #line 3692 "grammar.y"
22393     {
22394       FreeList((yyvsp[(1) - (2)].list), FreeSpecifier);
22395       (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));
22396       (yyval.external).loc = (yyvsp[(2) - (2)]._class).loc;
22397       (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess;
22398       structDeclMode = declMode = defaultDeclMode;
22399    ;}
22400     break;
22401
22402   case 1300:
22403
22404 /* Line 1464 of yacc.c  */
22405 #line 3699 "grammar.y"
22406     { (yyval.external) = MkExternalFunction((yyvsp[(1) - (1)].function)); (yyval.external).loc = (yyvsp[(1) - (1)].function).loc;  (yyvsp[(1) - (1)].function).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
22407     break;
22408
22409   case 1301:
22410
22411 /* Line 1464 of yacc.c  */
22412 #line 3701 "grammar.y"
22413     { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));  (yyval.external).loc = (yyvsp[(2) - (2)]._class).loc; (yyvsp[(2) - (2)]._class).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? (yyvsp[(1) - (2)].declMode) : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22414     break;
22415
22416   case 1302:
22417
22418 /* Line 1464 of yacc.c  */
22419 #line 3702 "grammar.y"
22420     { (yyval.external) = MkExternalFunction((yyvsp[(2) - (2)].function)); (yyval.external).loc = (yyvsp[(2) - (2)].function).loc; (yyvsp[(2) - (2)].function).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22421     break;
22422
22423   case 1303:
22424
22425 /* Line 1464 of yacc.c  */
22426 #line 3705 "grammar.y"
22427     { (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
22428     break;
22429
22430   case 1304:
22431
22432 /* Line 1464 of yacc.c  */
22433 #line 3706 "grammar.y"
22434     { (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22435     break;
22436
22437   case 1305:
22438
22439 /* Line 1464 of yacc.c  */
22440 #line 3710 "grammar.y"
22441     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].external)); ast = (yyval.list); ;}
22442     break;
22443
22444   case 1306:
22445
22446 /* Line 1464 of yacc.c  */
22447 #line 3711 "grammar.y"
22448     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
22449     break;
22450
22451   case 1307:
22452
22453 /* Line 1464 of yacc.c  */
22454 #line 3712 "grammar.y"
22455     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
22456     break;
22457
22458   case 1310:
22459
22460 /* Line 1464 of yacc.c  */
22461 #line 3718 "grammar.y"
22462     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].external)); ast = (yyval.list); ;}
22463     break;
22464
22465   case 1311:
22466
22467 /* Line 1464 of yacc.c  */
22468 #line 3719 "grammar.y"
22469     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
22470     break;
22471
22472   case 1312:
22473
22474 /* Line 1464 of yacc.c  */
22475 #line 3721 "grammar.y"
22476     { External _class = MkExternalClass((yyvsp[(2) - (2)]._class)); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), _class); _class.loc = (yylsp[(2) - (2)]);  (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22477     break;
22478
22479   case 1313:
22480
22481 /* Line 1464 of yacc.c  */
22482 #line 3723 "grammar.y"
22483     { External _class = MkExternalClass((yyvsp[(3) - (3)]._class)); (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), _class); _class.loc = (yylsp[(3) - (3)]);  (yyvsp[(3) - (3)]._class).declMode = ((yyvsp[(2) - (3)].declMode) != defaultAccess) ? (yyvsp[(2) - (3)].declMode) : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22484     break;
22485
22486   case 1316:
22487
22488 /* Line 1464 of yacc.c  */
22489 #line 3729 "grammar.y"
22490     { ast = MkList(); ;}
22491     break;
22492
22493   case 1317:
22494
22495 /* Line 1464 of yacc.c  */
22496 #line 3733 "grammar.y"
22497     { 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)); ;}
22498     break;
22499
22500   case 1318:
22501
22502 /* Line 1464 of yacc.c  */
22503 #line 3734 "grammar.y"
22504     { 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)); ;}
22505     break;
22506
22507   case 1319:
22508
22509 /* Line 1464 of yacc.c  */
22510 #line 3735 "grammar.y"
22511     { (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (5)].string), null, (yyvsp[(4) - (5)].list)); ;}
22512     break;
22513
22514   case 1320:
22515
22516 /* Line 1464 of yacc.c  */
22517 #line 3739 "grammar.y"
22518     { (yyval.dbtableEntry) = MkDBFieldEntry(MkTypeName((yyvsp[(1) - (4)].list), null), (yyvsp[(2) - (4)].id), (yyvsp[(3) - (4)].string)); ;}
22519     break;
22520
22521   case 1321:
22522
22523 /* Line 1464 of yacc.c  */
22524 #line 3743 "grammar.y"
22525     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(1) - (1)].id), ascending); ;}
22526     break;
22527
22528   case 1322:
22529
22530 /* Line 1464 of yacc.c  */
22531 #line 3744 "grammar.y"
22532     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(2) - (2)].id), descending); ;}
22533     break;
22534
22535   case 1323:
22536
22537 /* Line 1464 of yacc.c  */
22538 #line 3745 "grammar.y"
22539     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(2) - (2)].id), ascending); ;}
22540     break;
22541
22542   case 1324:
22543
22544 /* Line 1464 of yacc.c  */
22545 #line 3749 "grammar.y"
22546     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbindexItem)); ;}
22547     break;
22548
22549   case 1325:
22550
22551 /* Line 1464 of yacc.c  */
22552 #line 3750 "grammar.y"
22553     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].dbindexItem)); ;}
22554     break;
22555
22556   case 1326:
22557
22558 /* Line 1464 of yacc.c  */
22559 #line 3754 "grammar.y"
22560     { (yyval.dbtableEntry) = MkDBIndexEntry((yyvsp[(2) - (3)].list), null); ;}
22561     break;
22562
22563   case 1327:
22564
22565 /* Line 1464 of yacc.c  */
22566 #line 3755 "grammar.y"
22567     { (yyval.dbtableEntry) = MkDBIndexEntry((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].id)); ;}
22568     break;
22569
22570   case 1328:
22571
22572 /* Line 1464 of yacc.c  */
22573 #line 3759 "grammar.y"
22574     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbtableEntry)); ;}
22575     break;
22576
22577   case 1329:
22578
22579 /* Line 1464 of yacc.c  */
22580 #line 3760 "grammar.y"
22581     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbtableEntry)); ;}
22582     break;
22583
22584   case 1330:
22585
22586 /* Line 1464 of yacc.c  */
22587 #line 3761 "grammar.y"
22588     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].dbtableEntry)); ;}
22589     break;
22590
22591   case 1331:
22592
22593 /* Line 1464 of yacc.c  */
22594 #line 3762 "grammar.y"
22595     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].dbtableEntry)); ;}
22596     break;
22597
22598   case 1332:
22599
22600 /* Line 1464 of yacc.c  */
22601 #line 3766 "grammar.y"
22602     { (yyval.exp) = MkExpDBOpen((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].exp)); ;}
22603     break;
22604
22605   case 1333:
22606
22607 /* Line 1464 of yacc.c  */
22608 #line 3770 "grammar.y"
22609     { (yyval.exp) = MkExpDBField((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].id)); ;}
22610     break;
22611
22612   case 1334:
22613
22614 /* Line 1464 of yacc.c  */
22615 #line 3774 "grammar.y"
22616     { (yyval.exp) = MkExpDBIndex((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].id)); ;}
22617     break;
22618
22619   case 1335:
22620
22621 /* Line 1464 of yacc.c  */
22622 #line 3778 "grammar.y"
22623     { (yyval.exp) = MkExpDBTable((yyvsp[(3) - (4)].string)); ;}
22624     break;
22625
22626
22627
22628 /* Line 1464 of yacc.c  */
22629 #line 22630 "grammar.ec"
22630       default: break;
22631     }
22632   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
22633
22634   YYPOPSTACK (yylen);
22635   yylen = 0;
22636   YY_STACK_PRINT (yyss, yyssp);
22637
22638   *++yyvsp = yyval;
22639   *++yylsp = yyloc;
22640
22641   /* Now `shift' the result of the reduction.  Determine what state
22642      that goes to, based on the state we popped back to and the rule
22643      number reduced by.  */
22644
22645   yyn = yyr1[yyn];
22646
22647   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
22648   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
22649     yystate = yytable[yystate];
22650   else
22651     yystate = yydefgoto[yyn - YYNTOKENS];
22652
22653   goto yynewstate;
22654
22655
22656 /*------------------------------------.
22657 | yyerrlab -- here on detecting error |
22658 `------------------------------------*/
22659 yyerrlab:
22660   /* If not already recovering from an error, report this error.  */
22661   if (!yyerrstatus)
22662     {
22663       ++yynerrs;
22664 #if ! YYERROR_VERBOSE
22665       yyerror (YY_("syntax error"));
22666 #else
22667       {
22668         YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
22669         if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
22670           {
22671             YYSIZE_T yyalloc = 2 * yysize;
22672             if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
22673               yyalloc = YYSTACK_ALLOC_MAXIMUM;
22674             if (yymsg != yymsgbuf)
22675               YYSTACK_FREE (yymsg);
22676             yymsg = (char *) YYSTACK_ALLOC (yyalloc);
22677             if (yymsg)
22678               yymsg_alloc = yyalloc;
22679             else
22680               {
22681                 yymsg = yymsgbuf;
22682                 yymsg_alloc = sizeof yymsgbuf;
22683               }
22684           }
22685
22686         if (0 < yysize && yysize <= yymsg_alloc)
22687           {
22688             (void) yysyntax_error (yymsg, yystate, yychar);
22689             yyerror (yymsg);
22690           }
22691         else
22692           {
22693             yyerror (YY_("syntax error"));
22694             if (yysize != 0)
22695               goto yyexhaustedlab;
22696           }
22697       }
22698 #endif
22699     }
22700
22701   yyerror_range[0] = yylloc;
22702
22703   if (yyerrstatus == 3)
22704     {
22705       /* If just tried and failed to reuse lookahead token after an
22706          error, discard it.  */
22707
22708       if (yychar <= YYEOF)
22709         {
22710           /* Return failure if at end of input.  */
22711           if (yychar == YYEOF)
22712             YYABORT;
22713         }
22714       else
22715         {
22716           yydestruct ("Error: discarding",
22717                       yytoken, &yylval, &yylloc);
22718           yychar = YYEMPTY;
22719         }
22720     }
22721
22722   /* Else will try to reuse lookahead token after shifting the error
22723      token.  */
22724   goto yyerrlab1;
22725
22726
22727 /*---------------------------------------------------.
22728 | yyerrorlab -- error raised explicitly by YYERROR.  |
22729 `---------------------------------------------------*/
22730 yyerrorlab:
22731
22732   /* Pacify compilers like GCC when the user code never invokes
22733      YYERROR and the label yyerrorlab therefore never appears in user
22734      code.  */
22735   if (/*CONSTCOND*/ 0)
22736      goto yyerrorlab;
22737
22738   yyerror_range[0] = yylsp[1-yylen];
22739   /* Do not reclaim the symbols of the rule which action triggered
22740      this YYERROR.  */
22741   YYPOPSTACK (yylen);
22742   yylen = 0;
22743   YY_STACK_PRINT (yyss, yyssp);
22744   yystate = *yyssp;
22745   goto yyerrlab1;
22746
22747
22748 /*-------------------------------------------------------------.
22749 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
22750 `-------------------------------------------------------------*/
22751 yyerrlab1:
22752   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
22753
22754   for (;;)
22755     {
22756       yyn = yypact[yystate];
22757       if (yyn != YYPACT_NINF)
22758         {
22759           yyn += YYTERROR;
22760           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
22761             {
22762               yyn = yytable[yyn];
22763               if (0 < yyn)
22764                 break;
22765             }
22766         }
22767
22768       /* Pop the current state because it cannot handle the error token.  */
22769       if (yyssp == yyss)
22770         YYABORT;
22771
22772       yyerror_range[0] = *yylsp;
22773       yydestruct ("Error: popping",
22774                   yystos[yystate], yyvsp, yylsp);
22775       YYPOPSTACK (1);
22776       yystate = *yyssp;
22777       YY_STACK_PRINT (yyss, yyssp);
22778     }
22779
22780   *++yyvsp = yylval;
22781
22782   yyerror_range[1] = yylloc;
22783   /* Using YYLLOC is tempting, but would change the location of
22784      the lookahead.  YYLOC is available though.  */
22785   YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
22786   *++yylsp = yyloc;
22787
22788   /* Shift the error token.  */
22789   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
22790
22791   yystate = yyn;
22792   goto yynewstate;
22793
22794
22795 /*-------------------------------------.
22796 | yyacceptlab -- YYACCEPT comes here.  |
22797 `-------------------------------------*/
22798 yyacceptlab:
22799   yyresult = 0;
22800   goto yyreturn;
22801
22802 /*-----------------------------------.
22803 | yyabortlab -- YYABORT comes here.  |
22804 `-----------------------------------*/
22805 yyabortlab:
22806   yyresult = 1;
22807   goto yyreturn;
22808
22809 #if !defined(yyoverflow) || YYERROR_VERBOSE
22810 /*-------------------------------------------------.
22811 | yyexhaustedlab -- memory exhaustion comes here.  |
22812 `-------------------------------------------------*/
22813 yyexhaustedlab:
22814   yyerror (YY_("memory exhausted"));
22815   yyresult = 2;
22816   /* Fall through.  */
22817 #endif
22818
22819 yyreturn:
22820   if (yychar != YYEMPTY)
22821      yydestruct ("Cleanup: discarding lookahead",
22822                  yytoken, &yylval, &yylloc);
22823   /* Do not reclaim the symbols of the rule which action triggered
22824      this YYABORT or YYACCEPT.  */
22825   YYPOPSTACK (yylen);
22826   YY_STACK_PRINT (yyss, yyssp);
22827   while (yyssp != yyss)
22828     {
22829       yydestruct ("Cleanup: popping",
22830                   yystos[*yyssp], yyvsp, yylsp);
22831       YYPOPSTACK (1);
22832     }
22833 #ifndef yyoverflow
22834   if (yyss != yyssa)
22835     YYSTACK_FREE (yyss);
22836 #endif
22837 #if YYERROR_VERBOSE
22838   if (yymsg != yymsgbuf)
22839     YYSTACK_FREE (yymsg);
22840 #endif
22841   /* Make sure YYID is used.  */
22842   return YYID (yyresult);
22843 }
22844
22845
22846
22847 /* Line 1684 of yacc.c  */
22848 #line 3781 "grammar.y"
22849
22850