cff9733fbcb33f48984ce9e528acc463c3ff22c4
[sdk] / compiler / libec / src / grammar.ec
1 /* A Bison parser, made by GNU Bison 2.4.2.  */
2
3 /* Skeleton implementation for Bison's Yacc-like parsers in C
4    
5       Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software
6    Foundation, Inc.
7    
8    This program is free software: you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation, either version 3 of the License, or
11    (at your option) any later version.
12    
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17    
18    You should have received a copy of the GNU General Public License
19    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
20
21 /* As a special exception, you may create a larger work that contains
22    part or all of the Bison parser skeleton and distribute that work
23    under terms of your choice, so long as that work isn't itself a
24    parser generator using the skeleton or a modified version thereof
25    as a parser skeleton.  Alternatively, if you modify or redistribute
26    the parser skeleton itself, you may (at your option) remove this
27    special exception, which will cause the skeleton and the resulting
28    Bison output files to be licensed under the GNU General Public
29    License without this special exception.
30    
31    This special exception was added by the Free Software Foundation in
32    version 2.2 of Bison.  */
33
34 /* C LALR(1) parser skeleton written by Richard Stallman, by
35    simplifying the original so-called "semantic" parser.  */
36
37 /* All symbols defined below should begin with yy or YY, to avoid
38    infringing on user name space.  This should be done even for local
39    variables, as they might otherwise be expanded by user macros.
40    There are some unavoidable exceptions within include files to
41    define necessary library symbols; they are noted "INFRINGES ON
42    USER NAME SPACE" below.  */
43
44 /* Identify Bison output.  */
45 #define YYBISON 1
46
47 /* Bison version.  */
48 #define YYBISON_VERSION "2.4.2"
49
50 /* Skeleton name.  */
51 #define YYSKELETON_NAME "yacc.c"
52
53 /* Pure parsers.  */
54 #define YYPURE 0
55
56 /* Push parsers.  */
57 #define YYPUSH 0
58
59 /* Pull parsers.  */
60 #define YYPULL 1
61
62 /* Using locations.  */
63 #define YYLSP_NEEDED 1
64
65
66
67 /* Copy the first part of user declarations.  */
68
69 /* Line 189 of yacc.c  */
70 #line 1 "grammar.y"
71
72 import "ecdefs"
73
74 #define YYLTYPE Location
75 #include "grammar.h"
76
77 #ifndef YYLLOC_DEFAULT
78 # define YYLLOC_DEFAULT(Current, Rhs, N)         \
79   (Current).start = (Rhs)[1].start;      \
80   (Current).end = (Rhs)[N].end;
81 #endif
82
83 #define PRECOMPILER
84 extern File fileInput;
85 extern char * yytext;
86 OldList * ast;
87 int yylex();
88 int yyerror();
89 bool guess;
90 bool deleteWatchable = false;
91
92 #define MAX_STRUCT_LEVELS     256
93 AccessMode memberAccessStack[MAX_STRUCT_LEVELS];
94 int defaultMemberAccess = -1;
95
96 #define POP_DEFAULT_ACCESS    if(defaultMemberAccess > -1) defaultMemberAccess--;
97
98 #define C89_DECL_WARNING            $"eC expects all declarations to precede statements in the block (C89 style)\n"
99 #define CASE_LABELED_STMT_WARNING   $"labeled statement directly within a case statement\n"
100
101 #define uint _uint
102 default:
103
104
105
106 /* Line 189 of yacc.c  */
107 #line 108 "grammar.ec"
108
109 /* Enabling traces.  */
110 #ifndef YYDEBUG
111 # define YYDEBUG 1
112 #endif
113
114 /* Enabling verbose error messages.  */
115 #ifdef YYERROR_VERBOSE
116 # undef YYERROR_VERBOSE
117 # define YYERROR_VERBOSE 1
118 #else
119 # define YYERROR_VERBOSE 0
120 #endif
121
122 /* Enabling the token table.  */
123 #ifndef YYTOKEN_TABLE
124 # define YYTOKEN_TABLE 0
125 #endif
126
127
128 /* Tokens.  */
129 #ifndef YYTOKENTYPE
130 # define YYTOKENTYPE
131    /* Put the tokens into the symbol table, so that GDB and other debuggers
132       know about them.  */
133    enum yytokentype {
134      IDENTIFIER = 258,
135      CONSTANT = 259,
136      STRING_LITERAL = 260,
137      SIZEOF = 261,
138      PTR_OP = 262,
139      INC_OP = 263,
140      DEC_OP = 264,
141      LEFT_OP = 265,
142      RIGHT_OP = 266,
143      LE_OP = 267,
144      GE_OP = 268,
145      EQ_OP = 269,
146      NE_OP = 270,
147      AND_OP = 271,
148      OR_OP = 272,
149      MUL_ASSIGN = 273,
150      DIV_ASSIGN = 274,
151      MOD_ASSIGN = 275,
152      ADD_ASSIGN = 276,
153      SUB_ASSIGN = 277,
154      LEFT_ASSIGN = 278,
155      RIGHT_ASSIGN = 279,
156      AND_ASSIGN = 280,
157      XOR_ASSIGN = 281,
158      OR_ASSIGN = 282,
159      TYPE_NAME = 283,
160      TYPEDEF = 284,
161      EXTERN = 285,
162      STATIC = 286,
163      AUTO = 287,
164      REGISTER = 288,
165      CHAR = 289,
166      SHORT = 290,
167      INT = 291,
168      UINT = 292,
169      INT64 = 293,
170      LONG = 294,
171      SIGNED = 295,
172      UNSIGNED = 296,
173      FLOAT = 297,
174      DOUBLE = 298,
175      CONST = 299,
176      VOLATILE = 300,
177      VOID = 301,
178      VALIST = 302,
179      STRUCT = 303,
180      UNION = 304,
181      ENUM = 305,
182      ELLIPSIS = 306,
183      CASE = 307,
184      DEFAULT = 308,
185      IF = 309,
186      SWITCH = 310,
187      WHILE = 311,
188      DO = 312,
189      FOR = 313,
190      GOTO = 314,
191      CONTINUE = 315,
192      BREAK = 316,
193      RETURN = 317,
194      IFX = 318,
195      ELSE = 319,
196      CLASS = 320,
197      THISCLASS = 321,
198      CLASS_NAME = 322,
199      PROPERTY = 323,
200      SETPROP = 324,
201      GETPROP = 325,
202      NEWOP = 326,
203      RENEW = 327,
204      DELETE = 328,
205      EXT_DECL = 329,
206      EXT_STORAGE = 330,
207      IMPORT = 331,
208      DEFINE = 332,
209      VIRTUAL = 333,
210      ATTRIB = 334,
211      PUBLIC = 335,
212      PRIVATE = 336,
213      TYPED_OBJECT = 337,
214      ANY_OBJECT = 338,
215      _INCREF = 339,
216      EXTENSION = 340,
217      ASM = 341,
218      TYPEOF = 342,
219      WATCH = 343,
220      STOPWATCHING = 344,
221      FIREWATCHERS = 345,
222      WATCHABLE = 346,
223      CLASS_DESIGNER = 347,
224      CLASS_NO_EXPANSION = 348,
225      CLASS_FIXED = 349,
226      ISPROPSET = 350,
227      CLASS_DEFAULT_PROPERTY = 351,
228      PROPERTY_CATEGORY = 352,
229      CLASS_DATA = 353,
230      CLASS_PROPERTY = 354,
231      SUBCLASS = 355,
232      NAMESPACE = 356,
233      NEW0OP = 357,
234      RENEW0 = 358,
235      VAARG = 359,
236      DBTABLE = 360,
237      DBFIELD = 361,
238      DBINDEX = 362,
239      DATABASE_OPEN = 363,
240      ALIGNOF = 364,
241      ATTRIB_DEP = 365,
242      __ATTRIB = 366,
243      BOOL = 367,
244      _BOOL = 368,
245      _COMPLEX = 369,
246      _IMAGINARY = 370,
247      RESTRICT = 371,
248      THREAD = 372,
249      WIDE_STRING_LITERAL = 373
250    };
251 #endif
252
253
254
255 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
256 typedef union YYSTYPE
257 {
258
259 /* Line 214 of yacc.c  */
260 #line 38 "grammar.y"
261
262    SpecifierType specifierType;
263    int i;
264    AccessMode declMode;
265    Identifier id;
266    Expression exp;
267    Specifier specifier;
268    OldList * list;
269    Enumerator enumerator;
270    Declarator declarator;
271    Pointer pointer;
272    Initializer initializer;
273    InitDeclarator initDeclarator;
274    TypeName typeName;
275    Declaration declaration;
276    Statement stmt;
277    FunctionDefinition function;
278    External external;
279    Context context;
280    AsmField asmField;
281    Attrib attrib;
282    ExtDecl extDecl;
283    Attribute attribute;
284
285    Instantiation instance;
286    MembersInit membersInit;
287    MemberInit memberInit;
288    ClassFunction classFunction;
289    ClassDefinition _class;
290    ClassDef classDef;
291    PropertyDef prop;
292    char * string;
293    Symbol symbol;
294    PropertyWatch propertyWatch;
295    TemplateParameter templateParameter;
296    TemplateArgument templateArgument;
297    TemplateDatatype templateDatatype;
298
299    DBTableEntry dbtableEntry;
300    DBIndexItem dbindexItem;
301    DBTableDef dbtableDef;
302
303
304
305 /* Line 214 of yacc.c  */
306 #line 307 "grammar.ec"
307 } YYSTYPE;
308 # define YYSTYPE_IS_TRIVIAL 1
309 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
310 # define YYSTYPE_IS_DECLARED 1
311 #endif
312
313 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
314 typedef struct YYLTYPE
315 {
316   int first_line;
317   int first_column;
318   int last_line;
319   int last_column;
320 } YYLTYPE;
321 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
322 # define YYLTYPE_IS_DECLARED 1
323 # define YYLTYPE_IS_TRIVIAL 1
324 #endif
325
326
327 /* Copy the second part of user declarations.  */
328
329
330 /* Line 264 of yacc.c  */
331 #line 332 "grammar.ec"
332
333 #ifdef short
334 # undef short
335 #endif
336
337 #ifdef YYTYPE_UINT8
338 typedef YYTYPE_UINT8 yytype_uint8;
339 #else
340 typedef unsigned char yytype_uint8;
341 #endif
342
343 #ifdef YYTYPE_INT8
344 typedef YYTYPE_INT8 yytype_int8;
345 #elif (defined __STDC__ || defined __C99__FUNC__ \
346      || defined __cplusplus || defined _MSC_VER)
347 typedef signed char yytype_int8;
348 #else
349 typedef short int yytype_int8;
350 #endif
351
352 #ifdef YYTYPE_UINT16
353 typedef YYTYPE_UINT16 yytype_uint16;
354 #else
355 typedef unsigned short int yytype_uint16;
356 #endif
357
358 #ifdef YYTYPE_INT16
359 typedef YYTYPE_INT16 yytype_int16;
360 #else
361 typedef short int yytype_int16;
362 #endif
363
364 #ifndef YYSIZE_T
365 # ifdef __SIZE_TYPE__
366 #  define YYSIZE_T __SIZE_TYPE__
367 # elif defined size_t
368 #  define YYSIZE_T size_t
369 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
370      || defined __cplusplus || defined _MSC_VER)
371 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
372 #  define YYSIZE_T size_t
373 # else
374 #  define YYSIZE_T unsigned int
375 # endif
376 #endif
377
378 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
379
380 #ifndef YY_
381 # if defined YYENABLE_NLS && YYENABLE_NLS
382 #  if ENABLE_NLS
383 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
384 #   define YY_(msgid) dgettext ("bison-runtime", msgid)
385 #  endif
386 # endif
387 # ifndef YY_
388 #  define YY_(msgid) msgid
389 # endif
390 #endif
391
392 /* Suppress unused-variable warnings by "using" E.  */
393 #if ! defined lint || defined __GNUC__
394 # define YYUSE(e) ((void) (e))
395 #else
396 # define YYUSE(e) /* empty */
397 #endif
398
399 /* Identity function, used to suppress warnings about constant conditions.  */
400 #ifndef lint
401 # define YYID(n) (n)
402 #else
403 #if (defined __STDC__ || defined __C99__FUNC__ \
404      || defined __cplusplus || defined _MSC_VER)
405 static int
406 YYID (int yyi)
407 #else
408 static int
409 YYID (yyi)
410     int yyi;
411 #endif
412 {
413   return yyi;
414 }
415 #endif
416
417 #if ! defined yyoverflow || YYERROR_VERBOSE
418
419 /* The parser invokes alloca or malloc; define the necessary symbols.  */
420
421 # ifdef YYSTACK_USE_ALLOCA
422 #  if YYSTACK_USE_ALLOCA
423 #   ifdef __GNUC__
424 #    define YYSTACK_ALLOC __builtin_alloca
425 #   elif defined __BUILTIN_VA_ARG_INCR
426 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
427 #   elif defined _AIX
428 #    define YYSTACK_ALLOC __alloca
429 #   elif defined _MSC_VER
430 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
431 #    define alloca _alloca
432 #   else
433 #    define YYSTACK_ALLOC alloca
434 #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
435      || defined __cplusplus || defined _MSC_VER)
436 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
437 #     ifndef _STDLIB_H
438 #      define _STDLIB_H 1
439 #     endif
440 #    endif
441 #   endif
442 #  endif
443 # endif
444
445 # ifdef YYSTACK_ALLOC
446    /* Pacify GCC's `empty if-body' warning.  */
447 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
448 #  ifndef YYSTACK_ALLOC_MAXIMUM
449     /* The OS might guarantee only one guard page at the bottom of the stack,
450        and a page size can be as small as 4096 bytes.  So we cannot safely
451        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
452        to allow for a few compiler-allocated temporary stack slots.  */
453 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
454 #  endif
455 # else
456 #  define YYSTACK_ALLOC YYMALLOC
457 #  define YYSTACK_FREE YYFREE
458 #  ifndef YYSTACK_ALLOC_MAXIMUM
459 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
460 #  endif
461 #  if (defined __cplusplus && ! defined _STDLIB_H \
462        && ! ((defined YYMALLOC || defined malloc) \
463              && (defined YYFREE || defined free)))
464 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
465 #   ifndef _STDLIB_H
466 #    define _STDLIB_H 1
467 #   endif
468 #  endif
469 #  ifndef YYMALLOC
470 #   define YYMALLOC malloc
471 #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
472      || defined __cplusplus || defined _MSC_VER)
473 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
474 #   endif
475 #  endif
476 #  ifndef YYFREE
477 #   define YYFREE free
478 #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
479      || defined __cplusplus || defined _MSC_VER)
480 void free (void *); /* INFRINGES ON USER NAME SPACE */
481 #   endif
482 #  endif
483 # endif
484 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
485
486
487 #if (! defined yyoverflow \
488      && (! defined __cplusplus \
489          || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
490              && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
491
492 /* A type that is properly aligned for any stack member.  */
493 union yyalloc
494 {
495   yytype_int16 yyss_alloc;
496   YYSTYPE yyvs_alloc;
497   YYLTYPE yyls_alloc;
498 };
499
500 /* The size of the maximum gap between one aligned stack and the next.  */
501 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
502
503 /* The size of an array large to enough to hold all stacks, each with
504    N elements.  */
505 # define YYSTACK_BYTES(N) \
506      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
507       + 2 * YYSTACK_GAP_MAXIMUM)
508
509 /* Copy COUNT objects from FROM to TO.  The source and destination do
510    not overlap.  */
511 # ifndef YYCOPY
512 #  if defined __GNUC__ && 1 < __GNUC__
513 #   define YYCOPY(To, From, Count) \
514       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
515 #  else
516 #   define YYCOPY(To, From, Count)              \
517       do                                        \
518         {                                       \
519           YYSIZE_T yyi;                         \
520           for (yyi = 0; yyi < (Count); yyi++)   \
521             (To)[yyi] = (From)[yyi];            \
522         }                                       \
523       while (YYID (0))
524 #  endif
525 # endif
526
527 /* Relocate STACK from its old location to the new one.  The
528    local variables YYSIZE and YYSTACKSIZE give the old and new number of
529    elements in the stack, and YYPTR gives the new location of the
530    stack.  Advance YYPTR to a properly aligned location for the next
531    stack.  */
532 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
533     do                                                                  \
534       {                                                                 \
535         YYSIZE_T yynewbytes;                                            \
536         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
537         Stack = &yyptr->Stack_alloc;                                    \
538         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
539         yyptr += yynewbytes / sizeof (*yyptr);                          \
540       }                                                                 \
541     while (YYID (0))
542
543 #endif
544
545 /* YYFINAL -- State number of the termination state.  */
546 #define YYFINAL  295
547 /* YYLAST -- Last index in YYTABLE.  */
548 #define YYLAST   41266
549
550 /* YYNTOKENS -- Number of terminals.  */
551 #define YYNTOKENS  144
552 /* YYNNTS -- Number of nonterminals.  */
553 #define YYNNTS  257
554 /* YYNRULES -- Number of rules.  */
555 #define YYNRULES  1308
556 /* YYNRULES -- Number of states.  */
557 #define YYNSTATES  2168
558
559 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
560 #define YYUNDEFTOK  2
561 #define YYMAXUTOK   373
562
563 #define YYTRANSLATE(YYX)                                                \
564   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
565
566 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
567 static const yytype_uint8 yytranslate[] =
568 {
569        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
570        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
571        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
572        2,     2,     2,   138,     2,     2,   132,   140,   135,     2,
573      122,   123,   119,   136,   127,   137,   130,   139,     2,     2,
574        2,     2,     2,     2,     2,     2,     2,     2,   131,   125,
575      120,   126,   121,   143,     2,     2,     2,     2,     2,     2,
576        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
577        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
578        2,   133,     2,   134,   141,     2,     2,     2,     2,     2,
579        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
580        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
581        2,     2,     2,   129,   142,   128,   124,     2,     2,     2,
582        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
583        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
584        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
585        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
586        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
587        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
588        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
589        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
590        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
591        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
592        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
593        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
594        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
595        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
596       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
597       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
598       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
599       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
600       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
601       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
602       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
603       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
604       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
605      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
606      115,   116,   117,   118
607 };
608
609 #if YYDEBUG
610 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
611    YYRHS.  */
612 static const yytype_uint16 yyprhs[] =
613 {
614        0,     0,     3,     6,     9,    11,    14,    16,    18,    20,
615       25,    30,    33,    35,    39,    44,    48,    51,    54,    56,
616       60,    63,    66,    69,    72,    75,    78,    81,    85,    88,
617       90,    93,    95,    98,   101,   104,   107,   110,   113,   115,
618      117,   121,   123,   127,   131,   133,   135,   139,   143,   145,
619      149,   153,   157,   161,   163,   166,   169,   171,   173,   176,
620      179,   182,   185,   188,   191,   193,   195,   197,   200,   203,
621      205,   208,   211,   214,   217,   219,   222,   225,   229,   234,
622      240,   245,   249,   254,   257,   261,   266,   272,   277,   281,
623      286,   292,   298,   303,   306,   310,   314,   318,   322,   325,
624      330,   334,   338,   341,   346,   350,   353,   357,   360,   364,
625      367,   369,   372,   376,   380,   384,   387,   389,   393,   397,
626      399,   403,   407,   410,   415,   421,   425,   430,   434,   436,
627      440,   444,   448,   451,   455,   458,   463,   469,   473,   478,
628      482,   484,   488,   492,   495,   497,   500,   503,   506,   508,
629      511,   517,   525,   535,   542,   551,   556,   563,   565,   568,
630      572,   577,   580,   583,   585,   587,   590,   593,   595,   597,
631      599,   601,   609,   611,   614,   619,   621,   623,   626,   630,
632      633,   636,   639,   643,   645,   648,   651,   654,   656,   658,
633      660,   663,   666,   669,   673,   677,   679,   681,   684,   687,
634      689,   692,   695,   698,   701,   703,   706,   708,   711,   714,
635      719,   724,   731,   734,   739,   744,   751,   753,   755,   759,
636      761,   766,   772,   774,   776,   778,   780,   784,   786,   788,
637      790,   794,   798,   802,   804,   808,   810,   813,   816,   820,
638      824,   830,   836,   843,   850,   853,   856,   860,   864,   868,
639      872,   876,   880,   884,   888,   892,   896,   900,   902,   904,
640      908,   910,   913,   918,   920,   922,   924,   929,   934,   940,
641      949,   952,   954,   956,   958,   961,   968,   975,   981,   987,
642      994,  1001,  1007,  1013,  1021,  1029,  1036,  1043,  1051,  1059,
643     1066,  1073,  1078,  1084,  1089,  1096,  1101,  1103,  1105,  1107,
644     1109,  1113,  1116,  1118,  1121,  1124,  1127,  1129,  1134,  1139,
645     1143,  1148,  1153,  1157,  1161,  1164,  1167,  1172,  1177,  1181,
646     1186,  1190,  1194,  1197,  1200,  1202,  1204,  1208,  1212,  1214,
647     1216,  1220,  1224,  1227,  1230,  1233,  1236,  1239,  1242,  1247,
648     1253,  1259,  1262,  1267,  1269,  1271,  1273,  1275,  1277,  1279,
649     1281,  1283,  1285,  1287,  1289,  1294,  1296,  1300,  1304,  1308,
650     1312,  1316,  1320,  1322,  1326,  1330,  1334,  1338,  1340,  1344,
651     1348,  1352,  1356,  1359,  1361,  1364,  1368,  1372,  1376,  1380,
652     1384,  1388,  1392,  1394,  1398,  1402,  1406,  1410,  1414,  1418,
653     1422,  1426,  1428,  1432,  1436,  1440,  1444,  1446,  1450,  1454,
654     1458,  1462,  1464,  1468,  1472,  1476,  1480,  1482,  1486,  1490,
655     1492,  1496,  1500,  1502,  1508,  1514,  1520,  1526,  1532,  1538,
656     1544,  1550,  1556,  1562,  1568,  1574,  1580,  1586,  1592,  1598,
657     1600,  1604,  1608,  1612,  1616,  1620,  1624,  1628,  1632,  1634,
658     1636,  1638,  1640,  1642,  1644,  1646,  1648,  1650,  1652,  1654,
659     1656,  1660,  1664,  1667,  1669,  1673,  1677,  1679,  1681,  1684,
660     1687,  1691,  1695,  1699,  1703,  1707,  1711,  1715,  1718,  1721,
661     1724,  1727,  1730,  1736,  1743,  1750,  1753,  1759,  1761,  1763,
662     1765,  1770,  1772,  1776,  1780,  1784,  1788,  1792,  1796,  1798,
663     1802,  1806,  1810,  1814,  1816,  1820,  1824,  1828,  1832,  1834,
664     1837,  1841,  1845,  1849,  1853,  1857,  1861,  1865,  1867,  1871,
665     1875,  1879,  1883,  1887,  1891,  1895,  1899,  1901,  1905,  1909,
666     1913,  1917,  1919,  1923,  1927,  1931,  1935,  1937,  1941,  1945,
667     1949,  1953,  1955,  1959,  1963,  1965,  1969,  1973,  1975,  1981,
668     1987,  1993,  1999,  2004,  2009,  2014,  2019,  2025,  2031,  2037,
669     2043,  2048,  2053,  2058,  2063,  2069,  2075,  2081,  2087,  2093,
670     2099,  2105,  2111,  2115,  2119,  2122,  2125,  2127,  2131,  2135,
671     2139,  2143,  2145,  2148,  2152,  2156,  2159,  2162,  2165,  2167,
672     2170,  2174,  2178,  2180,  2182,  2184,  2186,  2188,  2190,  2192,
673     2194,  2196,  2198,  2200,  2202,  2204,  2206,  2208,  2210,  2212,
674     2216,  2220,  2222,  2226,  2229,  2231,  2234,  2237,  2240,  2245,
675     2250,  2254,  2258,  2263,  2269,  2274,  2281,  2288,  2293,  2299,
676     2304,  2311,  2318,  2324,  2330,  2333,  2336,  2339,  2345,  2349,
677     2355,  2362,  2368,  2376,  2384,  2393,  2402,  2410,  2418,  2422,
678     2426,  2430,  2435,  2439,  2445,  2451,  2458,  2466,  2473,  2478,
679     2480,  2482,  2484,  2486,  2488,  2490,  2492,  2494,  2496,  2499,
680     2501,  2503,  2505,  2507,  2509,  2511,  2513,  2515,  2517,  2519,
681     2521,  2523,  2525,  2527,  2529,  2531,  2536,  2541,  2546,  2548,
682     2550,  2552,  2554,  2556,  2558,  2560,  2562,  2564,  2566,  2568,
683     2570,  2572,  2574,  2576,  2578,  2580,  2582,  2584,  2586,  2588,
684     2590,  2592,  2594,  2596,  2598,  2600,  2605,  2610,  2615,  2617,
685     2619,  2622,  2625,  2629,  2635,  2638,  2642,  2648,  2654,  2660,
686     2662,  2666,  2669,  2672,  2676,  2680,  2683,  2687,  2691,  2696,
687     2700,  2704,  2708,  2712,  2716,  2720,  2725,  2730,  2735,  2737,
688     2739,  2744,  2748,  2751,  2755,  2759,  2763,  2767,  2771,  2775,
689     2779,  2783,  2787,  2791,  2795,  2799,  2801,  2803,  2805,  2808,
690     2810,  2813,  2815,  2818,  2820,  2823,  2825,  2828,  2830,  2833,
691     2835,  2838,  2840,  2843,  2845,  2848,  2850,  2853,  2855,  2858,
692     2860,  2863,  2865,  2868,  2870,  2873,  2875,  2878,  2880,  2883,
693     2885,  2888,  2890,  2893,  2895,  2898,  2900,  2903,  2905,  2908,
694     2910,  2913,  2915,  2918,  2920,  2923,  2925,  2928,  2930,  2933,
695     2935,  2937,  2939,  2942,  2944,  2947,  2949,  2952,  2954,  2957,
696     2962,  2968,  2970,  2972,  2974,  2977,  2979,  2982,  2984,  2987,
697     2989,  2992,  2997,  3003,  3005,  3008,  3010,  3013,  3015,  3018,
698     3020,  3023,  3025,  3028,  3030,  3033,  3038,  3044,  3046,  3049,
699     3051,  3054,  3056,  3059,  3061,  3064,  3066,  3069,  3071,  3074,
700     3079,  3085,  3089,  3093,  3095,  3099,  3103,  3107,  3111,  3113,
701     3115,  3117,  3122,  3127,  3132,  3136,  3141,  3146,  3151,  3155,
702     3157,  3161,  3166,  3170,  3175,  3180,  3185,  3190,  3194,  3197,
703     3201,  3205,  3209,  3213,  3216,  3219,  3222,  3226,  3231,  3233,
704     3235,  3238,  3242,  3246,  3250,  3254,  3257,  3260,  3263,  3267,
705     3272,  3274,  3276,  3278,  3280,  3282,  3287,  3289,  3291,  3293,
706     3295,  3297,  3299,  3301,  3303,  3305,  3310,  3312,  3315,  3319,
707     3326,  3332,  3336,  3341,  3344,  3348,  3352,  3356,  3360,  3365,
708     3370,  3375,  3378,  3382,  3386,  3390,  3395,  3400,  3404,  3409,
709     3412,  3416,  3420,  3424,  3429,  3434,  3436,  3439,  3442,  3446,
710     3448,  3450,  3453,  3456,  3460,  3462,  3464,  3467,  3470,  3474,
711     3476,  3479,  3483,  3486,  3489,  3491,  3494,  3498,  3501,  3503,
712     3506,  3510,  3514,  3516,  3519,  3523,  3527,  3529,  3532,  3536,
713     3540,  3542,  3545,  3549,  3553,  3555,  3558,  3562,  3566,  3568,
714     3572,  3577,  3579,  3584,  3587,  3593,  3597,  3599,  3601,  3603,
715     3605,  3607,  3609,  3613,  3617,  3620,  3623,  3625,  3627,  3631,
716     3634,  3638,  3640,  3644,  3648,  3652,  3656,  3660,  3662,  3665,
717     3669,  3673,  3675,  3678,  3680,  3683,  3686,  3689,  3692,  3696,
718     3698,  3700,  3704,  3708,  3710,  3714,  3719,  3723,  3728,  3732,
719     3736,  3741,  3745,  3750,  3752,  3756,  3760,  3765,  3769,  3773,
720     3777,  3782,  3784,  3788,  3792,  3796,  3800,  3804,  3806,  3810,
721     3813,  3815,  3817,  3819,  3821,  3823,  3826,  3828,  3830,  3832,
722     3834,  3837,  3840,  3843,  3845,  3847,  3849,  3851,  3853,  3856,
723     3858,  3860,  3865,  3873,  3875,  3879,  3880,  3887,  3896,  3907,
724     3920,  3929,  3940,  3951,  3957,  3965,  3975,  3987,  3995,  4005,
725     4015,  4019,  4024,  4029,  4033,  4037,  4041,  4046,  4051,  4055,
726     4059,  4063,  4068,  4073,  4077,  4080,  4084,  4087,  4091,  4096,
727     4101,  4105,  4109,  4111,  4113,  4115,  4117,  4119,  4122,  4126,
728     4129,  4132,  4135,  4139,  4143,  4146,  4152,  4159,  4162,  4165,
729     4168,  4171,  4174,  4177,  4179,  4182,  4185,  4189,  4191,  4194,
730     4196,  4199,  4202,  4204,  4207,  4210,  4213,  4216,  4219,  4222,
731     4224,  4226,  4229,  4232,  4234,  4236,  4239,  4242,  4244,  4247,
732     4250,  4252,  4255,  4257,  4260,  4263,  4269,  4275,  4283,  4291,
733     4297,  4303,  4307,  4310,  4316,  4321,  4326,  4334,  4341,  4348,
734     4354,  4362,  4369,  4374,  4382,  4392,  4396,  4401,  4406,  4412,
735     4418,  4425,  4433,  4440,  4447,  4453,  4459,  4464,  4468,  4471,
736     4473,  4476,  4481,  4485,  4491,  4496,  4500,  4503,  4506,  4509,
737     4513,  4517,  4521,  4525,  4528,  4531,  4533,  4535,  4540,  4544,
738     4549,  4553,  4557,  4560,  4565,  4569,  4574,  4578,  4582,  4585,
739     4587,  4590,  4592,  4594,  4597,  4599,  4602,  4606,  4610,  4612,
740     4615,  4618,  4621,  4625,  4630,  4635,  4638,  4641,  4644,  4647,
741     4649,  4652,  4654,  4657,  4659,  4662,  4665,  4667,  4670,  4672,
742     4675,  4678,  4681,  4684,  4686,  4689,  4692,  4696,  4698,  4700,
743     4701,  4708,  4715,  4721,  4726,  4728,  4731,  4734,  4736,  4740,
744     4744,  4749,  4751,  4753,  4756,  4759,  4766,  4773,  4780
745 };
746
747 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
748 static const yytype_int16 yyrhs[] =
749 {
750      390,     0,    -1,   216,   119,    -1,   216,   120,    -1,   149,
751       -1,   216,   216,    -1,    28,    -1,    28,    -1,   147,    -1,
752      147,   120,   210,   121,    -1,   147,   120,   210,    11,    -1,
753      299,   334,    -1,   332,    -1,   299,   122,   123,    -1,   124,
754      299,   122,   123,    -1,    78,   299,   334,    -1,    78,   332,
755       -1,   299,   335,    -1,   333,    -1,    78,   299,   335,    -1,
756       78,   333,    -1,   150,   374,    -1,   153,   374,    -1,   153,
757      125,    -1,   151,   374,    -1,   152,   374,    -1,   150,   125,
758       -1,   150,   324,   125,    -1,   150,   375,    -1,   154,    -1,
759      153,   375,    -1,   155,    -1,   155,   125,    -1,   298,   334,
760       -1,   298,   336,    -1,   298,   335,    -1,   158,   374,    -1,
761      158,   375,    -1,   159,    -1,   158,    -1,   224,   126,   339,
762       -1,   339,    -1,   224,   126,   340,    -1,   224,   126,     1,
763       -1,   340,    -1,   162,    -1,   164,   127,   162,    -1,   165,
764      127,   162,    -1,   163,    -1,   164,   127,   163,    -1,   165,
765      127,   163,    -1,   164,   127,     1,    -1,   165,   127,     1,
766       -1,   127,    -1,   164,   125,    -1,   165,   125,    -1,   166,
767       -1,   160,    -1,   169,   166,    -1,   169,   160,    -1,   167,
768      166,    -1,   167,   160,    -1,   169,   125,    -1,   167,   125,
769       -1,   125,    -1,   167,    -1,   164,    -1,   167,   164,    -1,
770      169,   164,    -1,   161,    -1,   168,   161,    -1,   169,   161,
771       -1,   167,   161,    -1,   167,   165,    -1,   165,    -1,   164,
772        1,    -1,   171,   128,    -1,   171,     1,   128,    -1,   298,
773      216,   129,   169,    -1,   298,   216,   129,   168,     1,    -1,
774      298,   216,   129,   168,    -1,   298,   216,   129,    -1,   298,
775      216,   129,     1,    -1,   173,   128,    -1,   173,     1,   128,
776       -1,   299,   216,   129,   169,    -1,   299,   216,   129,   168,
777        1,    -1,   299,   216,   129,   168,    -1,   299,   216,   129,
778       -1,   299,   216,   129,     1,    -1,   300,   216,   129,   168,
779      128,    -1,   300,   216,   129,   169,   128,    -1,   300,   216,
780      129,   128,    -1,   176,   128,    -1,   176,     1,   128,    -1,
781      149,   129,   168,    -1,   216,   129,   168,    -1,   149,   129,
782      169,    -1,   149,   129,    -1,   149,   129,   168,     1,    -1,
783      149,   129,     1,    -1,   216,   129,   169,    -1,   216,   129,
784       -1,   216,   129,   168,     1,    -1,   216,   129,     1,    -1,
785      178,   128,    -1,   178,     1,   128,    -1,   129,   169,    -1,
786      129,   168,     1,    -1,   129,     1,    -1,   129,    -1,   129,
787      168,    -1,   224,   126,   339,    -1,   224,   126,   340,    -1,
788      224,   126,     1,    -1,   224,     1,    -1,   179,    -1,   181,
789      127,   179,    -1,   182,   127,   179,    -1,   180,    -1,   181,
790      127,   180,    -1,   182,   127,   180,    -1,   181,     1,    -1,
791       68,   304,   216,   129,    -1,    68,   304,   328,   216,   129,
792       -1,    68,   304,   129,    -1,    68,   304,   328,   129,    -1,
793       68,     1,   129,    -1,   183,    -1,   184,    69,   374,    -1,
794      184,    70,   374,    -1,   184,    95,   374,    -1,   184,    91,
795       -1,   184,    97,   218,    -1,   184,   128,    -1,    99,   304,
796      216,   129,    -1,    99,   304,   328,   216,   129,    -1,    99,
797      304,   129,    -1,    99,   304,   328,   129,    -1,    99,     1,
798      129,    -1,   186,    -1,   187,    69,   374,    -1,   187,    70,
799      374,    -1,   187,   128,    -1,   216,    -1,   189,   216,    -1,
800      189,   374,    -1,    73,   374,    -1,   190,    -1,   191,   190,
801       -1,    88,   122,   189,   123,   374,    -1,    88,   122,   243,
802      123,   129,   191,   128,    -1,   243,   130,    88,   122,   243,
803      123,   129,   191,   128,    -1,    89,   122,   243,   127,   189,
804      123,    -1,   243,   130,    89,   122,   243,   127,   189,   123,
805       -1,    89,   122,   243,   123,    -1,   243,   130,    89,   122,
806      243,   123,    -1,    90,    -1,    90,   189,    -1,   224,   130,
807       90,    -1,   243,   130,    90,   189,    -1,   197,   125,    -1,
808      181,   125,    -1,   156,    -1,   185,    -1,   362,   156,    -1,
809      362,   185,    -1,   188,    -1,    91,    -1,    93,    -1,    94,
810       -1,    99,   122,   216,   123,   126,   339,   125,    -1,   125,
811       -1,   362,   131,    -1,   362,   122,   216,   123,    -1,   157,
812       -1,   299,    -1,   299,   286,    -1,   362,   299,   286,    -1,
813      362,   299,    -1,   362,   175,    -1,   362,   172,    -1,    98,
814      299,   286,    -1,   192,    -1,    92,   216,    -1,    92,   149,
815       -1,    96,   216,    -1,   175,    -1,   172,    -1,   181,    -1,
816      173,     1,    -1,   176,     1,    -1,   362,   157,    -1,   362,
817      173,     1,    -1,   362,   176,     1,    -1,   182,    -1,   196,
818       -1,   198,   196,    -1,   199,   196,    -1,   197,    -1,   198,
819        1,    -1,   199,     1,    -1,   198,   197,    -1,   199,   197,
820       -1,   299,    -1,   299,   328,    -1,   299,    -1,   299,   328,
821       -1,    65,   216,    -1,    65,   216,   126,   201,    -1,    65,
822      216,   131,   200,    -1,    65,   216,   131,   200,   126,   201,
823       -1,    65,   148,    -1,    65,   148,   126,   201,    -1,    65,
824      148,   131,   200,    -1,    65,   148,   131,   200,   126,   201,
825       -1,   216,    -1,   216,    -1,   216,   126,   203,    -1,   233,
826       -1,   299,   216,   126,   205,    -1,   299,   328,   216,   126,
827      205,    -1,   202,    -1,   204,    -1,   206,    -1,   207,    -1,
828      208,   127,   207,    -1,   205,    -1,   203,    -1,   201,    -1,
829      216,   126,   205,    -1,   216,   126,   203,    -1,   216,   126,
830      201,    -1,   209,    -1,   210,   127,   209,    -1,    65,    -1,
831      211,   216,    -1,   211,   147,    -1,   216,   211,   216,    -1,
832      216,   211,   147,    -1,   211,   216,   120,   208,   121,    -1,
833      211,   147,   120,   208,   121,    -1,   216,   211,   216,   120,
834      208,   121,    -1,   216,   211,   147,   120,   208,   121,    -1,
835      215,   128,    -1,   214,   125,    -1,   212,   129,   128,    -1,
836      214,   129,   128,    -1,   211,   216,   125,    -1,   211,   146,
837      125,    -1,   212,   131,   303,    -1,   212,   129,   199,    -1,
838      214,   129,   199,    -1,   212,   129,   198,    -1,   214,   129,
839      198,    -1,   212,   129,     1,    -1,   214,   129,     1,    -1,
840        3,    -1,   220,    -1,   122,   245,   123,    -1,   385,    -1,
841      132,   385,    -1,   132,   385,   130,   385,    -1,     4,    -1,
842      216,    -1,   175,    -1,    85,   122,   374,   123,    -1,    85,
843      122,   245,   123,    -1,    85,   122,   346,   123,   337,    -1,
844       85,   122,   346,   123,   122,   346,   123,   337,    -1,   219,
845      216,    -1,   219,    -1,   218,    -1,   118,    -1,   122,   123,
846       -1,    71,   306,   329,   133,   265,   134,    -1,    71,   306,
847      329,   133,   266,   134,    -1,    71,   306,   133,   265,   134,
848       -1,    71,   306,   133,   266,   134,    -1,   102,   306,   329,
849      133,   265,   134,    -1,   102,   306,   329,   133,   266,   134,
850       -1,   102,   306,   133,   265,   134,    -1,   102,   306,   133,
851      266,   134,    -1,    72,   265,   305,   329,   133,   265,   134,
852       -1,    72,   265,   305,   329,   133,   266,   134,    -1,    72,
853      265,   305,   133,   265,   134,    -1,    72,   265,   305,   133,
854      266,   134,    -1,   103,   265,   305,   329,   133,   265,   134,
855       -1,   103,   265,   305,   329,   133,   266,   134,    -1,   103,
856      265,   305,   133,   265,   134,    -1,   103,   265,   305,   133,
857      266,   134,    -1,    65,   122,   298,   123,    -1,    65,   122,
858      298,   328,   123,    -1,    65,   122,   216,   123,    -1,   104,
859      122,   243,   127,   346,   123,    -1,    98,   122,   216,   123,
860       -1,   397,    -1,   398,    -1,   399,    -1,   400,    -1,   133,
861      225,   134,    -1,   133,   134,    -1,   177,    -1,   178,     1,
862       -1,   122,   245,    -1,   122,   263,    -1,   217,    -1,   224,
863      133,   245,   134,    -1,   224,   133,   263,   134,    -1,   224,
864      122,   123,    -1,   224,   122,   225,   123,    -1,   224,   122,
865      226,   123,    -1,   224,   130,   216,    -1,   224,     7,   216,
866       -1,   224,     8,    -1,   224,     9,    -1,   247,   133,   245,
867      134,    -1,   247,   133,   263,   134,    -1,   247,   122,   123,
868       -1,   247,   122,   225,   123,    -1,   247,   130,   216,    -1,
869      247,     7,   216,    -1,   247,     8,    -1,   247,     9,    -1,
870      243,    -1,   221,    -1,   225,   127,   243,    -1,   225,   127,
871      221,    -1,   262,    -1,   222,    -1,   225,   127,   262,    -1,
872      225,   127,   222,    -1,   225,   127,    -1,     8,   228,    -1,
873        9,   228,    -1,   229,   230,    -1,   229,   221,    -1,     6,
874      228,    -1,     6,   122,   347,   123,    -1,     6,   122,    65,
875      146,   123,    -1,     6,   122,    65,   145,   123,    -1,   109,
876      228,    -1,   109,   122,   347,   123,    -1,   227,    -1,   224,
877       -1,   135,    -1,   119,    -1,   136,    -1,   137,    -1,   124,
878       -1,   138,    -1,    73,    -1,    84,    -1,   228,    -1,   122,
879      346,   123,   230,    -1,   230,    -1,   231,   119,   230,    -1,
880      231,   139,   230,    -1,   231,   140,   230,    -1,   251,   119,
881      230,    -1,   251,   139,   230,    -1,   251,   140,   230,    -1,
882      231,    -1,   232,   136,   231,    -1,   232,   137,   231,    -1,
883      252,   136,   231,    -1,   252,   137,   231,    -1,   232,    -1,
884      233,    10,   232,    -1,   233,    11,   232,    -1,   253,    10,
885      232,    -1,   253,    11,   232,    -1,   235,   120,    -1,   233,
886       -1,   234,   233,    -1,   235,   121,   233,    -1,   235,    12,
887      233,    -1,   235,    13,   233,    -1,   254,   120,   233,    -1,
888      254,   121,   233,    -1,   254,    12,   233,    -1,   254,    13,
889      233,    -1,   235,    -1,   236,    14,   235,    -1,   236,    15,
890      235,    -1,   255,    14,   235,    -1,   255,    15,   235,    -1,
891      236,    14,   221,    -1,   236,    15,   221,    -1,   255,    14,
892      221,    -1,   255,    15,   221,    -1,   236,    -1,   237,   135,
893      236,    -1,   256,   135,   236,    -1,   237,   135,   221,    -1,
894      256,   135,   221,    -1,   237,    -1,   238,   141,   237,    -1,
895      257,   141,   237,    -1,   238,   141,   221,    -1,   257,   141,
896      221,    -1,   238,    -1,   239,   142,   238,    -1,   258,   142,
897      238,    -1,   239,   142,   221,    -1,   258,   142,   221,    -1,
898      239,    -1,   240,    16,   239,    -1,   259,    16,   239,    -1,
899      240,    -1,   241,    17,   240,    -1,   260,    17,   240,    -1,
900      241,    -1,   241,   143,   245,   131,   242,    -1,   241,   143,
901      263,   131,   242,    -1,   260,   143,   245,   131,   242,    -1,
902      260,   143,   263,   131,   242,    -1,   241,   143,   246,   131,
903      242,    -1,   241,   143,   264,   131,   242,    -1,   260,   143,
904      246,   131,   242,    -1,   260,   143,   264,   131,   242,    -1,
905      241,   143,   245,   131,   221,    -1,   241,   143,   263,   131,
906      221,    -1,   260,   143,   245,   131,   221,    -1,   260,   143,
907      263,   131,   221,    -1,   241,   143,   246,   131,   221,    -1,
908      241,   143,   264,   131,   221,    -1,   260,   143,   246,   131,
909      221,    -1,   260,   143,   264,   131,   221,    -1,   242,    -1,
910      228,   244,   243,    -1,   249,   244,   243,    -1,   242,   244,
911      243,    -1,   261,   244,   243,    -1,   228,   244,   221,    -1,
912      249,   244,   221,    -1,   242,   244,   221,    -1,   261,   244,
913      221,    -1,   126,    -1,    18,    -1,    19,    -1,    20,    -1,
914       21,    -1,    22,    -1,    23,    -1,    24,    -1,    25,    -1,
915       26,    -1,    27,    -1,   243,    -1,   245,   127,   243,    -1,
916      263,   127,   243,    -1,   263,   123,    -1,   221,    -1,   245,
917      127,   221,    -1,   263,   127,   221,    -1,   223,    -1,     1,
918       -1,   224,     1,    -1,   176,     1,    -1,   224,     7,     1,
919       -1,   247,     7,     1,    -1,   224,   122,   225,    -1,   224,
920      122,   226,    -1,   224,   130,     1,    -1,   247,   122,   226,
921       -1,   247,   130,     1,    -1,     8,   249,    -1,     9,   249,
922       -1,   229,   250,    -1,   229,   222,    -1,     6,   249,    -1,
923        6,   122,   347,   123,     1,    -1,     6,   122,    65,   146,
924      123,     1,    -1,     6,   122,    65,   145,   123,     1,    -1,
925      109,   249,    -1,   109,   122,   347,   123,     1,    -1,   248,
926       -1,   247,    -1,   249,    -1,   122,   346,   123,   250,    -1,
927      250,    -1,   231,   119,   250,    -1,   231,   139,   250,    -1,
928      231,   140,   250,    -1,   251,   119,   250,    -1,   251,   139,
929      250,    -1,   251,   140,   250,    -1,   251,    -1,   232,   136,
930      251,    -1,   232,   137,   251,    -1,   252,   136,   251,    -1,
931      252,   137,   251,    -1,   252,    -1,   233,    10,   252,    -1,
932      233,    11,   252,    -1,   253,    10,   252,    -1,   253,    11,
933      252,    -1,   253,    -1,   234,   253,    -1,   235,   121,   253,
934       -1,   235,    12,   253,    -1,   235,    13,   253,    -1,   254,
935      120,   253,    -1,   254,   121,   253,    -1,   254,    12,   253,
936       -1,   254,    13,   253,    -1,   254,    -1,   236,    14,   254,
937       -1,   236,    15,   254,    -1,   255,    14,   254,    -1,   255,
938       15,   254,    -1,   236,    14,   222,    -1,   236,    15,   222,
939       -1,   255,    14,   222,    -1,   255,    15,   222,    -1,   255,
940       -1,   237,   135,   255,    -1,   256,   135,   255,    -1,   237,
941      135,   222,    -1,   256,   135,   222,    -1,   256,    -1,   238,
942      141,   256,    -1,   257,   141,   256,    -1,   238,   141,   222,
943       -1,   257,   141,   222,    -1,   257,    -1,   239,   142,   257,
944       -1,   258,   142,   257,    -1,   239,   142,   222,    -1,   258,
945      142,   222,    -1,   258,    -1,   240,    16,   258,    -1,   259,
946       16,   258,    -1,   259,    -1,   241,    17,   259,    -1,   260,
947       17,   259,    -1,   260,    -1,   241,   143,   245,   131,   260,
948       -1,   241,   143,   263,   131,   260,    -1,   260,   143,   245,
949      131,   260,    -1,   260,   143,   263,   131,   260,    -1,   241,
950      143,   245,   131,    -1,   241,   143,   263,   131,    -1,   260,
951      143,   245,   131,    -1,   260,   143,   263,   131,    -1,   241,
952      143,   246,   131,   260,    -1,   241,   143,   264,   131,   260,
953       -1,   260,   143,   246,   131,   260,    -1,   260,   143,   264,
954      131,   260,    -1,   241,   143,   246,   131,    -1,   241,   143,
955      264,   131,    -1,   260,   143,   246,   131,    -1,   260,   143,
956      264,   131,    -1,   241,   143,   245,   131,   222,    -1,   241,
957      143,   263,   131,   222,    -1,   260,   143,   245,   131,   222,
958       -1,   260,   143,   263,   131,   222,    -1,   241,   143,   246,
959      131,   222,    -1,   241,   143,   264,   131,   222,    -1,   260,
960      143,   246,   131,   222,    -1,   260,   143,   264,   131,   222,
961       -1,   241,   143,   131,    -1,   260,   143,   131,    -1,   241,
962      143,    -1,   260,   143,    -1,   261,    -1,   228,   244,   262,
963       -1,   249,   244,   262,    -1,   228,   244,   222,    -1,   249,
964      244,   222,    -1,   262,    -1,   243,     1,    -1,   245,   127,
965      262,    -1,   263,   127,   262,    -1,   245,   245,    -1,   263,
966      245,    -1,   245,   263,    -1,   222,    -1,   221,     1,    -1,
967      245,   127,   222,    -1,   263,   127,   222,    -1,   242,    -1,
968      261,    -1,    29,    -1,    30,    -1,    31,    -1,   117,    -1,
969       32,    -1,    33,    -1,   116,    -1,    29,    -1,    30,    -1,
970       31,    -1,   117,    -1,    32,    -1,    33,    -1,   116,    -1,
971      216,    -1,   216,   126,   265,    -1,   216,   126,   266,    -1,
972      269,    -1,   270,   127,   269,    -1,   270,   127,    -1,    50,
973       -1,   271,   216,    -1,   271,   149,    -1,   274,   128,    -1,
974      271,   216,   129,   128,    -1,   271,   149,   129,   128,    -1,
975      271,   129,   270,    -1,   271,   129,     1,    -1,   271,   216,
976      129,   270,    -1,   271,   216,   129,   270,     1,    -1,   271,
977      216,   129,     1,    -1,   271,   216,   129,   270,   125,   198,
978       -1,   271,   216,   129,   270,   125,   199,    -1,   271,   149,
979      129,   270,    -1,   271,   149,   129,   270,     1,    -1,   271,
980      149,   129,     1,    -1,   271,   149,   129,   270,   125,   198,
981       -1,   271,   149,   129,   270,   125,   199,    -1,   271,   216,
982      129,   270,   125,    -1,   271,   149,   129,   270,   125,    -1,
983      271,   216,    -1,   271,   149,    -1,   277,   128,    -1,   275,
984      131,   303,   129,   128,    -1,   275,   129,   128,    -1,   275,
985      131,   303,   129,   270,    -1,   275,   131,   303,   129,   270,
986        1,    -1,   275,   131,   303,   129,     1,    -1,   275,   131,
987      303,   129,   270,   125,   198,    -1,   275,   131,   303,   129,
988      270,   125,   199,    -1,   275,   131,   303,   129,   270,     1,
989      125,   198,    -1,   275,   131,   303,   129,   270,     1,   125,
990      199,    -1,   275,   131,   303,   129,     1,   125,   198,    -1,
991      275,   131,   303,   129,     1,   125,   199,    -1,   271,   129,
992      270,    -1,   271,   129,     1,    -1,   275,   129,   270,    -1,
993      275,   129,   270,     1,    -1,   275,   129,     1,    -1,   275,
994      129,   270,   125,   198,    -1,   275,   129,   270,   125,   199,
995       -1,   275,   131,   303,   129,   270,   125,    -1,   275,   131,
996      303,   129,   270,     1,   125,    -1,   275,   131,   303,   129,
997        1,   125,    -1,   275,   129,   270,   125,    -1,   276,    -1,
998      293,    -1,   277,    -1,   294,    -1,   319,    -1,    44,    -1,
999       45,    -1,   280,    -1,   281,    -1,   282,   281,    -1,    46,
1000       -1,    34,    -1,    35,    -1,    36,    -1,    37,    -1,    38,
1001       -1,    47,    -1,    39,    -1,    42,    -1,    43,    -1,    40,
1002       -1,    41,    -1,    85,    -1,   290,    -1,   272,    -1,   146,
1003       -1,    87,   122,   243,   123,    -1,   100,   122,   146,   123,
1004       -1,   100,   122,   216,   123,    -1,    66,    -1,    82,    -1,
1005       83,    -1,   113,    -1,   112,    -1,   114,    -1,   115,    -1,
1006       46,    -1,    34,    -1,    35,    -1,    36,    -1,    37,    -1,
1007       38,    -1,    47,    -1,    39,    -1,    42,    -1,    43,    -1,
1008       40,    -1,    41,    -1,    85,    -1,   290,    -1,   272,    -1,
1009      149,    -1,   113,    -1,   112,    -1,   114,    -1,   115,    -1,
1010       87,   122,   243,   123,    -1,   100,   122,   146,   123,    -1,
1011      100,   122,   216,   123,    -1,    66,    -1,   336,    -1,   336,
1012      324,    -1,   131,   265,    -1,   336,   131,   265,    -1,   336,
1013      131,   265,   131,   265,    -1,   131,   266,    -1,   336,   131,
1014      266,    -1,   336,   131,   265,   131,   266,    -1,   336,   131,
1015      266,   131,   266,    -1,   336,   131,   266,   131,   265,    -1,
1016      285,    -1,   286,   127,   285,    -1,   295,   216,    -1,   295,
1017      147,    -1,   295,   319,   216,    -1,   295,   319,   147,    -1,
1018      289,   128,    -1,   287,   129,   128,    -1,   295,   129,   128,
1019       -1,   295,   319,   129,   128,    -1,   287,   129,   198,    -1,
1020      287,   129,   199,    -1,   287,   129,     1,    -1,   295,   129,
1021      198,    -1,   295,   129,   199,    -1,   295,   129,     1,    -1,
1022      295,   319,   129,   198,    -1,   295,   319,   129,   199,    -1,
1023      295,   319,   129,     1,    -1,   287,    -1,   287,    -1,   287,
1024      120,   208,   121,    -1,   291,   131,   303,    -1,   294,   128,
1025       -1,   292,   129,   128,    -1,   291,   129,   128,    -1,   295,
1026      129,   128,    -1,   292,   129,   198,    -1,   292,   129,   199,
1027       -1,   292,   129,     1,    -1,   291,   129,   198,    -1,   291,
1028      129,   199,    -1,   291,   129,     1,    -1,   295,   129,   198,
1029       -1,   295,   129,   199,    -1,   295,   129,     1,    -1,    48,
1030       -1,    49,    -1,   281,    -1,   296,   281,    -1,   283,    -1,
1031      296,   283,    -1,   273,    -1,   296,   273,    -1,   288,    -1,
1032      296,   288,    -1,   281,    -1,   297,   281,    -1,   283,    -1,
1033      297,   283,    -1,   145,    -1,   297,   145,    -1,   273,    -1,
1034      297,   273,    -1,   288,    -1,   297,   288,    -1,   267,    -1,
1035      298,   267,    -1,   281,    -1,   298,   281,    -1,   284,    -1,
1036      298,   284,    -1,   273,    -1,   298,   273,    -1,   288,    -1,
1037      298,   288,    -1,   267,    -1,   299,   267,    -1,   281,    -1,
1038      299,   281,    -1,   283,    -1,   299,   283,    -1,   145,    -1,
1039      299,   145,    -1,   288,    -1,   299,   288,    -1,   273,    -1,
1040      299,   273,    -1,   268,    -1,   300,   268,    -1,   281,    -1,
1041      300,   281,    -1,   283,    -1,   300,   283,    -1,   145,    -1,
1042      300,   145,    -1,   278,    -1,   300,   278,    -1,   279,    -1,
1043      300,   279,    -1,    81,    -1,    80,    -1,   267,    -1,   302,
1044      267,    -1,   281,    -1,   302,   281,    -1,   284,    -1,   302,
1045      284,    -1,   216,    -1,   302,   216,    -1,   216,   120,   210,
1046      121,    -1,   302,   216,   120,   210,   121,    -1,   302,    -1,
1047      295,    -1,   267,    -1,   304,   267,    -1,   281,    -1,   304,
1048      281,    -1,   284,    -1,   304,   284,    -1,   216,    -1,   304,
1049      216,    -1,   216,   120,   210,   121,    -1,   304,   216,   120,
1050      210,   121,    -1,   267,    -1,   305,   267,    -1,   281,    -1,
1051      305,   281,    -1,   284,    -1,   305,   284,    -1,   288,    -1,
1052      305,   288,    -1,   273,    -1,   305,   273,    -1,   216,    -1,
1053      305,   216,    -1,   216,   120,   210,   121,    -1,   305,   216,
1054      120,   210,   121,    -1,   267,    -1,   306,   267,    -1,   281,
1055       -1,   306,   281,    -1,   284,    -1,   306,   284,    -1,   288,
1056       -1,   306,   288,    -1,   273,    -1,   306,   273,    -1,   216,
1057       -1,   306,   216,    -1,   216,   120,   210,   121,    -1,   306,
1058      216,   120,   210,   121,    -1,   308,   127,     1,    -1,   307,
1059      127,     1,    -1,   216,    -1,   308,   127,   216,    -1,   307,
1060      127,   216,    -1,   350,   127,   216,    -1,   351,   127,   216,
1061       -1,   310,    -1,   147,    -1,    37,    -1,   147,   133,   265,
1062      134,    -1,   147,   133,   266,   134,    -1,   147,   133,   146,
1063      134,    -1,   147,   133,   134,    -1,   309,   133,   265,   134,
1064       -1,   309,   133,   266,   134,    -1,   309,   133,   146,   134,
1065       -1,   309,   133,   134,    -1,   216,    -1,   122,   330,   123,
1066       -1,   122,   319,   330,   123,    -1,   122,   331,   123,    -1,
1067      122,   319,   331,   123,    -1,   310,   133,   265,   134,    -1,
1068      310,   133,   266,   134,    -1,   310,   133,   146,   134,    -1,
1069      310,   133,   134,    -1,   310,   122,    -1,   311,   352,   123,
1070       -1,   311,   353,   123,    -1,   311,   308,   123,    -1,   311,
1071      307,   123,    -1,   311,   123,    -1,   311,   307,    -1,   311,
1072        1,    -1,   311,   350,   122,    -1,   311,   299,   216,   122,
1073       -1,   312,    -1,   310,    -1,   309,   122,    -1,   315,   352,
1074      123,    -1,   315,   353,   123,    -1,   315,   308,   123,    -1,
1075      315,   307,   123,    -1,   315,   123,    -1,   315,   307,    -1,
1076      315,     1,    -1,   315,   350,   122,    -1,   315,   299,   216,
1077      122,    -1,   316,    -1,   309,    -1,    74,    -1,    75,    -1,
1078      324,    -1,    86,   122,   385,   123,    -1,    79,    -1,   110,
1079       -1,   111,    -1,     3,    -1,    28,    -1,    75,    -1,    74,
1080       -1,    44,    -1,   321,    -1,   321,   122,   245,   123,    -1,
1081      322,    -1,   323,   322,    -1,   323,   127,   322,    -1,   320,
1082      122,   122,   323,   123,   123,    -1,   320,   122,   122,   123,
1083      123,    -1,   122,   328,   123,    -1,   122,   319,   328,   123,
1084       -1,   133,   134,    -1,   133,   265,   134,    -1,   133,   266,
1085      134,    -1,   133,   146,   134,    -1,   325,   133,   134,    -1,
1086      325,   133,   265,   134,    -1,   325,   133,   146,   134,    -1,
1087      325,   133,   266,   134,    -1,   122,   123,    -1,   122,   352,
1088      123,    -1,   122,   353,   123,    -1,   325,   122,   123,    -1,
1089      325,   122,   352,   123,    -1,   325,   122,   353,   123,    -1,
1090      122,   329,   123,    -1,   122,   319,   329,   123,    -1,   122,
1091      123,    -1,   122,   352,   123,    -1,   122,   353,   123,    -1,
1092      326,   122,   123,    -1,   326,   122,   352,   123,    -1,   326,
1093      122,   353,   123,    -1,   119,    -1,   119,   282,    -1,   119,
1094      327,    -1,   119,   282,   327,    -1,   327,    -1,   325,    -1,
1095      327,   325,    -1,   319,   327,    -1,   319,   327,   325,    -1,
1096      327,    -1,   326,    -1,   327,   326,    -1,   319,   327,    -1,
1097      319,   327,   326,    -1,   314,    -1,   327,   314,    -1,   319,
1098      327,   314,    -1,   330,   319,    -1,   336,   319,    -1,   318,
1099       -1,   327,   318,    -1,   319,   327,   318,    -1,   331,   319,
1100       -1,   312,    -1,   327,   312,    -1,   319,   327,   312,    -1,
1101      327,   319,   312,    -1,   313,    -1,   327,   313,    -1,   319,
1102      327,   313,    -1,   327,   319,   313,    -1,   316,    -1,   327,
1103      316,    -1,   319,   327,   316,    -1,   327,   319,   316,    -1,
1104      317,    -1,   327,   317,    -1,   319,   327,   317,    -1,   327,
1105      319,   317,    -1,   309,    -1,   327,   309,    -1,   319,   327,
1106      309,    -1,   327,   319,   309,    -1,   243,    -1,   129,   341,
1107      128,    -1,   129,   341,   127,   128,    -1,   262,    -1,   129,
1108      341,   128,     1,    -1,   129,   341,    -1,   129,   341,   127,
1109      128,     1,    -1,   129,   341,   127,    -1,   242,    -1,   221,
1110       -1,   261,    -1,   222,    -1,   337,    -1,   338,    -1,   341,
1111      127,   337,    -1,   341,   127,   338,    -1,   341,   337,    -1,
1112      341,   338,    -1,   330,    -1,   331,    -1,   330,   126,   337,
1113       -1,   330,     1,    -1,   330,   126,   338,    -1,   342,    -1,
1114      344,   127,   342,    -1,    37,   127,   342,    -1,    38,   127,
1115      342,    -1,   147,   127,   342,    -1,   345,   127,   342,    -1,
1116      343,    -1,   342,     1,    -1,   344,   127,   343,    -1,   345,
1117      127,   343,    -1,   296,    -1,   296,   328,    -1,   297,    -1,
1118      297,   328,    -1,   299,   331,    -1,   299,   328,    -1,   299,
1119      135,    -1,   299,   135,   331,    -1,   299,    -1,    65,    -1,
1120      299,   331,     1,    -1,   299,   328,     1,    -1,   348,    -1,
1121      350,   127,   348,    -1,   350,     1,   127,   348,    -1,   351,
1122      127,   348,    -1,   351,     1,   127,   348,    -1,     1,   127,
1123      348,    -1,   308,   127,   348,    -1,   308,     1,   127,   348,
1124       -1,   307,   127,   348,    -1,   307,     1,   127,   348,    -1,
1125      349,    -1,   350,   127,   349,    -1,   351,   127,   349,    -1,
1126      351,     1,   127,   349,    -1,     1,   127,   349,    -1,   308,
1127      127,   349,    -1,   307,   127,   349,    -1,   307,     1,   127,
1128      349,    -1,   350,    -1,   350,   127,    51,    -1,   351,   127,
1129       51,    -1,   308,   127,    51,    -1,   307,   127,    51,    -1,
1130        1,   127,    51,    -1,   351,    -1,   350,   127,     1,    -1,
1131      351,     1,    -1,   359,    -1,   324,    -1,   374,    -1,   125,
1132       -1,   131,    -1,   245,   125,    -1,   377,    -1,   379,    -1,
1133      381,    -1,   358,    -1,   195,   125,    -1,   194,   125,    -1,
1134      193,   125,    -1,   360,    -1,   380,    -1,   375,    -1,   378,
1135       -1,   382,    -1,   381,     1,    -1,   263,    -1,   385,    -1,
1136      385,   122,   243,   123,    -1,   133,   216,   134,   385,   122,
1137      243,   123,    -1,   356,    -1,   357,   127,   356,    -1,    -1,
1138       86,   281,   122,   385,   123,   125,    -1,    86,   281,   122,
1139      385,   131,   357,   123,   125,    -1,    86,   281,   122,   385,
1140      131,   357,   131,   357,   123,   125,    -1,    86,   281,   122,
1141      385,   131,   357,   131,   357,   131,   357,   123,   125,    -1,
1142       86,   281,   122,   385,     3,   357,   123,   125,    -1,    86,
1143      281,   122,   385,     3,   357,   131,   357,   123,   125,    -1,
1144       86,   281,   122,   385,   131,   357,     3,   357,   123,   125,
1145       -1,    86,   122,   385,   123,   125,    -1,    86,   122,   385,
1146      131,   357,   123,   125,    -1,    86,   122,   385,   131,   357,
1147      131,   357,   123,   125,    -1,    86,   122,   385,   131,   357,
1148      131,   357,   131,   357,   123,   125,    -1,    86,   122,   385,
1149        3,   357,   123,   125,    -1,    86,   122,   385,     3,   357,
1150      131,   357,   123,   125,    -1,    86,   122,   385,   131,   357,
1151        3,   357,   123,   125,    -1,   216,   131,   354,    -1,    52,
1152      265,   131,   354,    -1,    52,   266,   131,   354,    -1,    52,
1153      131,   354,    -1,    53,   131,   354,    -1,   216,   131,   363,
1154       -1,    52,   265,   131,   363,    -1,    52,   266,   131,   363,
1155       -1,    52,   131,   363,    -1,    53,   131,   363,    -1,   216,
1156      131,   355,    -1,    52,   265,   131,   355,    -1,    52,   266,
1157      131,   355,    -1,    52,   131,   355,    -1,    52,   131,    -1,
1158       53,   131,   355,    -1,    53,   131,    -1,   216,   131,   366,
1159       -1,    52,   265,   131,   366,    -1,    52,   266,   131,   366,
1160       -1,    52,   131,   366,    -1,    53,   131,   366,    -1,    80,
1161       -1,    81,    -1,    53,    -1,    80,    -1,    81,    -1,   298,
1162      125,    -1,   298,   344,   125,    -1,   170,   125,    -1,   366,
1163      125,    -1,   300,   125,    -1,   300,   344,   125,    -1,   301,
1164      344,   125,    -1,   174,   125,    -1,    77,   216,   126,   242,
1165      125,    -1,    31,    77,   216,   126,   242,   125,    -1,   300,
1166        1,    -1,   298,     1,    -1,   366,     1,    -1,   171,     1,
1167       -1,   170,     1,    -1,   298,   345,    -1,   363,    -1,   367,
1168      363,    -1,   368,   363,    -1,   367,     1,   125,    -1,   366,
1169       -1,   367,   366,    -1,   354,    -1,   369,   354,    -1,   370,
1170      354,    -1,   355,    -1,   369,   355,    -1,   370,   355,    -1,
1171      369,   363,    -1,   370,   363,    -1,   369,   366,    -1,   370,
1172      366,    -1,   369,    -1,   367,    -1,   367,   369,    -1,   368,
1173      369,    -1,   370,    -1,   368,    -1,   367,   370,    -1,   368,
1174      370,    -1,   129,    -1,   375,   128,    -1,   373,   372,    -1,
1175      373,    -1,   373,   371,    -1,   125,    -1,   245,   125,    -1,
1176      263,   125,    -1,    54,   122,   245,   123,   354,    -1,    54,
1177      122,   263,   123,   354,    -1,    54,   122,   245,   123,   354,
1178       64,   354,    -1,    54,   122,   263,   123,   354,    64,   354,
1179       -1,    55,   122,   245,   123,   354,    -1,    55,   122,   263,
1180      123,   354,    -1,    54,   122,   263,    -1,   377,     1,    -1,
1181       56,   122,   245,   123,   354,    -1,    56,   122,   263,   354,
1182       -1,    56,   122,   123,   354,    -1,    57,   354,    56,   122,
1183      245,   123,   125,    -1,    57,   354,    56,   122,   263,   125,
1184       -1,    58,   122,   376,   376,   123,   354,    -1,    58,   122,
1185      376,   123,   354,    -1,    58,   122,   376,   376,   245,   123,
1186      354,    -1,    58,   122,   376,   376,   263,   354,    -1,    58,
1187      122,   123,   354,    -1,    58,   122,   216,   131,   245,   123,
1188      354,    -1,    58,   122,   216,   131,   245,   125,   245,   123,
1189      354,    -1,    58,   122,     1,    -1,    58,   122,   263,     1,
1190       -1,    58,   122,   376,     1,    -1,    58,   122,   376,   263,
1191        1,    -1,    58,   122,   376,   376,   263,    -1,    58,   122,
1192      376,   376,   123,   355,    -1,    58,   122,   376,   376,   245,
1193      123,   355,    -1,    58,   122,   376,   376,   263,   355,    -1,
1194       57,   354,    56,   122,   245,   123,    -1,    57,   354,    56,
1195      122,   245,    -1,    57,   354,    56,   122,   263,    -1,    57,
1196      354,    56,   122,    -1,    57,   354,    56,    -1,    57,   354,
1197       -1,    57,    -1,    56,     1,    -1,    56,   122,   123,     1,
1198       -1,    56,   122,   263,    -1,    56,   122,   245,   123,   355,
1199       -1,    56,   122,   263,   355,    -1,    59,   216,   125,    -1,
1200       60,   125,    -1,    61,   125,    -1,    62,   125,    -1,    62,
1201      245,   125,    -1,    62,   263,   125,    -1,    62,   221,   125,
1202       -1,    62,   222,   125,    -1,    62,   263,    -1,    62,   222,
1203       -1,    62,    -1,    59,    -1,   300,   332,   367,   374,    -1,
1204      300,   332,   374,    -1,   300,   334,   367,   374,    -1,   300,
1205      334,   374,    -1,   332,   367,   374,    -1,   332,   374,    -1,
1206      300,   332,   367,   375,    -1,   300,   332,   375,    -1,   300,
1207      334,   367,   375,    -1,   300,   334,   375,    -1,   332,   367,
1208      375,    -1,   332,   375,    -1,     5,    -1,   385,     5,    -1,
1209      383,    -1,   213,    -1,   300,   213,    -1,   364,    -1,    76,
1210      385,    -1,    76,    31,   385,    -1,    76,   216,   385,    -1,
1211      125,    -1,   361,   383,    -1,   361,   213,    -1,   361,   364,
1212       -1,   361,    76,   385,    -1,   361,    76,    31,   385,    -1,
1213      361,    76,   216,   385,    -1,   361,   131,    -1,    31,   131,
1214       -1,   101,   216,    -1,   101,   149,    -1,   391,    -1,   361,
1215      391,    -1,   215,    -1,   300,   215,    -1,   384,    -1,   361,
1216      215,    -1,   361,   384,    -1,   365,    -1,   361,   365,    -1,
1217      387,    -1,   389,   387,    -1,   388,   387,    -1,   389,     1,
1218       -1,   388,     1,    -1,   386,    -1,   389,   386,    -1,   388,
1219      213,    -1,   388,   361,   213,    -1,   389,    -1,   388,    -1,
1220       -1,   105,   385,   216,   129,   396,   128,    -1,   105,   385,
1221      149,   129,   396,   128,    -1,   105,   385,   129,   396,   128,
1222       -1,   299,   216,   385,   125,    -1,   216,    -1,   121,   216,
1223       -1,   120,   216,    -1,   393,    -1,   394,   127,   393,    -1,
1224      107,   394,   125,    -1,   107,   394,   216,   125,    -1,   392,
1225       -1,   395,    -1,   396,   392,    -1,   396,   395,    -1,   108,
1226      122,   243,   127,   243,   123,    -1,   106,   122,   385,   127,
1227      216,   123,    -1,   107,   122,   385,   127,   216,   123,    -1,
1228      105,   122,   385,   123,    -1
1229 };
1230
1231 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1232 static const yytype_uint16 yyrline[] =
1233 {
1234        0,   282,   282,   311,   370,   371,   481,   485,   488,   489,
1235      490,   539,   541,   546,   551,   556,   558,   563,   565,   570,
1236      572,   577,   579,   581,   583,   585,   589,   593,   606,   608,
1237      610,   612,   614,   620,   622,   627,   632,   637,   639,   641,
1238      646,   647,   651,   652,   663,   667,   668,   670,   675,   676,
1239      678,   681,   693,   704,   723,   725,   730,   731,   732,   733,
1240      734,   735,   736,   737,   750,   754,   755,   756,   757,   761,
1241      762,   763,   764,   765,   766,   767,   771,   773,   778,   780,
1242      782,   784,   786,   816,   818,   823,   825,   827,   829,   831,
1243      860,   862,   864,   869,   871,   876,   878,   882,   884,   886,
1244      888,   893,   896,   899,   902,   967,   969,   974,   976,   978,
1245      980,   982,  1013,  1017,  1018,  1019,  1023,  1024,  1025,  1029,
1246     1030,  1031,  1032,  1036,  1039,  1042,  1045,  1048,  1053,  1054,
1247     1056,  1058,  1060,  1062,  1067,  1071,  1074,  1077,  1080,  1083,
1248     1088,  1089,  1091,  1096,  1100,  1102,  1107,  1109,  1114,  1116,
1249     1121,  1126,  1128,  1133,  1135,  1137,  1139,  1144,  1146,  1148,
1250     1150,  1155,  1156,  1157,  1158,  1159,  1160,  1161,  1162,  1163,
1251     1164,  1165,  1167,  1168,  1170,  1174,  1177,  1178,  1179,  1180,
1252     1181,  1182,  1183,  1184,  1185,  1186,  1187,  1188,  1189,  1190,
1253     1192,  1193,  1197,  1198,  1199,  1203,  1207,  1208,  1209,  1213,
1254     1214,  1215,  1216,  1217,  1221,  1222,  1234,  1235,  1239,  1240,
1255     1241,  1242,  1243,  1244,  1245,  1246,  1250,  1254,  1255,  1259,
1256     1267,  1268,  1272,  1273,  1274,  1278,  1279,  1283,  1284,  1285,
1257     1286,  1287,  1288,  1328,  1329,  1333,  1341,  1342,  1350,  1351,
1258     1353,  1354,  1363,  1364,  1368,  1375,  1382,  1388,  1395,  1401,
1259     1410,  1417,  1423,  1429,  1435,  1441,  1447,  1458,  1463,  1464,
1260     1469,  1470,  1471,  1475,  1479,  1480,  1481,  1482,  1483,  1484,
1261     1485,  1498,  1499,  1500,  1501,  1502,  1503,  1504,  1505,  1506,
1262     1507,  1508,  1509,  1510,  1511,  1512,  1513,  1514,  1515,  1516,
1263     1517,  1518,  1519,  1520,  1521,  1523,  1524,  1525,  1526,  1527,
1264     1529,  1530,  1534,  1538,  1542,  1543,  1547,  1549,  1550,  1551,
1265     1552,  1553,  1554,  1555,  1556,  1557,  1559,  1560,  1561,  1562,
1266     1563,  1564,  1565,  1566,  1593,  1594,  1595,  1596,  1600,  1601,
1267     1602,  1603,  1604,  1608,  1609,  1610,  1611,  1613,  1614,  1615,
1268     1616,  1619,  1620,  1624,  1625,  1634,  1635,  1636,  1637,  1638,
1269     1639,  1640,  1641,  1645,  1646,  1650,  1651,  1652,  1653,  1654,
1270     1655,  1656,  1660,  1661,  1662,  1663,  1664,  1668,  1669,  1670,
1271     1671,  1672,  1676,  1684,  1685,  1686,  1687,  1688,  1689,  1690,
1272     1691,  1692,  1696,  1697,  1698,  1699,  1700,  1702,  1703,  1704,
1273     1705,  1709,  1710,  1711,  1713,  1714,  1718,  1719,  1720,  1722,
1274     1723,  1727,  1728,  1729,  1731,  1732,  1736,  1737,  1738,  1742,
1275     1743,  1744,  1748,  1749,  1750,  1751,  1752,  1754,  1755,  1756,
1276     1757,  1759,  1760,  1761,  1762,  1764,  1765,  1766,  1767,  1771,
1277     1772,  1773,  1774,  1775,  1777,  1778,  1779,  1780,  1784,  1785,
1278     1786,  1787,  1788,  1789,  1790,  1791,  1792,  1793,  1794,  1798,
1279     1799,  1800,  1801,  1805,  1806,  1807,  1811,  1812,  1813,  1814,
1280     1816,  1817,  1819,  1820,  1825,  1827,  1832,  1860,  1861,  1862,
1281     1863,  1865,  1866,  1867,  1868,  1870,  1871,  1875,  1876,  1885,
1282     1886,  1890,  1891,  1892,  1893,  1894,  1895,  1896,  1900,  1901,
1283     1905,  1909,  1913,  1920,  1921,  1922,  1923,  1924,  1928,  1929,
1284     1980,  1981,  1982,  1983,  1984,  1985,  1986,  1990,  1991,  1992,
1285     1993,  1994,  2001,  2002,  2003,  2004,  2008,  2009,  2010,  2012,
1286     2013,  2017,  2018,  2019,  2021,  2022,  2026,  2027,  2028,  2030,
1287     2031,  2035,  2036,  2037,  2041,  2042,  2043,  2047,  2048,  2049,
1288     2050,  2051,  2052,  2053,  2054,  2055,  2057,  2058,  2059,  2060,
1289     2061,  2062,  2063,  2064,  2066,  2067,  2068,  2069,  2071,  2072,
1290     2073,  2074,  2076,  2084,  2088,  2093,  2100,  2101,  2105,  2110,
1291     2111,  2115,  2116,  2117,  2118,  2124,  2125,  2126,  2130,  2131,
1292     2132,  2133,  2137,  2139,  2143,  2144,  2145,  2146,  2147,  2148,
1293     2149,  2153,  2154,  2155,  2156,  2157,  2158,  2159,  2163,  2164,
1294     2165,  2169,  2170,  2171,  2175,  2179,  2180,  2184,  2185,  2186,
1295     2190,  2191,  2193,  2194,  2195,  2196,  2197,  2199,  2200,  2201,
1296     2202,  2203,  2205,  2206,  2210,  2211,  2215,  2216,  2217,  2221,
1297     2222,  2223,  2224,  2225,  2226,  2227,  2228,  2229,  2231,  2232,
1298     2234,  2235,  2236,  2237,  2238,  2240,  2241,  2242,  2243,  2247,
1299     2248,  2252,  2253,  2257,  2261,  2262,  2263,  2268,  2269,  2273,
1300     2274,  2275,  2276,  2277,  2278,  2279,  2280,  2281,  2282,  2283,
1301     2284,  2285,  2286,  2287,  2288,  2289,  2290,  2291,  2292,  2293,
1302     2294,  2295,  2296,  2297,  2298,  2302,  2303,  2304,  2305,  2306,
1303     2307,  2308,  2309,  2310,  2311,  2312,  2313,  2314,  2315,  2316,
1304     2317,  2318,  2319,  2320,  2321,  2322,  2323,  2324,  2325,  2331,
1305     2333,  2335,  2337,  2339,  2341,  2343,  2345,  2347,  2349,  2354,
1306     2355,  2359,  2365,  2371,  2378,  2388,  2389,  2390,  2391,  2395,
1307     2396,  2397,  2399,  2400,  2401,  2403,  2404,  2405,  2409,  2413,
1308     2421,  2430,  2439,  2440,  2442,  2443,  2447,  2454,  2461,  2464,
1309     2477,  2491,  2494,  2496,  2498,  2503,  2504,  2508,  2509,  2510,
1310     2511,  2512,  2513,  2514,  2515,  2519,  2520,  2521,  2522,  2523,
1311     2524,  2525,  2526,  2527,  2528,  2532,  2533,  2534,  2535,  2536,
1312     2537,  2538,  2539,  2540,  2541,  2545,  2546,  2547,  2548,  2549,
1313     2550,  2551,  2552,  2553,  2554,  2555,  2556,  2560,  2561,  2562,
1314     2563,  2564,  2565,  2566,  2567,  2568,  2569,  2573,  2574,  2578,
1315     2579,  2580,  2581,  2582,  2583,  2584,  2585,  2586,  2588,  2590,
1316     2608,  2626,  2627,  2631,  2632,  2633,  2634,  2635,  2636,  2637,
1317     2638,  2639,  2657,  2674,  2675,  2676,  2677,  2678,  2679,  2680,
1318     2681,  2682,  2683,  2684,  2685,  2686,  2704,  2721,  2722,  2723,
1319     2724,  2725,  2726,  2727,  2728,  2729,  2730,  2731,  2732,  2733,
1320     2751,  2768,  2769,  2773,  2774,  2775,  2776,  2777,  2781,  2782,
1321     2789,  2791,  2800,  2809,  2818,  2827,  2828,  2829,  2830,  2834,
1322     2835,  2836,  2837,  2838,  2839,  2840,  2841,  2842,  2846,  2850,
1323     2851,  2852,  2853,  2854,  2859,  2868,  2877,  2886,  2900,  2901,
1324     2906,  2910,  2911,  2912,  2913,  2914,  2919,  2928,  2937,  2946,
1325     2960,  2961,  3010,  3011,  3012,  3013,  3025,  3026,  3027,  3032,
1326     3033,  3034,  3035,  3036,  3040,  3041,  3045,  3046,  3047,  3051,
1327     3052,  3056,  3057,  3058,  3059,  3060,  3061,  3062,  3063,  3064,
1328     3065,  3066,  3067,  3068,  3069,  3070,  3071,  3075,  3076,  3077,
1329     3078,  3079,  3080,  3081,  3082,  3086,  3087,  3088,  3089,  3093,
1330     3094,  3095,  3096,  3097,  3101,  3102,  3103,  3104,  3105,  3109,
1331     3110,  3112,  3114,  3116,  3121,  3122,  3124,  3126,  3131,  3132,
1332     3133,  3134,  3138,  3139,  3140,  3141,  3145,  3146,  3147,  3148,
1333     3152,  3153,  3154,  3155,  3159,  3160,  3161,  3162,  3166,  3167,
1334     3168,  3185,  3186,  3187,  3188,  3201,  3218,  3219,  3224,  3225,
1335     3229,  3230,  3231,  3232,  3235,  3236,  3240,  3241,  3242,  3246,
1336     3250,  3254,  3255,  3256,  3257,  3258,  3267,  3276,  3277,  3278,
1337     3279,  3283,  3284,  3288,  3289,  3294,  3295,  3296,  3297,  3298,
1338     3299,  3318,  3319,  3323,  3324,  3325,  3326,  3327,  3328,  3330,
1339     3331,  3332,  3333,  3337,  3338,  3339,  3340,  3341,  3343,  3344,
1340     3345,  3349,  3350,  3351,  3352,  3353,  3354,  3358,  3359,  3360,
1341     3365,  3366,  3367,  3368,  3369,  3370,  3371,  3372,  3373,  3374,
1342     3375,  3376,  3377,  3381,  3382,  3383,  3384,  3385,  3386,  3387,
1343     3391,  3392,  3393,  3397,  3398,  3399,  3403,  3404,  3405,  3406,
1344     3408,  3409,  3410,  3412,  3413,  3414,  3415,  3417,  3418,  3419,
1345     3423,  3424,  3425,  3426,  3427,  3429,  3430,  3431,  3432,  3433,
1346     3437,  3438,  3439,  3440,  3441,  3442,  3443,  3445,  3446,  3447,
1347     3448,  3449,  3453,  3454,  3455,  3459,  3460,  3464,  3465,  3466,
1348     3467,  3471,  3472,  3473,  3475,  3476,  3477,  3481,  3485,  3486,
1349     3488,  3489,  3490,  3494,  3495,  3496,  3497,  3501,  3502,  3506,
1350     3507,  3508,  3512,  3513,  3514,  3515,  3516,  3517,  3518,  3522,
1351     3523,  3524,  3525,  3529,  3530,  3531,  3532,  3536,  3540,  3544,
1352     3546,  3549,  3555,  3556,  3557,  3561,  3562,  3563,  3564,  3565,
1353     3566,  3570,  3571,  3575,  3576,  3577,  3579,  3580,  3582,  3583,
1354     3584,  3585,  3586,  3588,  3589,  3593,  3594,  3595,  3596,  3600,
1355     3601,  3602,  3603,  3605,  3606,  3607,  3608,  3609,  3610,  3611,
1356     3614,  3618,  3619,  3623,  3624,  3628,  3629,  3630,  3631,  3632,
1357     3633,  3634,  3635,  3639,  3640,  3641,  3642,  3648,  3649,  3651,
1358     3652,  3655,  3656,  3659,  3660,  3661,  3662,  3663,  3664,  3668,
1359     3669,  3681,  3682,  3685,  3688,  3690,  3691,  3692,  3702,  3704,
1360     3705,  3707,  3708,  3709,  3710,  3720,  3721,  3722,  3723,  3724,
1361     3725,  3729,  3730,  3739,  3741,  3742,  3744,  3746,  3750,  3751,
1362     3752,  3753,  3754,  3758,  3759,  3760,  3762,  3767,  3768,  3769,
1363     3773,  3774,  3775,  3779,  3783,  3784,  3785,  3789,  3790,  3794,
1364     3795,  3799,  3800,  3801,  3802,  3806,  3810,  3814,  3818
1365 };
1366 #endif
1367
1368 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1369 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1370    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1371 static const char *const yytname[] =
1372 {
1373   "$end", "error", "$undefined", "IDENTIFIER", "CONSTANT",
1374   "STRING_LITERAL", "SIZEOF", "PTR_OP", "INC_OP", "DEC_OP", "LEFT_OP",
1375   "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP",
1376   "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "ADD_ASSIGN", "SUB_ASSIGN",
1377   "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN",
1378   "TYPE_NAME", "TYPEDEF", "EXTERN", "STATIC", "AUTO", "REGISTER", "CHAR",
1379   "SHORT", "INT", "UINT", "INT64", "LONG", "SIGNED", "UNSIGNED", "FLOAT",
1380   "DOUBLE", "CONST", "VOLATILE", "VOID", "VALIST", "STRUCT", "UNION",
1381   "ENUM", "ELLIPSIS", "CASE", "DEFAULT", "IF", "SWITCH", "WHILE", "DO",
1382   "FOR", "GOTO", "CONTINUE", "BREAK", "RETURN", "IFX", "ELSE", "CLASS",
1383   "THISCLASS", "CLASS_NAME", "PROPERTY", "SETPROP", "GETPROP", "NEWOP",
1384   "RENEW", "DELETE", "EXT_DECL", "EXT_STORAGE", "IMPORT", "DEFINE",
1385   "VIRTUAL", "ATTRIB", "PUBLIC", "PRIVATE", "TYPED_OBJECT", "ANY_OBJECT",
1386   "_INCREF", "EXTENSION", "ASM", "TYPEOF", "WATCH", "STOPWATCHING",
1387   "FIREWATCHERS", "WATCHABLE", "CLASS_DESIGNER", "CLASS_NO_EXPANSION",
1388   "CLASS_FIXED", "ISPROPSET", "CLASS_DEFAULT_PROPERTY",
1389   "PROPERTY_CATEGORY", "CLASS_DATA", "CLASS_PROPERTY", "SUBCLASS",
1390   "NAMESPACE", "NEW0OP", "RENEW0", "VAARG", "DBTABLE", "DBFIELD",
1391   "DBINDEX", "DATABASE_OPEN", "ALIGNOF", "ATTRIB_DEP", "__ATTRIB", "BOOL",
1392   "_BOOL", "_COMPLEX", "_IMAGINARY", "RESTRICT", "THREAD",
1393   "WIDE_STRING_LITERAL", "'*'", "'<'", "'>'", "'('", "')'", "'~'", "';'",
1394   "'='", "','", "'}'", "'{'", "'.'", "':'", "'$'", "'['", "']'", "'&'",
1395   "'+'", "'-'", "'!'", "'/'", "'%'", "'^'", "'|'", "'?'", "$accept",
1396   "guess_type", "type", "base_strict_type", "base_strict_type_name",
1397   "strict_type", "class_function_definition_start",
1398   "constructor_function_definition_start",
1399   "destructor_function_definition_start",
1400   "virtual_class_function_definition_start",
1401   "class_function_definition_start_error",
1402   "virtual_class_function_definition_start_error",
1403   "class_function_definition", "class_function_definition_error",
1404   "instance_class_function_definition_start",
1405   "instance_class_function_definition_start_error",
1406   "instance_class_function_definition",
1407   "instance_class_function_definition_error", "data_member_initialization",
1408   "data_member_initialization_error", "data_member_initialization_list",
1409   "data_member_initialization_list_error",
1410   "data_member_initialization_list_coloned",
1411   "members_initialization_list_coloned", "members_initialization_list",
1412   "members_initialization_list_error", "instantiation_named",
1413   "instantiation_named_error", "guess_instantiation_named",
1414   "guess_instantiation_named_error", "external_guess_instantiation_named",
1415   "instantiation_unnamed", "instantiation_unnamed_error",
1416   "instantiation_anon", "instantiation_anon_error", "default_property",
1417   "default_property_error", "default_property_list",
1418   "default_property_list_error", "property_start", "property_body",
1419   "property", "class_property_start", "class_property_body",
1420   "class_property", "watch_property_list", "property_watch",
1421   "property_watch_list", "self_watch_definition", "watch_definition",
1422   "stopwatching", "firewatchers", "struct_declaration",
1423   "struct_declaration_error", "struct_declaration_list",
1424   "struct_declaration_list_error", "template_datatype",
1425   "template_type_argument", "template_type_parameter",
1426   "template_identifier_argument", "template_identifier_parameter",
1427   "template_expression_argument", "template_expression_parameter",
1428   "template_parameter", "template_parameters_list", "template_argument",
1429   "template_arguments_list", "class_entry", "class_decl", "class",
1430   "class_head", "class_error", "identifier", "primary_expression",
1431   "i18n_string", "constant", "simple_primary_expression",
1432   "anon_instantiation_expression", "anon_instantiation_expression_error",
1433   "primary_expression_error", "postfix_expression",
1434   "argument_expression_list", "argument_expression_list_error",
1435   "common_unary_expression", "unary_expression", "unary_operator",
1436   "cast_expression", "multiplicative_expression", "additive_expression",
1437   "shift_expression", "relational_expression_smaller_than",
1438   "relational_expression", "equality_expression", "and_expression",
1439   "exclusive_or_expression", "inclusive_or_expression",
1440   "logical_and_expression", "logical_or_expression",
1441   "conditional_expression", "assignment_expression", "assignment_operator",
1442   "expression", "expression_anon_inst", "postfix_expression_error",
1443   "common_unary_expression_error", "unary_expression_error",
1444   "cast_expression_error", "multiplicative_expression_error",
1445   "additive_expression_error", "shift_expression_error",
1446   "relational_expression_error", "equality_expression_error",
1447   "and_expression_error", "exclusive_or_expression_error",
1448   "inclusive_or_expression_error", "logical_and_expression_error",
1449   "logical_or_expression_error", "conditional_expression_error",
1450   "assignment_expression_error", "expression_error",
1451   "expression_anon_inst_error", "constant_expression",
1452   "constant_expression_error", "storage_class_specifier",
1453   "external_storage_class_specifier", "enumerator", "enumerator_list",
1454   "enum_specifier", "enum_specifier_nocompound", "enum_specifier_compound",
1455   "enum_specifier_compound_error", "enum_decl", "enum_class",
1456   "enum_class_error", "class_specifier", "class_specifier_error",
1457   "ext_storage", "type_qualifier", "type_qualifier_list", "type_specifier",
1458   "strict_type_specifier", "struct_declarator", "struct_declarator_list",
1459   "struct_entry", "struct_or_union_specifier_compound",
1460   "struct_or_union_specifier_compound_error",
1461   "struct_or_union_specifier_nocompound", "struct_decl", "struct_head",
1462   "struct_class", "struct_class_error", "struct_or_union",
1463   "specifier_qualifier_list", "guess_specifier_qualifier_list",
1464   "declaration_specifiers", "guess_declaration_specifiers",
1465   "external_guess_declaration_specifiers",
1466   "external_guess_declaration_specifiers_error", "_inheritance_specifiers",
1467   "inheritance_specifiers", "property_specifiers", "renew_specifiers",
1468   "new_specifiers", "identifier_list_error", "identifier_list",
1469   "direct_declarator_nofunction_type_ok", "direct_declarator_nofunction",
1470   "direct_declarator_function_start", "direct_declarator_function",
1471   "direct_declarator_function_error", "direct_declarator",
1472   "direct_declarator_function_start_type_ok",
1473   "direct_declarator_function_type_ok",
1474   "direct_declarator_function_error_type_ok", "direct_declarator_type_ok",
1475   "ext_decl", "_attrib", "attribute_word", "attribute", "attribs_list",
1476   "attrib", "direct_abstract_declarator",
1477   "direct_abstract_declarator_noarray", "pointer", "abstract_declarator",
1478   "abstract_declarator_noarray", "declarator", "declarator_type_ok",
1479   "declarator_function", "declarator_function_error",
1480   "declarator_function_type_ok", "declarator_function_error_type_ok",
1481   "declarator_nofunction_type_ok", "initializer", "initializer_error",
1482   "initializer_condition", "initializer_condition_error",
1483   "initializer_list", "init_declarator", "init_declarator_error",
1484   "init_declarator_list", "init_declarator_list_error", "type_name",
1485   "guess_type_name", "parameter_declaration",
1486   "parameter_declaration_error", "parameter_list", "parameter_list_error",
1487   "parameter_type_list", "parameter_type_list_error", "statement",
1488   "statement_error", "asm_field", "asm_field_list", "asm_statement",
1489   "labeled_statement", "labeled_statement_error", "declaration_mode",
1490   "member_access", "declaration", "external_guess_declaration",
1491   "external_guess_declaration_error", "declaration_error",
1492   "declaration_list", "declaration_list_error", "statement_list",
1493   "statement_list_error", "compound_inside", "compound_inside_error",
1494   "compound_start", "compound_statement", "compound_statement_error",
1495   "expression_statement", "selection_statement",
1496   "selection_statement_error", "iteration_statement",
1497   "iteration_statement_error", "jump_statement", "jump_statement_error",
1498   "function_definition", "function_definition_error", "string_literal",
1499   "external_declaration", "external_declaration_error",
1500   "translation_unit_error", "translation_unit", "thefile",
1501   "dbtable_definition", "dbfield_entry", "dbindex_item",
1502   "dbindex_item_list", "dbindex_entry", "dbfield_definition_list",
1503   "database_open", "dbfield", "dbindex", "dbtable", 0
1504 };
1505 #endif
1506
1507 # ifdef YYPRINT
1508 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1509    token YYLEX-NUM.  */
1510 static const yytype_uint16 yytoknum[] =
1511 {
1512        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1513      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1514      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1515      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1516      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1517      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1518      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1519      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1520      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1521      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1522      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1523      365,   366,   367,   368,   369,   370,   371,   372,   373,    42,
1524       60,    62,    40,    41,   126,    59,    61,    44,   125,   123,
1525       46,    58,    36,    91,    93,    38,    43,    45,    33,    47,
1526       37,    94,   124,    63
1527 };
1528 # endif
1529
1530 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1531 static const yytype_uint16 yyr1[] =
1532 {
1533        0,   144,   145,   145,   146,   146,   147,   148,   149,   149,
1534      149,   150,   150,   151,   152,   153,   153,   154,   154,   155,
1535      155,   156,   156,   156,   156,   156,   156,   156,   157,   157,
1536      157,   157,   157,   158,   158,   159,   160,   161,   161,   161,
1537      162,   162,   163,   163,   163,   164,   164,   164,   165,   165,
1538      165,   165,   165,   165,   166,   166,   167,   167,   167,   167,
1539      167,   167,   167,   167,   167,   168,   168,   168,   168,   169,
1540      169,   169,   169,   169,   169,   169,   170,   170,   171,   171,
1541      171,   171,   171,   172,   172,   173,   173,   173,   173,   173,
1542      174,   174,   174,   175,   175,   176,   176,   176,   176,   176,
1543      176,   176,   176,   176,   176,   177,   177,   178,   178,   178,
1544      178,   178,   179,   180,   180,   180,   181,   181,   181,   182,
1545      182,   182,   182,   183,   183,   183,   183,   183,   184,   184,
1546      184,   184,   184,   184,   185,   186,   186,   186,   186,   186,
1547      187,   187,   187,   188,   189,   189,   190,   190,   191,   191,
1548      192,   193,   193,   194,   194,   194,   194,   195,   195,   195,
1549      195,   196,   196,   196,   196,   196,   196,   196,   196,   196,
1550      196,   196,   196,   196,   196,   197,   197,   197,   197,   197,
1551      197,   197,   197,   197,   197,   197,   197,   197,   197,   197,
1552      197,   197,   197,   197,   197,   197,   198,   198,   198,   199,
1553      199,   199,   199,   199,   200,   200,   201,   201,   202,   202,
1554      202,   202,   202,   202,   202,   202,   203,   204,   204,   205,
1555      206,   206,   207,   207,   207,   208,   208,   209,   209,   209,
1556      209,   209,   209,   210,   210,   211,   212,   212,   212,   212,
1557      212,   212,   212,   212,   213,   213,   213,   213,   213,   213,
1558      214,   215,   215,   215,   215,   215,   215,   216,   217,   217,
1559      218,   218,   218,   219,   220,   220,   220,   220,   220,   220,
1560      220,   220,   220,   220,   220,   220,   220,   220,   220,   220,
1561      220,   220,   220,   220,   220,   220,   220,   220,   220,   220,
1562      220,   220,   220,   220,   220,   220,   220,   220,   220,   220,
1563      220,   220,   221,   222,   223,   223,   224,   224,   224,   224,
1564      224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
1565      224,   224,   224,   224,   225,   225,   225,   225,   226,   226,
1566      226,   226,   226,   227,   227,   227,   227,   227,   227,   227,
1567      227,   227,   227,   228,   228,   229,   229,   229,   229,   229,
1568      229,   229,   229,   230,   230,   231,   231,   231,   231,   231,
1569      231,   231,   232,   232,   232,   232,   232,   233,   233,   233,
1570      233,   233,   234,   235,   235,   235,   235,   235,   235,   235,
1571      235,   235,   236,   236,   236,   236,   236,   236,   236,   236,
1572      236,   237,   237,   237,   237,   237,   238,   238,   238,   238,
1573      238,   239,   239,   239,   239,   239,   240,   240,   240,   241,
1574      241,   241,   242,   242,   242,   242,   242,   242,   242,   242,
1575      242,   242,   242,   242,   242,   242,   242,   242,   242,   243,
1576      243,   243,   243,   243,   243,   243,   243,   243,   244,   244,
1577      244,   244,   244,   244,   244,   244,   244,   244,   244,   245,
1578      245,   245,   245,   246,   246,   246,   247,   247,   247,   247,
1579      247,   247,   247,   247,   247,   247,   247,   248,   248,   248,
1580      248,   248,   248,   248,   248,   248,   248,   249,   249,   250,
1581      250,   251,   251,   251,   251,   251,   251,   251,   252,   252,
1582      252,   252,   252,   253,   253,   253,   253,   253,   254,   254,
1583      254,   254,   254,   254,   254,   254,   254,   255,   255,   255,
1584      255,   255,   255,   255,   255,   255,   256,   256,   256,   256,
1585      256,   257,   257,   257,   257,   257,   258,   258,   258,   258,
1586      258,   259,   259,   259,   260,   260,   260,   261,   261,   261,
1587      261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
1588      261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
1589      261,   261,   261,   261,   261,   261,   262,   262,   262,   262,
1590      262,   263,   263,   263,   263,   263,   263,   263,   264,   264,
1591      264,   264,   265,   266,   267,   267,   267,   267,   267,   267,
1592      267,   268,   268,   268,   268,   268,   268,   268,   269,   269,
1593      269,   270,   270,   270,   271,   272,   272,   273,   273,   273,
1594      274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
1595      274,   274,   274,   274,   275,   275,   276,   276,   276,   277,
1596      277,   277,   277,   277,   277,   277,   277,   277,   277,   277,
1597      277,   277,   277,   277,   277,   277,   277,   277,   277,   278,
1598      278,   279,   279,   280,   281,   281,   281,   282,   282,   283,
1599      283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
1600      283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
1601      283,   283,   283,   283,   283,   284,   284,   284,   284,   284,
1602      284,   284,   284,   284,   284,   284,   284,   284,   284,   284,
1603      284,   284,   284,   284,   284,   284,   284,   284,   284,   285,
1604      285,   285,   285,   285,   285,   285,   285,   285,   285,   286,
1605      286,   287,   287,   287,   287,   288,   288,   288,   288,   289,
1606      289,   289,   289,   289,   289,   289,   289,   289,   290,   291,
1607      291,   292,   293,   293,   293,   293,   294,   294,   294,   294,
1608      294,   294,   294,   294,   294,   295,   295,   296,   296,   296,
1609      296,   296,   296,   296,   296,   297,   297,   297,   297,   297,
1610      297,   297,   297,   297,   297,   298,   298,   298,   298,   298,
1611      298,   298,   298,   298,   298,   299,   299,   299,   299,   299,
1612      299,   299,   299,   299,   299,   299,   299,   300,   300,   300,
1613      300,   300,   300,   300,   300,   300,   300,   301,   301,   302,
1614      302,   302,   302,   302,   302,   302,   302,   302,   302,   302,
1615      302,   303,   303,   304,   304,   304,   304,   304,   304,   304,
1616      304,   304,   304,   305,   305,   305,   305,   305,   305,   305,
1617      305,   305,   305,   305,   305,   305,   305,   306,   306,   306,
1618      306,   306,   306,   306,   306,   306,   306,   306,   306,   306,
1619      306,   307,   307,   308,   308,   308,   308,   308,   309,   309,
1620      309,   309,   309,   309,   309,   309,   309,   309,   309,   310,
1621      310,   310,   310,   310,   310,   310,   310,   310,   311,   312,
1622      312,   312,   312,   312,   313,   313,   313,   313,   314,   314,
1623      315,   316,   316,   316,   316,   316,   317,   317,   317,   317,
1624      318,   318,   319,   319,   319,   319,   320,   320,   320,   321,
1625      321,   321,   321,   321,   322,   322,   323,   323,   323,   324,
1626      324,   325,   325,   325,   325,   325,   325,   325,   325,   325,
1627      325,   325,   325,   325,   325,   325,   325,   326,   326,   326,
1628      326,   326,   326,   326,   326,   327,   327,   327,   327,   328,
1629      328,   328,   328,   328,   329,   329,   329,   329,   329,   330,
1630      330,   330,   330,   330,   331,   331,   331,   331,   332,   332,
1631      332,   332,   333,   333,   333,   333,   334,   334,   334,   334,
1632      335,   335,   335,   335,   336,   336,   336,   336,   337,   337,
1633      337,   338,   338,   338,   338,   338,   339,   339,   340,   340,
1634      341,   341,   341,   341,   341,   341,   342,   342,   342,   343,
1635      343,   344,   344,   344,   344,   344,   344,   345,   345,   345,
1636      345,   346,   346,   347,   347,   348,   348,   348,   348,   348,
1637      348,   349,   349,   350,   350,   350,   350,   350,   350,   350,
1638      350,   350,   350,   351,   351,   351,   351,   351,   351,   351,
1639      351,   352,   352,   352,   352,   352,   352,   353,   353,   353,
1640      354,   354,   354,   354,   354,   354,   354,   354,   354,   354,
1641      354,   354,   354,   355,   355,   355,   355,   355,   355,   355,
1642      356,   356,   356,   357,   357,   357,   358,   358,   358,   358,
1643      358,   358,   358,   358,   358,   358,   358,   358,   358,   358,
1644      359,   359,   359,   359,   359,   359,   359,   359,   359,   359,
1645      360,   360,   360,   360,   360,   360,   360,   360,   360,   360,
1646      360,   360,   361,   361,   361,   362,   362,   363,   363,   363,
1647      363,   364,   364,   364,   364,   364,   364,   365,   366,   366,
1648      366,   366,   366,   367,   367,   367,   367,   368,   368,   369,
1649      369,   369,   370,   370,   370,   370,   370,   370,   370,   371,
1650      371,   371,   371,   372,   372,   372,   372,   373,   374,   375,
1651      375,   375,   376,   376,   376,   377,   377,   377,   377,   377,
1652      377,   378,   378,   379,   379,   379,   379,   379,   379,   379,
1653      379,   379,   379,   379,   379,   380,   380,   380,   380,   380,
1654      380,   380,   380,   380,   380,   380,   380,   380,   380,   380,
1655      380,   380,   380,   380,   380,   381,   381,   381,   381,   381,
1656      381,   381,   381,   382,   382,   382,   382,   383,   383,   383,
1657      383,   383,   383,   384,   384,   384,   384,   384,   384,   385,
1658      385,   386,   386,   386,   386,   386,   386,   386,   386,   386,
1659      386,   386,   386,   386,   386,   386,   386,   386,   386,   386,
1660      386,   387,   387,   387,   387,   387,   387,   387,   388,   388,
1661      388,   388,   388,   389,   389,   389,   389,   390,   390,   390,
1662      391,   391,   391,   392,   393,   393,   393,   394,   394,   395,
1663      395,   396,   396,   396,   396,   397,   398,   399,   400
1664 };
1665
1666 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1667 static const yytype_uint8 yyr2[] =
1668 {
1669        0,     2,     2,     2,     1,     2,     1,     1,     1,     4,
1670        4,     2,     1,     3,     4,     3,     2,     2,     1,     3,
1671        2,     2,     2,     2,     2,     2,     2,     3,     2,     1,
1672        2,     1,     2,     2,     2,     2,     2,     2,     1,     1,
1673        3,     1,     3,     3,     1,     1,     3,     3,     1,     3,
1674        3,     3,     3,     1,     2,     2,     1,     1,     2,     2,
1675        2,     2,     2,     2,     1,     1,     1,     2,     2,     1,
1676        2,     2,     2,     2,     1,     2,     2,     3,     4,     5,
1677        4,     3,     4,     2,     3,     4,     5,     4,     3,     4,
1678        5,     5,     4,     2,     3,     3,     3,     3,     2,     4,
1679        3,     3,     2,     4,     3,     2,     3,     2,     3,     2,
1680        1,     2,     3,     3,     3,     2,     1,     3,     3,     1,
1681        3,     3,     2,     4,     5,     3,     4,     3,     1,     3,
1682        3,     3,     2,     3,     2,     4,     5,     3,     4,     3,
1683        1,     3,     3,     2,     1,     2,     2,     2,     1,     2,
1684        5,     7,     9,     6,     8,     4,     6,     1,     2,     3,
1685        4,     2,     2,     1,     1,     2,     2,     1,     1,     1,
1686        1,     7,     1,     2,     4,     1,     1,     2,     3,     2,
1687        2,     2,     3,     1,     2,     2,     2,     1,     1,     1,
1688        2,     2,     2,     3,     3,     1,     1,     2,     2,     1,
1689        2,     2,     2,     2,     1,     2,     1,     2,     2,     4,
1690        4,     6,     2,     4,     4,     6,     1,     1,     3,     1,
1691        4,     5,     1,     1,     1,     1,     3,     1,     1,     1,
1692        3,     3,     3,     1,     3,     1,     2,     2,     3,     3,
1693        5,     5,     6,     6,     2,     2,     3,     3,     3,     3,
1694        3,     3,     3,     3,     3,     3,     3,     1,     1,     3,
1695        1,     2,     4,     1,     1,     1,     4,     4,     5,     8,
1696        2,     1,     1,     1,     2,     6,     6,     5,     5,     6,
1697        6,     5,     5,     7,     7,     6,     6,     7,     7,     6,
1698        6,     4,     5,     4,     6,     4,     1,     1,     1,     1,
1699        3,     2,     1,     2,     2,     2,     1,     4,     4,     3,
1700        4,     4,     3,     3,     2,     2,     4,     4,     3,     4,
1701        3,     3,     2,     2,     1,     1,     3,     3,     1,     1,
1702        3,     3,     2,     2,     2,     2,     2,     2,     4,     5,
1703        5,     2,     4,     1,     1,     1,     1,     1,     1,     1,
1704        1,     1,     1,     1,     4,     1,     3,     3,     3,     3,
1705        3,     3,     1,     3,     3,     3,     3,     1,     3,     3,
1706        3,     3,     2,     1,     2,     3,     3,     3,     3,     3,
1707        3,     3,     1,     3,     3,     3,     3,     3,     3,     3,
1708        3,     1,     3,     3,     3,     3,     1,     3,     3,     3,
1709        3,     1,     3,     3,     3,     3,     1,     3,     3,     1,
1710        3,     3,     1,     5,     5,     5,     5,     5,     5,     5,
1711        5,     5,     5,     5,     5,     5,     5,     5,     5,     1,
1712        3,     3,     3,     3,     3,     3,     3,     3,     1,     1,
1713        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1714        3,     3,     2,     1,     3,     3,     1,     1,     2,     2,
1715        3,     3,     3,     3,     3,     3,     3,     2,     2,     2,
1716        2,     2,     5,     6,     6,     2,     5,     1,     1,     1,
1717        4,     1,     3,     3,     3,     3,     3,     3,     1,     3,
1718        3,     3,     3,     1,     3,     3,     3,     3,     1,     2,
1719        3,     3,     3,     3,     3,     3,     3,     1,     3,     3,
1720        3,     3,     3,     3,     3,     3,     1,     3,     3,     3,
1721        3,     1,     3,     3,     3,     3,     1,     3,     3,     3,
1722        3,     1,     3,     3,     1,     3,     3,     1,     5,     5,
1723        5,     5,     4,     4,     4,     4,     5,     5,     5,     5,
1724        4,     4,     4,     4,     5,     5,     5,     5,     5,     5,
1725        5,     5,     3,     3,     2,     2,     1,     3,     3,     3,
1726        3,     1,     2,     3,     3,     2,     2,     2,     1,     2,
1727        3,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1728        1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
1729        3,     1,     3,     2,     1,     2,     2,     2,     4,     4,
1730        3,     3,     4,     5,     4,     6,     6,     4,     5,     4,
1731        6,     6,     5,     5,     2,     2,     2,     5,     3,     5,
1732        6,     5,     7,     7,     8,     8,     7,     7,     3,     3,
1733        3,     4,     3,     5,     5,     6,     7,     6,     4,     1,
1734        1,     1,     1,     1,     1,     1,     1,     1,     2,     1,
1735        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1736        1,     1,     1,     1,     1,     4,     4,     4,     1,     1,
1737        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1738        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1739        1,     1,     1,     1,     1,     4,     4,     4,     1,     1,
1740        2,     2,     3,     5,     2,     3,     5,     5,     5,     1,
1741        3,     2,     2,     3,     3,     2,     3,     3,     4,     3,
1742        3,     3,     3,     3,     3,     4,     4,     4,     1,     1,
1743        4,     3,     2,     3,     3,     3,     3,     3,     3,     3,
1744        3,     3,     3,     3,     3,     1,     1,     1,     2,     1,
1745        2,     1,     2,     1,     2,     1,     2,     1,     2,     1,
1746        2,     1,     2,     1,     2,     1,     2,     1,     2,     1,
1747        2,     1,     2,     1,     2,     1,     2,     1,     2,     1,
1748        2,     1,     2,     1,     2,     1,     2,     1,     2,     1,
1749        2,     1,     2,     1,     2,     1,     2,     1,     2,     1,
1750        1,     1,     2,     1,     2,     1,     2,     1,     2,     4,
1751        5,     1,     1,     1,     2,     1,     2,     1,     2,     1,
1752        2,     4,     5,     1,     2,     1,     2,     1,     2,     1,
1753        2,     1,     2,     1,     2,     4,     5,     1,     2,     1,
1754        2,     1,     2,     1,     2,     1,     2,     1,     2,     4,
1755        5,     3,     3,     1,     3,     3,     3,     3,     1,     1,
1756        1,     4,     4,     4,     3,     4,     4,     4,     3,     1,
1757        3,     4,     3,     4,     4,     4,     4,     3,     2,     3,
1758        3,     3,     3,     2,     2,     2,     3,     4,     1,     1,
1759        2,     3,     3,     3,     3,     2,     2,     2,     3,     4,
1760        1,     1,     1,     1,     1,     4,     1,     1,     1,     1,
1761        1,     1,     1,     1,     1,     4,     1,     2,     3,     6,
1762        5,     3,     4,     2,     3,     3,     3,     3,     4,     4,
1763        4,     2,     3,     3,     3,     4,     4,     3,     4,     2,
1764        3,     3,     3,     4,     4,     1,     2,     2,     3,     1,
1765        1,     2,     2,     3,     1,     1,     2,     2,     3,     1,
1766        2,     3,     2,     2,     1,     2,     3,     2,     1,     2,
1767        3,     3,     1,     2,     3,     3,     1,     2,     3,     3,
1768        1,     2,     3,     3,     1,     2,     3,     3,     1,     3,
1769        4,     1,     4,     2,     5,     3,     1,     1,     1,     1,
1770        1,     1,     3,     3,     2,     2,     1,     1,     3,     2,
1771        3,     1,     3,     3,     3,     3,     3,     1,     2,     3,
1772        3,     1,     2,     1,     2,     2,     2,     2,     3,     1,
1773        1,     3,     3,     1,     3,     4,     3,     4,     3,     3,
1774        4,     3,     4,     1,     3,     3,     4,     3,     3,     3,
1775        4,     1,     3,     3,     3,     3,     3,     1,     3,     2,
1776        1,     1,     1,     1,     1,     2,     1,     1,     1,     1,
1777        2,     2,     2,     1,     1,     1,     1,     1,     2,     1,
1778        1,     4,     7,     1,     3,     0,     6,     8,    10,    12,
1779        8,    10,    10,     5,     7,     9,    11,     7,     9,     9,
1780        3,     4,     4,     3,     3,     3,     4,     4,     3,     3,
1781        3,     4,     4,     3,     2,     3,     2,     3,     4,     4,
1782        3,     3,     1,     1,     1,     1,     1,     2,     3,     2,
1783        2,     2,     3,     3,     2,     5,     6,     2,     2,     2,
1784        2,     2,     2,     1,     2,     2,     3,     1,     2,     1,
1785        2,     2,     1,     2,     2,     2,     2,     2,     2,     1,
1786        1,     2,     2,     1,     1,     2,     2,     1,     2,     2,
1787        1,     2,     1,     2,     2,     5,     5,     7,     7,     5,
1788        5,     3,     2,     5,     4,     4,     7,     6,     6,     5,
1789        7,     6,     4,     7,     9,     3,     4,     4,     5,     5,
1790        6,     7,     6,     6,     5,     5,     4,     3,     2,     1,
1791        2,     4,     3,     5,     4,     3,     2,     2,     2,     3,
1792        3,     3,     3,     2,     2,     1,     1,     4,     3,     4,
1793        3,     3,     2,     4,     3,     4,     3,     3,     2,     1,
1794        2,     1,     1,     2,     1,     2,     3,     3,     1,     2,
1795        2,     2,     3,     4,     4,     2,     2,     2,     2,     1,
1796        2,     1,     2,     1,     2,     2,     1,     2,     1,     2,
1797        2,     2,     2,     1,     2,     2,     3,     1,     1,     0,
1798        6,     6,     5,     4,     1,     2,     2,     1,     3,     3,
1799        4,     1,     1,     2,     2,     6,     6,     6,     4
1800 };
1801
1802 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1803    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1804    means the default is an error.  */
1805 static const yytype_uint16 yydefact[] =
1806 {
1807     1289,   257,     6,   591,   592,   593,   595,   596,   660,   661,
1808      662,   663,   664,   666,   669,   670,   667,   668,   654,   655,
1809      659,   665,   755,   756,   604,  1134,   235,   678,   912,   913,
1810        0,     0,   916,  1132,  1133,   679,   680,   671,     0,     0,
1811        0,     0,     0,   917,   918,   682,   681,   683,   684,   597,
1812      594,   955,     0,  1258,   803,   674,     8,     4,     0,     0,
1813        0,  1252,     0,  1271,   879,   797,     0,   673,     0,   649,
1814      651,   805,   807,   656,   799,   801,   738,   672,     0,     0,
1815      650,   652,     0,     0,     0,     0,     0,   978,   653,     0,
1816      914,     0,     0,     0,  1254,  1276,  1251,  1273,  1283,  1278,
1817        0,     0,     0,  1269,     0,  1266,  1249,     0,     0,  1255,
1818        0,     0,     0,     0,  1268,  1267,     0,   657,   956,   653,
1819      957,   870,   869,   879,   911,   868,   898,   969,     0,   910,
1820      974,     0,     0,     0,     0,     0,     0,  1144,     0,   237,
1821      236,     0,     0,   245,     0,   244,     2,     3,     0,     5,
1822        0,   606,   605,     0,     0,   626,     0,     0,     0,     0,
1823      742,     0,   722,   721,     0,  1147,   593,   663,   664,  1141,
1824      804,     8,  1253,  1272,   879,   798,   806,   808,   800,   802,
1825      978,   986,   653,     0,     0,  1017,     0,     0,     0,  1027,
1826        0,     0,   870,     0,   869,     0,     0,   888,     0,     0,
1827      584,   585,   586,   588,   589,  1040,   590,   587,   893,   791,
1828      863,   785,     0,   795,     0,   787,   789,   738,   793,     0,
1829        0,  1039,     0,     0,  1043,  1053,     0,     0,     0,     0,
1830        0,     0,   979,     0,   686,   687,   688,   689,   690,   692,
1831      695,   696,   693,   694,   685,   691,   708,   697,     0,     0,
1832      702,   701,   703,   704,  1177,   700,     0,     0,   775,   699,
1833      781,   777,   779,   783,   698,     0,  1153,     0,     0,     0,
1834        0,  1242,  1248,   593,     0,  1265,  1260,  1274,     0,  1261,
1835     1277,  1259,  1275,  1270,  1282,  1285,     0,     0,     0,     0,
1836        0,  1280,  1281,  1284,  1279,     1,     0,  1256,  1257,  1250,
1837        0,     0,   457,   263,     0,     0,     0,     0,     0,     0,
1838      351,   352,     0,     0,     0,     0,     0,     0,     0,     0,
1839        0,     0,   273,   346,     0,   349,     0,     0,   345,   347,
1840      348,   350,     0,   265,     0,   264,   306,   272,   271,   258,
1841      456,     0,   343,   353,     0,   355,   362,   367,   373,     0,
1842      382,   391,   396,   401,   406,   409,   412,   429,     0,   478,
1843      477,   479,   481,   488,   493,   498,   507,   516,   521,   526,
1844      531,   534,   537,     0,   260,   296,   297,   298,   299,     0,
1845        0,     0,     0,     0,   658,   958,     0,   900,     0,   905,
1846        0,     0,     0,     0,     0,     0,     0,   911,   970,   975,
1847        0,   880,   972,   882,   977,   973,   671,     4,   229,   228,
1848      227,   233,     0,   264,   353,   219,   479,     0,   206,   249,
1849        0,     0,   248,   255,     0,     0,  1135,  1136,     0,   168,
1850        0,   169,   170,     0,     0,     0,     0,     0,   172,   246,
1851        0,     0,     0,     0,    29,    31,   163,   175,   188,     0,
1852      187,     0,   116,   119,     0,   195,   128,     0,   164,   140,
1853        0,   167,   183,   196,   199,     0,     0,   264,     0,     0,
1854      176,     0,   982,   653,     0,    12,    18,     0,   810,   809,
1855      817,   811,     0,   813,   815,   738,   822,   821,   250,   256,
1856      247,     0,     0,   239,   238,   639,   598,   601,   638,   642,
1857      628,     0,     0,     0,   222,   223,   224,   225,     0,   217,
1858        0,   751,   744,     0,     0,   741,   748,   743,     0,     0,
1859      754,   745,     0,     0,   724,   723,     0,     0,     0,     0,
1860        0,   979,   987,     0,  1019,     0,     0,  1238,  1244,     0,
1861     1240,  1246,  1028,  1142,     0,     0,     0,  1143,   887,     0,
1862      264,   582,   583,     0,     0,     0,     0,   606,   605,   607,
1863        0,   725,     0,     0,   663,     0,     0,  1037,   792,     8,
1864      879,   786,   796,   788,   790,   794,   911,   868,   653,   960,
1865      959,     0,     0,     0,   892,     0,     0,   891,     0,     0,
1866        0,  1069,     0,   889,   890,   980,     0,   981,     0,     0,
1867     1151,  1139,  1150,    76,  1148,   689,   690,  1137,   879,   776,
1868      782,   778,   780,   784,   653,     0,  1152,  1149,  1140,     0,
1869     1154,     0,  1241,  1247,  1155,     0,     0,     0,     0,     0,
1870        0,     0,     0,  1236,     0,     0,     0,   697,     0,     0,
1871        0,   157,  1073,  1074,   700,     0,     0,     0,   264,     0,
1872      353,     0,     0,   479,   566,   571,     0,  1071,  1159,  1162,
1873     1079,  1070,  1083,     0,     0,     0,     0,  1181,  1179,  1072,
1874     1085,     0,  1086,  1077,  1084,     0,  1087,  1178,     0,     0,
1875     1262,   879,     0,     0,     0,  1272,     0,   868,   986,   653,
1876        0,     0,     0,     0,  1248,  1286,     0,     0,   412,     0,
1877        0,   915,     0,   337,   471,     0,   333,   467,   334,   468,
1878        0,   857,   847,   855,   849,   851,   853,     0,     0,     0,
1879        0,     0,     0,     0,     0,     0,     0,     0,     0,   341,
1880      475,   274,     0,     0,     0,   761,   757,   759,   763,  1031,
1881        0,   261,     0,   301,   302,     0,   325,     0,   324,     0,
1882      459,    93,     0,   270,   458,     0,   314,   315,     0,     0,
1883        0,   439,   440,   441,   442,   443,   444,   445,   446,   447,
1884      448,   438,     0,     0,   336,   470,   335,   469,     0,     0,
1885        0,     0,     0,     0,     0,   374,   499,     0,     0,   372,
1886        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1887      675,     0,   322,   323,     0,     0,     0,     0,     0,     0,
1888        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1889        0,     0,     0,     0,     0,     0,     0,     0,   676,   677,
1890        0,     0,     0,  1301,  1302,     0,     0,     0,   874,     0,
1891        0,     0,   878,     0,     0,     0,   904,   903,   901,   902,
1892      911,   970,   975,   881,   883,   997,    10,     9,     0,     0,
1893        0,   653,   959,   207,     0,     0,   264,   206,     0,     0,
1894      829,   823,   825,   827,     0,     0,     0,    16,    20,     0,
1895      185,   184,   186,     0,     0,     0,     0,   346,     0,   264,
1896        0,    26,     0,    21,    28,    24,     0,    25,    23,    22,
1897       30,    32,   190,    83,   191,   122,   162,     0,     0,     0,
1898        0,   132,     0,     0,   134,     0,     0,   143,   161,   200,
1899      197,   202,   201,   198,   203,   115,     0,     0,     0,   879,
1900      719,   177,   994,     0,   990,   653,     0,    11,    17,   709,
1901      895,  1039,     0,     0,     0,   983,     0,     0,   173,   165,
1902      192,   181,     0,   180,     0,   166,   879,   179,     0,   606,
1903      605,   818,   812,   814,   816,     0,     0,     0,   603,   641,
1904        0,     0,     7,   212,   208,   740,     0,     0,     0,     0,
1905     1016,  1023,  1024,  1025,    64,    53,    92,    39,    38,    57,
1906       69,    45,    48,     0,    74,    56,     0,     0,     0,  1007,
1907     1009,     0,  1006,  1008,     0,    41,    44,   911,   980,   971,
1908      988,   976,   997,   989,     0,   998,  1001,  1018,  1020,  1237,
1909     1243,  1239,  1245,  1022,  1029,  1026,  1030,   886,   884,   885,
1910     1066,  1048,  1057,   611,   610,     0,     0,   457,   726,     0,
1911        0,   457,   727,     0,     0,     0,   941,   879,     0,     0,
1912      653,   959,     0,     0,     0,   933,     0,     0,     0,     0,
1913        0,  1038,   962,     0,     0,   961,  1042,  1041,     0,   862,
1914     1065,   865,  1051,  1059,     0,   861,  1064,   864,  1049,  1058,
1915        0,  1068,  1062,   866,  1044,  1054,     0,  1063,   867,  1046,
1916     1055,   919,   920,   923,   922,   921,     0,   924,   926,     0,
1917        0,     0,     0,    77,     0,  1138,  1156,     0,     0,     0,
1918        0,     0,     0,  1220,     0,     0,     0,     0,     0,     0,
1919        0,     0,     0,     0,   264,     0,  1071,  1218,  1076,  1078,
1920        0,     0,  1226,  1227,  1228,     0,  1234,     0,     0,     0,
1921        0,     0,     0,   158,   144,  1082,  1081,  1080,     0,     0,
1922        0,   572,     0,  1075,     0,     0,     0,     0,   452,     0,
1923        0,   457,     0,     0,     0,     0,  1160,  1163,  1165,     0,
1924     1161,  1164,  1166,     0,  1192,  1088,  1263,  1264,   237,   236,
1925        0,     0,     0,   987,     0,     0,  1244,     0,  1246,  1247,
1926        0,     0,  1145,     0,     0,   769,   264,   771,   765,   767,
1927      773,  1033,     0,     0,     0,     0,     0,     0,   858,   848,
1928      856,   850,   852,   854,   653,   965,   964,     0,   843,   833,
1929      841,   835,   837,   839,     0,     0,     0,     0,     0,     0,
1930        0,     0,     0,     0,     0,     0,     0,     0,   259,     0,
1931      762,   758,   760,   764,  1032,     0,     0,   457,     0,     0,
1932        0,   105,     0,   300,   457,     0,     0,    94,   457,     0,
1933        0,   460,   313,   309,   329,   462,   463,   328,   464,   312,
1934        0,     0,   434,   430,   303,   356,   482,   357,   483,   358,
1935      484,   363,   489,   364,   490,   368,   494,   369,   495,   376,
1936      501,   377,   502,   375,   500,   387,   512,   383,   508,   388,
1937      513,   384,   509,   394,   519,   392,   517,   399,   524,   397,
1938      522,   404,   529,   402,   527,   407,   532,   410,   535,   562,
1939        0,   578,     0,     0,     0,     0,   436,   432,   461,   321,
1940      318,     0,   465,   466,   320,     0,     0,   435,   431,   359,
1941      485,   360,   486,   361,   487,   365,   491,   366,   492,   370,
1942      496,   371,   497,   380,   505,   381,   506,   378,   503,   379,
1943      504,   389,   514,   385,   510,   390,   515,   386,   511,   395,
1944      520,   393,   518,   400,   525,   398,   523,   405,   530,   403,
1945      528,   408,   533,   411,   536,   563,     0,     0,     0,     0,
1946      437,   433,     0,     0,  1294,  1297,     0,     0,  1292,  1303,
1947     1304,     0,     0,   873,   871,   872,   877,   875,   876,   234,
1948      232,   231,   230,   264,   653,   962,   241,     0,   207,   240,
1949      127,     0,   125,   830,   824,   826,   828,     0,   653,     0,
1950       15,    19,     0,   182,   994,   653,     0,   139,     0,   137,
1951      830,     0,   264,   653,     0,    27,    84,   117,   120,   118,
1952      121,   129,   130,   131,   133,   141,   142,   114,   112,   113,
1953       13,   711,   714,     0,     0,   907,  1039,     0,     0,     0,
1954      995,   991,     0,     0,   710,   879,   896,   984,   985,   879,
1955      193,   194,   178,     0,     0,     0,     0,   599,   600,   602,
1956        0,     0,   631,   627,     0,     0,     0,     0,     0,   226,
1957      218,   216,     0,     0,     0,    36,    37,    75,    54,     0,
1958       55,     0,    63,    61,    72,    67,    73,    60,    90,    39,
1959       70,    62,    91,    59,    71,    68,     0,    58,     0,   689,
1960       33,    35,    34,  1010,  1011,     0,   619,   609,     0,   614,
1961      608,     0,   457,   728,     0,     0,     0,   959,     0,   931,
1962      942,   943,   936,   934,   935,     0,   963,   944,     0,     0,
1963      937,     0,     0,     0,  1052,  1060,  1039,  1050,  1045,  1047,
1964     1056,   930,     0,     0,     0,   927,   705,   706,   707,   457,
1965        0,     0,  1113,  1123,  1118,     0,     0,     0,  1114,  1125,
1966     1119,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1967        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1968        0,  1217,  1205,     0,  1182,   264,     0,     0,     0,  1225,
1969     1231,  1232,  1229,  1230,     0,     0,     0,     0,   145,  1110,
1970     1120,  1115,     0,   159,   569,   567,     0,     0,     0,   450,
1971      573,   570,   568,   451,   574,     0,   988,  1243,  1245,  1146,
1972        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1973      770,   772,   766,   768,   774,  1034,     0,   293,   291,     0,
1974        0,   949,   653,     0,     0,     0,     0,     0,     0,   967,
1975        0,   966,     0,     0,     0,   844,   834,   842,   836,   838,
1976      840,     0,   267,     0,   266,   295,     0,     0,     0,     0,
1977        0,     0,  1308,     0,     0,     0,     0,   354,   480,   262,
1978      108,   106,   327,   326,    99,   103,   310,     0,   311,   307,
1979      308,   579,     0,     0,     0,     0,     0,     0,   319,   316,
1980      317,     0,     0,     0,     0,  1296,  1295,  1299,     0,     0,
1981        0,  1291,  1290,     0,   959,   218,     0,     0,   123,   126,
1982        0,     0,     0,     0,     0,   995,     0,   135,   138,     0,
1983       14,   457,     0,     0,   720,     0,   879,   908,   996,   992,
1984      993,   712,   715,   897,   174,   819,     0,   243,   242,     0,
1985      630,     0,   213,   214,   204,   209,   210,   220,     0,     0,
1986       51,    46,    49,    52,    47,    50,    37,    43,    40,    42,
1987        0,     0,  1014,  1015,   618,     0,   613,     0,   962,   961,
1988      932,   945,   946,   939,   938,   940,  1036,  1035,     0,   929,
1989      928,    79,  1111,  1121,  1116,     0,  1112,  1122,  1117,     0,
1990        0,     0,     0,     0,  1221,  1195,     0,     0,  1194,  1224,
1991        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1992        0,  1202,     0,  1183,  1206,  1184,  1207,     0,     0,     0,
1993     1095,   915,  1095,     0,     0,   155,     0,     0,     0,   160,
1994        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1995      472,   292,   859,     0,   964,     0,   947,   950,   951,   277,
1996      278,     0,   968,   952,     0,     0,     0,     0,     0,     0,
1997        0,     0,     0,     0,   268,   281,   282,     0,     0,     0,
1998        0,     0,     0,     0,     0,     0,   476,   331,   330,   454,
1999      580,   421,   554,   413,   538,   425,   558,   417,   546,   455,
2000      581,   422,   555,   414,   539,   426,   559,   418,   547,   423,
2001      556,   415,   540,   427,   560,   419,   548,   424,   557,   416,
2002      541,   428,   561,   420,   549,  1298,  1300,  1293,   831,     0,
2003      124,   150,   996,     0,   136,    86,   909,     0,     0,   820,
2004        0,     0,     0,     0,     0,     0,   205,     0,   221,     0,
2005        0,  1012,  1013,  1002,     0,     0,     0,     0,   925,  1185,
2006     1186,  1189,  1190,  1193,  1223,     0,     0,     0,     0,     0,
2007        0,     0,  1199,  1208,     0,     0,     0,     0,  1093,     0,
2008     1090,  1103,     0,  1095,     0,  1095,     0,     0,     0,     0,
2009      474,   473,   966,   948,   860,   953,   954,   275,   276,   845,
2010      285,   286,     0,     0,     0,     0,   279,   280,   289,   290,
2011        0,     0,   294,  1306,  1307,  1305,   832,     0,   713,   716,
2012      718,   717,     0,     0,   215,   211,     0,   999,  1004,     0,
2013        0,     0,     0,     0,     0,     0,  1213,  1197,     0,     0,
2014     1198,  1210,     0,  1201,  1212,     0,     0,     0,  1095,     0,
2015     1095,     0,  1095,     0,  1096,     0,     0,     0,   148,     0,
2016      153,     0,   156,     0,   846,   283,   284,     0,   287,   288,
2017      171,  1000,  1187,  1188,     0,     0,  1196,  1203,     0,  1200,
2018     1211,     0,  1107,  1094,     0,     0,     0,  1104,     0,     0,
2019     1095,  1095,     0,  1095,   147,   146,   151,   149,     0,     0,
2020      354,   480,   269,     0,     0,     0,  1091,     0,     0,  1095,
2021     1100,     0,     0,  1097,     0,     0,   154,  1204,     0,  1108,
2022     1109,  1105,     0,     0,     0,     0,  1095,   152,     0,     0,
2023     1101,  1102,  1098,     0,  1092,  1106,     0,  1099
2024 };
2025
2026 /* YYDEFGOTO[NTERM-NUM].  */
2027 static const yytype_int16 yydefgoto[] =
2028 {
2029       -1,   209,    55,    56,   973,   332,   440,   441,   442,   443,
2030      444,   445,   446,   447,   987,   988,   989,   990,   991,   992,
2031      993,   994,   995,   996,   997,   998,   256,   257,   448,   449,
2032       58,   333,   334,   744,   773,   452,   453,   454,   455,   456,
2033      457,   458,   459,   460,   461,  2087,  2088,  2089,   462,   645,
2034      646,   647,   463,   464,   465,   466,  1783,   408,   504,   409,
2035      505,   410,   506,   507,   865,   411,   412,    59,    60,    61,
2036       62,    63,   335,   336,   337,   338,   339,   999,  1000,   340,
2037      341,   747,  1266,   342,   650,   344,   345,   346,   347,   348,
2038      349,   350,   351,   352,   353,   354,   355,   356,   357,   732,
2039      827,   652,  1323,   359,   360,   653,   362,   363,   364,   365,
2040      366,   367,   368,   369,   370,   371,   372,   654,   655,  1125,
2041     1325,   553,   554,   211,    65,   497,   498,   212,    67,   213,
2042      214,    68,    69,    70,    71,    72,    73,   215,   118,   216,
2043      262,   930,   931,   217,   218,   219,    77,    78,    79,    80,
2044       81,   220,   739,  1201,   265,   470,    83,    84,   487,   488,
2045      875,  1224,   717,  1048,  1049,   124,    85,   471,    87,   472,
2046      127,   128,   129,   934,   130,   119,    89,  1097,  1098,  1099,
2047       90,   579,  1215,   474,   581,  1217,   133,   185,   475,   476,
2048      187,   938,   135,  1017,  1534,  1005,  1006,  1535,   188,   189,
2049      190,   191,   740,  1202,   224,   225,   226,   227,   228,   229,
2050      658,   659,  2008,  2009,   660,   661,   662,    93,   477,   266,
2051       94,    95,   267,   268,   269,   665,   666,   667,   668,   270,
2052      669,   896,  1618,  1128,   672,   673,   674,  1129,   676,    96,
2053       97,   374,    98,    99,   100,   101,   102,   103,   833,  1395,
2054     1396,   834,   835,   375,   376,   377,   378
2055 };
2056
2057 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2058    STATE-NUM.  */
2059 #define YYPACT_NINF -1980
2060 static const int yypact[] =
2061 {
2062    38035, -1980, -1980, -1980, -1980,    32, -1980, -1980, -1980, -1980,
2063    -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2064    -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2065      811,   108, -1980, -1980, -1980, -1980, -1980, -1980,     3,    16,
2066       55,   706,   320, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2067    -1980,  2651,  3046, -1980, -1980, -1980,   208, -1980,   262,   706,
2068      275, -1980,   215,   294,  1026, -1980,   420, -1980,   719, -1980,
2069      377, -1980, -1980, -1980, -1980, -1980,   272, -1980,  1066,   429,
2070    -1980,   392,  1234, 37643,  2976,   759, 38329, -1980,   462,   481,
2071    -1980,  1834, 40946, 36221, -1980, -1980, -1980, -1980, -1980, -1980,
2072    38138, 37241,   635, -1980,   108, -1980, -1980,   320,   320,   640,
2073      549,   320, 29147,   706, -1980, -1980,   414, -1980,  2651, -1980,
2074    -1980, -1980,   550, -1980,   847,   862, -1980, -1980, 38425, -1980,
2075    -1980,  3046,  1821,  1740,  1890,  2006, 23636, -1980,   568,   806,
2076      797, 30225, 40570, -1980, 30351, -1980, -1980, -1980,   706, -1980,
2077      755,  1090,  1135,    72, 40570, -1980, 40300, 30477, 40570, 30603,
2078    -1980, 30729, -1980, -1980,   706, -1980, -1980,   647,   587, -1980,
2079    -1980,  1058, -1980,   294,   494, -1980, -1980, -1980, -1980, -1980,
2080     1159,   651,   462,  1821,  1255,  2006, 40946, 40946,   282, -1980,
2081     1154,   613,   738,   587,   866,   462,  1213, -1980, 27747,   780,
2082    -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2083      776, -1980,   453, -1980,   800, -1980, -1980,   809, -1980,   823,
2084     1428, 35364,   190,   372, -1980, -1980,   600,   660,   873,   886,
2085      357,   906, -1980,   357, -1980, -1980, -1980, -1980, -1980, -1980,
2086    -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980,   920,   945,
2087    -1980, -1980, -1980, -1980, -1980, -1980,   123,    57, -1980, -1980,
2088    -1980, -1980, -1980, -1980, -1980, 37839, -1980, 17397, 36533, 41149,
2089    17536, -1980,   947,  1041,   884, -1980, -1980,   294, 37741, -1980,
2090    -1980, -1980, -1980, -1980, -1980, -1980,   377,   392, 38905, 40946,
2091    39190, -1980, -1980, -1980, -1980, -1980,  1002,   640,   640, -1980,
2092    29147,   183, -1980, -1980, 29202, 29287, 29287,  1031, 40750, 29147,
2093    -1980, -1980,  1052,  1055, 40750, 29147,  1076,  1088,  1110,  1152,
2094     1168, 29342, -1980, -1980, 23880, -1980,   320, 12020, -1980, -1980,
2095    -1980, -1980,  1093, -1980,   128,  1113, -1980, -1980,   108, -1980,
2096    -1980, 12822, -1980,  1549, 27802, -1980,   871,   948,  1089, 29147,
2097      842,  1126,  1162,  1161,  1174,  1305,   106,  1549,  1220,   786,
2098    -1980,  1549, -1980,   933,  1030,  1375,  1012,  1240,  1216,  1259,
2099     1212,  1345,   159,  1549,   640, -1980, -1980, -1980, -1980,  1280,
2100      393, 40390,  1310,  1316, -1980, -1980, 27887, -1980, 27942, -1980,
2101      688,   700,  1286,  1334,  1821,  2171,  2540,   847, -1980, -1980,
2102      915, -1980, -1980, -1980, -1980, -1980,  1052,  1093, -1980, -1980,
2103    -1980, -1980,   639,  1359, -1980,  1089, -1980,  1375, 35479, -1980,
2104    23758, 40300, -1980,   544, 40030, 39285, -1980, -1980,  1256, -1980,
2105      706, -1980, -1980,   108, 39475, 39095,  6453, 40660, -1980, -1980,
2106     1536,  1333,  1333,  1115, -1980,  1340, -1980, -1980, -1980,   133,
2107      861,   172, -1980, -1980, 29587,  1349, -1980,  1120, -1980, -1980,
2108      345, -1980, -1980, -1980,  1369, 29721, 29847,   343,   185,   786,
2109    36325, 38521, -1980,   462,  1834, -1980, -1980, 11378, -1980, -1980,
2110     1381, -1980,   706, -1980, -1980, -1980,  1964, 40750, -1980,   544,
2111    -1980, 29973, 30099,  1385,  1392, -1980,  1399, -1980,  1403, -1980,
2112    -1980,  2594,  1405,   760, -1980, -1980, -1980, -1980,   976,   804,
2113    35479,  1009, -1980, 30855, 30981, -1980,  1009, -1980, 31107, 31233,
2114     1009, -1980, 31359, 31485, -1980, -1980,  3046,  3046,  3046, 21842,
2115      915,  1159,   651,   915, -1980, 28027, 36533, -1980,   947, 36533,
2116    -1980,   947, -1980, -1980,  3046,  3046,   915, -1980, -1980,  1409,
2117      225, -1980, -1980,  1418,  1463, 40120,  1486,  1408,  1430, -1980,
2118    31611, -1980, 31737,   503, -1980, 12663, 28082,  3046, -1980,  1219,
2119      776, -1980, -1980, -1980, -1980, -1980,   847,  1429,   462,   893,
2120      187,   132,  1336,  1476, -1980, 39760,  1480, -1980, 39850,  1499,
2121    39940,  1507, 40210, -1980, -1980, -1980,  1249, -1980, 29147,   706,
2122    -1980, -1980,  1527, -1980, -1980,   647,   587, -1980,  1519, -1980,
2123    -1980, -1980, -1980, -1980,   462,  1301,   613, -1980, -1980,  1533,
2124    -1980, 17675, -1980,   947, -1980,   180, 28167,  1529,  1540,  1542,
2125       27, 17814,  1544,   108,  1547,  1552, 17953,  1052,  2197,  1557,
2126     1564,   108, -1980, -1980,  1093,  1563,  1570,  1572,  1379, 16002,
2127     1549, 16146, 25428,  1549,  1549, -1980, 16285, 37937, -1980, -1980,
2128    -1980, -1980, -1980, 18092, 18231, 18370, 18509, -1980, -1980, -1980,
2129      947, 18648, -1980, -1980, -1980, 18787, -1980, -1980,   320,   320,
2130      640,   584,   706,  1390,  1569, -1980,   847,   759, -1980,   462,
2131     1821, 40946, 40946, 36533, -1980, -1980, 39000, 29147,   196,  1580,
2132      326, -1980, 24018, -1980, -1980, 28222, -1980, -1980, -1980, -1980,
2133    40750,  1586, -1980, -1980, -1980, -1980, -1980, 35797, 40750, 24156,
2134      108, 35903, 40750, 29147,   320,   320,   320, 29147, 23880, -1980,
2135    -1980, -1980, 12978, 13122, 13266, -1980, -1980, -1980, -1980,  8525,
2136     1587,    66, 21980, -1980, -1980,   194, -1980,   561, -1980, 22118,
2137     1581, -1980, 22256, -1980, -1980,  1525, -1980, -1980, 25486,  1530,
2138    29147, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2139    -1980, -1980, 27802,   201, -1980, -1980, -1980, -1980, 29147, 29147,
2140    29147, 29147, 29147, 29147, 29147,  1089,  1375, 29147, 29147, -1980,
2141    29147, 27802, 27802, 27802, 27802, 27802, 29147, 29147, 13410, 27802,
2142    -1980,  1539, -1980, -1980, 25571,  1550, 29147, 27802, 29147, 29147,
2143    29147, 29147, 29147, 29147, 29147, 29147, 29147, 29147, 29147, 27802,
2144    27802, 27802, 27802, 27802, 29147, 29147, 13554, 27802, -1980, -1980,
2145      595,   776, 40660, -1980, -1980, 37340, 40390, 40390, -1980,  1577,
2146     1578,  1579, -1980,  1582,  1583,  1585, -1980, -1980, -1980, -1980,
2147      847, -1980, -1980, -1980, -1980,  1588, -1980, -1980, 23636, 23636,
2148    35258,   462,   897, -1980,   659,   985,  1616, 35479,   999,  1591,
2149     1595, -1980, -1980, -1980,  1964, 35585, 39380, -1980, -1980,   108,
2150    -1980, -1980, -1980, 36429,  1593,   108, 35691,  2591, 24278,  1425,
2151    39570, -1980,  1598, -1980,   947, -1980,   947, -1980, -1980, -1980,
2152      947, -1980,  1597, -1980,   831, -1980, -1980,  4080,  4080,  1333,
2153     1333, -1980,  1333,   147, -1980,  1333,  1333, -1980, -1980,   138,
2154    -1980,  1369,   138, -1980,  1369,   902, 28307,  2488, 29147,   622,
2155    -1980,  1599,   847, 38617, -1980,   462,  1821, -1980, -1980,   718,
2156      780, 35364, 29453,   585,   357, -1980,   357,  3046, -1980, -1980,
2157    -1980, -1980,   241, -1980,   263, -1980,   343, 36325, 23636, -1980,
2158    -1980,  1607, -1980, -1980, -1980, 40300, 40300, 29147,   108, -1980,
2159    31863,   117, -1980,   -28,   956, -1980, 40300,   108,   901,   108,
2160     1526, -1980, -1980, -1980, -1980, -1980, -1980,  1333, -1980, -1980,
2161    -1980, -1980, -1980, 36635,  1438, -1980, 22394, 41048, 22532, -1980,
2162    -1980, 12215, -1980, -1980, 39665, -1980, -1980,   847,  1159, -1980,
2163      651, -1980,   847, -1980, 28027, -1980, -1980, -1980, -1980, -1980,
2164      947, -1980,   947, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2165    -1980, -1980, -1980, -1980,  1403,   118,   166,  1600, -1980, 31989,
2166    32115,  1603, -1980, 32241, 32367, 32493, -1980,   627,   398,   437,
2167     1172,  1818,  1611,  1617,  1621, -1980,  1605,  1612,  1615,   462,
2168      915,  2006,   187, 38713, 28362,   893, -1980, -1980, 40480, -1980,
2169    -1980,   776, -1980, -1980, 40480, -1980, -1980,   776, -1980, -1980,
2170    40480, -1980, -1980,   776, -1980, -1980, 40480, -1980,   776, -1980,
2171    -1980, -1980, -1980, -1980, -1980, -1980,  1630,  1634, -1980,  1386,
2172     1635,  1637,   394, -1980, 22670, -1980, -1980, 18926,  1631,  1632,
2173    19065, 29147, 29147, -1980, 28447, 28502,  1633,  1646,  1647, 10041,
2174     1648,   108, 25626,  2368,  1485, 25711, -1980,  1717, -1980, -1980,
2175    25796,  1649, -1980, -1980, -1980,  1655,  1663, 25851, 16424,   320,
2176     1667, 29147, 29147,   108, -1980, -1980, -1980, -1980, 21566,   860,
2177    27802, -1980,  1393, -1980, 29147, 13698, 13842, 27802, -1980, 29147,
2178    13986,  1533, 19204, 19343, 19482, 19621, -1980, -1980, -1980, 19760,
2179    -1980, -1980, -1980, 19899, -1980, -1980,   640,   640,  1651,  1671,
2180    35013, 35138,   915, -1980,   915, 36533, -1980, 36533, -1980, -1980,
2181     1668, 27802, -1980, 27802,   664, -1980,   343, -1980, -1980, -1980,
2182    -1980,  8525,  1672,  1673, 40840, 23636, 38233, 29147,  1674, -1980,
2183    -1980, -1980, -1980, -1980,   462,  1675,  1678,  1669,  1681, -1980,
2184    -1980, -1980, -1980, -1980, 36009, 25936,  1680,  1683,  1686, 29147,
2185     1679, 36115,  1677,   373,   337,   579,  1684,  1690, -1980,   108,
2186    -1980, -1980, -1980, -1980, -1980, 29147,   320,   265, 36736, 22808,
2187     1689, -1980, 27802, -1980,   270, 36837, 22946, -1980,   274, 36938,
2188    23084, -1980, -1980, -1980, -1980,  1244,  1697, -1980, -1980, -1980,
2189    26021,  4957, -1980, -1980,  1689, -1980, -1980, -1980, -1980, -1980,
2190    -1980,   871,   933,   871,   933,   948,  1030,   948,  1030,  1089,
2191     1375,  1089,  1375,  1089,  1375, -1980, -1980,   842,  1012, -1980,
2192    -1980,   842,  1012, -1980, -1980,  1126,  1240, -1980, -1980,  1162,
2193     1216, -1980, -1980,  1161,  1259,  1174,  1212,  1305,  1345, -1980,
2194       53, -1980, 26079,  1691,  5767,  1692, -1980, -1980, -1980, -1980,
2195    -1980,  1246, -1980, -1980, -1980, 26164,  6821, -1980, -1980, -1980,
2196    -1980, -1980, -1980, -1980, -1980,   871,   933,   871,   933,   948,
2197     1030,   948,  1030,  1089,  1375,  1089,  1375,  1089,  1375,  1089,
2198     1375, -1980, -1980,   842,  1012, -1980, -1980,   842,  1012, -1980,
2199    -1980,  1126,  1240, -1980, -1980,  1162,  1216, -1980, -1980,  1161,
2200     1259,  1174,  1212,  1305,  1345, -1980, 26222,  1694,  8377,  1696,
2201    -1980, -1980,   108,   108, -1980, -1980,   475,   929, -1980, -1980,
2202    -1980, 37441, 37542, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2203    -1980, -1980, -1980,   683,  2432,   897, -1980, 23636,   108, -1980,
2204    -1980, 23636, -1980,   937, -1980, -1980, -1980,   508,   462,  1821,
2205    -1980, -1980,   449,  1599,  1588,   462,  1821, -1980,  1711, -1980,
2206      949,   603,   979,  3046,  1712, -1980, -1980, -1980, -1980, -1980,
2207    -1980, -1980, -1980, -1980, -1980, -1980, -1980,  4810, -1980, -1980,
2208    -1980, -1980, -1980, 23222,  2258,   780, 35364, 21428,   626,   915,
2209      847, -1980,   915, 29147, -1980,   853, -1980, -1980, -1980,  1716,
2210     1597,  1581,  1599,  1017, 23636,  1029,  1034, -1980, -1980, -1980,
2211    32619, 32745,  1719, -1980,  3229, 40660, 40660, 40660, 40660, -1980,
2212    -1980, -1980, 29147,  1721, 28587, -1980,   947, -1980, -1980, 28642,
2213    -1980, 28727, -1980, -1980, -1980,  1493,  1438, -1980, -1980,  1333,
2214    -1980, -1980, -1980, -1980, -1980,  1493,  1438, -1980, 28782,  6990,
2215    -1980, -1980, -1980, -1980, -1980, 20038, -1980, -1980,   249, -1980,
2216    -1980,   257,  1720, -1980, 32871, 32997,   462,  1818,  1729, -1980,
2217    -1980, -1980, -1980, -1980, -1980,   915,   893, -1980,  1730,  1737,
2218    -1980,  1727,  1728,  1731, -1980, -1980, 35364, -1980, -1980, -1980,
2219    -1980, -1980, 29147,  1741,  1520, -1980, -1980, -1980, -1980,   280,
2220    37039, 23360, -1980, -1980, -1980, 20177, 21566, 21566, -1980, -1980,
2221    -1980, 20316, 26307, 16563, 26392, 26477, 24642, 26562, 16702, 21704,
2222     1736,  1742, 21704, 29147, 28867,  1812, 26647,  1663,  9673,   320,
2223    21704,  1753,  8069, 10041, -1980,  1494, 26702, 10504, 26787, -1980,
2224    -1980, -1980, -1980, -1980,   200,   320,  1754,  1264, -1980, -1980,
2225    -1980, -1980, 20455, -1980, -1980, -1980,  1756,  1758,   108, -1980,
2226    -1980, -1980, -1980, -1980, -1980, 40300, -1980, -1980, -1980, -1980,
2227    26842,  1752, 24918,  1755, 26927,  1760, 25003,  1763,  1761,  1762,
2228    -1980, -1980, -1980, -1980, -1980, -1980, 14130, -1980, -1980,  1776,
2229     1072, -1980,  2718,  1779,  1783,  1788,  1780,  1785, 23636,  1678,
2230    38809,  1675, 29147, 23636, 29147,  1801, -1980, -1980, -1980, -1980,
2231    -1980,  1789, -1980, 28922, -1980, -1980,  1792,  1793, 29147, 29147,
2232     1790,  9853, -1980,   108,   108, 29147, 14274, -1980, -1980,   640,
2233    -1980, -1980, -1980, -1980, -1980, -1980, -1980, 14418, -1980, -1980,
2234    -1980, -1980, 27802, 14562, 14706, 27802, 14850, 14994, -1980, -1980,
2235    -1980, 15138, 15282, 15426, 15570, -1980, -1980, -1980,   595,  1808,
2236      610, -1980, -1980,   462,   897,  1923,  1114, 23636, -1980, -1980,
2237     1807,   915,   915,  1333,   915,  1588,  1813, -1980, -1980,  1817,
2238    -1980,   300, 37140, 23498, -1980,   462,   881, -1980,   847, -1980,
2239    -1980,  1810,  1811, -1980, -1980, -1980,  1136, -1980, -1980, 33123,
2240     1822, 33249, -1980,  1823, 35479, -1980,  1827, -1980, 29147, 28027,
2241     2310, -1980, -1980,  2310, -1980, -1980, -1980,  2310, -1980, -1980,
2242    20594, 20733, -1980, -1980, -1980, 33375, -1980, 33501,   187,   893,
2243    -1980, -1980, -1980, -1980, -1980, -1980, -1980,  2006, 27012, -1980,
2244    -1980, -1980, -1980, -1980, -1980, 20872, -1980, -1980, -1980, 21011,
2245    10041, 24366, 10041, 24366, 12520, -1980, 24780, 16841, -1980, -1980,
2246    21704, 21704, 27097, 10041, 27182, 24504,  1826, 25088, 27267,   204,
2247    21150, -1980, 29147, -1980, 12520, -1980,  8069, 10041, 25173, 29007,
2248       84,  1829,    84,   226,  1828, -1980,   108, 29147, 29147,   108,
2249    27802, 27802, 27802, 27802, 27802, 27802, 27802, 27802, 15714, 15858,
2250    -1980, -1980, -1980,   462,  1678,  1832, -1980, -1980, -1980, -1980,
2251    -1980,  1146,  1675, -1980,  1837,  1838,  1844,  1846,  1205,  1847,
2252     1848, 23636, 29147, 23880, -1980, -1980, -1980,  1854,  1857,  1859,
2253     1860, 29147,  1839,  1843,  1845,  1875, -1980, -1980, -1980, -1980,
2254    -1980, -1980, -1980, -1980,   326, -1980, -1980, -1980,   326, -1980,
2255    -1980, -1980, -1980, -1980,   326, -1980, -1980, -1980,   326, -1980,
2256    -1980, -1980,   326, -1980, -1980, -1980,   326, -1980, -1980, -1980,
2257      326, -1980, -1980, -1980,   326, -1980, -1980, -1980, -1980,  1215,
2258    -1980, -1980,  1588, 27802, -1980, -1980, -1980, 29147, 29147, -1980,
2259    33627, 33753, 33879, 34005, 34131, 40660, -1980, 40660, -1980, 10309,
2260    21289, -1980, -1980, -1980, 34257, 34383, 34509, 34635, -1980,  1938,
2261     1941, -1980, -1980, -1980, -1980, 10041, 29147, 29062,  1829, 16980,
2262    17119, 25258, -1980, 12520, 24780, 27322, 17258,   108, -1980,  1081,
2263      177, -1980,    96,    84,  1883,    84,    92,   645,  1886,  1271,
2264    -1980, -1980,  1675, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2265    -1980, -1980,  1237,  1877,  1880,  1892, -1980, -1980, -1980, -1980,
2266     1884,  1885, -1980, -1980, -1980, -1980, -1980,  1895, -1980, -1980,
2267    -1980, -1980, 34761, 34887, -1980, -1980, 27407, -1980, -1980, 10041,
2268    10041, 27492, 25343, 10041, 27577, 24504,  1896, -1980, 10041, 29147,
2269    -1980, -1980, 24780, -1980, -1980,  1888,  1898,    84,    84, 29147,
2270       84,  1899,    84,  1149, -1980,   240,  1333,   636, -1980,   283,
2271    -1980,  1897, -1980,   108, -1980, -1980, -1980, 28587, -1980, -1980,
2272    -1980, -1980, -1980, -1980,  1896, 10041, -1980, -1980, 27662, -1980,
2273    -1980,   320, -1980, -1980,  1272,  1902,  1285, -1980,  1184,  1903,
2274       84,    84,  1904,    84, -1980, -1980, -1980, -1980,    92,   673,
2275    -1980, -1980, -1980, 10041,   199,  1908, -1980,  1911,  1915,    84,
2276    -1980,  1321,  1328, -1980,  1204,   696, -1980, -1980, 29147, -1980,
2277    -1980, -1980,  1347,  1916,  1917,  1919,    84, -1980,  1922,  1921,
2278    -1980, -1980, -1980,  1350, -1980, -1980,  1926, -1980
2279 };
2280
2281 /* YYPGOTO[NTERM-NUM].  */
2282 static const yytype_int16 yypgoto[] =
2283 {
2284    -1980,  2067,   112, 10144, -1980,  1990, -1980, -1980, -1980, -1980,
2285    -1980, -1980,  1584,  1589,  -929, -1980,  -890,  -964,   145,   148,
2286     -881,  -809,  -799, -1980,  -732,  -699, -1980, -1980,  1594,  1602,
2287    -1980,  1715,  3265, -1980,  -292,   608,   681, -1980, -1980, -1980,
2288    -1980,  1609, -1980, -1980, -1980,  -640, -1979,  -101, -1980, -1980,
2289    -1980, -1980,  2390,  3133,   -22,    11,   557,  -848, -1980,  -834,
2290    -1980,  -843, -1980,  1071,  -148,  1199,  -671,     1,  1774,   -13,
2291     1781,   -21,     0, -1980,  1151, -1980, -1980,  7528,  3860, -1980,
2292     5622,  -146,  1266, -1980,  3771, -1980,  -325,   391,   534,  1100,
2293    -1980,  -458,  -457,  -203,   -38,    10,   124,   914,  9076,  4373,
2294      -45,  8898,  -781,   380, -1980,  4549,  -320,   656,   856,  2026,
2295      615,   146,   161,   191,   209,   234,  1241,   526,  -421,  7106,
2296     -748,  -294,   723, 10847,   -56,  1109,  -130,  3236, 10912,  8268,
2297    -1980, -1980, -1980,   -74,   -41,   -70, -1980,  6550, -1980,  1022,
2298     3315,   620,  -795,  3736,  8758, -1980, 11214, -1980, -1980, -1980,
2299      -52,  4053, -1980, -1980,  2030,  6555,   -37, -1980, -1980,  1141,
2300     1659,  1373,  1784,   -82,   -81,  5431, 10303,  8661,  3330,  -367,
2301     -114,  -368,    77,  -851,    74,  2858, -1980, -1980, -1062, -1980,
2302     3595,  -558, -1204,  7418,  -207,  -670,   264,   210,   151,  1685,
2303     -252,  -764,  -456,  -909,  -529,  -917,  -919,   311,  1105,  1098,
2304      -24,  1849,  -716,  1374,   628,  -511,  -431, -1980,   -89,   -71,
2305     5725,   212,    31,  -391, -1980, -1980, -1980,  2004, -1980,  3316,
2306     2016,   -64,  3577,    -7,  1841,  1018,  1021, -1980, -1980, -1980,
2307      -90,  1996, -1551,   -69, -1980, -1980, -1980,     6, -1980,  2019,
2308      -55,    19,  2012,  1592, -1980, -1980, -1980,  2022,  -759,   381,
2309    -1980,  -745,   863, -1980, -1980, -1980, -1980
2310 };
2311
2312 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
2313    positive, shift that token.  If negative, reduce the rule which
2314    number is the opposite.  If zero, do what YYDEFACT says.
2315    If YYTABLE_NINF, syntax error.  */
2316 #define YYTABLE_NINF -1289
2317 static const yytype_int16 yytable[] =
2318 {
2319       64,  1143,   271,  1226,   222,   223,  1018,  1459,   508,  1458,
2320     1248,  1410,  1681,   177,   939,   718,  1412,  1255,   398,   776,
2321     1259,   722,  1065,   501,   777,  1411,   286,   175,  1113,   280,
2322      108,   110,  1514,  1520,  1524,   745,   692,  1575,   282,   392,
2323      943,   115,   176,  1249,  1032,  1387,   390,   391,   287,   109,
2324     1256,  1230,   123,  1260,  1721,  1848,   278,   393,   602,   140,
2325      196,   116,   173,   288,   149,   148,   152,  1859,  1519,   398,
2326      172,   299,   277,   499,  1073,     1,  1399,  1079,  1389,  1085,
2327      276,  1090,   163,   174,   123,  1471,   210,   285,  1433,   106,
2328     1400,   123,   840,    64,   844,     1,   537,   540,  1495,  2080,
2329       64,    64,   933,  1496,   296,  1533,  1513,   945,  1523,   104,
2330     2127,     1,  1431,   380,  1016,  1515,   383,  1525,  1492,  1536,
2331        1,     1,   491,   797,   600,   111,   297,   298,   210,   750,
2332      301,   123,   123,  1066,   902,   513,   413,   518,   112,   522,
2333      149,   467,   480,  1500,   467,  -457,  -457,  -457,   494,  1114,
2334      496,    92,   106,   496,   480,   492,   509,   467,   480,   467,
2335      181,   467,  1482,   105,   525,  2086,  2127,  1539,   514,     1,
2336      519,   138,   523,   904,   149,   148,   825,   113,   622,   536,
2337      539,   617,   299,   123,  -453,   603,   925,  1516,   299,  1526,
2338        1,   583,   755,   756,   757,  1250,  1246,  1517,   550,  1527,
2339      500,   671,  1274,  1860,   299,   299,   399,  1860,   177,   299,
2340      149,   863,   558,   797,   286,     2,   286,  2007,   937,  2081,
2341      163,   570,   175,  2077,   121,   379,   280,  2082,     1,  2013,
2342      123,   299,   175,   123,   186,   282,   287,   176,   287,  1432,
2343     1531,   615,  1480,  2121,    92,  1493,  1537,   176,   601,   798,
2344     1804,   289,    92,   696, -1036, -1036,   751,   399,  1806, -1036,
2345      532,   903,   134,   663,  1481,   608,  -109,   685,  -457,   277,
2346      648,  -100,  1057,   868,   679,  -104,   675,   695,   681,   326,
2347      851,   -82,   693,   542,  1520,  1524,     1,  1483,    64,   682,
2348       64,  1520,  1524,   680,  1540,  1520,  1524,  1997,   772,  2079,
2349      751,   -89,   826,   979,  1065,   618,   701,   758,   711,   565,
2350      549,   926,   799,   584,   711,   759,   807,   585,   760,  1519,
2351      566,  2148,  1251,  1861,   550,   106,  1519,  1998,   136,  1251,
2352     1519,  1862,  1108,  1297,  1301,  1862,  1305,  1267,   753,  1191,
2353      143,   396,   299,   825,   144,   741,     1,   184,   184,  2014,
2354      893,   895,   897,   899,   752,   181,  2086,  2015,  1052,  1523,
2355        1,  1363,  1367,  2122,  1371,   688,  1523,  2077,  1525,   903,
2356     1523,  2123,  1580,   586,  1805,  1525,   968,  -617,   299,  1525,
2357      149,   831,  1807,  1267,   968,  -612,   550,   137,   550,   942,
2358      223,   751,   156,  -109,   123,   395,     1,     1,  -100,   583,
2359      123,  -739,  -104,  -739,   141,  1581,   142, -1021,   -82, -1021,
2360     1651,  2126,  1655,   149,   915,   916,  1009,     1,   831,   299,
2361      866,   509,   145,     1,   870,   570,  1034,   939,   -89,   186,
2362      881,   582,  1009,   882,   831,   870,   889,   831,   586,   691,
2363     1526,   289,     2,  1653,   692,  1657,  1019,  1526,     2,  1021,
2364     1527,  1526,     1,  1275,  1277,  1279,     1,  1527,  1276,  1278,
2365     1280,  1527,   146,   147,  1703,   467,   467,   149,   852,  1193,
2366      929,   210,   752,   917,   123,  1892,  1053,   956,     1,    52,
2367      745,     2,   960,  1339,  1341,  1343,   163,   961,  1340,  1342,
2368     1344,   467,   467,  1065,  1054,   587,  1702,     1,   839,   588,
2369      843,   939,  1468,   974,  1556,   155,     1,   745,   933,   149,
2370      978,     1,  1820,   467,   467,   745,   829,  1578,   467,   467,
2371      160,   469,   467,   467,   469,   585,   123,   123,   123,   184,
2372      123,     2,  1244,   123,  1670,   745,  1673,   469,  1039,   469,
2373     1043,   469,   184,   381,   123,   123,   123,   688,  1532,   150,
2374      149,  -457,  -457,  -457,  1691,   831,   496,  1565,   159,    26,
2375      467,  1700,   467,   525,   588,  1047,   550,   123,   933,  1410,
2376      149,  1040,  1753,  1044,  1412,  1570,   877,  1477,  1471,  1478,
2377      123,    51,   556,  1745,   299,  1071,   589,     1,  1077,   933,
2378     1083,  1309,  1088,  1016,   671,   671,   671,   671,     1,  1102,
2379     1737,   589,  1738,   231,  1011,  1150,     1,  1010,  1157,  1799,
2380     1013,  1798,  1265,   146,   147,   299,  1520,  1524,  1769,  1375,
2381     1011,  1770,   286,   529,  1430,     1,  1802,   589,  -863,  1227,
2382        1,  1124,  1045,  1131,  1461,   295,   933,  1749,   373,     1,
2383      175,  1144,  1399,  1399,   287,   299,   134,  1782,     1,  1785,
2384      856,  1519,  -910,  1052,   399,   176,  1400,  1400,  1331,  1787,
2385     1418,   591,     1,   648,   648,   648,   648,     1,  1427,   675,
2386      675,   675,   675,  1487,  -457,   300,     1,  -457,  1056,  1441,
2387     2022,   149,  1179,   386,  1185,  1187,     1,   972,  1252,   583,
2388      123,  1523,     2,   419,  -216,  1253,   570,  1176,  1177,     1,
2389     1525,   586,  1196,   146,   147,   937,  1704,  1476, -1061,     1,
2390     1203,  1101,   590,   529,   527,  1392,  1393,  1208,  1218,   550,
2391     1228,  1208,  1218, -1061,   552,  -910,  -910,   590,  1196,  1635,
2392     -910,  1762,  1758,  1640,     2,  1957,  1642,  -910,  1644,  1239,
2393      545,   146,   147,  1233,  1234,  1235,   146,   147,  1767, -1061,
2394     1746,  1463,  1530,   590,  -863,  1262,   495,  1313,     1,  1269,
2395      857,  -910,  -910,     1,  1763,   254,   858,  1183,  2090,  2086,
2396     1562,  1053,  1526,   688,   526,   134,  -910,  1061,  -910,     1,
2397     -870,   710,  1527, -1067,  1904,  1379,   710,   592,   972,  1054,
2398      980,   980,   980,   801,   802,   803,  2146,    32,  1520,  1524,
2399        1,  1329,   146,   147,  -216,  1334,  1315,     1,   184,   184,
2400     -216,   846,   752,  1776,     1,   585,   106,  1485,  1486,  1451,
2401     1452,  1600,  1453,   847,  2157,  1455,  1456,   588,    43,    44,
2402     1394,   149,  1397,  1519,  1381,   831,   831,   831,  -459,  -459,
2403     -459,  1494,   107,  1548,   392,   469,   469,   691,   153,  1473,
2404      154,  1467,   391,   373,   787,   788,     1,  1556,   413,  1413,
2405      210,  1268,   393,     1,   974,   526,   149,   978,  -265,  -265,
2406     -265,   469,   469,  1523,   163,  1423,   570,  1167,  1171,  1144,
2407     1533,   197,  1525,   570,     1,  1438,  1440,     1,  1442,   106,
2408      831,  1981,   198,   469,   469,   146,   147,  1505,   469,   469,
2409     1769,  1770,   469,   469,     1,  1538,  1541,   555,   804,  -458,
2410     -458,  -458,   552,  1676,   552,   678,   805,   421,     1,   806,
2411     1707,  1317,   422,   146,   147,  1708,   420,   123,   559,   149,
2412      977,    -8,     1,   210,   106,  1696,   123,   398,   560,  1306,
2413      469,  1475,   469,     2,   123,  1978,   123,  1479,  1490,  1383,
2414     1633,   561,   121,   688,  1526,  1310,   149,   929,   413,  1257,
2415      745,  -459,   789,   790,  1527,   509,   509,  1372,   496,   387,
2416      467,   496,   146,   147,  1558,  1773,   509,  1501,   149,  1503,
2417      388,  1491,     1,  1376,   197,  1912,  1314,  -265,  -899,  1809,
2418      778,  -265,  1559,   528,  1665,   198,   593,  1669,  1869,   386,
2419      146,   147,  1885,  1966,   123,  1316,  1803,  1891,   939,   594,
2420      779,   780,  1898,  1183,  1380,  1063,  -457,  -457,  -457,   860,
2421      146,   147,    75,  1544,   815,   816,  1064,  1502,   596,     1,
2422      566,  1318,  -458,  1382,   688,   496,   496,    52,   671,   467,
2423      467,   671,   598,   467,   467,   467,  2047,   149,   146,   147,
2424      123,   123,   808,  -879,  -879,  1003,  1545,  1747,  -879,  1384,
2425      123,   933,   123,   210,   550,  -879,  1748,   599,   831,  1747,
2426     1802,   149,   809,   810,   831,   677,  1959,   149,  1757,   671,
2427      831,   688,  1497,   149,   781,   782,   831,  1498,   149,  -879,
2428     -879,    26,   552,   671,   671,   671,   671,   975,   134,   783,
2429      784,   933,   149,   976,   933,   179,  1416,   648,   752,   841,
2430      648,   845,   976,   675,  1016,    75,   675,  1674,   104,  1124,
2431     1419,  1131,    75,    75,   373,   399,   976,  2054,   697,  2055,
2432     1615,  -457,   817,   818,   399,  1675,  1011,   134,  1775,  -457,
2433      791,   792,  -457,  1628,   858,   146,   147,  1981,   648,  1269,
2434     1777,   582,   552,   710,   675,  1778,   976,   134,  1624,   491,
2435     -898,   976,   648,   648,   648,   648,   811,   812,   675,   675,
2436      675,   675,  1281,  1283,   719,     1,  1561,   720,   136,  1771,
2437      467,   467,   123,  1031,   123,   528,  1809,  2035,  2132,   909,
2438      910,   386,   492,  1882,   831,   157,   149,   158,   723,   858,
2439        2,   831,  1345,  1347,  2076,   413,   210,  1548,  2077,   121,
2440      724,   911,  2078,  1072,   698,   912,  1078,   913,  1084,  -625,
2441     1089,  -625,   749,   698,  1685,  -869,  2017,  -869,  -869,   698,
2442     2032,  1685,   725,  -898,  -898,  1958,   415,     1,  -898,   149,
2443      898,   858,   752,   574,   254,  -898,    28,    29,   914,   373,
2444     1556,    32,  1091,   373,   819,   820,   534,  1969,    38,  1646,
2445      396,  1013,     2,   858,  -624,  1709,  -624,  2024,  1003,  -898,
2446     -898,  1982,  2119,   858,   726,  1003,  2077,  1092,  1003,   543,
2447     2120,   544,    43,    44,  -898,  -898,  -898,   469,   469,  1058,
2448      727,    51,  -869,  1093,   565,   502,  1918,   793,   373,   515,
2449      179,  1640,   794,  -869,  1644,   566,  1659,  2138,    28,    29,
2450      179,  2077,    75,    32,   395,  2139,   795,  1285,  1287,  1583,
2451       38,   796,  1589,  1094,  1095,   373,  2029,  2155,  -869,    28,
2452       29,  2077,   858,   373,    32,  2156,  2046,  1067,   547,   136,
2453      544,    38,   858,   800,    43,    44,   737,  1349,  1351,  1109,
2454      469,   821,   386,   373,   823,  -869,  -869,  -869,  2094,  1816,
2455     1630,   824,     1,   161,   858,    43,    44,  1716,  1016,  1728,
2456     -216,  1717,  1096,  1717,  1167,  1171,  1167,  1171,   879,  1016,
2457    -1016,   535, -1016,   933,   933,   813,   814,  1865,  1896,  1091,
2458     1899,  1866,  1735,  1736,  2092,  2135,  1739,   149,  2093,  2077,
2459      822,   831,   831,   828,  1907,  1909,  1298,  1302,  2137,   848,
2460       28,    29,  2077,   149,  1092,    32,  1740,  1413,  1503,   469,
2461      469,   413,    38,   469,   469,   469,  1105,  1750,   544,   123,
2462     1093,     1,  1628,   851,  1364,  1368,   123,  1282,  1284,   836,
2463      574,  1759,   149,   123,  2153,   837,    43,    44,  2077,   785,
2464     1803,  2154,  1003,  2129,   552,  2077,     2,   849, -1035, -1035,
2465     1094,  1095,   254, -1035,   123,   901,  1766,  1346,  1348,   123,
2466     2159,  2012,   123,  2166,  2077,   149,   908,  2077,   146,   147,
2467     -216,  1636,  1637,  1638,   413,   859,  -216,  1033,   752,     1,
2468      467,   467,   574,   552,   918,   831,   831,   831,   831,  -879,
2469     -879,   958,    28,    29,  -879,   965,  1183,    32,   752,  1573,
2470     1148,  -879,   966,  1574,    38,  1447,  1449,   671,   671,  1180,
2471      415,   142,  1003,  1091,  1003,   967,  1261,  1982,     1,   671,
2472      968,  1268,   574,     1,   971,  -879,  -879,  1035,    43,    44,
2473     1328,   700,     1,  1027,   467,   467,  1646,   123,  1092,  1013,
2474      700,  1333,  1028,     1,   752,   123,   700,   562,  1016,  1036,
2475      469,   469,   198,  1510,  1093,  1511,   570,   761,   762,   763,
2476      764,   765,   766,   767,   768,   769,   770,  1976,   745,   745,
2477      745,   745,   745,   745,   745,   745,   648,   648,  1448,  1450,
2478      552,  1894,   675,   675,  1094,  1095,  1124,  1029,   648,  1124,
2479       28,    29,  1124,  1068,   675,    32,  1615,  1074,  2033,  1895,
2480     1124,   698,    38,  1124,   752,    32,  1610,  2040,  1508,     1,
2481     1509,   852,  2083,   752,  2085,  1852,  1080,  -216,  1849,  1011,
2482     1003,   981,   982,   983,  1086,  1016,    43,    44,  1144,  1286,
2483     1288,   552,  1024,  1026,  1863,   509,    43,    44,  1104,  1023,
2484     1025,  1462,  1504,   396,  1791,  1103,  1794,  1792,  1106,  1795,
2485     1110,   891,  1111,  1961,  1112,   254,  1130,   373,   373,  1350,
2486     1352,   745,  1132,  2048,  2050,   771,   582,  1133,   413,  1141,
2487      210,  1162,  1164,   413,  1163,  1165,  1142,  2114,  1145,  2116,
2488     1488,  2118,   291,   294,  1009,  1146,  1564,  1147,  1181,  1401,
2489     1402,  1239,  1567,  1913,  1914,  1192,  1205,   395,  1568,  1257,
2490     1245,  1403,  1404,  1405,  1569,  1421,  1406,  1407,   179,  1408,
2491     1420,   388,  1437,  1445,  1199,  1446,  1464,  1484,  -731,  2141,
2492     2142,  -734,  2144,   552,  1549,   146,   147,  -216,  1394,  1552,
2493     1550,   737,  1417,  -216,  1551,   752,  1553,   413,  2152,  1554,
2494     1199,   123,   123,  1571,   123,   552,  1572,  1970,  1576,  1973,
2495     1577,  1242,  1586,  1587,  1602,  2163,   149,   671,  1603,  1604,
2496     1606,  1645,  2130,  1611,  1619,  1003,  1817,  2131,   373,   467,
2497     1620,   467,  1003,  1984,   831,  1986,  1003,  1563,  1621,  1625,
2498     1971,   421,  1974,  1649,  1678,  1666,  1667,  1680,  1823,  1827,
2499     1206,  1683,  1682,  1693,  1701,   467,  1694,   467,   123,  1695,
2500     1839,  1705,  1698,  1706,    28,    29,  1985,  1711,  1987,    32,
2501     1718,     1,  1724,  1727,     1,  1732,    38,  1734,  1646,  1013,
2502     1124,  1124,  1124,  1124,  1756,  1760,   648,     1,  1601,  1774,
2503     1124,  1124,   675,  1124,  1779,  1124,     2,  1788,  -737,     2,
2504       43,    44,  1810,  1811,   574,   121,   450,  1124,   121,   450,
2505     1812,  1813,  1814,   401,  1819,  1815,  1144,  1840,  1846,  1628,
2506      469,   469,   450,  1841,   450,  1850,   450,  1864,  1867,  2010,
2507     1868,  2010,  1011,  1871,  1878,  1879,  1873,  1289,  1291,   574,
2508     1293,  1875,    28,    29,  1877,    28,    29,    32,   574,  1881,
2509       32,   413,  1886,   550,    38,   574,  1887,    38,    28,    29,
2510      737,  1888,   574,    32,  1889,  1353,  1355,  1357,  1359,  1890,
2511       38,  1901,  1902,  1911,   469,   469,  1905,  1906,    43,    44,
2512     1677,    43,    44,  1956,  -231,   671,  1960,   671,   700,  1963,
2513      565,  1967,  1968,    52,    43,    44,  1964,  1972,  1996,  1975,
2514     2052,   566,  1697,  1977,  2011,  2023,    52,  2016,   415,   415,
2515     2025,  2026,  2042,   574,    28,    29,  2043,     1,  2044,    32,
2516      467,   467,   467,   467,   467,   831,    38,   831,  2027,   574,
2517     2028,  2030,  2031,  2053,   467,   467,   467,   467,  2036,  1003,
2518       57,  2037,     2,  2038,  2039,  1124,  2124,  2125,  2045,   552,
2519       43,    44,  2059,   671,   648,  2060,   648,  2075,  2084,  2091,
2520      675,  2095,   675,   403,  2096,  2097,  1144,  1628,  2098,  2099,
2521     2100,  2106,  2111,  2112,  2117,  2136,  2128,  2145,  2140,  2143,
2522      373,   114,  2010,  2149,  2010,  1003,  2150,  1003,    28,    29,
2523     2151,  2160,  2161,    32,  2162,  2164,  2165,  1499,  1994,    57,
2524       38,  2167,   467,   467,  1003,  1786,   151,  1409,   415,  1124,
2525     1124,   949,   683,  1124,  1454,  1124,   950,    54,  1124,   684,
2526     1332,   951,   648,    57,    43,    44,    57,  1489,   675,   952,
2527       28,    29,   255,    57,  1764,    32,   955,  1628,   272,  1144,
2528       57,    57,    38,  1144,   886,  1231,  2010,  2010,   721,  2010,
2529     1979,  2010,  1237,    57,   290,  1124,   382,  1003,  2113,   279,
2530      878,   664,   281,   293,   616,   283,    43,    44,    57,  1955,
2531        0,     0,     0,     0,     0,     0,   407,     0,  1144,  1628,
2532     2134,   407,   255,  1124,   407,     0,     0,     0,     0,  2010,
2533     2010,     0,  2010,     0,   255,  1144,    57,   407,   255,   407,
2534      170,   407,     0,     0,     0,     0,     0,     0,  2010,   469,
2535       54,   469,   417,     0,     0,     0,     0,    54,    54,     0,
2536        0,     0,     0,     0,     0,  2010,   255,   255,     0,     0,
2537      450,   450,   538,   541,     0,   469,     0,   469,   407,     0,
2538        0,     0,   953,     0,     0,     0,  1772,     0,     0,     0,
2539        0,     0,   557,     0,     0,     0,   450,   450,   552,     0,
2540      552,    57,     0,     0,     0,     0,  2071,     0,  2074,   373,
2541        0,     0,     0,  1663,   552,   552,     0,     0,   450,   450,
2542        0,   373,     0,   450,   450,     0,     0,   450,   450,     0,
2543        0,    18,    19,     0,     0,    28,    29,     0,     0,     0,
2544       32,     0,     0,     0,     0,   255,     0,    38,   255,   255,
2545      644,     1,     0,     0,   623,     0,   670,     0,    57,     0,
2546        0,    28,    29,     0,     0,   450,    32,   450,    57,   255,
2547       57,    43,    44,    38,  2110,   694,     2,     0,   568,  1003,
2548        0,     0,     0,     0,   853,   121,     0,     0,   255,     0,
2549        0,     0,     0,     0,   255,   415,     0,    43,    44,     0,
2550        0,     0,     0,     0,   407,     0,     0,  -457,     0,  1139,
2551     -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,     0,     0,
2552        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
2553        0,     0,     0,     0,    38,   170,     0,     0,     0,     0,
2554      469,   469,   469,   469,   469,   170,     0,    54,     0,     0,
2555        0,     0,     0,     0,   469,   469,   469,   469,    43,    44,
2556        0,    57,     0,     0,     0,   786,   407,    51,   407,     0,
2557       52,     0,     0,     0,     0,     0,     0,     0,     0,   928,
2558        0,     0,     0,   373,   373,     0,     0,     0,     0,     0,
2559        0,     0,     0,     0,     0,  1897,     0,  1900,    57,     0,
2560      407,    57,    18,    19,   255,    57,     0,     0,     0,     0,
2561      880,  1908,  1910,     0,    57,   255,     0,    57,   552,     0,
2562     -457,  -457,   469,   469,     0,     0,   894,   552,     0,   900,
2563     -457,     0,    28,    29,     0,     0,   417,    32,     0,  -457,
2564     -457,  -457,  -457,  -457,    38,   407,   407,     0,     0,     0,
2565       57,    57,     0,     0,     0,     0,     0,   407,     0,     0,
2566        0,     0,   959,     0,     0,     0,     0,   255,    43,    44,
2567        0,   407,   407,     0,     0,   568,     0,     0,   574,     0,
2568     1609,     1,     0,   552,   552,     0,     0,     0,     0,     0,
2569       57,     0,     0,   407,   407,     0,    28,    29,   407,   407,
2570        0,    32,   407,   407,     0,     0,     2,   415,    38,   644,
2571        0,   415,     0,     0,     0,   121,   255,     0,     0,   255,
2572        0,     0,  1020,     0,     0,  1022,     0,   568,     0,     0,
2573        0,     0,    43,    44,     0,    57,     0,     0,     0,     0,
2574      407,    51,   407,     0,   860,    57,   407,     0,     0,  1004,
2575        0,     0,    28,    29,     0,   566,     0,    32,     0,     0,
2576        0,     0,     0,     0,    38,    57,     0,   568,    57,     0,
2577       57,     0,    57,     0,   415,     0,     0,     0,   574,    57,
2578        0,     0,     0,     0,     0,   969,     0,  -640,    43,    44,
2579        0,     0,   415,     0,     0,   373,     0,    51,     0,     0,
2580       52,  1460,     0,     0,    28,    29,     0,     0,     0,    32,
2581        0,     0,  -640,   373,     0,  2034,    38,     0,  -955,     0,
2582        0,  -640,  -640,     0,  2041,    18,    19,   698,   698,     0,
2583      698,   698,     0,     0,     0,   698,   698,   698,   698,     0,
2584       43,    44,     0,   644,   644,   644,   644,     0,     0,   670,
2585      670,   670,   670,   854,     0,    28,    29,     0,  -640,  -640,
2586       32,     0,     0,  -640,   373,     0,     0,    38,     0,     0,
2587     -640,   255,   255,   255,     0,   450,    57,  1186,  1188,  1189,
2588     2049,  2051,   407,     0,     0,    18,    19,     0,     0,     0,
2589      255,    43,    44,     0,  -640,  -640,     0,   255,   255,   407,
2590       51,   255,   255,  -640,     0,     0,  -640,     0,   407,   970,
2591        0,   968,  -640,   737,     0,    28,    29,     0,     0,    57,
2592       32,     0,   644,     0,     0,     0,     0,    38,     0,   644,
2593     1204,     0,   644,     0,     0,     0,     0,     0,     0,     0,
2594        0,     0,     0,     0,   450,   450,     0,     0,   450,   450,
2595      450,    43,    44,   170,     0,     0,     0,     0,     0,  1195,
2596       51,     0,  1004,     0,     0,     0,     0,     0,   415,  1004,
2597        0,     0,  1004,   415,   698,   698,   698,   698,   698,   698,
2598      698,   698,    28,    29,     0,  1195,     0,    32,     0,     0,
2599        0,     0,     0,     0,    38,     0,   574,     0,     0,     0,
2600        0,     0,     0,  1290,  1292,     0,  1294,     0,     0,     0,
2601        0,     0,    57,     0,     0,    57,    57,    57,    43,    44,
2602        0,     0,     0,     0,     0,     0,     0,    51,     0,     0,
2603     1206,  1354,  1356,  1358,  1360,     0,     0,   415,   407,   407,
2604       57,     0,     0,     0,     0,   920,   923,    57,    88,     0,
2605        0,     0,     0,     0,     0,   255,    57,     0,     0,     0,
2606        0,     0,     0,    57,     0,     0,   255,   698,   407,     0,
2607       57,   920,   923,     0,   417,   417,     0,     0,   415,     0,
2608        0,     0,     0,     0,     0,   450,   450,     0,     0,   568,
2609        0,     0,     0,   920,   923,     0,     0,     0,   920,   923,
2610      131,     0,   920,   923,     0,     0,     0,     0,     0,     0,
2611        0,     0,     0,    57,     0,   737,     0,     0,     0,     0,
2612        0,    57,     0,     0,   568,     0,     0,     0,     0,     0,
2613      164,   182,   195,   568,     0,     0,     0,    57,   407,   233,
2614      568,    88,     0,     0,     0,    57,    57,   568,    88,    88,
2615      407,     0,     0,     0,  1924,  1928,    57,  1934,  1938,     0,
2616        0,     0,  1942,  1946,  1950,  1954,     0,     0,     0,     1,
2617        0,     0,     0,  1506,   417,     0,   644,   255,   644,   195,
2618      400,   402,   404,   405,   255,     0,     0,     0,     0,   473,
2619        0,   415,   473,     0,     2,     0,     0,     0,   568,     0,
2620        0,     0,     0,   192,   193,   473,     0,   473,     0,   473,
2621        0,     0,     0,     0,   568,     0,  1004,  1004,  1004,   407,
2622      407,     0,     0,   407,   407,   407,     0,     0,     0,     0,
2623        0,   533,   402,   404,     0,     0,     0,     0,     0,     1,
2624       28,    29,     0,    57,   407,    32,     0,     0,    57,     0,
2625        0,     0,    38,     0,    57,     0,     0,     0,     0,     0,
2626       57,     0,     0,     0,     2,     0,    57,     0,   563,   578,
2627        0,     0,     0,   121,     0,     0,    43,    44,     0,     0,
2628        0,     0,     0,     0,   644,    51,     0,   644,    52,     0,
2629      644,     0,     0,   670,     0,     0,   670,     0,     0,     0,
2630        0,   700,   700,   700,   700,   700,   700,   700,   700,     0,
2631       28,    29,     0,   614,     0,    32,     0,     0,     0,     0,
2632        0,     0,    38,     0,  1004,     0,   182,     0,   644,     0,
2633        0,     0,     0,     0,   670,     0,   689,     0,    88,     0,
2634        0,     0,   644,   644,   644,   644,    43,    44,   670,   670,
2635      670,   670,     0,     0,     0,    51,     0,     0,    52,     0,
2636      407,   407,     0,     0,     0,   255,     0,   255,     0,     0,
2637        0,  1647,     0,  1648,    57,     0,     0,     0,     0,     0,
2638        0,    57,     0,     0,   255,   407,    57,     0,     0,     0,
2639        0,     0,     0,     0,   700,   450,   450,     0,     0,     0,
2640        0,     0,     0,     0,   255,     0,     0,     0,     0,     0,
2641        0,   255,     0,     0,     0,     0,     0,     0,     0,     0,
2642     1780,   417,  -629,     0,     0,     0,    66,     0,   255,   644,
2643        0,     0,     0,     0,     0,   255,   644,     0,     0,   255,
2644      644,     0,   400,   402,   404,     0,     0,  -629,     0,   450,
2645      450,  1658,     0,     0,     0,     0,  -629,  -629,  1660,     0,
2646        0,     0,     0,     0,     0,     0,   861,     0,  1004,  1004,
2647        0,     0,     0,   473,     0,  1004,  1004,     0,     0,  1004,
2648     1004,     0,     0,     0,   131,     0,     0,     0,     0,     0,
2649        0,     0,     0,  -629,  -629,     0,     0,     0,  -629,     0,
2650        0,     0,     0,     0,     0,  -629,     0,     0,     0,    66,
2651        0,     0,     0,   473,   473,     0,     0,     0,   935,    66,
2652        0,     0,   946,     0,     0,   473,    66,    66,     0,  -629,
2653     -629,     0,     0,     0,   164,     0,     0,     0,  -629,   473,
2654      473,  -629,     0,     0,  1781,     0,   968,  -629,     0,     0,
2655        0,     0,     0,     0,     0,     0,     0,     0,   861,     0,
2656        0,   473,   473,     0,     0,     0,   473,   473,   482,     0,
2657      473,   473,   126,     0,   195,   195,   195,     0,     0,     0,
2658      482,    57,    57,     0,   482,     0,     0,     0,     0,     0,
2659        0,     0,   195,   195,     0,     0,   451,   407,     0,   451,
2660        0,   407,     0,   180,   126,     0,     0,     0,   473,     0,
2661      473,   232,   451,  1050,   451,  1059,   451,     0,     0,   920,
2662      923,     0,     0,   920,   923,     0,     0,     0,     0,     0,
2663      404,     0,     0,   417,     0,     0,     0,   417,     0,     0,
2664        0,     0,     0,   644,     0,     0,    57,   484,     0,     0,
2665        0,   126,   126,     0,     0,     0,     0,     0,     0,   484,
2666        0,     0,     0,   484,   407,     0,     0,     0,     0,     0,
2667      407,   407,     0,     0,     0,    57,    57,    57,    57,     0,
2668        0,     0,     0,  1004,   450,     0,   450,     0,     0,     0,
2669        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2670      417,     0,     0,   531,    66,  1796,     0,     0,     0,     0,
2671      450,     0,   450,     0,    66,     0,    66,     0,   417,     0,
2672        0,     0,     0,   568,   407,   407,     0,     0,     0,     0,
2673        0,     0,     0,     0,     0,     0,     0,     0,  1184,     0,
2674        0,     0,     0,     0,   689,     0,    57,     0,     0,     0,
2675      595,     0,     0,   597,     0,     0,     0,     0,     0,     0,
2676      255,   644,     0,     0,     0,  1214,   644,   644,     0,  1214,
2677      612,     0,   670,   670,   620,   624,     0,     0,     0,   644,
2678        0,     0,   644,     0,   670,   126,     0,   861,   921,   924,
2679      644,     0,     0,     0,     0,     0,     0,     0,   180,     0,
2680     1004,  1004,     0,     0,     0,     0,     0,     0,     0,     0,
2681        0,     0,     0,   715,   921,   924,     0,     0,     0,   715,
2682        0,     0,     0,   568,     0,    57,     0,     0,     0,     0,
2683        0,     0,     0,     0,     0,     0,   921,   924,     0,     0,
2684        0,   921,   924,     0,     0,   921,   924,     0,     0,     0,
2685      482,     0,     0,     0,     0,     0,     0,     0,   407,     0,
2686       57,   482,     0,   407,     0,     0,     0,     0,     0,     0,
2687        0,     0,     0,     0,     0,   450,   450,   450,   450,   450,
2688        0,    57,     0,     0,     0,     0,     0,     0,     0,   450,
2689      450,   450,   450,     0,   417,     0,     0,     0,     0,   417,
2690        0,     0,     0,     0,     0,     0,     0,     0,  1414,     0,
2691        0,     0,     0,   482,   126,   861,     0,     0,     0,     0,
2692      451,   451,   164,   861,  1428,     0,    76,   407,     0,   873,
2693        0,  1435,   954,     0,   861,     0,  1443,     0,     0,     0,
2694      873,     0,   255,   644,     0,     0,   451,   451,     0,     0,
2695        0,     0,     0,     0,     0,     0,   126,   450,   450,   407,
2696        0,   407,     0,   417,    57,     0,     0,     0,   451,   451,
2697        0,     0,     0,   451,   451,   131,     0,   451,   451,     0,
2698        0,     0,  1004,  1004,  1472,   407,     0,   407,     0,   578,
2699        0,     0,   964,     0,   232,   131,     0,     0,     0,     0,
2700        0,     0,     0,     0,   417,   935,     0,     0,     0,    76,
2701        0,     0,     0,     0,     0,   451,     0,   451,   473,    76,
2702      644,   644,   670,     0,     0,     0,    76,    76,   402,     0,
2703        0,     0,     0,     0,     0,   621,   625,     0,     0,     0,
2704        0,   568,   620,     0,     0,   620,   126,   126,   126,     0,
2705     1008,     0,   935,   597,     0,   657,     0,     0,     0,     0,
2706        0,     0,     0,     0,   126,   126,   126,     0,   485,     0,
2707      920,   923,     0,   343,     0,     0,     0,     0,     0,     0,
2708      485,   407,     0,   407,   485,   126,     0,   473,   473,     0,
2709        0,   473,   473,   473,     0,     0,     0,   414,  1546,   400,
2710        0,     0,     0,     0,     0,     0,     0,     0,     0,   404,
2711        0,     0,     0,     0,     0,     0,     0,   417,     0,     0,
2712        0,     0,    66,     0,   920,   923,     0,     0,     0,     0,
2713        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2714        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2715      407,   407,   407,   407,   407,    57,     0,    57,     0,   414,
2716        0,     0,     0,     0,   407,   407,   407,   407,     0,   620,
2717      624,  1168,  1172,     0,     0,     0,     0,     0,     0,     0,
2718        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2719      670,     0,   670,     0,     0,     0,     0,     0,     0,   620,
2720        0,     0,     0,     0,    76,     0,     0,     0,     0,     0,
2721      232,     0,     0,     0,    76,     0,    76,     0,     0,     0,
2722        0,     0,  1212,  1222,     0,   892,  1212,  1222,   473,   473,
2723        0,     0,   407,   407,     0,     0,     0,     0,     0,     0,
2724        0,     0,     0,    82,     0,     0,     0,     0,     0,   861,
2725        0,     0,   861,     0,  1672,     0,     0,     0,   670,     0,
2726        0,   414,     0,     0,     0,   703,   706,   708,     0,     0,
2727      414,   302,  1214,     1,   303,   106,   414,     0,     0,  1214,
2728        0,     0,   729,     0,     0,     0,     0,     0,   343,     0,
2729        0,     0,     0,     0,     0,     0,     0,     0,     2,     0,
2730        0,   482,     0,   621,     0,   414,   621,     0,     0,     0,
2731      414,     0,   482,     0,     0,     0,     0,     0,     0,     0,
2732        0,     0,     0,     0,     0,     0,    82,     0,     0,     0,
2733        0,     0,     0,     0,     0,   307,    82,     0,     0,     0,
2734        0,   308,   309,    82,    82,     0,     0,   414,     0,   414,
2735      485,     0,     0,     0,     0,   312,     0,     0,     0,     0,
2736        0,   485,   921,   924,     0,     0,   921,   924,   313,     0,
2737        0,     0,   314,   315,   316,   317,   318,   319,   320,     0,
2738     1426,   414,     0,     0,     0,   486,     0,     0,   322,     0,
2739        0,  1426,   705,     0,   775,     0,     0,   486,     0,     0,
2740        0,   486,   326,   327,     0,     0,     0,     0,   126,     0,
2741        0,     0,     0,   485,     0,     0,  1126,     0,     0,     0,
2742        0,     0,     0,     0,     0,   451,     0,     0,     0,     0,
2743      621,   625,  1169,  1173,     0,     0,     0,     0,     0,     0,
2744        0,     0,     0,     0,     0,     0,     0,   126,   657,   657,
2745      657,   657,     0,     0,     0,     0,     0,     0,     0,     0,
2746      621,     0,  1743,     0,   595,     0,   597,   126,     0,     0,
2747        0,     0,     0,     0,     0,     0,     0,  1752,     0,     0,
2748        0,     0,     0,     0,   400,     0,     0,     0,     0,     0,
2749      414,   195,     0,     0,   451,   451,     0,     0,   451,   451,
2750      451,     0,     0,     0,     0,     0,     0,     0,     0,   612,
2751        0,     0,  1765,     0,   578,     0,     0,     0,     0,     0,
2752        0,    82,     0,     0,     0,     0,     0,   414,     0,     0,
2753        0,    82,     0,    82,     0,     0,     0,     0,   473,   473,
2754        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2755      920,   923,     0,   920,   923,     0,     0,     0,     0,   343,
2756        0,     0,     0,     0,   920,   923,   920,   923,     0,     0,
2757      126,   126,     0,     0,     0,     0,     0,     0,     0,     0,
2758        0,     0,     0,     0,     0,     0,     0,   414,     0,     0,
2759        0,     0,   473,   473,     0,   400,     0,     0,     0,     0,
2760        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2761        0,     0,     0,  1584,   578,     0,  1590,     0,     0,     0,
2762        0,     0,    76,     0,     0,     0,     0,     0,     0,     0,
2763        0,     0,   920,   923,     0,   451,   451,     0,     0,     0,
2764        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2765        0,     0,     0,     0,  1631,     0,     0,     0,   414,     0,
2766        0,     0,     0,     0,     0,     0,     0,   874,  1168,  1172,
2767     1168,  1172,     0,     0,     0,   358,     0,     0,   874,     0,
2768        0,     0,     0,     0,   343,     0,  1136,     0,   343,     0,
2769        0,   620,     0,   620,     0,     0,     0,     0,     0,     0,
2770        0,     0,   595,   414,   597,     0,     0,     0,     0,   612,
2771      414,     0,     0,   414,     0,     0,     0,     0,     0,     0,
2772     1883,     0,     0,     0,  1474,     0,     0,     0,     0,  1689,
2773      874,     0,     0,   343,     0,     0,  1689,     0,     0,   414,
2774      414,   414,   414,   414,   414,   414,     0,     0,   414,   414,
2775        0,   414,   414,   414,   414,   414,   414,   414,   414,     0,
2776      343,     0,     0,     0,     0,     0,     0,     0,   343,   414,
2777      414,   414,   414,   414,   414,   414,   414,   414,   414,   414,
2778      414,   414,   414,   414,   414,   414,   414,     0,   343,     0,
2779        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2780        0,   485,     0,     0,     0,     0,     0,     0,  1264,     0,
2781        0,     0,   485,   921,   924,     0,     0,     0,     0,   414,
2782      414,     0,     0,     0,     0,     0,     0,   473,     0,   473,
2783        0,     0,   861,   651,     0,     0,     0,     0,     0,     0,
2784        0,  1296,  1300,  1304,  1308,  1312,     0,     0,  1321,     0,
2785        0,   361,     0,   473,  1264,   473,     0,     0,     0,     0,
2786        0,     0,     0,     0,     0,   404,     0,   921,   924,  1362,
2787     1366,  1370,  1374,  1378,  1585,   416,  1321,  1591,     0,     0,
2788        0,     0,     0,     0,     0,     0,     0,   414,     0,   414,
2789      748,     0,   657,     0,     0,   657,     0,     0,     0,     0,
2790        0,     0,     0,     0,  1126,     0,     0,     0,     0,     0,
2791        0,     0,     0,     0,     0,  1632,     0,     0,     0,   414,
2792        0,     0,     0,     0,     0,     0,     0,     0,   414,  1169,
2793     1173,  1169,  1173,   657,     0,     0,     0,   416,     0,    82,
2794        0,     0,     0,     0,     0,   451,   451,   657,   657,   657,
2795      657,     0,   621,     0,   621,     0,     0,   414,     0,   414,
2796        0,     0,     0,   126,     0,     0,     0,     0,     0,     0,
2797        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2798        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2799        0,     0,     0,     0,     0,     0,     0,     0,     0,   451,
2800      451,     0,     0,     0,     0,     0,     0,  -457,  -457,  -457,
2801     -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,   473,   473,
2802      473,   473,   473,     0,     0,   414,     0,     0,     0,     0,
2803        0,     0,   473,   473,   473,   473,     0,     0,     0,   416,
2804        0,     0,     0,   704,   707,   709,     0,     0,   416,     0,
2805        0,     0,     0,     0,   416,     0,     0,     0,     0,     0,
2806      730,     0,     0,     0,     0,   414,   361,   126,     0,     0,
2807        0,     0,     0,     0,     0,     0,   414,     0,     0,     0,
2808        0,     0,     0,   416,     0,     0,     0,     0,   416,     0,
2809        0,     0,  1824,  1828,     0,     0,     0,     0,  1015,     0,
2810      473,   473,   343,   343,     0,  1584,     0,     0,  1590,     0,
2811        0,     0,     0,     0,     0,     0,  1631,     0,   874,     0,
2812     -457,  -457,     0,     0,     0,   416,     0,   416,     0,   874,
2813     -457,     0,     0,     0,     0,  -457,  -457,  -457,     0,  -457,
2814     -457,  -457,  -457,  -457,     0,     0,     0,     0,   302,     0,
2815        1,   303,   106,   304,     0,   305,   306,     0,     0,   416,
2816        0,  1100,     0,     0,     0,     0,   414,     0,   414,     0,
2817        0,     0,  1607,     0,     0,     2,     0,     0,     0,     0,
2818        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2819      414,     0,     0,     0,   651,     0,     0,     0,     0,     0,
2820     1634,     0,     0,     0,     0,     0,   414,  1641,     0,     0,
2821      414,     0,   307,   343,     0,     0,     0,   414,   308,   309,
2822      310,   414,     0,     0,     0,     0,   651,   651,   651,   651,
2823        0,   311,   312,     0,   451,     0,   451,     0,     0,     0,
2824        0,  1321,     0,  1321,     0,   313,     0,     0,     0,   314,
2825      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
2826      451,     0,   451,     0,     0,   322,   323,     0,   416,   324,
2827     1158,   325,     0,     0,  1159,     0,     0,     0,     0,   326,
2828      327,  1720,   328,   329,   330,   331,  1232,     0,     0,     0,
2829     1236,     0,     0,   921,   924,     0,   921,   924,     0,     0,
2830        0,     0,     0,     0,     0,   416,     0,   921,   924,   921,
2831      924,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2832        0,   748,     0,     0,     0,     0,     0,     0,   126,     0,
2833        0,     0,     0,     0,     0,  1273,     0,   361,     0,     0,
2834        0,     0,     0,     0,     0,     0,  1824,  1828,     0,     0,
2835        0,     0,     0,  1825,  1829,     0,     0,     0,     0,     0,
2836        0,     0,  1327,     0,     0,   416,   625,   748,     0,   625,
2837     1338,   657,   657,     0,     0,   921,   924,   625,   414,     0,
2838        0,  1126,   414,  1126,   657,     0,     0,   657,     0,     0,
2839     1391,     0,     0,     0,     0,   657,     0,     0,  1126,     0,
2840        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2841        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2842        0,     0,     0,     0,   414,   451,   451,   451,   451,   451,
2843        0,     0,     0,     0,   414,     0,   416,     0,     0,   451,
2844      451,   451,   451,     0,     0,   414,     0,     0,     0,     0,
2845        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2846        0,     0,   361,   414,     0,   343,   361,     0,     0,     0,
2847      414,     0,   414,     0,     0,     0,     0,     0,     0,     0,
2848        0,   416,     0,     0,     0,     0,     0,     0,   416,   414,
2849        0,   416,     0,     0,     0,     0,     0,     0,     0,     0,
2850        0,     0,     0,     0,     0,     0,     0,   451,   451,     0,
2851        0,   361,     0,     0,     0,     0,     0,   416,   416,   416,
2852      416,   416,   416,   416,     0,     0,   416,   416,     0,   416,
2853      416,   416,   416,   416,   416,   416,   416,     0,   361,     0,
2854        0,     0,   414,     0,     0,     0,   361,   416,   416,   416,
2855      416,   416,   416,   416,   416,   416,   416,   416,   416,   416,
2856      416,   416,   416,   416,   416,     0,   361,     0,     0,     0,
2857        0,     0,     0,     0,     0,     0,     0,  1015,     0,     0,
2858        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2859        0,     0,     0,     0,     0,     0,     0,   416,   416,     0,
2860        0,     0,     0,     0,     0,     0,     0,   625,   625,     0,
2861        0,     0,     0,     0,     0,  1126,  1126,  1126,  1126,     0,
2862        0,  1126,     0,     0,     0,   657,   657,     0,  1126,     0,
2863     1126,     0,     0,     0,     0,     0,     0,     0,     0,   414,
2864        0,     0,  1126,   414,   414,   414,     0,     0,     0,     0,
2865        0,     0,     0,     0,   343,     0,     0,     0,     0,   414,
2866      414,     0,     0,     0,     0,   416,   343,   416,     0,     0,
2867      651,     0,     0,   651,     0,     0,     0,     0,     0,     0,
2868        0,     0,   651,     0,   414,   414,     0,   414,   414,     0,
2869        0,     0,   414,   414,   414,   414,     0,   416,     0,     0,
2870        0,     0,     0,     0,  1626,  1627,   416,     0,   414,     0,
2871        0,   651,     0,  1273,     0,     0,     0,  1639,     0,     0,
2872     1338,     0,  1643,     0,   414,   651,   651,   651,   651,     0,
2873        0,     0,     0,     0,     0,   416,     0,   416,     0,     0,
2874        0,     0,     0,     0,     0,     0,     0,     0,     0,   414,
2875        0,     0,     0,   397,     0,     0,     0,     0,     0,     0,
2876        0,     0,     0,     0,     0,     0,     0,  1917,     0,     0,
2877        0,     0,  1920,  1922,  1926,  1930,  1932,  1936,     0,     0,
2878     1126,  1940,  1944,  1948,  1952,     0,     0,     0,     0,  1126,
2879        0,  1126,     0,     0,     0,     0,     0,     0,     0,     0,
2880        0,     0,     0,   416,   397,     0,     0,     0,     0,     0,
2881        0,     0,     0,     0,     0,  1713,     0,     0,     0,     0,
2882        0,     0,     0,     0,     0,     0,     0,     0,   343,   343,
2883        0,   414,   414,   414,   414,   414,   414,   414,   414,     0,
2884        0,     0,   576,   416,  1126,  1126,     0,     0,  1126,     0,
2885     1126,     0,     0,  1126,   416,     0,     0,  1126,     0,     0,
2886        0,     0,   414,   414,     0,     0,     0,     0,     0,     0,
2887        0,     0,   414,     0,     0,     0,     0,     0,     0,     0,
2888      361,   361,     0,     0,     0,     0,     0,     0,     0,     0,
2889     1126,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2890        0,     0,     0,     0,     0,     0,     0,     0,     0,   686,
2891        0,     0,     0,     0,     0,     0,     0,     0,  1126,     0,
2892        0,     0,     0,     0,   414,     0,     0,     0,   414,   414,
2893        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2894        0,     0,     0,     0,   416,     0,   416,     0,     0,     0,
2895        0,     0,     0,   468,     0,     0,   468,     0,   302,     0,
2896        1,   303,   106,   304,     0,   305,   306,     0,   416,   468,
2897        0,   468,     0,   468,     0,     0,     0,     0,     0,     0,
2898        0,     0,     0,     0,   416,     2,     0,     0,   416,     0,
2899        0,   361,     0,     0,     0,   416,     0,     0,     0,   416,
2900        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2901        0,     0,     0,     0,     0,   850,     0,     0,     0,     0,
2902        0,   855,   307,     0,     0,     0,     0,     0,   308,   309,
2903      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2904      343,   311,   312,     0,     0,     0,     0,     0,     0,     0,
2905        0,     0,     0,     0,     0,   313,     0,     0,   343,   314,
2906      315,   316,   317,   318,   319,   320,   321,  1015,     0,     0,
2907        0,     0,     0,     0,     0,   322,   323,     0,     0,   324,
2908     1158,   325,   649,     0,  1725,     0,     0,     0,  1726,   326,
2909      327,   932,   328,   329,   330,   331,     0,     0,  1015,     0,
2910        0,     0,     0,     0,     0,     0,     0,     0,     0,   343,
2911        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2912        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2913        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2914        0,     0,     0,     0,     0,     0,     0,     0,     0,   651,
2915      651,  1007,     0,     0,  1012,     0,   416,     0,     0,   651,
2916      416,   651,   651,     0,     0,   651,     0,  1007,     0,     0,
2917        0,     0,     0,   651,     0,     0,   651,     0,     0,     0,
2918        0,     0,     0,     0,     0,     0,     0,     0,   576,     0,
2919        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2920        0,   576,   416,     0,     0,     0,     0,     0,     0,     0,
2921        0,     0,   416,     0,     0,     0,     0,     0,     0,     0,
2922        0,     0,     0,   416,     0,     0,     0,     0,     0,     0,
2923        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2924        0,   416,     0,   361,     0,     0,     0,     0,   416,     0,
2925      416,     0,     0,     0,     0,     0,  1015,     0,     0,     0,
2926        0,     0,     0,     0,     0,     0,     0,   416,  1915,     0,
2927        0,     0,     0,     0,     0,     0,     0,   468,   468,     0,
2928     1713,     0,     0,     0,     0,  1639,     0,     0,  1643,     0,
2929        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2930        0,     0,     0,   468,   468,     0,     0,     0,     0,     0,
2931        0,   686,     0,     0,     0,     0,     0,   686,     0,     0,
2932      416,     0,     0,     0,     0,   468,   468,     0,     0,     0,
2933      468,   468,     0,     0,   468,   468,     0,     0,     0,     0,
2934        0,  1001,     0,     0,     0,     0,     0,     0,     0,     0,
2935        0,     0,  1015,     0,     0,     0,     0,     0,     0,     0,
2936        0,     0,     0,  1015,     0,     0,     0,     0,     0,     0,
2937        0,     0,   468,     0,   468,     0,     0,     0,     0,     0,
2938        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2939        0,     0,     0,   651,   651,   651,   651,     0,     0,   651,
2940        0,     0,     0,   651,   651,     0,   651,     0,   651,     0,
2941        0,     0,     0,     0,     0,     0,     0,   416,     0,     0,
2942      651,   416,   416,   416,     0,     0,     0,     0,     0,     0,
2943     2018,  2019,   361,     0,     0,     0,     0,   416,   416,     0,
2944        0,     0,     0,   649,   361,     0,     0,     0,     0,     0,
2945        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2946        0,     0,   416,   416,     0,   416,   416,     0,     0,     0,
2947      416,   416,   416,   416,     0,   649,   649,   649,   649,     0,
2948        0,     0,     0,     0,     0,     0,   416,     0,     0,     0,
2949        0,     0,     0,     0,     0,     0,     0,   686,     0,     0,
2950        0,     0,   416,     0,  1434,     0,     0,     0,     0,     0,
2951        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2952        0,     0,     0,     0,     0,     0,     0,   416,     0,     0,
2953        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2954        0,     0,  1015,     0,     0,     0,  1127,     0,     0,     0,
2955        0,     0,     0,     0,  1001,     0,     0,  1470,   651,     0,
2956        0,  1001,   576,     0,  1001,     0,     0,   651,     0,   651,
2957        0,     0,     0,     0,     0,     0,     0,     0,   932,     0,
2958     1166,  1170,     0,     0,     0,     0,     0,     0,     0,     0,
2959        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2960        0,     0,     0,     0,     0,     0,   361,   361,     0,   416,
2961      416,   416,   416,   416,   416,   416,   416,     0,     0,  1015,
2962        0,     0,   651,   651,     0,   932,   651,     0,   651,     0,
2963        0,   651,     0,     0,     0,   651,     0,     0,     0,     0,
2964      416,   416,  2115,     0,   302,     0,     1,   303,   106,   304,
2965      416,   305,   306,     0,     0,     0,     0,     0,     0,     0,
2966     1015,     0,     0,     0,     0,     0,     0,     0,   651,     0,
2967        0,     2,   397,     0,     0,     0,     0,     0,     0,     0,
2968      121,   576,     0,   576,     0,     0,     0,     0,     0,     0,
2969        0,     0,     0,     0,     0,     0,   651,     0,     0,     0,
2970        0,     0,   416,     0,     0,     0,   416,   416,   307,     0,
2971        0,  2158,     0,     0,   308,   309,   310,    28,    29,   468,
2972      468,     0,    32,     0,     0,     0,     0,   311,   312,    38,
2973        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2974       74,   313,     0,     0,     0,   314,   315,   316,   317,   318,
2975      319,   320,   321,    43,    44,     0,     0,     0,     0,     0,
2976        0,   322,   887,     0,     0,   888,   731,   325,     0,     0,
2977        0,     0,     0,     0,     0,   326,   327,     0,   328,   329,
2978      330,   331,   468,     0,     0,     0,     0,     0,     0,     0,
2979        0,   117,     0,     0,     0,     0,     0,     0,     0,     0,
2980        0,     0,     0,   686,     0,   686,     0,     0,  1001,     0,
2981     1001,     0,     0,     0,     0,     0,     0,     0,   361,     0,
2982        0,     0,     0,   178,     0,     0,     0,     0,     0,     0,
2983        0,   221,   261,    74,     0,     0,   361,     0,     0,     0,
2984       74,    74,     0,     0,     0,     0,     0,     0,     0,     0,
2985        0,   468,   468,     0,     0,   468,   468,   468,   384,     0,
2986        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2987        0,     0,     0,   221,     0,     0,     0,     0,     0,     0,
2988        0,   418,   483,     0,     0,     0,     0,   361,     0,     0,
2989        0,     0,     0,     0,   483,     0,     0,     0,   483,     0,
2990        0,   510,     0,     0,     0,     0,     0,     0,     0,     0,
2991        0,     0,     0,     0,     0,     0,  1001,     0,     0,   649,
2992        0,     0,   649,     0,     0,     0,   261,   261,     0,     0,
2993        0,   649,     0,     0,     0,     0,     0,     0,     0,     0,
2994        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2995        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2996      649,   573,     0,     0,     0,     0,     0,     0,     0,     0,
2997        0,     0,     0,     0,   649,   649,   649,   649,     0,     0,
2998        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2999        0,     0,   468,   468,     0,     0,     0,     0,     0,     0,
3000        0,     0,     0,     0,     0,   611,     0,     0,   261,   261,
3001      261,     0,   302,     0,     1,   303,   106,   304,   178,   305,
3002      306,     0,  1582,     0,     0,  1588,     0,     0,   178,   261,
3003       74,     0,     0,     0,  1605,     0,     0,     0,     0,     2,
3004        0,     0,     0,     0,     0,     0,     0,     0,   714,     0,
3005      686,     0,     0,     0,   714,     0,     0,  1755,     0,     0,
3006        0,  1001,     0,  1629,   736,     0,     0,     0,  1001,     0,
3007        0,     0,  1001,     0,     0,     0,   307,  1166,  1170,  1166,
3008     1170,     0,   308,   309,   310,  1434,     0,   576,     0,     0,
3009     1768,     0,     0,  1012,     0,   311,   312,     0,     0,     0,
3010        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
3011        0,     0,     0,   314,   315,   316,   317,   318,   319,   320,
3012      321,     0,     0,     0,     0,     0,   832,     0,     0,   322,
3013      323,     0,     0,   324,  1158,   325,     0,     0,  1159,     0,
3014        0,     0,     0,   326,   327,  1730,   328,   329,   330,   331,
3015        0,     0,     0,     0,     0,     0,     0,     0,   573,     0,
3016        0,     0,     0,     0,   872,   867,   510,     0,   850,     0,
3017      876,     0,     0,     0,     0,   872,   576,     0,     0,   883,
3018        0,  -870,   890,     0,  -870,  -870,  -870,   576,  -870,  -870,
3019        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3020        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3021      573,     0,     0,     0,     0,     0,   941,     0,     0,     0,
3022        0,     0,   957,     0,     0,     0,     0,   963,     0,     0,
3023        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3024        0,     0,     0,     0,     0,  -870,     0,     0,     0,     0,
3025      573,  -870,  -870,  -870,     0,     0,     0,     0,     0,     0,
3026        0,     0,     0,     0,  -870,     0,     0,     0,     0,   261,
3027        0,     0,     0,     0,     0,  1001,   261,     0,  -870,   261,
3028        0,     0,  -870,  -870,  -870,  -870,  -870,  -870,  -870,  -870,
3029        0,     0,     0,     0,     0,     0,     0,     0,  -870,     0,
3030      221,     0,   468,   468,  -870,  -870,     0,  -870,  -870,  -870,
3031      221,     0,  -870,  -870,     0,  -870,  -870,  -870,  -870,     0,
3032        0,  1001,     0,  1001,     0,     0,     0,     0,     0,     0,
3033      221,     0,     0,   221,     0,   221,     0,   221,     0,     0,
3034        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3035        0,     0,     0,     0,     0,     0,   468,   468,     0,     0,
3036        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3037        0,     0,   686,   686,     0,  1962,     0,     0,  1140,     0,
3038        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3039        0,     0,     0,  1001,     0,     0,     0,     0,   649,   649,
3040        0,     0,     0,   261,   261,   261,   261,     0,   649,     0,
3041      649,   649,     0,     0,   649,     0,     0,     0,     0,     0,
3042        0,     0,   649,     0,     0,   649,     0,     0,     0,  1007,
3043        0,   261,   261,   261,     0,     0,   178,     0,     0,     0,
3044        0,     0,  1198,     0,     0,     0,     0,     0,     0,     0,
3045      261,     0,     0,     0,     0,     0,     0,  1211,  1221,   736,
3046        0,  1211,  1221,     0,     0,     0,     0,     0,  1198,     0,
3047        0,     0,     0,     0,     0,     0,     0,     0,     0,  1241,
3048        0,     0,   261,     0,     0,     0,     0,     0,     0,   261,
3049        0,     0,   261,     0,     0,     0,     0,     0,     0,     0,
3050        0,  1822,  1826,     0,     0,     0,     0,     0,     0,     0,
3051        0,  1835,     0,  1838,  1582,     0,     0,  1588,     0,     0,
3052        0,     0,     0,     0,     0,  1629,     0,     0,  1851,     0,
3053        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3054        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3055        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3056        0,     0,     0,     0,     0,     0,   656,     0,     0,     0,
3057        0,     0,   573,     0,     0,  1001,     0,     0,     0,     0,
3058      832,   832,   832,     0,     0,     0,     0,     0,     0,     0,
3059        0,   468,     0,   468,     0,     0,     0,     0,     0,     0,
3060        0,     0,     0,   418,   418,   221,     0,   573,    91,     0,
3061        0,     0,     0,     0,     0,  1425,   573,   468,     0,   468,
3062      734,     0,     0,   573,     0,     0,  1425,   117,   736,     0,
3063      573,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3064        0,     0,   649,   649,   649,   649,     0,     0,   649,     0,
3065        0,     0,   649,   649,     0,   649,     0,   649,     0,   120,
3066      132,     0,     0,     0,     0,     0,     0,     0,     0,   649,
3067        0,     0,     0,     0,     0,     0,     0,     0,  1466,     0,
3068        0,   573,     0,     0,     0,     0,     0,     0,     0,     0,
3069        0,   183,   132,     0,     0,     0,   230,   573,     0,     0,
3070        0,    91,     0,   418,     0,     0,     0,     0,    91,    91,
3071      510,   510,     0,     0,     0,     0,     0,     0,     0,     0,
3072        0,   510,     0,     0,     0,     0,   385,     0,     0,     0,
3073        0,     0,   734,     0,     0,     0,   261,   261,   261,   394,
3074        0,     0,     0,     0,   611,  1989,  1990,  1991,  1992,     0,
3075        0,  1993,     0,     0,     0,  1822,  1826,     0,  1835,     0,
3076     1838,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3077        0,     0,  2002,     0,     0,     0,     0,     0,     0,     0,
3078        0,     0,   468,   468,   468,   468,   468,     0,     0,     0,
3079      530,     0,     0,     0,     0,     0,   468,   468,   468,   468,
3080        0,     0,     0,   546,     0,     0,     0,   649,   221,     0,
3081        0,     0,     0,   221,     0,     0,   649,     0,   649,  1566,
3082        0,     0,     0,     0,     0,  1566,     0,     0,     0,   580,
3083        0,   221,     0,     0,     0,     0,     0,     0,     0,     0,
3084        0,     0,     0,     0,   261,     0,     0,   261,     0,     0,
3085      261,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3086        0,     0,     0,  1140,   468,   468,     0,     0,     0,     0,
3087        0,   649,   649,   132,     0,   649,     0,   649,     0,     0,
3088      649,     0,     0,     0,   649,     0,   183,     0,   261,     0,
3089        0,     0,     0,     0,     0,     0,   690,     0,    91,     0,
3090        0,     0,   261,   261,   261,   261,     0,     0,     0,     0,
3091     1993,     0,     0,     0,     0,     0,     0,   649,     0,  2070,
3092        0,  2073,     0,     0,     0,   261,     0,   261,     0,     0,
3093        0,     0,  1138,     0,     0,     0,     0,     0,     0,     0,
3094        0,  1662,     0,     0,   611,   649,     0,     0,  1156,     0,
3095      418,   221,     0,     0,     0,     0,     0,     0,     0,   656,
3096      656,   656,   656,     0,  1688,     0,     0,     0,     0,     0,
3097        0,  1688,     0,     0,  2102,  2103,     0,     0,  2070,     0,
3098     2073,     0,     0,  2107,     0,     0,     0,  2109,   261,   261,
3099        0,     0,     0,     0,     0,   261,   261,     0,   734,   261,
3100      261,   734,     0,     0,     0,     0,     0,     0,     0,     0,
3101        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3102     2109,     0,     0,     0,   734,     0,   862,     0,     0,  1156,
3103        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3104        0,     0,     0,     0,   132,   746,     0,     0,  2147,     0,
3105        0,     0,     0,     0,     0,     0,  1271,     0,     0,     0,
3106        0,     0,   774,     0,     0,     0,     0,     0,     0,     0,
3107        0,     0,     0,     0,     0,     0,     0,     0,   936,     0,
3108        0,   944,     0,     0,     0,     0,     0,     0,     0,     0,
3109        0,     0,     0,     0,  1324,     0,     0,     0,     0,     0,
3110        0,     0,  1336,     0,     0,     0,     0,     0,     0,     0,
3111        0,     0,     0,     0,     0,     0,     0,     0,   862,     0,
3112        0,     0,  1388,     0,     0,     0,     0,     0,     0,     0,
3113        0,     0,     0,     0,   132,   132,   132,     0,     0,     0,
3114        0,     0,     0,     0,     0,     0,   832,   832,     0,     0,
3115        0,     0,   132,   132,     0,     0,     0,     0,     0,     0,
3116        0,     0,   418,     0,     0,     0,   418,     0,     0,     0,
3117        0,     0,     0,  1051,     0,  1060,     0,     0,     0,     0,
3118        0,     0,     0,     0,   734,     0,  1062,     0,     0,     0,
3119        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3120        0,     0,     0,   261,     0,     0,   573,     0,     0,     0,
3121        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3122        0,     0,   546,     0,     0,     0,     0,     0,     0,   418,
3123        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3124      418,  1784,   418,  1784,     0,     0,     0,     0,     0,     0,
3125        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3126     -457,     0,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,
3127     -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,
3128     -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,     0,     0,
3129        0,     0,     0,     0,     0,     0,     0,  1182,     0,     0,
3130        0,     0,     0,     0,   690,     0,   573,     0,     0,     0,
3131        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3132      261,   261,     0,     0,  -457,  1216,   261,   261,     0,  1216,
3133     -457,  -457,  -457,     0,     0,     0,     0,     0,     0,   261,
3134        0,     0,   261,  -457,  -457,     0,     0,   862,     0,     0,
3135      261,     0,     0,     0,  1135,     0,     0,  -457,     0,     0,
3136        0,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,     0,
3137        0,     0,     0,     0,     0,     0,     0,  -457,  -457,  -457,
3138     -457,  -457,  -457,  -457,  -457,  -457,  -457,     0,     0,  -457,
3139      510,  -457,  -457,     0,  -457,  -457,  -457,  -457,  -457,  -457,
3140     -457,  -457,  -457,   656,     0,     0,   656,  1593,  1595,     0,
3141     1598,     0,     0,     0,     0,     0,     0,     0,  1608,     0,
3142        0,     0,     0,   418,     0,   221,  1617,     0,   418,     0,
3143        0,     0,     0,  1156,     0,     0,     0,     0,     0,     0,
3144        0,   736,     0,     0,   656,     0,     0,     0,     0,     0,
3145        0,  1156,     0,     0,     0,     0,  1156,     0,   656,   656,
3146      656,   656,     0,     0,     0,     0,     0,     0,   862,  1415,
3147        0,     0,     0,     0,     0,   862,   746,     0,     0,     0,
3148        0,     0,     0,   862,  1429,     0,     0,  1652,     0,  1656,
3149     1272,  1436,   418,     0,   862,   120,   132,     0,     0,     0,
3150        0,     0,   261,   261,     0,     0,     0,     0,     0,  1295,
3151     1299,  1303,  1307,  1311,     0,     0,  1320,  1326,     0,     0,
3152        0,  1156,   746,     0,   573,  1337,     0,     0,     0,     0,
3153        0,     0,     0,     0,     0,   132,     0,  1361,  1365,  1369,
3154     1373,  1377,     0,  1469,  1320,  1390,     0,     0,     0,   580,
3155      260,     0,     0,     0,     0,   132,     0,     0,     0,     0,
3156        0,     0,     0,     0,     0,   936,  1156,     0,   302,     0,
3157        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
3158      261,   261,     0,     0,     0,     0,     0,     0,     0,     0,
3159        0,     0,     0,     0,     0,     2,     0,     0,     0,     0,
3160        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3161        0,     0,   936,     0,     0,     0,     0,     0,  1156,     0,
3162        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3163        0,  1156,   307,     0,     0,     0,     0,     0,   308,   309,
3164      310,     0,     0,   736,   260,   260,   418,     0,     0,     0,
3165        0,   311,   312,     0,     0,     0,     0,     0,  1547,     0,
3166        0,     0,     0,     0,     0,   313,     0,  1555,     0,   314,
3167      315,   316,   317,   318,   319,   320,   321,     0,     0,   572,
3168        0,     0,  1156,     0,     0,   322,   323,     0,     0,   324,
3169     1158,   325,     0,     0,  1725,     0,     0,     0,  1733,   326,
3170      327,     0,   328,   329,   330,   331,     0,     0,     0,     0,
3171        0,     0,     0,     0,     0,     0,     0,     0,     1,     0,
3172      418,     0,   418,   610,     0,     0,   260,   260,   260,     0,
3173        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3174        0,     0,     0,     2,     0,     0,     0,   260,     0,     8,
3175        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
3176       19,    20,    21,    22,    23,    24,   713,     0,     0,     0,
3177        0,     0,   713,     0,     0,     0,     0,     0,     0,     0,
3178        0,    27,   735,     0,     0,     0,     0,     0,     0,    28,
3179       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
3180       37,    38,    39,     0,     0,     0,     0,     0,     0,   862,
3181        0,     0,   862,     0,  1216,    40,     0,     0,     0,     0,
3182        0,     0,  1679,     0,     0,    43,    44,    45,    46,    47,
3183       48,     0,  1216,     0,    51,     0,     0,   860,     0,  1216,
3184     1135,     0,     0,     0,     0,     0,     0,     0,   566,     0,
3185        0,    86,     0,     0,     0,     0,     0,     0,     0,     0,
3186        0,     0,     0,     0,     0,     0,     0,     0,  1272,     0,
3187        0,     0,     0,     0,     0,  1337,   572,     0,     0,     0,
3188        0,     0,   656,   656,     0,     0,     0,     0,  1156,     0,
3189     1156,     0,     0,  1156,   656,     0,     0,     0,     0,  1842,
3190     1845,     0,  1847,    86,     0,     0,     0,     0,     0,  1320,
3191        0,  1320,  1156,     0,  1858,     0,     0,     0,     0,     0,
3192        0,     0,     0,     0,     0,     0,     0,     0,   572,     0,
3193        0,     0,     0,     0,    86,    86,     0,     0,     0,     0,
3194        0,     0,    86,     0,    86,     0,  1156,     0,     0,     0,
3195     1156,    86,    86,     0,     0,     0,     0,     0,     0,     0,
3196        0,     0,     0,     0,     0,     0,     0,     0,   572,     0,
3197     1712,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3198        0,     0,    86,    86,     0,     0,     0,   260,     0,     0,
3199        0,     0,     0,     0,   260,     0,     0,   260,     0,     0,
3200        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3201        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3202        0,     0,  1744,     0,     0,     0,     0,     0,     0,     0,
3203        0,     0,     0,     0,    86,     0,  1751,     0,     0,     0,
3204      263,     0,     0,  1754,     0,     0,     0,     0,     0,     0,
3205        0,   394,     0,     0,     0,     0,     0,     0,     0,     0,
3206        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3207        0,     0,  1436,     0,   580,     0,     0,     0,     0,     0,
3208        0,    86,     0,     0,    86,     0,     0,     0,     0,     0,
3209        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3210        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3211        0,     0,     0,     0,  1156,     0,    86,     0,     0,     0,
3212        0,   260,   260,   260,   260,     0,     0,     0,     0,    86,
3213        0,     0,   656,  1156,   263,   263,     0,     0,     0,    86,
3214     1156,    86,     0,     0,  1847,     0,  2000,     0,     0,   260,
3215      260,   260,     0,     0,  1808,  2006,     0,     0,     0,     0,
3216     1197,     0,     0,     0,     0,     0,     0,     0,   260,   575,
3217        0,     0,     0,     0,   580,  1210,  1220,   735,     0,  1210,
3218     1220,     0,     0,     0,     0,     0,  1197,     0,     0,     0,
3219        0,     0,     0,     0,     0,     0,     0,  1240,     0,   734,
3220      260,     0,     0,     0,     0,     0,     0,   260,     0,     0,
3221      260,     0,     0,   613,     0,     0,   263,   263,   263,     0,
3222        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3223        0,     0,     0,     0,     0,     0,     0,   263,     0,     0,
3224        0,     0,     0,     0,     0,    86,     0,     0,     0,     0,
3225        0,     0,     0,     0,     0,     0,   716,     0,     0,     0,
3226        0,     0,   716,     0,     0,     0,     0,     0,     0,     0,
3227        0,     0,   738,     0,     0,     0,     0,     0,     0,     0,
3228     1884,     0,     0,     0,     0,     0,     0,    86,     0,     0,
3229      572,     0,  2062,  2065,     0,  1156,     0,  1156,     0,     0,
3230      656,  1156,   656,     0,     0,     0,     0,     0,     0,     0,
3231        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3232        0,     0,     0,     0,     0,   572,     0,     0,     0,     0,
3233        0,     0,     0,     0,   572,     0,     0,     0,     0,     0,
3234        0,   572,     0,     0,     0,     0,   735,     0,   572,     0,
3235        0,  1415,     0,     0,     0,     0,     0,  1156,     0,     0,
3236     1156,     0,     0,     0,     0,     0,   575,     0,   656,     0,
3237        0,     0,     0,  1754,     0,     0,     0,    86,    86,    86,
3238        0,    86,     0,     0,    86,     0,     0,     0,     0,     0,
3239        0,     0,   862,     0,     0,    86,    86,    86,     0,   572,
3240        0,     0,     0,     0,  1156,     0,     0,     0,     0,     0,
3241        0,     0,   733,     0,     0,   572,    86,     0,   575,     0,
3242        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3243        0,     0,     0,     0,     0,  1712,     0,     0,     0,     0,
3244     1919,  1921,  1925,  1929,  1931,  1935,     0,     0,     0,  1939,
3245     1943,  1947,  1951,     0,   260,   260,   260,     0,   575,     0,
3246        0,     0,   610,     0,   551,     0,     0,     0,     0,     0,
3247        0,     0,     0,     0,     0,     0,     0,   263,     0,     0,
3248        0,     0,     0,     0,   263,     0,     0,   263,     0,     0,
3249        0,  1679,     0,     0,     0,     0,     0,     0,     0,     0,
3250        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3251        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3252        0,     0,     0,     0,   733,     0,     0,     0,     0,     0,
3253        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3254        0,    86,     0,     0,     0,     0,     0,    86,     0,     0,
3255        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3256        0,     0,   260,     0,     0,   260,   699,     0,   260,     0,
3257        0,     0,     0,     0,     0,   551,     0,     0,     0,     0,
3258        0,   551,     0,     0,     0,     0,     0,     0,  1921,  1925,
3259     1931,  1935,  1939,  1943,  1947,  1951,     0,     0,     0,     0,
3260        0,     0,     0,     0,     0,     0,   260,     0,     0,     0,
3261        0,   263,   263,   263,   263,     0,     0,     0,     0,     0,
3262      260,   260,   260,   260,     0,     0,     0,     0,     0,     0,
3263        0,     0,     0,     0,     0,     0,     0,     0,     0,   263,
3264      263,   263,     0,   260,     0,   260,     0,     0,     0,     0,
3265     1200,     0,   551,     0,   551,     0,     0,     0,   263,  1661,
3266        0,     0,   610,     0,     0,  1213,  1223,   738,     0,  1213,
3267     1223,     0,     0,     0,     0,     0,  1200,     0,     0,     0,
3268        0,     0,  1687,     0,     0,     0,     0,  1243,     0,  1687,
3269      263,     0,     0,     0,     0,     0,     0,   263,     0,     0,
3270      263,     0,     0,     0,     0,     0,   260,   260,     0,     0,
3271        0,     0,     0,   260,   260,     0,     0,   260,   260,     0,
3272        0,     0,     0,     0,  1137,     0,     0,     0,     0,     0,
3273        0,     0,     0,     0,     0,     0,     0,     0,     0,    86,
3274     1155,     0,     0,     0,  1160,     0,     0,     0,     0,     0,
3275        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3276        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3277        0,     0,     0,     0,     0,     0,     0,     0,    86,     0,
3278      575,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3279      733,     0,     0,   733,     0,  1002,     0,     0,    86,     0,
3280        0,     0,     0,     0,     0,     0,     0,  1225,     0,     0,
3281        0,     0,     0,     0,     0,   575,   733,     0,     0,     0,
3282        0,  1155,  1160,     0,   575,     0,     0,     0,     0,     0,
3283        0,   575,   551,     0,     0,     0,   738,     0,   575,     0,
3284        0,     0,     0,     0,     0,     0,     0,     0,  1270,     0,
3285        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3286        0,     0,     0,     0,   302,     0,     1,   303,   106,   304,
3287        0,   305,   306,     0,     0,     0,     0,     0,     0,     0,
3288        0,     0,     0,     0,     0,     0,  1322,     0,     0,   575,
3289        0,     2,   551,     0,  1335,     0,     0,     0,     0,     0,
3290        0,    86,    86,     0,     0,   575,     0,     0,     0,     0,
3291        0,     0,     0,     0,  1386,     0,     0,     0,     0,     0,
3292        0,   260,     0,     0,   572,     0,     0,     0,   307,     0,
3293        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
3294        0,     0,     0,     0,   263,   263,   263,   311,   312,     0,
3295        0,     0,   613,     0,     0,     0,     0,     0,     0,     0,
3296        0,   313,     0,  1190,     0,   314,   315,   316,   317,   318,
3297      319,   320,   321,     0,     0,     0,   733,     0,     0,     0,
3298        0,   322,   323,     0,     0,   324,  1158,   325,  1623,     0,
3299     1159,     0,     0,     0,     0,   326,   327,     0,   328,   329,
3300      330,   331,     0,     0,     0,     0,     0,     0,  1002,     0,
3301        0,     0,     0,     0,     0,  1002,     0,     0,  1002,     0,
3302        0,     0,     0,     0,   572,     0,     0,     0,     0,     0,
3303        0,     0,     0,    86,     0,    86,     0,     0,   260,   260,
3304        0,     0,     0,     0,   260,   260,     1,     0,     0,     0,
3305        0,     0,   263,     0,     0,   263,     0,   260,   263,     0,
3306      260,     0,     0,     0,     0,     0,     0,     0,   260,     0,
3307        0,     2,     0,     0,     0,     0,     0,     8,     9,    10,
3308       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
3309       21,    22,    23,    24,     0,     0,   263,     0,     0,     0,
3310        0,     0,     0,     0,     0,     0,     0,     0,     0,    27,
3311      263,   263,   263,   263,     0,     0,     0,    28,    29,     0,
3312        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
3313       39,     0,     0,   263,     0,   263,     0,     0,     0,     0,
3314        0,     0,     0,    40,     0,     0,     0,     0,     0,  1664,
3315        0,     0,   613,    43,    44,    45,    46,    47,    48,   735,
3316        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3317        0,     0,  1690,     0,     0,     0,     0,     0,     0,  1690,
3318        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3319        0,     0,  1002,     0,   551,     0,   263,   263,     0,  1592,
3320     1594,     0,  1597,   263,   263,     0,     0,   263,   263,     0,
3321     1137,     0,     0,  1160,     0,     0,     0,     0,  1616,     0,
3322      260,   260,     0,     0,     0,  1155,  1160,     0,     0,     0,
3323        0,     0,   302,   551,     1,   303,   106,   304,     0,   305,
3324      306,     0,   572,  1155,  1160,     0,     0,     0,  1155,     0,
3325        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
3326        0,     0,  1002,     0,  1002,     0,     0,     0,     0,     0,
3327        0,     0,     0,     0,     0,     0,     0,     0,     0,  1650,
3328        0,  1654,     0,  1115,  1116,  1117,   629,  1118,  1119,  1120,
3329     1121,   634,   635,  1122,    86,     0,   307,     0,   260,   260,
3330        0,     0,   308,   309,   310,     0,     0,     0,     0,     0,
3331       32,     0,     0,  1155,     0,   311,   312,  1123,     0,   639,
3332      640,   641,     0,     0,     0,     0,     0,     0,     0,   313,
3333      551,     0,     0,   314,   315,   316,   317,   318,   319,   320,
3334      321,    43,    44,     0,     0,     0,     0,     0,     0,   322,
3335      323,     0,     0,   324,     0,   325,   642,     0,  1155,  1160,
3336      254,   735,   643,   326,   327,     0,   328,   329,   330,   331,
3337     1002,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3338        0,   551,     0,     0,     0,     0,   122,     0,     0,     0,
3339        0,     0,     0,   139,     0,     0,     0,     0,    86,     0,
3340        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3341     1155,   263,  1160,     0,   575,     0,   162,   171,   194,     0,
3342        0,     0,     0,  1155,  1160,     0,     0,     0,     0,     0,
3343        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3344        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3345        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3346        0,     0,     0,     0,     0,   122,   122,     0,     0,     0,
3347        0,     0,     0,   551,  1155,     0,  1160,     0,     0,     0,
3348        0,     0,   493,     0,     0,     0,     0,     0,     0,     0,
3349        0,     0,     0,     0,     0,   551,     0,     0,   524,     0,
3350      302,     0,     1,   303,   106,   304,     0,   305,   306,     0,
3351        0,     0,     0,     0,   575,  1002,     0,   122,     0,     0,
3352        0,     0,  1002,     0,     0,     0,  1002,     2,   263,   263,
3353        0,     0,     0,     0,   263,   263,     0,     0,     0,     0,
3354        0,     0,     0,     0,     0,   125,     0,   263,     0,     0,
3355      263,     0,     0,     0,   162,   569,     0,     0,   263,     0,
3356        0,     0,     0,     0,   307,     0,     0,     0,     0,     0,
3357      308,   309,   310,     0,     0,     0,   125,   125,     0,     0,
3358        0,     0,     0,   311,   312,     0,     0,     0,     0,     0,
3359        0,     0,     0,     0,     0,     0,     0,   313,     0,   171,
3360        0,   314,   315,   316,   317,   318,   319,   320,   321,     0,
3361        0,     0,   171,     0,     0,     0,     0,   322,   323,     0,
3362        0,   324,   569,   325,   125,   125,  2056,  2057,  1014,     0,
3363        0,   326,   327,     0,   328,   329,   330,   331,     0,     0,
3364        0,     0,     0,     0,     0,     0,     0,     0,     0,   738,
3365        0,     0,     0,     0,     0,     0,     0,     0,     0,    86,
3366     1818,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3367        0,     0,     0,     0,     0,     0,   125,     0,     0,     0,
3368     1155,  1160,  1155,  1160,     0,  1155,  1837,     0,     0,     0,
3369        0,  1592,  1844,     0,  1616,  1854,  1160,     1,   303,   106,
3370      304,     0,   305,   306,  1155,  1160,  1616,     0,     0,     0,
3371      263,   263,     0,     0,   577,     0,     0,     0,     0,     0,
3372        0,     0,     2,     0,     0,     0,     0,     0,   122,  1002,
3373        0,     0,   575,     0,   122,     0,     0,     0,  1155,   551,
3374     1160,     0,  1155,     0,  1160,     0,     0,     0,     0,     0,
3375        0,     0,     0,     0,     0,     0,     0,     0,   125,   307,
3376        0,     0,     0,     0,     0,   308,   309,   310,     0,     0,
3377      569,   125,     0,     0,     0,  1002,     0,  1002,   311,   312,
3378        0,   687,     0,     0,     0,     0,     0,     0,   263,   263,
3379        0,     0,   313,     0,  1002,     0,   314,   315,   316,   317,
3380      318,   319,   320,   321,   569,     0,     0,     0,     0,     0,
3381        0,     0,   322,   323,     0,     0,   324,  1158,   325,  1855,
3382      162,  1159,     0,     0,     0,     0,   326,   327,     0,   328,
3383      329,   330,   331,     0,     0,     0,     0,     0,     0,     0,
3384        0,     0,     0,     0,     0,     0,     0,  1002,     0,     0,
3385        0,   738,     0,     0,     0,     0,     0,     0,     0,     0,
3386      122,   122,   122,     0,   122,     0,     0,   122,     0,     0,
3387        0,     0,     0,     0,     0,     0,     0,     0,   122,   122,
3388      122,     0,     0,     0,     0,     0,     0,   125,     0,     0,
3389        0,     0,     0,   577,     0,     0,     0,   524,     0,   569,
3390        0,   122,     0,     0,     0,     0,  1155,     0,     0,     0,
3391        0,     0,     0,     0,   122,     0,     0,     0,     0,     0,
3392        0,     0,     0,     0,     0,  1155,     0,     0,     0,   125,
3393     1160,     0,  1155,  1837,     0,  1160,  1616,     0,  1999,     0,
3394     2001,     0,     0,     0,     0,     0,  1160,  2005,   551,     0,
3395      551,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3396        0,     0,     0,   577,   551,   551,     0,     0,     0,     0,
3397        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3398        0,     0,     0,     0,     0,     0,     0,     0,     0,  1923,
3399     1927,   733,  1933,  1937,     0,     0,     0,  1941,  1945,  1949,
3400     1953,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3401        0,     0,     0,     0,     0,     0,  1178,     0,     0,   125,
3402      125,   125,     0,   125,   122,     0,   687,     0,     0,  1002,
3403      569,     0,     0,     0,     0,     0,     0,   125,   125,   125,
3404        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3405        0,     0,     0,     0,     0,     0,     0,     0,   125,     0,
3406      577,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3407        0,     0,     0,   577,     0,     0,     0,     0,     0,     0,
3408        0,     0,     0,     0,  2061,  2064,     0,  1155,  1160,  1155,
3409        0,     0,     0,  1155,  1837,     0,     0,     0,     0,     0,
3410        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3411        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3412        0,     0,     0,     0,     0,     0,     0,     0,     0,   258,
3413        0,     0,     0,     0,     0,     0,  1923,  1927,  1933,  1937,
3414     1941,  1945,  1949,  1953,     0,     0,     0,     0,     0,  1155,
3415     1160,     0,  1155,  1837,     0,     0,     0,  2108,     0,     0,
3416        0,     0,     0,     0,     0,     0,     0,     0,   551,     0,
3417        0,     0,     0,     0,     0,     0,     0,   551,     0,   481,
3418        0,     0,     0,   687,     0,     0,     0,     0,     0,   687,
3419        0,   481,     0,     0,   259,   481,  1155,     0,     0,     0,
3420        0,     0,     0,     0,     0,     0,     0,     0,   162,     0,
3421      569,     0,     0,     0,     0,     0,     0,   569,     0,     0,
3422        0,     0,   569,   258,   258,     0,     0,     0,     0,  1002,
3423        0,     0,     0,   551,   551,     0,     0,     0,     0,     0,
3424        0,     0,     0,     0,   259,     0,     0,     0,     0,     0,
3425        0,     0,     0,     0,     0,     0,   259,     0,   571,     0,
3426      259,   122,     0,     0,     0,     0,     0,     0,     0,     0,
3427      122,     0,     0,     0,     0,   569,     0,     0,     0,     0,
3428        0,   122,     0,     0,     0,     0,     0,     0,   259,   259,
3429        0,   569,     0,     0,     0,     0,     0,     0,     0,     0,
3430        0,     0,   609,     0,     0,   258,   258,   258,     0,     0,
3431        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3432        0,     0,     0,     0,     0,     0,   258,     0,     0,     0,
3433        0,     0,     0,     0,     0,     0,     0,     0,   569,     0,
3434        0,     0,     0,     0,     0,   712,     0,     0,     0,     0,
3435        0,   712,     0,     0,     0,     0,     0,     0,     0,     0,
3436        0,     0,     0,     0,     0,     0,     0,   259,     0,   577,
3437      259,   259,   259,     0,     0,     0,   577,     0,     0,     0,
3438        0,   125,     0,     0,   122,   122,     0,     0,     0,     0,
3439        0,   259,     0,     0,   122,     0,   122,     0,     0,     0,
3440        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3441      259,     0,     0,     0,     0,     0,   259,     0,     0,     0,
3442      125,     0,     0,     0,     0,     0,     0,     0,     0,   577,
3443        0,     0,     0,     0,   577,     0,     0,     0,     0,     0,
3444      125,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3445      577,     0,     0,     0,     0,   571,     0,     0,     0,     0,
3446        0,   871,     0,     0,     0,     0,     0,     0,     0,     0,
3447        0,     0,   871,     0,     0,     0,     0,     0,     0,     0,
3448        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3449        0,     0,     0,     0,     0,     0,   264,   577,     0,     0,
3450        0,     0,     0,     0,     0,     0,     0,   571,     0,     0,
3451        0,     0,     0,     0,     0,     0,   122,     0,   122,     0,
3452        0,     0,     0,     0,   962,     0,   259,     0,     0,     0,
3453        0,     0,     0,     0,     0,     0,     0,   259,     0,     0,
3454        0,     0,     0,   125,   125,     0,   264,   571,     0,     0,
3455        0,     0,     0,   577,     0,   577,     0,     0,   264,     0,
3456        0,     0,   264,     0,     0,     0,   258,     0,     0,     0,
3457        0,     1,     0,   258,     0,     0,   258,     0,     0,     0,
3458        0,     0,     0,     0,     0,     0,     0,     0,     0,   259,
3459      264,   264,     0,     0,     0,     0,     2,   200,   201,   202,
3460      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
3461       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
3462        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3463        0,   259,     0,     0,    27,     0,   424,     0,   259,     0,
3464        0,   259,    28,    29,     0,     0,   425,    32,     0,     0,
3465       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
3466        0,     0,     0,     0,     0,     0,     0,     0,    40,   264,
3467        0,     0,   264,   264,   264,   687,     0,   687,    43,    44,
3468       45,    46,    47,    48,   206,   207,     0,    51,     0,     0,
3469      947,     0,   437,   264,     0,     0,     0,     0,     0,   948,
3470      258,   258,   258,   258,     0,     0,     0,     0,     0,     0,
3471        0,     0,   264,     0,     0,     0,     0,     0,   264,     0,
3472        0,     0,     0,     0,     0,     0,     0,     0,   258,   258,
3473      258,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3474        0,     0,     0,     0,     0,     0,     0,   258,     0,     0,
3475        0,     0,     0,     0,  1209,  1219,     0,     0,  1209,  1219,
3476        0,     0,     0,   122,     0,   259,   259,   259,   259,     0,
3477      122,     0,     0,     0,     0,     0,     0,   122,     0,   258,
3478        0,     0,     0,     0,     0,     0,   258,     0,     0,   258,
3479        0,     0,     0,   259,   259,   259,     0,     0,   122,     0,
3480      569,     0,     0,   122,     0,     0,   122,     0,     0,     0,
3481        0,     0,   259,     0,     0,     0,     0,     0,     0,   259,
3482      259,     0,     0,   259,   259,     0,     0,     0,   264,     0,
3483        0,     0,     0,     0,     0,     0,     0,     0,     0,   264,
3484        0,     0,     0,     0,   259,     0,     0,     0,     0,     0,
3485        0,   259,     0,     0,   259,     0,     0,     0,     0,     0,
3486        0,     0,     0,     0,     0,     0,     0,     0,     0,   571,
3487        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3488        0,   122,     0,     0,     0,     0,     0,     0,     0,   122,
3489        0,   264,     0,     0,     0,     0,     0,     0,     0,     0,
3490      569,     0,     0,     0,   571,     0,     0,     0,     0,     0,
3491        0,     0,  1424,   571,     0,     0,     0,     0,     0,     0,
3492      571,     0,   577,  1424,     0,     0,     0,   571,     0,   577,
3493        0,     0,     0,   264,     0,     0,   125,     0,     0,     0,
3494      264,     0,     0,   264,     0,     0,     0,     0,     0,     0,
3495        0,     0,     0,     0,     0,     0,     0,   577,     0,   577,
3496        0,     0,   577,     0,     0,   577,     0,     0,     0,     0,
3497        0,     0,     0,     0,     0,     0,     0,   259,   571,     0,
3498        0,     0,     0,     0,     0,     0,     0,     0,   259,     0,
3499        0,     0,     0,     0,   571,     0,     0,     0,     0,     0,
3500        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3501        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3502        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3503        0,     0,     0,   258,   258,   258,     0,     0,     0,     0,
3504      125,   609,     0,     0,     0,     0,     0,     0,   577,     0,
3505        0,     0,     0,     0,     0,     0,     0,     0,     0,   577,
3506        0,     0,     0,     0,     0,     0,     0,   264,   264,   264,
3507      264,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3508        0,     0,     0,     0,     0,   122,   122,     0,   122,     0,
3509        0,     0,     0,     0,     0,   264,   264,   264,   259,   259,
3510      259,     0,     0,     0,     0,     0,   259,     0,     0,     0,
3511        0,     0,     0,     0,   264,     0,     0,     0,     0,     0,
3512        0,   264,   264,     0,     0,   264,   264,     0,     0,     0,
3513        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3514        0,   258,   122,     0,   258,     0,   264,   258,     0,     0,
3515        0,     0,     0,   264,     0,     0,   264,     0,     0,     0,
3516        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3517        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3518        0,     0,     0,     0,     0,   258,     0,     0,     0,     0,
3519        0,     0,     0,     0,     0,     0,     0,     0,     0,   258,
3520      258,   258,   258,     0,     0,     0,   259,     0,     0,   259,
3521        0,   302,   259,     1,   303,   106,   304,     0,   305,   306,
3522        0,     0,   258,     0,   258,     0,     0,     0,     0,     0,
3523        0,     0,     0,     0,     0,     0,     0,     0,     2,     0,
3524        0,   609,     0,     0,   577,   577,     0,   577,     0,     0,
3525      259,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3526        0,  1686,     0,     0,   259,   259,   259,   259,  1686,     0,
3527        0,     0,     0,     0,     0,   307,     0,     0,     0,   264,
3528        0,   308,   309,   310,     0,   258,   258,   259,     0,   259,
3529      264,     0,   258,   258,   311,   312,   258,   258,     0,     0,
3530        0,   125,     0,     0,     0,     0,   259,     0,   313,     0,
3531        0,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3532        0,     0,     0,     0,     0,     0,   259,     0,   322,   323,
3533        0,     0,   324,   259,   325,     0,     0,     0,     0,   742,
3534        0,     0,   326,   327,   743,   328,   329,   330,   331,     0,
3535      259,   259,     0,     0,     0,     0,     0,   259,   259,     0,
3536        0,   259,   259,     0,     0,     0,     0,     0,     0,     0,
3537        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3538        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3539        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3540      264,   264,   264,     0,     0,     0,   754,     0,   264,     0,
3541        0,     0,   755,   756,   757,  -344,  -344,  -344,  -344,  -344,
3542     -344,  -344,  -344,     0,     0,     0,     0,     0,     0,     0,
3543        0,     0,     0,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3544     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3545     -344,  -344,  -344,  -344,  -344,  -344,     0,     0,     0,     0,
3546        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3547        0,  -344,     0,     0,     0,     0,     0,     0,     0,  -344,
3548     -344,     0,     0,     0,  -344,     0,     0,     0,     0,     0,
3549     -344,  -344,  -344,     0,     0,     0,     0,     0,     0,     0,
3550      258,     0,     0,   571,     0,  -344,     0,     0,   264,     0,
3551        0,   264,     0,     0,   264,  -344,  -344,  -344,  -344,  -344,
3552     -344,  -344,  -344,     0,  -344,  -344,  -344,   758,     0,     0,
3553     -344,  1528,  -344,  -344,     0,   759,     0,     0,   760,     0,
3554     -344,  -344,  -344,     0,  -344,  -344,  -344,  -344,  -344,     0,
3555        0,     0,   264,     0,     0,     0,     0,     0,     0,     0,
3556        0,     0,     0,     0,     0,   259,   264,   264,   264,   264,
3557        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3558        0,     0,     0,     0,     0,     0,     0,     0,     0,   264,
3559        0,   264,     0,     0,     0,     0,     0,     0,     0,     0,
3560        0,     0,     0,   571,     0,     0,     0,     0,   264,     0,
3561        0,     0,     0,     0,     0,     0,     0,   258,   258,     0,
3562        0,     0,     0,   258,   258,     0,     0,     0,   264,     0,
3563        0,     0,     0,     0,     0,   264,   258,     0,     0,   258,
3564        0,     0,     0,     0,     0,     0,     0,   258,     0,     0,
3565        0,     0,   264,   264,     0,     0,     0,     0,     0,   264,
3566      264,     0,     0,   264,   264,     0,     0,     0,     0,     0,
3567        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3568        0,     0,   259,   259,     0,     0,     0,     0,   259,   259,
3569        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3570        0,   259,     0,     0,   259,     0,     0,     0,     0,     0,
3571        0,  -457,   259,  -457,  -457,  -457,  -457,  -457,  -457,  -457,
3572     -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,
3573     -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,     0,
3574        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3575        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3576        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3577        0,     0,     0,     0,     0,  -457,     0,     0,     0,     0,
3578        0,  -457,  -457,  -457,     0,     0,     0,     0,     0,     0,
3579        0,     0,     0,     0,  -457,  -457,     0,     0,     0,   258,
3580      258,     0,     0,     0,     0,     0,     0,     0,  -457,     0,
3581        0,     0,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,
3582        0,   571,     0,     0,     0,     0,     0,     0,  -457,  -457,
3583     -457,  -457,  -457,  -457,  -457,     0,  -457,  -457,     0,     0,
3584     -457,     0,  -457,  -457,     0,  -457,  -457,  -457,  -457,  -457,
3585     -457,  -457,  -457,  -457,   199,     0,     1,     0,     0,     0,
3586        0,     0,     0,     0,   259,   259,     0,   264,     0,     0,
3587        0,     0,     0,     0,     0,     0,     0,   258,   258,     0,
3588        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
3589      564,    12,    13,    14,    15,    16,    17,    18,    19,    20,
3590       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
3591        0,     0,     0,     0,     0,     0,     0,     0,   205,    27,
3592        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
3593        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
3594       39,     0,   259,   259,     0,     0,     0,     0,     0,     0,
3595        0,     0,     0,    40,     0,     0,     0,     0,     0,     0,
3596        0,     0,     0,    43,    44,    45,    46,    47,    48,   206,
3597      207,     0,    51,     0,     0,   565,  1046,     0,     0,     0,
3598        0,     0,     0,     0,   264,   264,   566,     0,     0,     0,
3599      264,   264,     0,     0,     0,     0,     0,     0,     0,     0,
3600        0,     0,     0,   264,     0,     0,   264,     0,     0,     0,
3601        0,     0,  -344,   754,   264,  -344,  -344,  -344,  -344,   755,
3602      756,   757,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3603     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3604     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3605     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3606     -344,  -344,  -344,     0,  -344,  -344,  -344,  -344,  -344,  -344,
3607     -344,  -344,  -344,  -344,  -344,     0,     0,  -344,  -344,     0,
3608     -344,     0,     0,  -344,  -344,  -344,  -344,  -344,     0,     0,
3609     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3610     -344,  -344,  -344,  -344,  -344,  -344,  -344,     0,  -344,     0,
3611     -344,  -344,  -344,     0,  -344,  -344,  -344,  -344,  -344,  -344,
3612     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3613     -344,  -344,  -344,  -344,   758,  -344,  -344,  -344,  -344,  -344,
3614     -344,  -344,   759,  -344,  -344,   760,  -344,  -344,  -344,  -344,
3615     -344,  -344,  -344,  -344,  -344,  -344,     0,     0,     0,     0,
3616        0,     0,     0,     0,     0,     0,   264,   264,  -449,  1151,
3617        0,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3618     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3619     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3620     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3621     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,     0,
3622     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3623     -449,     0,     0,  -449,  -449,     0,  -449,     0,     0,  -449,
3624     -449,  -449,  -449,  -449,   264,   264,  -449,  -449,  -449,  -449,
3625     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3626     -449,  -449,  -449,     0,  -449,     0,  -449,  -449,  -449,     0,
3627     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3628     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3629     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3630     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3631     -449,  -449,  -304,   302,     0,     1,   303,   106,   304,  -304,
3632      305,   306,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3633     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3634        2,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3635     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3636     -304,  -304,  -304,     0,  -304,  -304,  -304,  -304,  -304,  -304,
3637     -304,  -304,  -304,  -304,  -304,     0,     0,   307,  -304,     0,
3638     -304,     0,     0,   308,   309,   310,  -304,  -304,     0,     0,
3639     -304,  -304,  -304,  -304,  -304,  -304,   311,   312,  -304,  -304,
3640     -304,  -304,  -304,  -304,  -304,  -304,  -304,     0,  -304,     0,
3641      313,  -304,  -304,     0,   314,   315,   316,   317,   318,   319,
3642      320,   321,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3643      322,   323,  -304,  -304,   324,  1238,   325,  -304,  -304,  1154,
3644     -304,  -304,  -304,  -304,   326,   327,  -304,   328,   329,   330,
3645      331,  -304,  -304,  -304,  -304,  -304,  -305,   302,     0,     1,
3646      303,   106,   304,  -305,   305,   306,  -305,  -305,  -305,  -305,
3647     -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,
3648     -305,  -305,  -305,  -305,     2,  -305,  -305,  -305,  -305,  -305,
3649     -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,
3650     -305,  -305,  -305,  -305,  -305,  -305,  -305,     0,  -305,  -305,
3651     -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,     0,
3652        0,   307,  -305,     0,  -305,     0,     0,   308,   309,   310,
3653     -305,  -305,     0,     0,  -305,  -305,  -305,  -305,  -305,  -305,
3654      311,   312,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,
3655     -305,     0,  -305,     0,   313,  -305,  -305,     0,   314,   315,
3656      316,   317,   318,   319,   320,   321,  -305,  -305,  -305,  -305,
3657     -305,  -305,  -305,  -305,   322,   323,  -305,  -305,   324,  1158,
3658      325,  -305,  -305,  1159,  -305,  -305,  -305,  -305,   326,   327,
3659     -305,   328,   329,   330,   331,  -305,  -305,  -305,  -305,  -305,
3660     -564,   302,     0,     1,   303,   106,   304,  -564,   305,   306,
3661     -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,
3662     -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,     2,  -564,
3663     -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,
3664     -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,
3665     -564,     0,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,
3666     -564,  -564,  -564,     0,     0,   307,  -564,     0,  -564,     0,
3667        0,   308,   309,   310,  -564,  -564,     0,     0,  -564,  -564,
3668     -564,  -564,  -564,  -564,   311,   312,  -564,  -564,  -564,  -564,
3669     -564,  -564,  -564,  -564,  -564,     0,  -564,     0,   313,  -564,
3670     -564,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3671     -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,   322,   323,
3672     -564,  -564,   324,  -564,   325,  -564,  -564,  -564,  -564,   742,
3673     -564,  1319,   326,   327,  -564,   328,   329,   330,   331,  -564,
3674     -564,  -564,  -564,  -564,  -565,   302,     0,     1,   303,   106,
3675      304,  -565,   305,   306,  -565,  -565,  -565,  -565,  -565,  -565,
3676     -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,
3677     -565,  -565,     2,  -565,  -565,  -565,  -565,  -565,  -565,  -565,
3678     -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,
3679     -565,  -565,  -565,  -565,  -565,     0,  -565,  -565,  -565,  -565,
3680     -565,  -565,  -565,  -565,  -565,  -565,  -565,     0,     0,   307,
3681     -565,     0,  -565,     0,     0,   308,   309,   310,  -565,  -565,
3682        0,     0,  -565,  -565,  -565,  -565,  -565,  -565,   311,   312,
3683     -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,     0,
3684     -565,     0,   313,  -565,  -565,     0,   314,   315,   316,   317,
3685      318,   319,   320,   321,  -565,  -565,  -565,  -565,  -565,  -565,
3686     -565,  -565,   322,   323,  -565,  -565,   324,  -565,   325,  -565,
3687     -565,  -565,  -565,   742,  -565,  1385,   326,   327,  -565,   328,
3688      329,   330,   331,  -565,  -565,  -565,  -565,  -565,  -575,   302,
3689        0,     1,   303,   106,   304,  -575,   305,   306,  -575,  -575,
3690     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3691     -575,  -575,  -575,  -575,  -575,  -575,     2,  -575,  -575,  -575,
3692     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3693     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,     0,
3694     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3695     -575,     0,     0,   307,  -575,     0,  -575,     0,     0,   308,
3696      309,   310,  -575,  -575,     0,     0,  -575,  -575,  -575,  -575,
3697     -575,  -575,   311,   312,  -575,  -575,  -575,  -575,  -575,  -575,
3698     -575,  -575,  -575,     0,  -575,     0,   313,  -575,  -575,     0,
3699      314,   315,   316,   317,   318,   319,   320,   321,  -575,  -575,
3700     -575,  -575,  -575,  -575,  -575,  -575,   322,   323,  -575,  -575,
3701      324,  -575,   325,  -575,  -575,  1154,  -575,  -575,  -575,  -575,
3702      326,   327,  -575,   328,   329,   330,   331,  -575,  -575,  -575,
3703     -575,  -575,  -577,   302,     0,     1,   303,   106,   304,  -577,
3704      305,   306,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3705     -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3706        2,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3707     -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3708     -577,  -577,  -577,     0,  -577,  -577,  -577,  -577,  -577,  -577,
3709     -577,  -577,  -577,  -577,  -577,     0,     0,   307,  -577,     0,
3710     -577,     0,     0,   308,   309,   310,  -577,  -577,     0,     0,
3711     -577,  -577,  -577,  -577,  -577,  -577,   311,   312,  -577,  -577,
3712     -577,  -577,  -577,  -577,  -577,  -577,  -577,     0,  -577,     0,
3713      313,  -577,  -577,     0,   314,   315,   316,   317,   318,   319,
3714      320,   321,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3715      322,   323,  -577,  -577,   324,  1158,   325,  -577,  -577,  1159,
3716     -577,  -577,  -577,  -577,   326,   327,  -577,   328,   329,   330,
3717      331,  -577,  -577,  -577,  -577,  -577,  -576,   302,     0,     1,
3718      303,   106,   304,  -576,   305,   306,  -576,  -576,  -576,  -576,
3719     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3720     -576,  -576,  -576,  -576,     2,  -576,  -576,  -576,  -576,  -576,
3721     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3722     -576,  -576,  -576,  -576,  -576,  -576,  -576,     0,  -576,  -576,
3723     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,     0,
3724        0,   307,  -576,     0,  -576,     0,     0,   308,   309,   310,
3725     -576,  -576,     0,     0,  -576,  -576,  -576,  -576,  -576,  -576,
3726      311,   312,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3727     -576,     0,  -576,     0,   313,  -576,  -576,     0,   314,   315,
3728      316,   317,   318,   319,   320,   321,  -576,  -576,  -576,  -576,
3729     -576,  -576,  -576,  -576,   322,   323,  -576,  -576,   324,  -576,
3730      325,  -576,  -576,  1154,  -576,  -576,  -576,  -576,   326,   327,
3731     -576,   328,   329,   330,   331,  -576,  -576,  -576,  -576,  -576,
3732     -338,  1880,     0,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3733     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3734     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3735     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3736     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3737     -338,     0,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3738     -338,  -338,  -338,     0,     0,  -338,  -338,     0,  -338,     0,
3739        0,  -338,  -338,  -338,  -338,  -338,     0,     0,  -338,  -338,
3740     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3741     -338,  -338,  -338,  -338,  -338,     0,  -338,     0,  -338,  -338,
3742     -338,     0,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3743     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3744     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3745     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3746     -338,  -338,  -338,  -338,  -342,  1916,     0,  -342,  -342,  -342,
3747     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3748     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3749     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3750     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3751     -342,  -342,  -342,  -342,  -342,     0,  -342,  -342,  -342,  -342,
3752     -342,  -342,  -342,  -342,  -342,  -342,  -342,     0,     0,  -342,
3753     -342,     0,  -342,     0,     0,  -342,  -342,  -342,  -342,  -342,
3754        0,     0,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3755     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,     0,
3756     -342,     0,  -342,  -342,  -342,     0,  -342,  -342,  -342,  -342,
3757     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3758     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3759     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3760     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -332,   302,
3761        0,     1,   303,   106,   304,  -332,   305,   306,  -332,  -332,
3762     -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,
3763     -332,  -332,  -332,  -332,  -332,  -332,     2,  -332,  -332,  -332,
3764     -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,
3765     -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,     0,
3766     -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,
3767     -332,     0,     0,   307,  -332,     0,  -332,     0,     0,   308,
3768      309,   310,  -332,  -332,     0,     0,  -332,  -332,  -332,  -332,
3769     -332,  -332,   311,   312,  -332,  -332,  -332,  -332,  -332,  -332,
3770     -332,  -332,  -332,     0,  -332,     0,   313,  -332,  -332,     0,
3771      314,   315,   316,   317,   318,   319,   320,   321,  -332,  -332,
3772     -332,  -332,  -332,  -332,  -332,  -332,   322,   323,  -332,  -332,
3773      324,  -332,   325,  -332,  -332,  -332,  -332,   742,  -332,  -332,
3774      326,   327,  -332,   328,   329,   330,   331,  -332,  -332,  -332,
3775     -332,  -332,  -542,   302,     0,     1,   303,   106,   304,  -542,
3776      305,   306,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
3777     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
3778        2,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
3779     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
3780     -542,  -542,  -542,     0,  -542,  -542,  -542,  -542,  -542,  -542,
3781     -542,  -542,  -542,  -542,  -542,     0,     0,   307,  -542,     0,
3782     -542,     0,     0,   308,   309,   310,  -542,  -542,     0,     0,
3783     -542,  -542,  -542,  -542,  -542,  -542,   311,   312,  -542,  -542,
3784     -542,  -542,  -542,  -542,  -542,  -542,  -542,     0,  -542,     0,
3785      313,  -542,  -542,     0,   314,   315,   316,   317,   318,   319,
3786      320,   321,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
3787      322,   323,  -542,  -542,   324,  -542,   325,  -542,  -542,  -542,
3788     -542,   742,  -542,  -542,   326,   327,  -542,   328,   329,   330,
3789      331,  -542,  -542,  -542,  -542,  -542,  -550,   302,     0,     1,
3790      303,   106,   304,  -550,   305,   306,  -550,  -550,  -550,  -550,
3791     -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,
3792     -550,  -550,  -550,  -550,     2,  -550,  -550,  -550,  -550,  -550,
3793     -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,
3794     -550,  -550,  -550,  -550,  -550,  -550,  -550,     0,  -550,  -550,
3795     -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,     0,
3796        0,   307,  -550,     0,  -550,     0,     0,   308,   309,   310,
3797     -550,  -550,     0,     0,  -550,  -550,  -550,  -550,  -550,  -550,
3798      311,   312,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,
3799     -550,     0,  -550,     0,   313,  -550,  -550,     0,   314,   315,
3800      316,   317,   318,   319,   320,   321,  -550,  -550,  -550,  -550,
3801     -550,  -550,  -550,  -550,   322,   323,  -550,  -550,   324,  -550,
3802      325,  -550,  -550,  -550,  -550,   742,  -550,  -550,   326,   327,
3803     -550,   328,   329,   330,   331,  -550,  -550,  -550,  -550,  -550,
3804     -543,   302,     0,     1,   303,   106,   304,  -543,   305,   306,
3805     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3806     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,     2,  -543,
3807     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3808     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3809     -543,     0,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3810     -543,  -543,  -543,     0,     0,   307,  -543,     0,  -543,     0,
3811        0,   308,   309,   310,  -543,  -543,     0,     0,  -543,  -543,
3812     -543,  -543,  -543,  -543,   311,   312,  -543,  -543,  -543,  -543,
3813     -543,  -543,  -543,  -543,  -543,     0,  -543,     0,   313,  -543,
3814     -543,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3815     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,   322,   323,
3816     -543,  -543,   324,  -543,   325,  -543,  -543,  -543,  -543,   742,
3817     -543,  -543,   326,   327,  -543,   328,   329,   330,   331,  -543,
3818     -543,  -543,  -543,  -543,  -551,   302,     0,     1,   303,   106,
3819      304,  -551,   305,   306,  -551,  -551,  -551,  -551,  -551,  -551,
3820     -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,
3821     -551,  -551,     2,  -551,  -551,  -551,  -551,  -551,  -551,  -551,
3822     -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,
3823     -551,  -551,  -551,  -551,  -551,     0,  -551,  -551,  -551,  -551,
3824     -551,  -551,  -551,  -551,  -551,  -551,  -551,     0,     0,   307,
3825     -551,     0,  -551,     0,     0,   308,   309,   310,  -551,  -551,
3826        0,     0,  -551,  -551,  -551,  -551,  -551,  -551,   311,   312,
3827     -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,     0,
3828     -551,     0,   313,  -551,  -551,     0,   314,   315,   316,   317,
3829      318,   319,   320,   321,  -551,  -551,  -551,  -551,  -551,  -551,
3830     -551,  -551,   322,   323,  -551,  -551,   324,  -551,   325,  -551,
3831     -551,  -551,  -551,   742,  -551,  -551,   326,   327,  -551,   328,
3832      329,   330,   331,  -551,  -551,  -551,  -551,  -551,  -544,   302,
3833        0,     1,   303,   106,   304,  -544,   305,   306,  -544,  -544,
3834     -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
3835     -544,  -544,  -544,  -544,  -544,  -544,     2,  -544,  -544,  -544,
3836     -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
3837     -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,     0,
3838     -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
3839     -544,     0,     0,   307,  -544,     0,  -544,     0,     0,   308,
3840      309,   310,  -544,  -544,     0,     0,  -544,  -544,  -544,  -544,
3841     -544,  -544,   311,   312,  -544,  -544,  -544,  -544,  -544,  -544,
3842     -544,  -544,  -544,     0,  -544,     0,   313,  -544,  -544,     0,
3843      314,   315,   316,   317,   318,   319,   320,   321,  -544,  -544,
3844     -544,  -544,  -544,  -544,  -544,  -544,   322,   323,  -544,  -544,
3845      324,  -544,   325,  -544,  -544,  -544,  -544,   742,  -544,  -544,
3846      326,   327,  -544,   328,   329,   330,   331,  -544,  -544,  -544,
3847     -544,  -544,  -552,   302,     0,     1,   303,   106,   304,  -552,
3848      305,   306,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3849     -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3850        2,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3851     -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3852     -552,  -552,  -552,     0,  -552,  -552,  -552,  -552,  -552,  -552,
3853     -552,  -552,  -552,  -552,  -552,     0,     0,   307,  -552,     0,
3854     -552,     0,     0,   308,   309,   310,  -552,  -552,     0,     0,
3855     -552,  -552,  -552,  -552,  -552,  -552,   311,   312,  -552,  -552,
3856     -552,  -552,  -552,  -552,  -552,  -552,  -552,     0,  -552,     0,
3857      313,  -552,  -552,     0,   314,   315,   316,   317,   318,   319,
3858      320,   321,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3859      322,   323,  -552,  -552,   324,  -552,   325,  -552,  -552,  -552,
3860     -552,   742,  -552,  -552,   326,   327,  -552,   328,   329,   330,
3861      331,  -552,  -552,  -552,  -552,  -552,  -545,   302,     0,     1,
3862      303,   106,   304,  -545,   305,   306,  -545,  -545,  -545,  -545,
3863     -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,
3864     -545,  -545,  -545,  -545,     2,  -545,  -545,  -545,  -545,  -545,
3865     -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,
3866     -545,  -545,  -545,  -545,  -545,  -545,  -545,     0,  -545,  -545,
3867     -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,     0,
3868        0,   307,  -545,     0,  -545,     0,     0,   308,   309,   310,
3869     -545,  -545,     0,     0,  -545,  -545,  -545,  -545,  -545,  -545,
3870      311,   312,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,
3871     -545,     0,  -545,     0,   313,  -545,  -545,     0,   314,   315,
3872      316,   317,   318,   319,   320,   321,  -545,  -545,  -545,  -545,
3873     -545,  -545,  -545,  -545,   322,   323,  -545,  -545,   324,  -545,
3874      325,  -545,  -545,  -545,  -545,   742,  -545,  -545,   326,   327,
3875     -545,   328,   329,   330,   331,  -545,  -545,  -545,  -545,  -545,
3876     -553,   302,     0,     1,   303,   106,   304,  -553,   305,   306,
3877     -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,
3878     -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,     2,  -553,
3879     -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,
3880     -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,
3881     -553,     0,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,
3882     -553,  -553,  -553,     0,     0,   307,  -553,     0,  -553,     0,
3883        0,   308,   309,   310,  -553,  -553,     0,     0,  -553,  -553,
3884     -553,  -553,  -553,  -553,   311,   312,  -553,  -553,  -553,  -553,
3885     -553,  -553,  -553,  -553,  -553,     0,  -553,     0,   313,  -553,
3886     -553,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3887     -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,   322,   323,
3888     -553,  -553,   324,  -553,   325,  -553,  -553,  -553,  -553,   742,
3889     -553,  -553,   326,   327,  -553,   328,   329,   330,   331,  -553,
3890     -553,  -553,  -553,  -553,  -340,  2020,     0,  -340,  -340,  -340,
3891     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3892     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3893     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3894     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3895     -340,  -340,  -340,  -340,  -340,     0,  -340,  -340,  -340,  -340,
3896     -340,  -340,  -340,  -340,  -340,  -340,  -340,     0,     0,  -340,
3897     -340,     0,  -340,     0,     0,  -340,  -340,  -340,  -340,  -340,
3898        0,     0,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3899     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,     0,
3900     -340,     0,  -340,  -340,  -340,     0,  -340,  -340,  -340,  -340,
3901     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3902     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3903     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3904     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -339,  2021,
3905        0,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3906     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3907     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3908     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3909     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,     0,
3910     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3911     -339,     0,     0,  -339,  -339,     0,  -339,     0,     0,  -339,
3912     -339,  -339,  -339,  -339,     0,     0,  -339,  -339,  -339,  -339,
3913     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3914     -339,  -339,  -339,     0,  -339,     0,  -339,  -339,  -339,     0,
3915     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3916     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3917     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3918     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3919     -339,  -339,  -344,   754,     0,  -344,  -344,  -344,  -344,   755,
3920      756,   757,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3921     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3922     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3923     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3924     -344,  -344,  -344,     0,  -344,  -344,  -344,  -344,  -344,  -344,
3925     -344,  -344,  -344,  -344,  -344,     0,     0,  -344,  -344,     0,
3926     -344,     0,     0,  -344,  -344,  -344,  -344,  -344,     0,     0,
3927     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3928     -344,  -344,  -344,  -344,  -344,  -344,  -344,     0,  -344,     0,
3929     -344,  -344,  -344,     0,  -344,  -344,  -344,  -344,  -344,  -344,
3930     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3931     -344,  -344,  -344,  -344,   758,  -344,  -344,  -344,  -344,  -344,
3932     -344,  -344,  1149,  -344,  -344,   760,     0,  -344,  -344,  -344,
3933     -344,  -344,  -344,  -344,  -344,  -344,  -449,  1151,     0,  -449,
3934     -449,  -449,  -449,     0,  -449,  -449,     0,     0,     0,     0,
3935        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3936        0,     0,     0,     0,  -449,  -449,  -449,  -449,  -449,  -449,
3937     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3938     -449,  -449,  -449,  -449,  -449,  -449,  -449,     0,  -449,  -449,
3939     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,     0,
3940        0,  -449,  -449,     0,  -449,     0,     0,  -449,  -449,  -449,
3941     -449,  -449,     0,     0,  -449,  -449,  -449,  -449,  -449,  -449,
3942     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3943     -449,     0,  -449,     0,  -449,  -449,  -449,     0,  -449,  -449,
3944     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3945     -449,  -449,  -449,  -449,  -449,  -449,     0,     0,  -449,  -449,
3946     -449,  -449,     0,  -449,  -449,  -449,  1152,  -449,  -449,  -449,
3947        0,  -449,  -449,  -449,  -449, -1089,   302,     0,     1,   303,
3948      106,   304,     0,   305,   306,     0,     0,     0,     0,     0,
3949        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3950        0,     0,     0,     2, -1089, -1089, -1089, -1089, -1089, -1089,
3951    -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089,
3952    -1089, -1089, -1089, -1089, -1089, -1089,     0, -1089, -1089, -1089,
3953    -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089,     0,     0,
3954      307, -1089,     0, -1089,     0,     0,   308,   309,   310, -1089,
3955    -1089,     0,     0, -1089, -1089, -1089, -1089, -1089, -1089,   311,
3956      312, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089,
3957        0, -1089,     0,   313, -1089, -1089,     0,   314,   315,   316,
3958      317,   318,   319,   320,   321, -1089, -1089, -1089, -1089, -1089,
3959    -1089, -1089, -1089,   322,   323,     0,     0,   324,  1158,   325,
3960    -1089,     0,  1159, -1089, -1089,     0, -1089,   326,   327,     0,
3961      328,   329,   330,   331, -1233,   302,     0,     1,   303,   106,
3962      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
3963        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3964        0,     0,     2, -1233, -1233, -1233, -1233, -1233, -1233, -1233,
3965    -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233,
3966    -1233, -1233, -1233, -1233, -1233,     0, -1233, -1233, -1233, -1233,
3967    -1233, -1233, -1233, -1233, -1233, -1233, -1233,     0,     0,   307,
3968    -1233,     0, -1233,     0,     0,   308,   309,   310, -1233, -1233,
3969        0,     0, -1233, -1233, -1233, -1233, -1233, -1233,   311,   312,
3970    -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233,     0,
3971    -1233,     0,   313, -1233, -1233,     0,   314,   315,   316,   317,
3972      318,   319,   320,   321, -1233, -1233, -1233, -1233, -1233, -1233,
3973    -1233, -1233,   322,   323,     0,     0,   324,  1158,   325,  1623,
3974        0,  1159, -1233, -1233,     0, -1233,   326,   327,     0,   328,
3975      329,   330,   331, -1191,   302,     0,     1,   303,   106,   304,
3976        0,   305,   306,     0,     0,     0,     0,     0,     0,     0,
3977        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3978        0,     2, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191,
3979    -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191,
3980    -1191, -1191, -1191, -1191,     0, -1191, -1191, -1191, -1191, -1191,
3981    -1191, -1191, -1191, -1191, -1191, -1191,     0,     0,   307, -1191,
3982        0, -1191,     0,     0,   308,   309,   310, -1191, -1191,     0,
3983        0, -1191, -1191, -1191, -1191, -1191, -1191,   311,   312, -1191,
3984    -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191,     0, -1191,
3985        0,   313, -1191, -1191,     0,   314,   315,   316,   317,   318,
3986      319,   320,   321, -1191, -1191, -1191, -1191, -1191, -1191, -1191,
3987    -1191,   322,   323,     0,     0,   324,  1831,   325, -1191,     0,
3988     1159, -1191, -1191,     0, -1191,   326,   327,     0,   328,   329,
3989      330,   331, -1222,   302,     0,     1,   303,   106,   304,     0,
3990      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
3991        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3992        2, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222,
3993    -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222,
3994    -1222, -1222, -1222,     0,   626,   627,   628,   629,   630,   631,
3995      632,   633,   634,   635,   636,     0,     0,   307, -1222,     0,
3996    -1222,     0,     0,   308,   309,   310, -1222, -1222,     0,     0,
3997    -1222,    32, -1222, -1222, -1222, -1222,   311,   312,  1123, -1222,
3998      639,   640,   641, -1222, -1222, -1222, -1222,     0, -1222,     0,
3999      313, -1222, -1222,     0,   314,   315,   316,   317,   318,   319,
4000      320,   321,    43,    44, -1222, -1222, -1222, -1222, -1222, -1222,
4001      322,   323,     0,     0,   324,  1158,   325,   642,     0,  1159,
4002    -1222,   254,     0,   643,   326,   327,     0,   328,   329,   330,
4003      331,  -576,   302,     0,     1,   303,   106,   304,     0,   305,
4004      306,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4005        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4006     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
4007     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
4008     -576,  -576,     0,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
4009     -576,  -576,  -576,  -576,     0,     0,   307,  -576,     0,  -576,
4010        0,     0,   308,   309,   310,  -576,  -576,     0,     0,  -576,
4011     -576,  -576,  -576,  -576,  -576,   311,   312,  -576,  -576,  -576,
4012     -576,  -576,  -576,  -576,  -576,  -576,     0,  -576,     0,   313,
4013     -576,  -576,     0,   314,   315,   316,   317,   318,   319,   320,
4014      321,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,   322,
4015      323,     0,     0,   324,  -576,   325,  1153,     0,  1154,  -576,
4016     -576,     0,  -576,   326,   327,     0,   328,   329,   330,   331,
4017    -1214,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4018        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4019        0,     0,     0,     0,     0,     0,     0,     0,     2, -1214,
4020    -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214,
4021    -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214,
4022    -1214,     0, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214,
4023    -1214, -1214, -1214,     0,     0,   307, -1214,     0, -1214,     0,
4024        0,   308,   309,   310, -1214, -1214,     0,     0, -1214, -1214,
4025    -1214, -1214, -1214, -1214,   311,   312, -1214, -1214, -1214, -1214,
4026    -1214, -1214, -1214, -1214, -1214,     0, -1214,     0,   313, -1214,
4027    -1214,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4028    -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214,   322,   323,
4029        0,     0,   324,  2066,   325, -1214,     0,  1154, -1214, -1214,
4030        0, -1214,   326,   327,     0,   328,   329,   330,   331, -1215,
4031      302,     0,     1,   303,   106,   304,     0,   305,   306,     0,
4032        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4033        0,     0,     0,     0,     0,     0,     0,     2, -1215, -1215,
4034    -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215,
4035    -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215,
4036        0, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215,
4037    -1215, -1215,     0,     0,   307, -1215,     0, -1215,     0,     0,
4038      308,   309,   310, -1215, -1215,     0,     0, -1215, -1215, -1215,
4039    -1215, -1215, -1215,   311,   312, -1215, -1215, -1215, -1215, -1215,
4040    -1215, -1215, -1215, -1215,     0, -1215,     0,   313, -1215, -1215,
4041        0,   314,   315,   316,   317,   318,   319,   320,   321, -1215,
4042    -1215, -1215, -1215, -1215, -1215, -1215, -1215,   322,   323,     0,
4043        0,   324,  1158,   325,  2067,     0,  1159, -1215, -1215,     0,
4044    -1215,   326,   327,     0,   328,   329,   330,   331, -1209,   302,
4045        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4046        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4047        0,     0,     0,     0,     0,     0,     2, -1209, -1209, -1209,
4048    -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209,
4049    -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209,     0,
4050      626,   627,   628,   629,   630,   631,   632,   633,   634,   635,
4051      636,     0,     0,   307, -1209,     0, -1209,     0,     0,   308,
4052      309,   310, -1209, -1209,     0,     0, -1209,    32, -1209, -1209,
4053    -1209, -1209,   311,   312,  1123, -1209,   639,   640,   641, -1209,
4054    -1209, -1209, -1209,     0, -1209,     0,   313, -1209, -1209,     0,
4055      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4056    -1209, -1209, -1209, -1209, -1209, -1209,   322,   323,     0,     0,
4057      324,  1158,   325,   642,     0,  1159, -1209,   254,     0,   643,
4058      326,   327,     0,   328,   329,   330,   331, -1157,   617,     0,
4059    -1157, -1157, -1157, -1157,     0, -1157, -1157,     0,     0,     0,
4060        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4061        0,     0,     0,     0,     0, -1157, -1157, -1157, -1157, -1157,
4062    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4063    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,     0, -1157,
4064    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4065        0,     0, -1157, -1157,     0, -1157,     0,     0, -1157, -1157,
4066    -1157, -1157, -1157,     0,     0, -1157, -1157, -1157, -1157, -1157,
4067    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4068    -1157, -1157,     0, -1157,     0, -1157, -1157, -1157,     0, -1157,
4069    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4070    -1157, -1157, -1157, -1157, -1157, -1157, -1157,     0,     0, -1157,
4071        0, -1157,   618,     0, -1157, -1157, -1157,     0, -1157, -1157,
4072    -1157,     0, -1157, -1157, -1157, -1157, -1180,   302,     0,     1,
4073      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4074        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4075        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4076      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4077       18,    19,   244,   245,    22,    23,    24,     0,   626,   627,
4078      628,   629,   630,   631,   632,   633,   634,   635,   636,     0,
4079        0,   307,   246,     0, -1180,     0,     0,   308,   309,   310,
4080       28,    29,     0,     0, -1180,    32, -1180, -1180, -1180, -1180,
4081      311,   637,   638,   248,   639,   640,   641, -1180, -1180, -1180,
4082    -1180,     0, -1180,     0,   313, -1180,   249,     0,   314,   315,
4083      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4084      252,   253,   206,   207,   322,   323,     0,     0,   324,     0,
4085      325,   642,     0, -1180, -1180,   254,     0,   643,   326,   327,
4086        0,   328,   329,   330,   331, -1158,   617,     0, -1158, -1158,
4087    -1158, -1158,     0, -1158, -1158,     0,     0,     0,     0,     0,
4088        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4089        0,     0,     0, -1158, -1158, -1158, -1158, -1158, -1158, -1158,
4090    -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158,
4091    -1158, -1158, -1158, -1158, -1158, -1158,     0, -1158, -1158, -1158,
4092    -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158,     0,     0,
4093    -1158, -1158,     0, -1158,     0,     0, -1158, -1158, -1158, -1158,
4094    -1158,     0,     0, -1158, -1158, -1158, -1158, -1158, -1158, -1158,
4095    -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158,
4096        0, -1158,     0, -1158, -1158, -1158,     0, -1158, -1158, -1158,
4097    -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158,
4098    -1158, -1158, -1158, -1158, -1158,     0,     0, -1158,     0, -1158,
4099      618,     0, -1158, -1158, -1158,     0, -1158, -1158, -1158,     0,
4100    -1158, -1158, -1158, -1158, -1219,   302,     0,     1,   303,   106,
4101      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4102        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4103        0,     0,     2, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
4104    -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
4105    -1219, -1219, -1219, -1219, -1219,     0,  1115,  1116,  1117,   629,
4106     1118,  1119,  1120,  1121,   634,   635,  1122,     0,     0,   307,
4107    -1219,     0, -1219,     0,     0,   308,   309,   310, -1219, -1219,
4108        0,     0, -1219,    32, -1219, -1219, -1219, -1219,   311,   312,
4109     1123, -1219,   639,   640,   641, -1219, -1219, -1219, -1219,     0,
4110    -1219,     0,   313, -1219, -1219,     0,   314,   315,   316,   317,
4111      318,   319,   320,   321,    43,    44, -1219, -1219, -1219, -1219,
4112    -1219, -1219,   322,   323,     0,     0,   324,     0,   325,   642,
4113        0, -1219, -1219,   254,     0,   643,   326,   327,     0,   328,
4114      329,   330,   331, -1235,   302,     0,     1,   303,   106,   304,
4115        0,   305,   306,     0,     0,     0,     0,     0,     0,     0,
4116        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4117        0,     2, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235,
4118    -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235,
4119    -1235, -1235, -1235, -1235,     0, -1235, -1235, -1235, -1235, -1235,
4120    -1235, -1235, -1235, -1235, -1235, -1235,     0,     0,   307, -1235,
4121        0, -1235,     0,     0,   308,   309,   310, -1235, -1235,     0,
4122        0, -1235, -1235, -1235, -1235, -1235, -1235,   311,   312, -1235,
4123    -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235,     0, -1235,
4124        0,   313, -1235, -1235,     0,   314,   315,   316,   317,   318,
4125      319,   320,   321, -1235, -1235, -1235, -1235, -1235, -1235, -1235,
4126    -1235,   322,   323,     0,     0,   324,     0,   325,  1134,     0,
4127    -1235, -1235,   742,     0, -1235,   326,   327,     0,   328,   329,
4128      330,   331, -1170,  1161,     0,     1,   303,   106,   304,     0,
4129      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4130        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4131        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4132      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4133       22,    23,    24,     0,   626,   627,   628,   629,   630,   631,
4134      632,   633,   634,   635,   636,     0,     0,   307,   246,     0,
4135    -1170,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4136    -1170,    32, -1170, -1170, -1170, -1170,   311,   637,   638,   248,
4137      639,   640,   641, -1170, -1170, -1170, -1170,     0, -1170,     0,
4138      313, -1170,   249,     0,   314,   315,   316,   317,   318,   319,
4139      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4140      322,   323,     0,     0,   324,     0,   325,   642,     0, -1170,
4141    -1170,   254,     0,   643,   326,   327,     0,   328,   329,   330,
4142      331, -1174,   302,     0,     1,   303,   106,   304,     0,   305,
4143      306,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4144        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4145      200,   201,   202,   203,   204,   234,   235,   236,   237,   238,
4146      239,   240,   241,   242,   243,    18,    19,   244,   245,    22,
4147       23,    24,     0,   626,   627,   628,   629,   630,   631,   632,
4148      633,   634,   635,   636,     0,     0,   307,   246,     0, -1174,
4149        0,     0,   308,   309,   310,    28,    29,     0,     0, -1174,
4150       32, -1174, -1174, -1174, -1174,   311,   637,   638,   248,   639,
4151      640,   641, -1174, -1174, -1174, -1174,     0, -1174,     0,   313,
4152    -1174,   249,     0,   314,   315,   316,   317,   318,   319,   320,
4153      321,    43,    44,   250,   251,   252,   253,   206,   207,   322,
4154      323,     0,     0,   324,     0,   325,   642,     0, -1174, -1174,
4155      254,     0,   643,   326,   327,     0,   328,   329,   330,   331,
4156    -1169,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4157        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4158        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
4159      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
4160      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
4161       24,     0,   626,   627,   628,   629,   630,   631,   632,   633,
4162      634,   635,   636,     0,     0,   307,   246,     0, -1169,     0,
4163        0,   308,   309,   310,    28,    29,     0,     0, -1169,    32,
4164    -1169, -1169, -1169, -1169,   311,   637,   638,   248,   639,   640,
4165      641, -1169, -1169, -1169, -1169,     0, -1169,     0,   313, -1169,
4166      249,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4167       43,    44,   250,   251,   252,   253,   206,   207,   322,   323,
4168        0,     0,   324,     0,   325,   642,     0, -1169, -1169,   254,
4169        0,   643,   326,   327,     0,   328,   329,   330,   331, -1173,
4170      302,     0,     1,   303,   106,   304,     0,   305,   306,     0,
4171        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4172        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
4173      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
4174      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
4175        0,   626,   627,   628,   629,   630,   631,   632,   633,   634,
4176      635,   636,     0,     0,   307,   246,     0, -1173,     0,     0,
4177      308,   309,   310,    28,    29,     0,     0, -1173,    32, -1173,
4178    -1173, -1173, -1173,   311,   637,   638,   248,   639,   640,   641,
4179    -1173, -1173, -1173, -1173,     0, -1173,     0,   313, -1173,   249,
4180        0,   314,   315,   316,   317,   318,   319,   320,   321,    43,
4181       44,   250,   251,   252,   253,   206,   207,   322,   323,     0,
4182        0,   324,     0,   325,   642,     0, -1173, -1173,   254,     0,
4183      643,   326,   327,     0,   328,   329,   330,   331, -1076,  1174,
4184        0, -1076, -1076, -1076, -1076,     0, -1076, -1076,     0,     0,
4185        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4186        0,     0,     0,     0,     0,     0, -1076, -1076, -1076, -1076,
4187    -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076,
4188    -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076,     0,
4189    -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076,
4190    -1076,     0,     0, -1076, -1076,     0, -1076,     0,     0, -1076,
4191    -1076, -1076, -1076, -1076,     0,     0, -1076, -1076, -1076, -1076,
4192    -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076,
4193    -1076, -1076, -1076,     0, -1076,     0, -1076, -1076, -1076,     0,
4194    -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076,
4195    -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076,     0,     0,
4196    -1076,     0, -1076, -1076,     0, -1076, -1076, -1076,     0, -1076,
4197    -1076, -1076,     0, -1076, -1076, -1076, -1076, -1078,  1175,     0,
4198    -1078, -1078, -1078, -1078,     0, -1078, -1078,     0,     0,     0,
4199        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4200        0,     0,     0,     0,     0, -1078, -1078, -1078, -1078, -1078,
4201    -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078,
4202    -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078,     0, -1078,
4203    -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078,
4204        0,     0, -1078, -1078,     0, -1078,     0,     0, -1078, -1078,
4205    -1078, -1078, -1078,     0,     0, -1078, -1078, -1078, -1078, -1078,
4206    -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078,
4207    -1078, -1078,     0, -1078,     0, -1078, -1078, -1078,     0, -1078,
4208    -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078,
4209    -1078, -1078, -1078, -1078, -1078, -1078, -1078,     0,     0, -1078,
4210        0, -1078, -1078,     0, -1078, -1078, -1078,     0, -1078, -1078,
4211    -1078,     0, -1078, -1078, -1078, -1078, -1124,   302,     0,     1,
4212      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4213        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4214        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4215      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4216       18,    19,   244,   245,    22,    23,    24,     0,   626,   627,
4217      628,   629,   630,   631,   632,   633,   634,   635,   636,     0,
4218        0,   307,   246,     0, -1124,     0,     0,   308,   309,   310,
4219       28,    29,     0,     0, -1124,    32, -1124, -1124, -1124, -1124,
4220      311,   637,   638,   248,   639,   640,   641, -1124, -1124, -1124,
4221    -1124,     0, -1124,     0,   313, -1124,   249,     0,   314,   315,
4222      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4223      252,   253,   206,   207,   322,   323,     0,     0,   324,     0,
4224      325,   642,     0, -1124, -1124,   254,     0,   643,   326,   327,
4225        0,   328,   329,   330,   331, -1126,   302,     0,     1,   303,
4226      106,   304,     0,   305,   306,     0,     0,     0,     0,     0,
4227        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4228        0,     0,     0,     2,   200,   201,   202,   203,   204,   234,
4229      235,   236,   237,   238,   239,   240,   241,   242,   243,    18,
4230       19,   244,   245,    22,    23,    24,     0,   626,   627,   628,
4231      629,   630,   631,   632,   633,   634,   635,   636,     0,     0,
4232      307,   246,     0, -1126,     0,     0,   308,   309,   310,    28,
4233       29,     0,     0, -1126,    32, -1126, -1126, -1126, -1126,   311,
4234      637,   638,   248,   639,   640,   641, -1126, -1126, -1126, -1126,
4235        0, -1126,     0,   313, -1126,   249,     0,   314,   315,   316,
4236      317,   318,   319,   320,   321,    43,    44,   250,   251,   252,
4237      253,   206,   207,   322,   323,     0,     0,   324,     0,   325,
4238      642,     0, -1126, -1126,   254,     0,   643,   326,   327,     0,
4239      328,   329,   330,   331, -1171,   302,     0,     1,   303,   106,
4240      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4241        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4242        0,     0,     2,   200,   201,   202,   203,   204,   234,   235,
4243      236,   237,   238,   239,   240,   241,   242,   243,    18,    19,
4244      244,   245,    22,    23,    24,     0,   626,   627,   628,   629,
4245      630,   631,   632,   633,   634,   635,   636,     0,     0,   307,
4246      246,     0, -1171,     0,     0,   308,   309,   310,    28,    29,
4247        0,     0, -1171,    32, -1171, -1171, -1171, -1171,   311,   637,
4248      638,   248,   639,   640,   641, -1171, -1171, -1171, -1171,     0,
4249    -1171,     0,   313, -1171,   249,     0,   314,   315,   316,   317,
4250      318,   319,   320,   321,    43,    44,   250,   251,   252,   253,
4251      206,   207,   322,   323,     0,     0,   324,     0,   325,   642,
4252        0, -1171, -1171,   254,     0,   643,   326,   327,     0,   328,
4253      329,   330,   331, -1175,   302,     0,     1,   303,   106,   304,
4254        0,   305,   306,     0,     0,     0,     0,     0,     0,     0,
4255        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4256        0,     2,   200,   201,   202,   203,   204,   234,   235,   236,
4257      237,   238,   239,   240,   241,   242,   243,    18,    19,   244,
4258      245,    22,    23,    24,     0,   626,   627,   628,   629,   630,
4259      631,   632,   633,   634,   635,   636,     0,     0,   307,   246,
4260        0, -1175,     0,     0,   308,   309,   310,    28,    29,     0,
4261        0, -1175,    32, -1175, -1175, -1175, -1175,   311,   637,   638,
4262      248,   639,   640,   641, -1175, -1175, -1175, -1175,     0, -1175,
4263        0,   313, -1175,   249,     0,   314,   315,   316,   317,   318,
4264      319,   320,   321,    43,    44,   250,   251,   252,   253,   206,
4265      207,   322,   323,     0,     0,   324,     0,   325,   642,     0,
4266    -1175, -1175,   254,     0,   643,   326,   327,     0,   328,   329,
4267      330,   331, -1172,   302,     0,     1,   303,   106,   304,     0,
4268      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4269        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4270        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4271      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4272       22,    23,    24,     0,   626,   627,   628,   629,   630,   631,
4273      632,   633,   634,   635,   636,     0,     0,   307,   246,     0,
4274    -1172,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4275    -1172,    32, -1172, -1172, -1172, -1172,   311,   637,   638,   248,
4276      639,   640,   641, -1172, -1172, -1172, -1172,     0, -1172,     0,
4277      313, -1172,   249,     0,   314,   315,   316,   317,   318,   319,
4278      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4279      322,   323,     0,     0,   324,     0,   325,   642,     0, -1172,
4280    -1172,   254,     0,   643,   326,   327,     0,   328,   329,   330,
4281      331, -1176,   302,     0,     1,   303,   106,   304,     0,   305,
4282      306,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4283        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4284      200,   201,   202,   203,   204,   234,   235,   236,   237,   238,
4285      239,   240,   241,   242,   243,    18,    19,   244,   245,    22,
4286       23,    24,     0,   626,   627,   628,   629,   630,   631,   632,
4287      633,   634,   635,   636,     0,     0,   307,   246,     0, -1176,
4288        0,     0,   308,   309,   310,    28,    29,     0,     0, -1176,
4289       32, -1176, -1176, -1176, -1176,   311,   637,   638,   248,   639,
4290      640,   641, -1176, -1176, -1176, -1176,     0, -1176,     0,   313,
4291    -1176,   249,     0,   314,   315,   316,   317,   318,   319,   320,
4292      321,    43,    44,   250,   251,   252,   253,   206,   207,   322,
4293      323,     0,     0,   324,     0,   325,   642,     0, -1176, -1176,
4294      254,     0,   643,   326,   327,     0,   328,   329,   330,   331,
4295    -1167,   617,     0, -1167, -1167, -1167, -1167,     0, -1167, -1167,
4296        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4297        0,     0,     0,     0,     0,     0,     0,     0, -1167, -1167,
4298    -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4299    -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4300    -1167,     0, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4301    -1167, -1167, -1167,     0,     0, -1167, -1167,     0, -1167,     0,
4302        0, -1167, -1167, -1167, -1167, -1167,     0,     0, -1167, -1167,
4303    -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4304    -1167, -1167, -1167, -1167, -1167,     0, -1167,     0, -1167, -1167,
4305    -1167,     0, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4306    -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4307        0,     0, -1167,     0, -1167,   618,     0, -1167, -1167, -1167,
4308        0, -1167, -1167, -1167,     0, -1167, -1167, -1167, -1167, -1168,
4309      617,     0, -1168, -1168, -1168, -1168,     0, -1168, -1168,     0,
4310        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4311        0,     0,     0,     0,     0,     0,     0, -1168, -1168, -1168,
4312    -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168,
4313    -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168,
4314        0, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168,
4315    -1168, -1168,     0,     0, -1168, -1168,     0, -1168,     0,     0,
4316    -1168, -1168, -1168, -1168, -1168,     0,     0, -1168, -1168, -1168,
4317    -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168,
4318    -1168, -1168, -1168, -1168,     0, -1168,     0, -1168, -1168, -1168,
4319        0, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168,
4320    -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168,     0,
4321        0, -1168,     0, -1168,   618,     0, -1168, -1168, -1168,     0,
4322    -1168, -1168, -1168,     0, -1168, -1168, -1168, -1168, -1003,   302,
4323        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4324        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4325        0,     0,     0,     0,     0,     0,     2, -1003, -1003, -1003,
4326    -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003,
4327    -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003,     0,
4328    -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003,
4329    -1003,     0,     0,   307, -1003,     0, -1003,     0,     0,   308,
4330      309,   310, -1003, -1003,     0,     0, -1003, -1003, -1003, -1003,
4331    -1003, -1003,   311,   312, -1003, -1003, -1003, -1003, -1003, -1003,
4332    -1003, -1003, -1003,     0, -1003,     0,   313, -1003, -1003,     0,
4333      314,   315,   316,   317,   318,   319,   320,   321, -1003, -1003,
4334    -1003, -1003, -1003, -1003, -1003, -1003,   322,   323,     0,     0,
4335      324,     0,   325, -1003,     0,  1800,  1801,  1014,     0, -1003,
4336      326,   327,     0,   328,   329,   330,   331, -1130,   617,     0,
4337    -1130, -1130, -1130, -1130,     0, -1130, -1130,     0,     0,     0,
4338        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4339        0,     0,     0,     0,     0, -1130, -1130, -1130, -1130, -1130,
4340    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4341    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,     0, -1130,
4342    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4343        0,     0, -1130, -1130,     0, -1130,     0,     0, -1130, -1130,
4344    -1130, -1130, -1130,     0,     0, -1130, -1130, -1130, -1130, -1130,
4345    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4346    -1130, -1130,     0, -1130,     0, -1130, -1130, -1130,     0, -1130,
4347    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4348    -1130, -1130, -1130, -1130, -1130, -1130, -1130,     0,     0, -1130,
4349        0, -1130,   618,     0, -1130, -1130, -1130,     0, -1130, -1130,
4350    -1130,     0, -1130, -1130, -1130, -1130, -1131,   617,     0, -1131,
4351    -1131, -1131, -1131,     0, -1131, -1131,     0,     0,     0,     0,
4352        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4353        0,     0,     0,     0, -1131, -1131, -1131, -1131, -1131, -1131,
4354    -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131,
4355    -1131, -1131, -1131, -1131, -1131, -1131, -1131,     0, -1131, -1131,
4356    -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131,     0,
4357        0, -1131, -1131,     0, -1131,     0,     0, -1131, -1131, -1131,
4358    -1131, -1131,     0,     0, -1131, -1131, -1131, -1131, -1131, -1131,
4359    -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131,
4360    -1131,     0, -1131,     0, -1131, -1131, -1131,     0, -1131, -1131,
4361    -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131,
4362    -1131, -1131, -1131, -1131, -1131, -1131,     0,     0, -1131,     0,
4363    -1131,   618,     0, -1131, -1131, -1131,     0, -1131, -1131, -1131,
4364        0, -1131, -1131, -1131, -1131, -1127,   617,     0, -1127, -1127,
4365    -1127, -1127,     0, -1127, -1127,     0,     0,     0,     0,     0,
4366        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4367        0,     0,     0, -1127, -1127, -1127, -1127, -1127, -1127, -1127,
4368    -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127,
4369    -1127, -1127, -1127, -1127, -1127, -1127,     0, -1127, -1127, -1127,
4370    -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127,     0,     0,
4371    -1127, -1127,     0, -1127,     0,     0, -1127, -1127, -1127, -1127,
4372    -1127,     0,     0, -1127, -1127, -1127, -1127, -1127, -1127, -1127,
4373    -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127,
4374        0, -1127,     0, -1127, -1127, -1127,     0, -1127, -1127, -1127,
4375    -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127,
4376    -1127, -1127, -1127, -1127, -1127,     0,     0, -1127,     0, -1127,
4377      618,     0, -1127, -1127, -1127,     0, -1127, -1127, -1127,     0,
4378    -1127, -1127, -1127, -1127, -1005,   302,     0,     1,   303,   106,
4379      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4380        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4381        0,     0,     2, -1005, -1005, -1005, -1005, -1005, -1005, -1005,
4382    -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005,
4383    -1005, -1005, -1005, -1005, -1005,     0, -1005, -1005, -1005, -1005,
4384    -1005, -1005, -1005, -1005, -1005, -1005, -1005,     0,     0,   307,
4385    -1005,     0, -1005,     0,     0,   308,   309,   310, -1005, -1005,
4386        0,     0, -1005, -1005, -1005, -1005, -1005, -1005,   311,   312,
4387    -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005,     0,
4388    -1005,     0,   313, -1005, -1005,     0,   314,   315,   316,   317,
4389      318,   319,   320,   321, -1005, -1005, -1005, -1005, -1005, -1005,
4390    -1005, -1005,   322,   323,     0,     0,   324,     0,   325, -1005,
4391        0, -1005,  1980,  1014,     0, -1005,   326,   327,     0,   328,
4392      329,   330,   331,  -999,  1983,     0,  -999,  -999,  -999,  -999,
4393        0,  -999,  -999,     0,     0,     0,     0,     0,     0,     0,
4394        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4395        0,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,
4396     -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,
4397     -999,  -999,  -999,  -999,     0,  -999,  -999,  -999,  -999,  -999,
4398     -999,  -999,  -999,  -999,  -999,  -999,     0,     0,  -999,  -999,
4399        0,  -999,     0,     0,  -999,  -999,  -999,  -999,  -999,     0,
4400        0,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,
4401     -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,     0,  -999,
4402        0,  -999,  -999,  -999,     0,  -999,  -999,  -999,  -999,  -999,
4403     -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,
4404     -999,  -999,  -999,     0,     0,  -999,     0,  -999,  -999,     0,
4405     -999,  -999,  -999,     0,  -999,  -999,  -999,     0,  -999,  -999,
4406     -999,  -999, -1128,   617,     0, -1128, -1128, -1128, -1128,     0,
4407    -1128, -1128,     0,     0,     0,     0,     0,     0,     0,     0,
4408        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4409    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4410    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4411    -1128, -1128, -1128,     0, -1128, -1128, -1128, -1128, -1128, -1128,
4412    -1128, -1128, -1128, -1128, -1128,     0,     0, -1128, -1128,     0,
4413    -1128,     0,     0, -1128, -1128, -1128, -1128, -1128,     0,     0,
4414    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4415    -1128, -1128, -1128, -1128, -1128, -1128, -1128,     0, -1128,     0,
4416    -1128, -1128, -1128,     0, -1128, -1128, -1128, -1128, -1128, -1128,
4417    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4418    -1128, -1128,     0,     0, -1128,     0, -1128,   618,     0, -1128,
4419    -1128, -1128,     0, -1128, -1128, -1128,     0, -1128, -1128, -1128,
4420    -1128, -1129,   617,     0, -1129, -1129, -1129, -1129,     0, -1129,
4421    -1129,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4422        0,     0,     0,     0,     0,     0,     0,     0,     0, -1129,
4423    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4424    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4425    -1129, -1129,     0, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4426    -1129, -1129, -1129, -1129,     0,     0, -1129, -1129,     0, -1129,
4427        0,     0, -1129, -1129, -1129, -1129, -1129,     0,     0, -1129,
4428    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4429    -1129, -1129, -1129, -1129, -1129, -1129,     0, -1129,     0, -1129,
4430    -1129, -1129,     0, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4431    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4432    -1129,     0,     0, -1129,     0, -1129,   618,     0, -1129, -1129,
4433    -1129,     0, -1129, -1129, -1129,     0, -1129, -1129, -1129, -1129,
4434    -1216,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4435        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4436        0,     0,     0,     0,     0,     0,     0,     0,     2, -1216,
4437    -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216,
4438    -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216,
4439    -1216,     0, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216,
4440    -1216, -1216, -1216,     0,     0,   307, -1216,     0, -1216,     0,
4441        0,   308,   309,   310, -1216, -1216,     0,     0, -1216, -1216,
4442    -1216, -1216, -1216, -1216,   311,   312, -1216, -1216, -1216, -1216,
4443    -1216, -1216, -1216, -1216, -1216,     0, -1216,     0,   313, -1216,
4444    -1216,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4445    -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216,   322,   323,
4446        0,     0,   324,     0,   325, -1216,     0, -1216, -1216, -1216,
4447        0, -1216,   326,   327,     0,   328,   329,   330,   331, -1000,
4448     2058,     0, -1000, -1000, -1000, -1000,     0, -1000, -1000,     0,
4449        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4450        0,     0,     0,     0,     0,     0,     0, -1000, -1000, -1000,
4451    -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
4452    -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
4453        0, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
4454    -1000, -1000,     0,     0, -1000, -1000,     0, -1000,     0,     0,
4455    -1000, -1000, -1000, -1000, -1000,     0,     0, -1000, -1000, -1000,
4456    -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
4457    -1000, -1000, -1000, -1000,     0, -1000,     0, -1000, -1000, -1000,
4458        0, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
4459    -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,     0,
4460        0, -1000,     0, -1000, -1000,     0, -1000, -1000, -1000,     0,
4461    -1000, -1000, -1000,     0, -1000, -1000, -1000, -1000,  -906,   583,
4462        0,  -906,  -906,  -906,  -906,     0,  -906,  -906,     0,     0,
4463        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4464        0,     0,     0,     0,     0,     0,  -906,  -906,  -906,  -906,
4465     -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,
4466     -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,     0,
4467        0,  -906,     0,     0,     0,     0,     0,     0,     0,     0,
4468        0,     0,     0,  -906,  -906,     0,  -906,     0,     0,  -906,
4469     -906,  -906,  -906,  -906,     0,     0,  -906,  -906,  -906,  -906,
4470     -906,  -906,  -906,  -906,  -906,  -906,  -906,     0,     0,  -906,
4471     -906,  -906,  -906,     0,  -906,     0,  -906,  -906,  -906,     0,
4472     -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,
4473     -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,     0,     0,
4474     -906,   846,  -906,  -906,     0,   585,  -906,  -906,     0,     0,
4475     -906,  -906,     0,  -906,  -906,  -906,  -906,   302,     0,     1,
4476      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4477        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4478        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4479      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4480       18,    19,   244,   245,    22,    23,    24,     0,   626,   627,
4481      628,   629,   630,   631,   632,   633,   634,   635,   636,     0,
4482        0,   307,   246,     0,     0,     0,     0,   308,   309,   310,
4483       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
4484      311,   637,   638,   248,   639,   640,   641,     0,     0,     0,
4485        0,     0,     0,     0,   313,     0,   249,     0,   314,   315,
4486      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4487      252,   253,   206,   207,   322,   323,     0,     0,   324,     0,
4488      325,   642,     0,     0,     0,   254,     0,   643,   326,   327,
4489        0,   328,   329,   330,   331,   302,     0,     1,   303,   106,
4490      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4491        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4492        0,     0,     2,   200,   201,   202,   203,   204,   234,   235,
4493      236,   237,   238,   239,   240,   241,   242,   243,    18,    19,
4494      244,   245,    22,    23,    24,     0,  1115,  1116,  1117,   629,
4495     1118,  1119,  1120,  1121,   634,   635,  1122,     0,     0,   307,
4496      246,     0,     0,     0,     0,   308,   309,   310,    28,    29,
4497        0,     0,     0,    32,     0,     0,     0,     0,   311,   637,
4498      638,   248,   639,   640,   641,     0,     0,     0,     0,     0,
4499        0,     0,   313,     0,   249,     0,   314,   315,   316,   317,
4500      318,   319,   320,   321,    43,    44,   250,   251,   252,   253,
4501      206,   207,   322,   323,     0,     0,   324,     0,   325,   642,
4502        0,     0,     0,   254,     0,   643,   326,   327,     0,   328,
4503      329,   330,   331,   302,     0,     1,   303,   106,   304,     0,
4504      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4505        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4506        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4507      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4508       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
4509        0,     0,     0,     0,     0,     0,     0,   307,   246,     0,
4510        0,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4511        0,    32,     0,     0,     0,     0,   311,   637,    38,   248,
4512        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4513      313,     0,   249,     0,   314,   315,   316,   317,   318,   319,
4514      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4515      322,   323,     0,     0,   324,     0,   325,   984,     0,   985,
4516      986,   742,     0,     0,   326,   327,     0,   328,   329,   330,
4517      331,  1247,     0,     1,   303,   106,   304,     0,   305,   306,
4518        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4519        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
4520      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
4521      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
4522       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4523        0,     0,     0,     0,     0,   307,   246,     0,     0,     0,
4524        0,   308,   309,   310,    28,    29,     0,     0,     0,    32,
4525        0,     0,     0,     0,   311,   637,    38,   248,     0,     0,
4526        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4527      249,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4528       43,    44,   250,   251,   252,   253,   206,   207,   322,   323,
4529        0,     0,   324,     0,   325,   984,     0,   985,  -110,   742,
4530        0,     0,   326,   327,     0,   328,   329,   330,   331,  1254,
4531        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4532        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4533        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
4534      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
4535      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
4536        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4537        0,     0,     0,   307,   246,     0,     0,     0,     0,   308,
4538      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4539        0,     0,   311,   637,    38,   248,     0,     0,     0,     0,
4540        0,     0,     0,     0,     0,     0,   313,     0,   249,     0,
4541      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4542      250,   251,   252,   253,   206,   207,   322,   323,     0,     0,
4543      324,     0,   325,   984,     0,   985,   -98,   742,     0,     0,
4544      326,   327,     0,   328,   329,   330,   331,  1258,     0,     1,
4545      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4546        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4547        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4548      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4549       18,    19,   244,   245,    22,    23,    24,     0,     0,     0,
4550        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4551        0,   307,   246,     0,     0,     0,     0,   308,   309,   310,
4552       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
4553      311,   637,    38,   248,     0,     0,     0,     0,     0,     0,
4554        0,     0,     0,     0,   313,     0,   249,     0,   314,   315,
4555      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4556      252,   253,   206,   207,   322,   323,     0,     0,   324,     0,
4557      325,   984,     0,   985,  -102,   742,     0,     0,   326,   327,
4558        0,   328,   329,   330,   331,   302,     0,     1,   303,   106,
4559      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4560        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4561        0,     0,     2,   200,   201,   202,   203,   204,   234,   235,
4562      236,   237,   238,   239,   240,   241,   242,   243,    18,    19,
4563      244,   245,    22,    23,    24,     0,     0,     0,     0,     0,
4564        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
4565      246,     0,     0,     0,     0,   308,   309,   310,    28,    29,
4566        0,     0,     0,    32,     0,     0,     0,     0,   311,   637,
4567       38,   248,     0,     0,     0,     0,     0,     0,     0,     0,
4568        0,     0,   313,     0,   249,     0,   314,   315,   316,   317,
4569      318,   319,   320,   321,    43,    44,   250,   251,   252,   253,
4570      206,   207,   322,   323,     0,     0,   324,     0,   325,  1512,
4571        0,   985,   -65,   742,     0,     0,   326,   327,     0,   328,
4572      329,   330,   331,   302,     0,     1,   303,   106,   304,     0,
4573      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4574        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4575        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4576      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4577       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
4578        0,     0,     0,     0,     0,     0,     0,   307,   246,     0,
4579        0,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4580        0,    32,     0,     0,     0,     0,   311,   637,    38,   248,
4581        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4582      313,     0,   249,     0,   314,   315,   316,   317,   318,   319,
4583      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4584      322,   323,     0,     0,   324,     0,   325,  1521,     0,   985,
4585     1522,   742,     0,     0,   326,   327,     0,   328,   329,   330,
4586      331,  1579,     0,     1,   303,   106,   304,     0,   305,   306,
4587        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4588        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
4589      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
4590      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
4591       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4592        0,     0,     0,     0,     0,   307,   246,     0,     0,     0,
4593        0,   308,   309,   310,    28,    29,     0,     0,     0,    32,
4594        0,     0,     0,     0,   311,   637,    38,   248,     0,     0,
4595        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4596      249,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4597       43,    44,   250,   251,   252,   253,   206,   207,   322,   323,
4598        0,     0,   324,     0,   325,   984,     0,   985,   -81,   742,
4599        0,     0,   326,   327,     0,   328,   329,   330,   331,   302,
4600        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4601        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4602        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
4603      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
4604      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
4605        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4606        0,     0,     0,   307,   246,     0,     0,     0,     0,   308,
4607      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4608        0,     0,   311,   637,    38,   248,     0,     0,     0,     0,
4609        0,     0,     0,     0,     0,     0,   313,     0,   249,     0,
4610      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4611      250,   251,   252,   253,   206,   207,   322,   323,     0,     0,
4612      324,     0,   325,  1521,     0,   985,  -107,   742,     0,     0,
4613      326,   327,     0,   328,   329,   330,   331,   302,     0,     1,
4614      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4615        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4616        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4617      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4618       18,    19,   244,   245,    22,    23,    24,     0,     0,     0,
4619        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4620        0,   307,   246,     0,     0,     0,     0,   308,   309,   310,
4621       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
4622      311,   637,    38,   248,     0,     0,     0,     0,     0,     0,
4623        0,     0,     0,     0,   313,     0,   249,     0,   314,   315,
4624      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4625      252,   253,   206,   207,   322,   323,     0,     0,   324,     0,
4626      325,  1521,     0,   985,   -97,   742,     0,     0,   326,   327,
4627        0,   328,   329,   330,   331,   302,     0,     1,   303,   106,
4628      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4629        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4630        0,     0,     2,   200,   201,   202,   203,   204,   234,   235,
4631      236,   237,   238,   239,   240,   241,   242,   243,    18,    19,
4632      244,   245,    22,    23,    24,     0,     0,     0,     0,     0,
4633        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
4634      246,     0,     0,     0,     0,   308,   309,   310,    28,    29,
4635        0,     0,     0,    32,     0,     0,     0,     0,   311,   637,
4636       38,   248,     0,     0,     0,     0,     0,     0,     0,     0,
4637        0,     0,   313,     0,   249,     0,   314,   315,   316,   317,
4638      318,   319,   320,   321,    43,    44,   250,   251,   252,   253,
4639      206,   207,   322,   323,     0,     0,   324,     0,   325,  1521,
4640        0,   985,  -101,   742,     0,     0,   326,   327,     0,   328,
4641      329,   330,   331,  1761,     0,     1,   303,   106,   304,     0,
4642      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4643        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4644        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4645      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4646       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
4647        0,     0,     0,     0,     0,     0,     0,   307,   246,     0,
4648        0,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4649        0,    32,     0,     0,     0,     0,   311,   637,    38,   248,
4650        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4651      313,     0,   249,     0,   314,   315,   316,   317,   318,   319,
4652      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4653      322,   323,     0,     0,   324,     0,   325,   984,     0,   985,
4654      -88,   742,     0,     0,   326,   327,     0,   328,   329,   330,
4655      331,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4656        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4657        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
4658      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
4659      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
4660       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4661        0,     0,     0,     0,     0,   307,   246,     0,     0,     0,
4662        0,   308,   309,   310,    28,    29,     0,     0,     0,    32,
4663        0,     0,     0,     0,   311,   637,    38,   248,     0,     0,
4664        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4665      249,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4666       43,    44,   250,   251,   252,   253,   206,   207,   322,   323,
4667        0,     0,   324,     0,   325,  1521,     0,   985,   -78,   742,
4668        0,     0,   326,   327,     0,   328,   329,   330,   331,   302,
4669        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4670        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4671        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
4672      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
4673      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
4674        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4675        0,     0,     0,   307,   246,     0,     0,     0,     0,   308,
4676      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4677        0,     0,   311,   637,    38,   248,     0,     0,     0,     0,
4678        0,     0,     0,     0,     0,     0,   313,     0,   249,     0,
4679      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4680      250,   251,   252,   253,   206,   207,   322,   323,     0,     0,
4681      324,     0,   325,  1521,     0,   985,   -85,   742,     0,     0,
4682      326,   327,     0,   328,   329,   330,   331,   302,     0,     1,
4683      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4684        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4685        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4686        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
4687       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
4688        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4689        0,   307,    27,     0,     0,     0,     0,   308,   309,   310,
4690       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
4691      311,   406,    38,    39,     0,     0,     0,     0,     0,     0,
4692        0,     0,     0,     0,   313,     0,    40,     0,   314,   315,
4693      316,   317,   318,   319,   320,   321,    43,    44,    45,    46,
4694       47,    48,   206,   207,   322,   323,     0,     0,   324,   302,
4695      325,     1,   303,   106,   304,     0,   305,   306,   326,   327,
4696        0,   328,   329,   330,   331,     0,     0,     0,     0,     0,
4697        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
4698      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
4699       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
4700        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4701        0,     0,     0,   864,    27,     0,     0,     0,     0,   308,
4702      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4703       35,    36,   311,   406,    38,    39,     0,     0,     0,     0,
4704        0,     0,     0,     0,     0,     0,   313,     0,    40,     0,
4705      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4706       45,    46,    47,    48,   206,   207,   322,   323,     0,     0,
4707      324,   302,   325,     1,   303,   106,   304,     0,   305,   306,
4708      326,   327,     0,   328,   329,   330,   331,     0,     0,     0,
4709        0,     0,     0,     0,     0,     0,     0,     0,     2,     0,
4710        0,     0,     0,     0,     8,     9,    10,    11,    12,    13,
4711       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
4712       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4713        0,     0,     0,     0,     0,   307,    27,     0,     0,     0,
4714        0,   308,   309,   310,    28,    29,     0,     0,     0,    32,
4715        0,     0,    35,    36,   311,   406,    38,    39,     0,     0,
4716        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4717       40,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4718       43,    44,    45,    46,    47,    48,     0,     0,   322,   323,
4719        0,     0,   324,   731,   325,     0,     0,     0,     0,     0,
4720        0,     0,   326,   327,     0,   328,   329,   330,   331,   302,
4721        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4722        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4723        0,     0,     0,     0,     0,     0,     2,     0,     0,     0,
4724        0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
4725       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
4726        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4727        0,     0,     0,  1194,    27,     0,     0,     0,     0,   308,
4728      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4729       35,    36,   311,   406,    38,    39,     0,     0,     0,     0,
4730        0,     0,     0,     0,     0,     0,   313,     0,    40,     0,
4731      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4732       45,    46,    47,    48,     0,     0,   322,   323,     0,     0,
4733      324,   731,   325,     0,     0,     0,     0,     0,     0,     0,
4734      326,   327,     0,   328,   329,   330,   331,   302,     0,     1,
4735      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4736        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4737        0,     0,     0,     0,     2,     0,     0,     0,     0,     0,
4738        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
4739       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
4740        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4741        0,   307,    27,     0,     0,     0,     0,   308,   309,   310,
4742       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
4743      311,   406,    38,    39,     0,     0,     0,     0,     0,     0,
4744        0,     0,     0,     0,   313,     0,    40,     0,   314,   315,
4745      316,   317,   318,   319,   320,   321,    43,    44,    45,    46,
4746       47,    48,     0,     0,   322,   323,     0,     0,   324,   302,
4747      325,     1,   303,   106,   304,   254,   305,   306,   326,   327,
4748        0,   328,   329,   330,   331,     0,     0,     0,     0,     0,
4749        0,     0,     0,     0,     0,     0,     2,     0,     0,     0,
4750        0,     0,     8,     9,    10,   564,    12,    13,    14,    15,
4751       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
4752        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4753        0,     0,     0,   307,    27,     0,     0,     0,     0,   308,
4754      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4755       35,    36,   311,   406,    38,    39,     0,   302,     0,     1,
4756      303,   106,   304,     0,   305,   306,   313,     0,    40,     0,
4757      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4758       45,    46,    47,    48,     2,     0,   322,   887,     0,     0,
4759      888,   731,   325,     0,     0,     0,     0,     0,     0,     0,
4760      326,   327,     0,   328,   329,   330,   331,     0,  1115,  1116,
4761     1117,   629,  1118,  1119,  1120,  1121,   634,   635,  1122,     0,
4762        0,   307,     0,     0,     0,     0,     0,   308,   309,   310,
4763        0,     0,     0,     0,     0,    32,     0,     0,     0,     0,
4764      311,   312,  1123,     0,   639,   640,   641,     0,     0,     0,
4765        0,     0,     0,     0,   313,     0,     0,     0,   314,   315,
4766      316,   317,   318,   319,   320,   321,    43,    44,     0,     0,
4767        0,     0,     0,     0,   322,   323,     0,     0,   324,  -452,
4768      325,   642,     0,  -452,     0,   254,     0,   643,   326,   327,
4769        0,   328,   329,   330,   331,   302,     0,     1,   303,   106,
4770      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4771        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4772        0,     0,     2,     0,     0,     0,     0,     0,     0,     0,
4773        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4774        0,     0,     0,     0,     0,     0,  1115,  1116,  1117,   629,
4775     1118,  1119,  1120,  1121,   634,   635,  1122,     0,     0,   307,
4776        0,     0,     0,     0,     0,   308,   309,   310,     0,     0,
4777        0,     0,     0,    32,     0,     0,     0,     0,   311,   312,
4778     1123,     0,   639,   640,   641,     0,     0,     0,     0,     0,
4779        0,     0,   313,     0,     0,     0,   314,   315,   316,   317,
4780      318,   319,   320,   321,    43,    44,     0,     0,     0,     0,
4781        0,     0,   322,   323,     0,     0,   324,  1158,   325,   642,
4782        0,  1159,     0,   254,     0,   643,   326,   327,     0,   328,
4783      329,   330,   331,  1834,     0,     1,   303,   106,   304,     0,
4784      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4785        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4786        2,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4787        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4788        0,     0,     0,     0,  1115,  1116,  1117,   629,  1118,  1119,
4789     1120,  1121,   634,   635,  1122,     0,     0,   307,     0,     0,
4790        0,     0,     0,   308,   309,   310,     0,     0,     0,     0,
4791        0,    32,     0,     0,     0,     0,   311,   312,  1123,     0,
4792      639,   640,   641,     0,     0,     0,     0,     0,     0,     0,
4793      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
4794      320,   321,    43,    44,     0,     0,     0,     0,     0,     0,
4795      322,   323,     0,     0,   324,     0,   325,   642,     0,     0,
4796        0,   254,     0,   643,   326,   327,     0,   328,   329,   330,
4797      331,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4798        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4799        0,     0,     0,     0,     0,     0,     0,     0,     2,     0,
4800        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4801        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4802        0,     0,   626,   627,   628,   629,   630,   631,   632,   633,
4803      634,   635,   636,     0,     0,   307,     0,     0,     0,     0,
4804        0,   308,   309,   310,     0,     0,     0,     0,     0,    32,
4805        0,     0,     0,     0,   311,   312,  1123,     0,   639,   640,
4806      641,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4807        0,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4808       43,    44,     0,     0,     0,     0,     0,     0,   322,   323,
4809        0,     0,   324,     0,   325,   642,     0,     0,     0,   254,
4810        0,   643,   326,   327,     0,   328,   329,   330,   331,   302,
4811        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4812        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4813        0,     0,     0,     0,     0,     0,     2,     0,     0,     0,
4814        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4815        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4816        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4817        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
4818      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
4819        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
4820        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
4821      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4822        0,     2,     0,     0,     0,     0,   322,   323,     0,     0,
4823      324,  1158,   325,     0,     0,  1725,     0,     0,     0,  1872,
4824      326,   327,     0,   328,   329,   330,   331,     0,     0,     0,
4825        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
4826        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
4827        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
4828        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4829        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
4830      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
4831        0,   322,   323,     0,     0,   324,  1158,   325,     0,     0,
4832     1725,     0,     0,     0,  1876,   326,   327,     0,   328,   329,
4833      330,   331,     0,     0,     0,     0,     0,     0,     0,     0,
4834        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
4835      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
4836        0,     0,   311,   312,  2003,     0,     1,   303,   106,   304,
4837        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
4838      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4839        0,     2,     0,     0,     0,     0,   322,   323,     0,     0,
4840      324,  1158,   325,  1855,     0,  1159,     0,     0,     0,     0,
4841      326,   327,     0,   328,   329,   330,   331,     0,     0,     0,
4842        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
4843        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
4844        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
4845        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4846        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
4847      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
4848        0,   322,   323,     0,     0,   324,  1158,   325,  1855,     0,
4849     1159,     0,     0,     0,     0,   326,   327,     0,   328,   329,
4850      330,   331,     0,     0,     0,     0,     0,     0,     0,     0,
4851        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
4852      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
4853        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
4854        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
4855      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4856        0,     2,     0,     0,     0,     0,   322,   323,     0,     0,
4857      324,  2068,   325,  2069,     0,  1154,     0,     0,     0,     0,
4858      326,   327,     0,   328,   329,   330,   331,     0,     0,     0,
4859        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
4860        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
4861        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
4862        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4863        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
4864      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
4865        0,   322,   323,     0,     0,   324,  1158,   325,  2067,     0,
4866     1159,     0,     0,     0,     0,   326,   327,     0,   328,   329,
4867      330,   331,     0,     0,     0,     0,     0,   302,     0,     1,
4868      303,   106,   304,   307,   305,   306,     0,     0,     0,   308,
4869      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
4870        0,     0,   311,   312,     2,     0,     0,     0,     0,     0,
4871        0,     0,     0,     0,     0,     0,   313,     0,     0,     0,
4872      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4873        0,     0,     0,     0,     0,     0,   322,   323,     0,     0,
4874      324,   307,   325,  1153,     0,  1154,     0,   308,   309,   310,
4875      326,   327,     0,   328,   329,   330,   331,     0,     0,     0,
4876      311,   312,   302,     0,     1,   303,   106,   304,     0,   305,
4877      306,     0,     0,     0,   313,     0,     0,     0,   314,   315,
4878      316,   317,   318,   319,   320,   321,     0,     0,     0,     2,
4879        0,     0,     0,     0,   322,   323,     0,     0,   324,  1263,
4880      325,     0,     0,     0,     0,   742,     0,     0,   326,   327,
4881        0,   328,   329,   330,   331,     0,     0,   302,     0,     1,
4882      303,   106,   304,     0,   305,   306,   307,     0,     0,     0,
4883        0,     0,   308,   309,   310,     0,     0,     0,     0,     0,
4884        0,     0,     0,     0,     2,   311,   312,     0,     0,     0,
4885        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
4886        0,     0,     0,   314,   315,   316,   317,   318,   319,   320,
4887      321,     0,     0,     0,     0,     0,     0,     0,     0,   322,
4888      323,   307,     0,   324,  1330,   325,     0,   308,   309,   310,
4889      742,     0,     0,   326,   327,     0,   328,   329,   330,   331,
4890      311,   312,   302,     0,     1,   303,   106,   304,     0,   305,
4891      306,     0,     0,     0,   313,     0,     0,     0,   314,   315,
4892      316,   317,   318,   319,   320,   321,     0,     0,     0,     2,
4893        0,     0,     0,     0,   322,   323,     0,     0,   324,     0,
4894      325,  1134,     0,     0,     0,   742,     0,     0,   326,   327,
4895        0,   328,   329,   330,   331,     0,     0,     0,     0,     0,
4896        0,     0,     0,     0,     0,     0,   307,     0,     0,     0,
4897        0,     0,   308,   309,   310,     0,     0,     0,     0,     0,
4898        0,     0,     0,     0,     0,   311,   312,  1612,     0,     1,
4899      303,   106,   304,     0,   305,   306,     0,     0,     0,   313,
4900        0,     0,     0,   314,   315,   316,   317,   318,   319,   320,
4901      321,     0,     0,     0,     2,     0,     0,     0,     0,   322,
4902      323,     0,     0,   324,  1158,   325,     0,     0,  1159,     0,
4903        0,     0,     0,   326,   327,     0,   328,   329,   330,   331,
4904        0,     0,   302,     0,     1,   303,   106,   304,     0,   305,
4905      306,   307,     0,     0,     0,     0,     0,   308,   309,   310,
4906        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4907      311,   312,     0,     0,     0,     0,     0,     0,     0,     0,
4908        0,     0,     0,     0,   313,     0,     0,     0,   314,   315,
4909      316,   317,   318,   319,   320,   321,     0,     0,     0,     0,
4910        0,     0,     0,     0,   322,   323,   307,     0,   324,  1613,
4911      325,  1614,   308,   309,   310,     0,     0,     0,   326,   327,
4912        0,   328,   329,   330,   331,   311,   312,   302,     0,     1,
4913      303,   106,   304,     0,   305,   306,     0,     0,     0,   313,
4914        0,     0,     0,   314,   315,   316,   317,   318,   319,   320,
4915      321,     0,     0,     0,     2,     0,     0,     0,     0,   322,
4916      323,     0,     0,   324,     0,   325,  1622,     0,  1154,     0,
4917        0,     0,     0,   326,   327,     0,   328,   329,   330,   331,
4918        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4919        0,   307,     0,     0,     0,     0,     0,   308,   309,   310,
4920        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4921      311,   312,   302,     0,     1,   303,   106,   304,     0,   305,
4922      306,     0,     0,     0,   313,     0,     0,     0,   314,   315,
4923      316,   317,   318,   319,   320,   321,     0,     0,     0,     2,
4924        0,     0,     0,     0,   322,   323,     0,     0,   324,  1692,
4925      325,     0,     0,  1154,     0,     0,     0,     0,   326,   327,
4926        0,   328,   329,   330,   331,     0,     0,     0,     0,     0,
4927      302,     0,     1,   303,   106,   304,   307,   305,   306,     0,
4928        0,     0,   308,   309,   310,     0,     0,     0,     0,     0,
4929        0,     0,     0,     0,     0,   311,   312,     2,     0,     0,
4930        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
4931        0,     0,     0,   314,   315,   316,   317,   318,   319,   320,
4932      321,     0,     0,     0,     0,     0,     0,     0,     0,   322,
4933      323,     0,     0,   324,   307,   325,     0,     0,  1154,     0,
4934      308,   309,   310,   326,   327,  1719,   328,   329,   330,   331,
4935        0,     0,     0,   311,   312,   302,     0,     1,   303,   106,
4936      304,     0,   305,   306,     0,     0,     0,   313,     0,     0,
4937        0,   314,   315,   316,   317,   318,   319,   320,   321,     0,
4938        0,     0,     2,     0,     0,     0,     0,   322,   323,     0,
4939        0,   324,     0,   325,     0,     0,  1722,     0,     0,     0,
4940     1723,   326,   327,     0,   328,   329,   330,   331,     0,     0,
4941        0,     0,     0,   302,     0,     1,   303,   106,   304,   307,
4942      305,   306,     0,     0,     0,   308,   309,   310,     0,     0,
4943        0,     0,     0,     0,     0,     0,     0,     0,   311,   312,
4944        2,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4945        0,     0,   313,     0,     0,     0,   314,   315,   316,   317,
4946      318,   319,   320,   321,     0,     0,     0,     0,     0,     0,
4947        0,     0,   322,   323,     0,     0,   324,   307,   325,     0,
4948        0,  1154,     0,   308,   309,   310,   326,   327,  1729,   328,
4949      329,   330,   331,     0,     0,     0,   311,   312,   302,     0,
4950        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
4951      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
4952      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
4953      322,   323,     0,     0,   324,     0,   325,     0,     0,  1722,
4954        0,     0,     0,  1731,   326,   327,     0,   328,   329,   330,
4955      331,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4956        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
4957      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4958        0,   311,   312,   302,     0,     1,   303,   106,   304,     0,
4959      305,   306,     0,     0,     0,   313,     0,     0,     0,   314,
4960      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
4961        2,     0,     0,     0,     0,   322,   323,     0,     0,   324,
4962     1830,   325,     0,     0,  1154,     0,     0,     0,     0,   326,
4963      327,     0,   328,   329,   330,   331,     0,     0,     0,     0,
4964        0,     0,     0,     0,     0,     0,     0,   307,     0,     0,
4965        0,     0,     0,   308,   309,   310,     0,     0,     0,     0,
4966        0,     0,     0,     0,     0,     0,   311,   312,   302,     0,
4967        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
4968      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
4969      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
4970      322,   323,     0,     0,   324,  1832,   325,     0,     0,  1154,
4971        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
4972      331,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4973        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
4974      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4975        0,   311,   312,   302,     0,     1,   303,   106,   304,     0,
4976      305,   306,     0,     0,     0,   313,     0,     0,     0,   314,
4977      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
4978        2,     0,     0,     0,     0,   322,   323,     0,     0,   324,
4979     1833,   325,     0,     0,  1159,     0,     0,     0,     0,   326,
4980      327,     0,   328,   329,   330,   331,     0,     0,     0,     0,
4981        0,     0,     0,     0,     0,     0,     0,   307,     0,     0,
4982        0,     0,     0,   308,   309,   310,     0,     0,     0,     0,
4983        0,     0,     0,     0,     0,     0,   311,   312,   302,     0,
4984        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
4985      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
4986      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
4987      322,   323,     0,     0,   324,  1836,   325,     0,     0,  1154,
4988        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
4989      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
4990      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
4991      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4992        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
4993        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
4994      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
4995        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
4996     1613,   325,  1614,   308,   309,   310,     0,     0,     0,   326,
4997      327,     0,   328,   329,   330,   331,   311,   312,  1856,     0,
4998        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
4999      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5000      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5001      322,   323,     0,     0,   324,     0,   325,  1853,     0,  1154,
5002        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5003      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5004      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5005      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5006        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5007        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5008      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5009        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5010     1857,   325,  1614,   308,   309,   310,     0,     0,     0,   326,
5011      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5012        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5013      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5014      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5015      322,   323,     0,     0,   324,     0,   325,     0,     0,  1722,
5016        0,     0,     0,  1870,   326,   327,     0,   328,   329,   330,
5017      331,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5018        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
5019      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5020        0,   311,   312,   302,     0,     1,   303,   106,   304,     0,
5021      305,   306,     0,     0,     0,   313,     0,     0,     0,   314,
5022      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5023        2,     0,     0,     0,     0,   322,   323,     0,     0,   324,
5024        0,   325,     0,     0,  1722,     0,     0,     0,  1874,   326,
5025      327,     0,   328,   329,   330,   331,     0,     0,     0,     0,
5026        0,     0,     0,     0,     0,     0,     0,   307,     0,     0,
5027        0,     0,     0,   308,   309,   310,     0,     0,     0,     0,
5028        0,     0,     0,     0,     0,     0,   311,   312,   302,     0,
5029        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5030      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5031      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5032      322,   323,     0,     0,   324,  1988,   325,     0,     0,  1154,
5033        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5034      331,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5035        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
5036      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5037        0,   311,   312,   302,     0,     1,   303,   106,   304,     0,
5038      305,   306,     0,     0,     0,   313,     0,     0,     0,   314,
5039      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5040        2,     0,     0,     0,     0,   322,   323,     0,     0,   324,
5041     1831,   325,     0,     0,  1159,     0,     0,     0,     0,   326,
5042      327,     0,   328,   329,   330,   331,     0,     0,     0,     0,
5043        0,     0,     0,     0,     0,     0,     0,   307,     0,     0,
5044        0,     0,     0,   308,   309,   310,     0,     0,     0,     0,
5045        0,     0,     0,     0,     0,     0,   311,   312,   302,     0,
5046        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5047      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5048      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5049      322,   323,     0,     0,   324,  1995,   325,     0,     0,  1154,
5050        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5051      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5052      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5053      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5054        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5055        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5056      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5057        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5058     1857,   325,  1614,   308,   309,   310,     0,     0,     0,   326,
5059      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5060        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5061      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5062      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5063      322,   323,     0,     0,   324,  2072,   325,     0,     0,  1154,
5064        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5065      331,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5066        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
5067      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5068        0,   311,   312,   302,     0,     1,   303,   106,   304,     0,
5069      305,   306,     0,     0,     0,   313,     0,     0,     0,   314,
5070      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5071        2,     0,     0,     0,     0,   322,   323,     0,     0,   324,
5072        0,   325,     0,     0,     0,  2101,  1014,     0,     0,   326,
5073      327,     0,   328,   329,   330,   331,     0,     0,     0,     0,
5074        0,     0,     0,     0,     0,     0,     0,   307,     0,     0,
5075        0,     0,     0,   308,   309,   310,     0,     0,     0,     0,
5076        0,     0,     0,     0,     0,     0,   311,   312,   302,     0,
5077        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5078      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5079      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5080      322,   323,     0,     0,   324,  2104,   325,     0,     0,  1154,
5081        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5082      331,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5083        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
5084      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5085        0,   311,   312,   302,     0,     1,   303,   106,   304,     0,
5086      305,   306,     0,     0,     0,   313,     0,     0,     0,   314,
5087      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5088        2,     0,     0,     0,     0,   322,   323,     0,     0,   324,
5089     2105,   325,     0,     0,  1154,     0,     0,     0,     0,   326,
5090      327,     0,   328,   329,   330,   331,     0,     0,     0,     0,
5091        0,     0,     0,     0,     0,     0,     0,   307,     0,     0,
5092        0,     0,     0,   308,   309,   310,     0,     0,     0,     0,
5093        0,     0,     0,     0,     0,     0,   311,   312,   302,     0,
5094        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5095      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5096      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5097      322,   323,     0,     0,   324,  2133,   325,     0,     0,  1154,
5098        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5099      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5100      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5101      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5102        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5103        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5104      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5105        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5106        0,   325,     0,   308,   309,   310,     0,     0,     0,   326,
5107      327,   548,   328,   329,   330,   331,   311,   312,   302,     0,
5108        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5109      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5110      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5111      322,   323,     0,     0,   324,     0,   325,     0,     0,     0,
5112        0,   742,     0,     0,   326,   327,     0,   328,   329,   330,
5113      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5114      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5115      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5116        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5117        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5118      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5119        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5120        0,   325,     0,   308,   309,   310,     0,     0,     0,   326,
5121      327,   838,   328,   329,   330,   331,   311,   312,   302,     0,
5122        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5123      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5124      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5125      322,   323,     0,     0,   324,     0,   325,     0,     0,     0,
5126        0,     0,     0,     0,   326,   327,   842,   328,   329,   330,
5127      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5128      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5129      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5130        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5131        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5132      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5133        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5134        0,   325,     0,   308,   309,   310,  1014,     0,     0,   326,
5135      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5136        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5137      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5138      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5139      322,   323,     0,     0,   324,     0,   325,     0,     0,     0,
5140        0,     0,     0,     0,   326,   327,  1055,   328,   329,   330,
5141      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5142      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5143      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5144        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5145        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5146      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5147        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5148        0,   325,     0,   308,   309,   310,     0,     0,  1107,   326,
5149      327,     0,   328,   329,   330,   331,   311,   312,  1457,     0,
5150        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5151      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5152      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5153      322,   323,     0,     0,   324,   731,   325,     0,     0,     0,
5154        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5155      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5156      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5157      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5158        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5159        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5160      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5161        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5162        0,   325,     0,   308,   309,   310,   742,     0,     0,   326,
5163      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5164        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5165      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5166      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5167      322,   323,     0,     0,   324,     0,   325,     0,     0,     0,
5168        0,     0,     0,     0,   326,   327,  1560,   328,   329,   330,
5169      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5170      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5171      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5172        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5173        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5174      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5175        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5176     1596,   325,     0,   308,   309,   310,     0,     0,     0,   326,
5177      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5178        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5179      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5180      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5181      322,   323,     0,     0,   324,     0,   325,     0,     0,     0,
5182        0,     0,     0,  1599,   326,   327,     0,   328,   329,   330,
5183      331,     0,     0,  1790,     0,     1,   303,   106,   304,     0,
5184      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5185      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5186        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5187        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5188      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5189        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5190        0,   325,     0,   308,   309,   310,  1789,     0,     0,   326,
5191      327,     0,   328,   329,   330,   331,   311,   312,  1793,     0,
5192        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5193      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5194      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5195      322,   323,     0,     0,   324,     0,   325,     0,     0,     0,
5196        0,   742,     0,     0,   326,   327,     0,   328,   329,   330,
5197      331,     0,     0,  1797,     0,     1,   303,   106,   304,     0,
5198      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5199      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5200        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5201        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5202      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5203        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5204        0,   325,     0,   308,   309,   310,   742,     0,     0,   326,
5205      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5206        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5207      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5208      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5209      322,   323,     0,     0,   324,     0,   325,     0,     0,     0,
5210        0,   742,     0,     0,   326,   327,     0,   328,   329,   330,
5211      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5212      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5213      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5214        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5215        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5216      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5217        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5218     1843,   325,     0,   308,   309,   310,     0,     0,     0,   326,
5219      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5220        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5221      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5222      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5223      322,   323,     0,     0,  1903,     0,   325,     0,     0,     0,
5224        0,  1789,     0,     0,   326,   327,     0,   328,   329,   330,
5225      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5226      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5227      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5228        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5229        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5230      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5231        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5232     2004,   325,     0,   308,   309,   310,     0,     0,     0,   326,
5233      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5234        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5235      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5236      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5237      322,   323,     0,     0,   324,  2063,   325,     0,     0,     0,
5238        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5239      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5240      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5241      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5242        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5243        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5244      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5245        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5246        0,   325,     0,   308,   309,   310,     0,     0,     0,   326,
5247      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5248        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5249      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5250      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5251      322,   323,     0,     0,   702,     0,   325,     0,     0,     0,
5252        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5253      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5254      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5255      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5256        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5257        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5258      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5259        0,     0,     0,     0,     0,   322,   323,   307,     0,   705,
5260        0,   325,     0,   308,   309,   310,     0,     0,     0,   326,
5261      327,     0,   328,   329,   330,   331,   311,   312,     0,     0,
5262        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5263      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5264      320,   321,     0,  -894,   583,     0,  -894,  -894,  -894,     0,
5265      322,   323,     0,     0,   728,     0,   325,     0,     0,     0,
5266        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5267      331,  -894,  -894,  -894,  -894,  -894,  -894,  -894,  -894,  -894,
5268     -894,  -894,  -894,  -894,  -894,  -894,  -894,  -894,  -894,  -894,
5269     -894,  -894,  -894,  -894,     0,     0,  -894,     0,     0,     0,
5270        0,     0,     0,     0,     0,     0,     0,     0,  -894,  -894,
5271        0,  -894,     0,     0,  -894,  -894,     0,  -894,  -894,     0,
5272        0,  -894,  -894,  -894,  -894,  -894,  -894,     0,  -894,  -894,
5273     -894,  -894,     0,     0,  -894,  -894,  -894,  -894,     0,  -894,
5274        0,  -894,  -894,  -894,     0,  -894,  -894,  -894,  -894,  -894,
5275     -894,  -894,     0,  -894,  -894,  -894,  -894,  -894,  -894,  -894,
5276     -894,  -894,  -894,     0,     0,  -894,   584,  -894,  -894,     0,
5277      585,  -894,     0,     0,     0,  -894,  -894,  -189,   905,     0,
5278     -189,  -189,  -189,     0,     0,     0,     0,     0,     0,     0,
5279        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5280        0,     0,     0,     0,     0,  -189,  -189,  -189,  -189,  -189,
5281     -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
5282     -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,     0,     0,
5283     -189,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5284        0,     0,  -189,  -189,     0,  -189,     0,     0,  -189,  -189,
5285        0,  -189,  -189,     0,     0,  -189,  -189,  -189,  -189,  -189,
5286     -189,     0,  -189,  -189,  -189,  -189,     0,     0,  -189,  -189,
5287     -189,  -189,     0,  -189,     0,  -189,  -189,  -189,     0,  -189,
5288     -189,  -189,  -189,  -189,  -189,  -189,     0,  -189,  -189,  -189,
5289     -189,  -189,  -189,  -189,  -189,  -189,  -189,     0,     0,  -189,
5290        0,  -189,   906,     0,   907,  -189,     0,     0,     0,  -189,
5291     -189,  -253,   919,     0,     1,   303,   106,     0,     0,     0,
5292        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5293        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5294      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5295       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5296       23,    24,     0,     0,  -253,     0,     0,     0,     0,     0,
5297        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5298        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5299       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5300        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5301      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5302        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5303       51,     0,     0,   436,     0,   437,   438,  -251,   922,  -253,
5304        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5305        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5306        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5307      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5308       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5309     -251,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5310        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5311        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5312       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5313      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5314      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5315       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5316        0,   437,   438,  -254,   919,  -251,     1,   303,   106,   326,
5317      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5318        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5319        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5320       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5321       21,    22,    23,    24,     0,     0,  -254,     0,     0,     0,
5322        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5323        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5324        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5325       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5326        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5327      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5328      207,   322,    51,     0,     0,   436,     0,   437,   438,  -252,
5329      922,  -254,     1,   303,   106,   326,   327,     0,     0,     0,
5330        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5331        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5332      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5333       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5334        0,     0,  -252,     0,     0,     0,     0,     0,     0,     0,
5335        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5336      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5337      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5338      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5339        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5340       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5341        0,   436,     0,   437,   438,     0,   423,  -252,     1,   303,
5342      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5343        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5344        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5345        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5346       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5347        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5348      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5349       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5350      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5351        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5352      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5353       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5354      438,     0,   489,   439,     1,   303,   106,   326,   327,     0,
5355        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5356        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5357      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5358       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5359       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5360        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5361        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5362       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5363        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5364      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5365        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5366       51,     0,     0,   436,     0,   437,   438,     0,   511,   490,
5367        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5368        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5369        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5370      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5371       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5372        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5373        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5374        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5375       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5376      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5377      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5378       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5379        0,   437,   438,     0,   516,   512,     1,   303,   106,   326,
5380      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5381        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5382        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5383       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5384       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5385        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5386        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5387        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5388       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5389        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5390      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5391      207,   322,    51,     0,     0,   436,     0,   437,   438,     0,
5392      520,   517,     1,   303,   106,   326,   327,     0,     0,     0,
5393        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5394        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5395      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5396       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5397        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5398        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5399      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5400      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5401      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5402        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5403       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5404        0,   436,     0,   437,   438,     0,   919,   521,     1,   303,
5405      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5406        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5407        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5408        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5409       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5410        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5411      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5412       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5413      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5414        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5415      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5416       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5417      438,     0,   922,  -749,     1,   303,   106,   326,   327,     0,
5418        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5419        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5420      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5421       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5422       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5423        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5424        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5425       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5426        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5427      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5428        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5429       51,     0,     0,   436,     0,   437,   438,     0,   919,  -750,
5430        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5431        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5432        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5433      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5434       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5435        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5436        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5437        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5438       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5439      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5440      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5441       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5442        0,   437,   438,     0,   922,  -746,     1,   303,   106,   326,
5443      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5444        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5445        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5446       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5447       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5448        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5449        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5450        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5451       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5452        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5453      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5454      207,   322,    51,     0,     0,   436,     0,   437,   438,     0,
5455      919,  -747,     1,   303,   106,   326,   327,     0,     0,     0,
5456        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5457        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5458      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5459       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5460        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5461        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5462      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5463      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5464      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5465        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5466       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5467        0,   436,     0,   437,   438,     0,   922,  -752,     1,   303,
5468      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5469        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5470        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5471        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5472       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5473        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5474      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5475       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5476      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5477        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5478      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5479       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5480      438,     0,  1037,  -753,     1,   303,   106,   326,   327,     0,
5481        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5482        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5483      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5484       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5485       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5486        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5487        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5488       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5489        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5490      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5491        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5492       51,     0,     0,   436,     0,   437,   438,     0,  1041,  1038,
5493        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5494        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5495        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5496      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5497       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5498        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5499        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5500        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5501       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5502      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5503      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5504       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5505        0,   437,   438,     0,   302,  1042,     1,   303,   106,   326,
5506      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5507        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5508        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5509       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5510       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5511        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5512        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5513        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5514       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5515        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5516      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5517      207,   322,    51,     0,     0,   436,     0,   437,   438,     0,
5518      919,  -648,     1,   303,   106,   326,   327,     0,     0,     0,
5519        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5520        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5521      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5522       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5523        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5524        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5525      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5526      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5527      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5528        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5529       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5530        0,   436,     0,   437,   438,     0,   922,  -729,     1,   303,
5531      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5532        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5533        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5534        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5535       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5536        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5537      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5538       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5539      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5540        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5541      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5542       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5543      438,     0,   919,  -730,     1,   303,   106,   326,   327,     0,
5544        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5545        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5546      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5547       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5548       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5549        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5550        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5551       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5552        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5553      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5554        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5555       51,     0,     0,   436,     0,   437,   438,     0,   922,  -732,
5556        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5557        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5558        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5559      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5560       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5561        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5562        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5563        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5564       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5565      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5566      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5567       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5568        0,   437,   438,     0,  1542,  -733,     1,   303,   106,   326,
5569      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5570        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5571        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5572       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5573       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5574        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5575        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5576        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5577       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5578        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5579      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5580      207,   322,    51,     0,     0,   436,     0,   437,   438,     0,
5581      919,  1543,     1,   303,   106,   326,   327,     0,     0,     0,
5582        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5583        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5584      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5585       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5586        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5587        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5588      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5589      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5590      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5591        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5592       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5593        0,   436,     0,   437,   438,     0,   922,  -643,     1,   303,
5594      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5595        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5596        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5597        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5598       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5599        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5600      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5601       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5602      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5603        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5604      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5605       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5606      438,     0,   919,  -644,     1,   303,   106,   326,   327,     0,
5607        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5608        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5609      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5610       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5611       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5612        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5613        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5614       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5615        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5616      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5617        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5618       51,     0,     0,   436,     0,   437,   438,     0,   922,  -735,
5619        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5620        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5621        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5622      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5623       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5624        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5625        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5626        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5627       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5628      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5629      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5630       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5631        0,   437,   438,     0,   302,  -736,     1,   303,   106,   326,
5632      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5633        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5634        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5635       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5636       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5637        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5638        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5639        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5640       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5641        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5642      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5643      207,   322,    51,     0,     0,   436,     0,   437,   438,     0,
5644      302,  -647,     1,   303,   106,   326,   327,     0,     0,     0,
5645        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5646        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5647      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5648       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5649        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5650        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5651      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5652      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5653      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5654        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5655       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5656        0,   436,     0,   437,   438,     0,   302,  -645,     1,   303,
5657      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5658        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5659        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5660        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5661       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5662        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5663      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5664       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5665      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5666        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5667      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5668       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5669      438,     0,   302,  -623,     1,   303,   106,   326,   327,     0,
5670        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5671        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5672      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5673       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5674       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5675        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5676        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5677       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5678        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5679      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5680        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5681       51,     0,     0,   436,     0,   437,   438,     0,   919,  -622,
5682        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5683        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5684        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5685      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5686       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5687        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5688        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5689        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5690       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5691      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5692      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5693       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5694        0,   437,   438,     0,   922,  -636,     1,   303,   106,   326,
5695      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5696        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5697        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5698       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5699       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5700        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5701        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5702        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5703       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5704        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5705      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5706      207,   322,    51,     0,     0,   436,     0,   437,   438,     0,
5707      302,  -637,     1,   303,   106,   326,   327,     0,     0,     0,
5708        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5709        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5710      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5711       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5712        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5713        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5714      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5715      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5716      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5717        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5718       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5719        0,   436,     0,   437,   438,     0,   919,  -646,     1,   303,
5720      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5721        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5722        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5723        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5724       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5725        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5726      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5727       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5728      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5729        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5730      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5731       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5732      438,     0,   922,  -632,     1,   303,   106,   326,   327,     0,
5733        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5734        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5735      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5736       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5737       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5738        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5739        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5740       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5741        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5742      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5743        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5744       51,     0,     0,   436,     0,   437,   438,     0,   919,  -633,
5745        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5746        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5747        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5748      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5749       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5750        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5751        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5752        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5753       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5754      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5755      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5756       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5757        0,   437,   438,     0,   922,  -620,     1,   303,   106,   326,
5758      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5759        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5760        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5761       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5762       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5763        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5764        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5765        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5766       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5767        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5768      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5769      207,   322,    51,     0,     0,   436,     0,   437,   438,     0,
5770      919,  -621,     1,   303,   106,   326,   327,     0,     0,     0,
5771        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5772        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5773      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5774       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5775        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5776        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5777      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5778      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5779      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5780        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5781       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5782        0,   436,     0,   437,   438,     0,   922,  -615,     1,   303,
5783      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5784        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5785        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5786        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5787       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5788        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5789      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5790       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5791      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5792        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5793      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5794       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5795      438,     0,   919,  -616,     1,   303,   106,   326,   327,     0,
5796        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5797        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5798      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5799       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5800       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5801        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5802        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5803       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5804        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5805      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5806        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5807       51,     0,     0,   436,     0,   437,   438,     0,   922,  -634,
5808        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5809        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5810        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5811      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5812       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5813        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5814        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5815        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5816       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5817      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5818      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5819       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5820        0,   437,   438,     0,   423,  -635,     1,   303,   106,   326,
5821      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5822        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5823        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5824       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5825       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5826        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5827        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5828        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5829       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5830        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5831      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5832      207,   322,    51,     0,     0,   436,     0,   437,   438,   489,
5833        0,     1,   303,   106,     0,   326,   327,     0,     0,     0,
5834        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5835        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
5836      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
5837       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5838        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5839        0,     0,     0,   307,    27,     0,   424,     0,     0,   308,
5840      309,     0,    28,    29,     0,     0,   425,    32,   426,   427,
5841       35,    36,     0,   406,    38,    39,   428,     0,     0,   429,
5842      430,   431,   432,     0,   433,     0,   434,   435,    40,     0,
5843      314,   315,   316,   317,   318,   319,   320,     0,    43,    44,
5844       45,    46,    47,    48,   206,   207,   322,    51,     0,   199,
5845      436,     1,   437,   438,     0,     0,     0,     0,     0,     0,
5846      326,   327,     0,     0,     0,     0,     0,     0,     0,     0,
5847        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
5848      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
5849       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5850        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5851        0,     0,     0,   205,    27,     0,     0,     0,     0,     0,
5852        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
5853       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
5854        0,     0,     0,     0,     0,     0,     0,     0,    40,     0,
5855        0,     0,     0,     0,     0,     0,     0,     1,    43,    44,
5856       45,    46,    47,    48,   206,   207,     0,    51,     0,     0,
5857      860,  1046,     0,     0,     0,     0,     0,     0,     0,     0,
5858        0,   566,     2,   200,   201,   202,   203,   204,     8,     9,
5859       10,   564,    12,    13,    14,    15,    16,    17,    18,    19,
5860       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5861        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5862       27,     0,     0,     0,     0,     0,     0,     0,    28,    29,
5863        0,     0,     0,    32,     0,     0,    35,    36,     0,    37,
5864       38,    39,     0,     0,     0,     0,     0,     0,     0,     0,
5865        0,     0,     0,     0,    40,     0,     0,     0,     0,     0,
5866        0,     0,     0,     0,    43,    44,    45,    46,    47,    48,
5867      206,   207,     1,    51,     0,     0,   565,     0,     0,     0,
5868        0,     0,     0,     0,     0,     0,     0,   566,     0,   567,
5869        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5870      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5871       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5872        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5873        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
5874        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5875        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5876        0,     0,     0,     0,     0,     0,     0,     0,     0,    40,
5877        0,     0,     0,     0,     0,     0,     0,     0,     1,    43,
5878       44,    45,    46,    47,    48,   206,   207,     0,    51,     0,
5879        0,   860,     0,     0,     0,     0,     0,     0,     0,     0,
5880        0,     0,   566,     2,   200,   201,   202,   203,   204,   234,
5881      235,   236,   237,   238,   239,   240,   241,   242,   243,    18,
5882       19,   244,   245,    22,    23,    24,     0,     0,     0,     0,
5883        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5884        0,   246,     0,     0,     0,     0,     0,     0,     0,    28,
5885       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
5886      247,    38,   248,     0,     0,     0,     0,     0,     0,     0,
5887        0,     0,     0,     0,     0,   249,     0,     0,     0,     0,
5888        0,     0,     0,     0,     1,    43,    44,   250,   251,   252,
5889      253,   206,   207,     0,    51,     0,     0,   860,     0,     0,
5890        0,     0,     0,     0,  1422,     0,     0,     0,   566,     2,
5891      200,   201,   202,   203,   204,   234,   235,   236,   237,   238,
5892      239,   240,   241,   242,   243,    18,    19,   244,   245,    22,
5893       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5894        0,     0,     0,     0,     0,     0,     0,   246,     0,     0,
5895        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
5896       32,     0,     0,     0,     0,     0,   247,    38,   248,     0,
5897        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5898        0,   249,     0,     0,     0,     0,     0,     0,     0,     0,
5899        1,    43,    44,   250,   251,   252,   253,   206,   207,     0,
5900       51,     0,     0,   860,     0,     0,     0,     0,     0,     0,
5901     1439,     0,     0,     0,   566,     2,   200,   201,   202,   203,
5902      204,   234,   235,   236,   237,   238,   239,   240,   241,   242,
5903      243,    18,    19,   244,   245,    22,    23,    24,     0,     0,
5904        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5905        0,     0,     0,   246,     0,     0,     0,     0,     0,     0,
5906        0,    28,    29,     0,     0,     0,    32,     0,     0,     0,
5907        0,     0,   247,    38,   248,     0,     0,     0,     0,     0,
5908        0,     0,     0,     0,     0,     0,     0,   249,     0,     0,
5909        0,     0,     0,     0,     0,     0,     1,    43,    44,   250,
5910      251,   252,   253,   206,   207,     0,    51,     0,     0,  1206,
5911        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5912     1207,     2,   200,   201,   202,   203,   204,   234,   235,   236,
5913      237,   238,   239,   240,   241,   242,   243,    18,    19,   244,
5914      245,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5915        0,     0,     0,     0,     0,     0,     0,     0,     0,   246,
5916        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5917        0,     0,    32,     0,     0,     0,     0,     0,   247,    38,
5918      248,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5919        0,     0,     0,   249,     0,     0,     0,     0,     0,     0,
5920        0,     0,     1,    43,    44,   250,   251,   252,   253,   206,
5921      207,     0,    51,     0,     0,  1206,     0,     0,     0,     0,
5922        0,     0,     0,     0,     0,     0,  1229,     2,   200,   201,
5923      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
5924      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
5925        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5926        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
5927        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5928        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
5929        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
5930        0,     0,     0,     0,     0,     0,     0,     0,     1,    43,
5931       44,   250,   251,   252,   253,   206,   207,     0,    51,     0,
5932        0,  1206,     0,     0,     0,     0,     0,     0,     0,     0,
5933        0,     0,  1684,     2,   200,   201,   202,   203,   204,   234,
5934      235,   236,   237,   238,   239,   240,   241,   242,   243,    18,
5935       19,   244,   245,    22,    23,    24,     0,     0,     0,     0,
5936        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5937        0,   246,     0,     0,     0,     0,     0,     0,     0,    28,
5938       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
5939      247,    38,   248,     0,     0,     0,     0,     0,     0,     0,
5940        0,     0,     0,     0,     0,   249,     0,     0,     0,     0,
5941        0,     0,     0,     0,     1,    43,    44,   250,   251,   252,
5942      253,   206,   207,     0,    51,     0,     0,  1206,     0,     0,
5943        0,     0,     0,     0,     0,     0,     0,     0,  1699,     2,
5944        3,     4,   273,     6,     7,     8,     9,    10,    11,    12,
5945       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5946       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5947        0,     0,     0,     0,     0,     0,    26,    27,     0,     0,
5948        0,     0,     0,     0,     0,    28,    29,   274,    31,     0,
5949       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
5950        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5951        0,    40,     0,     0,     0,     0,    42,     0,     1,     0,
5952        0,    43,    44,    45,    46,    47,    48,    49,    50,     0,
5953       51,     0,     0,    52,     0,     0,     0,     0,     0,     0,
5954        0,     0,   275,     2,   200,   201,   202,   203,   204,     8,
5955        9,    10,   564,    12,    13,    14,    15,    16,    17,    18,
5956       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5957        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5958        0,    27,     0,     0,     0,     0,     0,     0,     0,    28,
5959       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
5960       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
5961        0,     0,     0,     0,     0,    40,     0,     0,     0,     0,
5962        0,     0,     1,     0,     0,    43,    44,    45,    46,    47,
5963       48,   206,   207,     0,    51,     0,     0,   927,     0,     0,
5964        0,     0,     0,     0,     0,     0,   928,     2,   200,   201,
5965      202,   203,   204,     8,     9,    10,   564,    12,    13,    14,
5966       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5967        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5968        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
5969        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5970        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5971        0,     0,     0,     0,     0,     0,     0,     0,     0,    40,
5972        0,     0,     0,     0,   619,     0,     0,     0,     0,    43,
5973       44,    45,    46,    47,    48,   206,   207,     0,    51,     0,
5974        0,    52,     0,     0,     0,     0,     0,     0,     0,     0,
5975      928,     2,   200,   201,   202,   203,   204,   234,   235,   236,
5976      237,   238,   239,   240,   241,   242,   243,    18,    19,   244,
5977      245,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5978        0,     0,     0,     0,     0,     0,     0,     0,     0,   246,
5979        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5980        0,     0,    32,     0,     0,     0,     0,     0,   247,    38,
5981      248,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5982        0,     0,     0,   249,     0,     0,  1507,     0,     0,     0,
5983        0,     0,     0,    43,    44,   250,   251,   252,   253,   206,
5984      207,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5985        0,     0,   254,   -66,   -66,   -66,   -66,   -66,   -66,   -66,
5986      -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,
5987      -66,   -66,   -66,   -66,   -66,   -66,     0,     0,     0,     0,
5988        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5989        0,   -66,     0,     0,     0,     0,     0,     0,     0,   -66,
5990      -66,     0,     0,     0,   -66,     0,     0,     0,     0,     0,
5991      -66,   -66,   -66,     0,     0,     0,     0,     0,     0,     0,
5992        0,     0,     0,     0,     0,   -66,     0,  1710,     0,     0,
5993        0,     0,     0,     0,     0,   -66,   -66,   -66,   -66,   -66,
5994      -66,   -66,   -66,     0,     0,     0,     0,     0,     0,     0,
5995     1508,     0,  1509,   -66,     2,   200,   201,   202,   203,   204,
5996      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
5997       18,    19,   244,   245,    22,    23,    24,     0,     0,     0,
5998        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5999        0,     0,   246,     0,     0,     0,     0,     0,     0,     0,
6000       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
6001        0,   247,    38,   248,     0,     0,     0,     0,     0,     0,
6002        0,     0,     0,     0,     0,     0,   249,     0,  1714,     0,
6003        0,     0,     0,     0,     0,     0,    43,    44,   250,   251,
6004      252,   253,   206,   207,     0,     0,     0,     0,     0,     0,
6005        0,     0,     0,     0,  -111,     2,   200,   201,   202,   203,
6006      204,   234,   235,   236,   237,   238,   239,   240,   241,   242,
6007      243,    18,    19,   244,   245,    22,    23,    24,     0,     0,
6008        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6009        0,     0,     0,   246,     0,     0,     0,     0,     0,     0,
6010        0,    28,    29,     0,     0,     0,    32,     0,     0,     0,
6011        0,     0,   247,    38,   248,     0,     0,     0,     0,     0,
6012        0,     0,     0,     0,     0,     0,     0,   249,     0,  1715,
6013        0,     0,     0,     0,     0,     0,     0,    43,    44,   250,
6014      251,   252,   253,   206,   207,     0,     0,     0,     0,     0,
6015        0,     0,     0,     0,     0,   -95,     2,   200,   201,   202,
6016      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
6017      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
6018        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6019        0,     0,     0,     0,   246,     0,     0,     0,     0,     0,
6020        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6021        0,     0,     0,   247,    38,   248,     0,     0,     0,     0,
6022        0,     0,     0,     0,     0,     0,     0,     0,   249,     0,
6023     1821,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6024      250,   251,   252,   253,   206,   207,     0,     0,     0,     0,
6025        0,     0,     0,     0,     0,     0,   -96,     2,   200,   201,
6026      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
6027      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
6028        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6029        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
6030        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6031        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
6032        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
6033        0,  1965,     0,     0,     0,     0,     0,     0,     0,    43,
6034       44,   250,   251,   252,   253,   206,   207,     0,     0,     0,
6035        0,     0,     0,     0,     0,     0,     0,   -80,     2,   200,
6036      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
6037      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
6038       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6039        0,     0,     0,     0,     0,     0,   246,     0,     0,     0,
6040        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6041        0,     0,     0,     0,     0,   247,    38,   248,     0,     0,
6042        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6043      249, -1287,   292,     0,     1,     0,     0,     0,     0,     0,
6044       43,    44,   250,   251,   252,   253,   206,   207,     0,     0,
6045        0,     0,     0,     0,     0,     0,     0,     0,   -87,     2,
6046        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
6047       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6048       23,    24,     0,     0,    25,     0,     0,     0,     0,     0,
6049        0,     0,     0,     0,     0,     0,    26,    27,     0,     0,
6050        0,     0,     0,     0,     0,    28,    29,    30,    31,     0,
6051       32,    33,    34,    35,    36,     0,    37,    38,    39,     0,
6052        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6053        0,    40,    41,     1,     0,     0,    42,     0,     0,     0,
6054        0,    43,    44,    45,    46,    47,    48,    49,    50,     0,
6055       51,     0,     0,    52,     0,     0,    53,     0,     2,   200,
6056      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6057       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6058       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6059        0,     0,     0,     0,     0,     0,    27,     0,     0,     0,
6060        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6061        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6062        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6063       40,     0,     0,     0,     1,     0,     0,   830,     0,     0,
6064       43,    44,    45,    46,    47,    48,   206,   207,     0,     0,
6065        0,     0,     0,     0,     0,     0,     0,     0,  1398,     2,
6066      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
6067       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6068       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6069        0,     0,     0,     0,     0,     0,     0,    27,     0,     0,
6070        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6071       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
6072        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6073        0,    40,     0,     0,     0,     1,     0,     0,   830,     0,
6074        0,    43,    44,    45,    46,    47,    48,   206,   207,     0,
6075        0,     0,     0,     0,     0,     0,     0,     0,     0,  1741,
6076        2,   200,   201,   202,   203,   204,     8,     9,    10,    11,
6077       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
6078       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
6079        0,     0,     0,     0,     0,     0,     0,     0,    27,     0,
6080        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
6081        0,    32,     0,     0,    35,    36,     0,    37,    38,    39,
6082        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6083        0,     0,    40,     0,   165,     0,     1,     0,     0,   830,
6084        0,     0,    43,    44,    45,    46,    47,    48,   206,   207,
6085        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6086     1742,     2,     3,     4,   166,     6,     7,     8,     9,    10,
6087      167,   168,    13,    14,    15,    16,    17,    18,    19,    20,
6088       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6089        0,     0,     0,     0,     0,     0,     0,     0,    26,    27,
6090        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6091        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6092       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6093        0,     0,   165,    40,     1,     0,     0,     0,     0,     0,
6094        0,     0,     0,    43,    44,    45,    46,    47,    48,    49,
6095       50,     0,    51,     0,     0,    52,     0,     0,   169,     2,
6096        3,     4,   166,     6,     7,     8,     9,    10,   167,   168,
6097       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6098       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6099        0,     0,     0,     0,     0,     0,     0,    27,     0,     0,
6100        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6101       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
6102        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6103      604,    40,     1,     0,     0,     0,     0,     0,     0,     0,
6104        0,    43,    44,    45,    46,    47,    48,    49,    50,     0,
6105       51,     0,     0,    52,     0,     0,   169,     2,   200,   201,
6106      202,   203,   204,   234,   235,   236,   605,   606,   239,   240,
6107      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
6108        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6109        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
6110        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6111        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
6112        0,     0,     0,     0,     0,     0,     0,     0,  -914,   249,
6113     -914,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6114       44,   250,   251,   252,   253,   206,   207,     0,    51,     0,
6115        0,    52,     0,     0,   607,  -914,  -914,  -914,  -914,  -914,
6116     -914,  -914,  -914,  -914,  -914,  -914,  -914,  -914,  -914,  -914,
6117     -914,  -914,  -914,  -914,  -914,  -914,  -914,  -914,     0,     0,
6118        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6119        0,     0,     0,  -914,     0,     0,     0,     0,     0,     0,
6120        0,  -914,  -914,     0,     0,     0,  -914,     0,     0,     0,
6121        0,     0,  -914,  -914,  -914,     0,     0,     0,     0,     0,
6122        0,     0,     0,     0,     0,     0,     0,  -914,     1,     0,
6123        0,     0,     0,     0,     0,     0,     0,  -914,  -914,  -914,
6124     -914,  -914,  -914,  -914,  -914,     0,  -914,     0,     0,  -914,
6125        0,     0,  -914,     2,     3,     4,     5,     6,     7,     8,
6126        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
6127       19,    20,    21,    22,    23,    24,     0,     0,    25,     0,
6128        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6129       26,    27,     0,     0,     0,     0,     0,     0,     0,    28,
6130       29,    30,    31,     0,    32,    33,    34,    35,    36,     0,
6131       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
6132        0,     0,     0,     0,     0,    40,    41,     0, -1288,   284,
6133       42,     1,     0,     0,     0,    43,    44,    45,    46,    47,
6134       48,    49,    50,     0,    51,     0,     0,    52,     0,     0,
6135       53,     0,     0,     0,     0,     0,     2,     3,     4,   166,
6136        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
6137       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
6138        0,    25,     0,     0,     0,     0,     0,     0,     0,     0,
6139        0,     0,     0,    26,    27,     0,     0,     0,     0,     0,
6140        0,     0,    28,    29,     0,     0,     0,    32,    33,    34,
6141       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
6142        0,     0,     0,     0,   199,     0,     1,     0,    40,     0,
6143        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6144       45,    46,    47,    48,    49,    50,     0,    51,     0,     0,
6145       52,     2,   200,   201,   202,   203,   204,     8,     9,    10,
6146       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6147       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6148        0,     0,     0,     0,     0,     0,     0,     0,   205,    27,
6149        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6150        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6151       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6152      199,     0,     1,    40,     0,     0,     0,     0,     0,     0,
6153        0,     0,     0,    43,    44,    45,    46,    47,    48,   206,
6154      207,     0,    51,     0,     0,  1206,  1671,     2,   200,   201,
6155      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6156       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6157        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6158        0,     0,     0,     0,   205,    27,     0,     0,     0,     0,
6159        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6160        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6161        0,     0,     0,     0,     0,     0,   199,     0,     1,    40,
6162        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6163       44,    45,    46,    47,    48,   206,   207,     0,     0,     0,
6164        0,     0,   208,     2,   200,   201,   202,   203,   204,     8,
6165        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
6166       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
6167        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6168      205,    27,     0,     0,     0,     0,     0,     0,     0,    28,
6169       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
6170       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
6171        0,     0,   940,     0,     1,    40,     0,     0,     0,     0,
6172        0,     0,     0,     0,     0,    43,    44,    45,    46,    47,
6173       48,   206,   207,     0,     0,     0,     0,     0,   389,     2,
6174      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
6175       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6176       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6177        0,     0,     0,     0,     0,     0,   205,    27,     0,     0,
6178        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6179       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
6180        0,     0,     0,     0,     0,     0,     0,     0,  1465,     0,
6181        1,    40,     0,     0,     0,     0,     0,     0,     0,     0,
6182        0,    43,    44,    45,    46,    47,    48,   206,   207,     0,
6183        0,     0,     0,     0,   208,     2,   200,   201,   202,   203,
6184      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
6185       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
6186        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6187        0,     0,   205,    27,     0,     0,     0,     0,     0,     0,
6188        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
6189       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
6190        0,     0,     0,     0,   199,     0,     1,    40,     0,     0,
6191        0,     0,     0,     0,     0,     0,     0,    43,    44,    45,
6192       46,    47,    48,   206,   207,     0,     0,     0,     0,     0,
6193      389,     2,   200,   201,   202,   203,   204,     8,     9,    10,
6194       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6195       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6196        0,     0,     0,     0,     0,     0,     0,     0,   205,    27,
6197        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6198        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6199       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6200      199,     0,     1,    40,     0,     0,     0,     0,     0,     0,
6201        0,     0,     0,    43,    44,    45,    46,    47,    48,   206,
6202      207,     0,     0,     0,     0,     0,  1557,     2,   200,   201,
6203      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6204       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6205        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6206        0,     0,     0,     0,   205,    27,     0,     0,     0,     0,
6207        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6208        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6209        0,     0,     0,     0,     0,     0,   165,     0,     1,    40,
6210        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6211       44,    45,    46,    47,    48,   206,   207,     0,     0,     0,
6212        0,     0,  1893,     2,     3,     4,   166,     6,     7,     8,
6213        9,    10,   564,    12,    13,    14,    15,    16,    17,    18,
6214       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
6215        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6216       26,    27,     0,     0,     0,     0,     0,     0,     0,    28,
6217       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
6218       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
6219        0,   165,     0,     1,     0,    40,     0,     0,     0,     0,
6220        0,     0,     0,     0,     0,    43,    44,    45,    46,    47,
6221       48,    49,    50,     0,    51,     0,     0,    52,     2,     3,
6222        4,   166,     6,     7,     8,     9,    10,   564,    12,    13,
6223       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6224       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6225        0,     0,     0,     0,     0,     0,    27,     0,     0,     0,
6226        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6227        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6228        0,     0,     0,     0,     0,     0,   884,     0,     1,     0,
6229       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6230       43,    44,    45,    46,    47,    48,    49,    50,     0,    51,
6231        0,     0,    52,     2,   200,   201,   202,   203,   204,   234,
6232      235,   236,   237,   238,   239,   240,   241,   242,   243,    18,
6233       19,   244,   245,    22,    23,    24,     0,     0,     0,     0,
6234        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6235        0,   246,     0,     0,     0,     0,     0,     0,     0,    28,
6236       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
6237      247,    38,   248,     0,     0,     0,     0,     0,     0,     0,
6238        0,     0,     0,     1,     0,   249,     0,     0,     0,     0,
6239        0,     0,     0,     0,     0,    43,    44,   250,   251,   252,
6240      253,   206,   207,     0,     0,     0,     0,   885,     2,     3,
6241        4,   166,     6,     7,     8,     9,    10,    11,    12,    13,
6242       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6243       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6244        0,     0,     0,     0,     0,    26,    27,     0,     0,     0,
6245        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6246        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6247        0,     0,     0,     0,     0,     0,     0,     0,     1,     0,
6248       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6249       43,    44,    45,    46,    47,    48,    49,    50,     0,    51,
6250        0,     0,    52,     2,   200,   201,   202,   203,   204,     8,
6251        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
6252       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
6253        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6254        0,    27,     0,     0,     0,     0,     0,     0,     0,    28,
6255       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
6256       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
6257        0,     0,     0,     1,     0,    40,     0,     0,     0,     0,
6258        0,     0,     0,     0,     0,    43,    44,    45,    46,    47,
6259       48,   206,   207,     0,    51,     0,     0,    52,     2,   200,
6260      201,   202,   203,   204,     8,     9,    10,   564,    12,    13,
6261       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6262       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6263        0,     0,     0,     0,     0,     0,    27,     0,     0,     0,
6264        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6265        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6266        0,     0,     0,     0,     0,     0,     0,     0,     1,     0,
6267       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6268       43,    44,    45,    46,    47,    48,   206,   207,     0,    51,
6269        0,     0,    52,     2,   200,   201,   202,   203,   204,     8,
6270        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
6271       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
6272        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6273        0,    27,     0,     0,     0,     0,     0,     0,     0,    28,
6274       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
6275       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
6276        0,     0,     0,     1,     0,    40,     0,     0,     0,     0,
6277        0,     0,     0,     0,     0,    43,    44,    45,    46,    47,
6278       48,   206,   207,     0,     0,     0,     0,   720,     2,   200,
6279      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6280       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6281       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6282        0,     0,     0,     0,     0,     0,    27,     0,     0,     0,
6283        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6284        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6285        0,     0,     0,     0,     0,     0,     0,     0,     1,     0,
6286       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6287       43,    44,    45,    46,    47,    48,   206,   207,     0,     0,
6288        0,     0,  1444,     2,   200,   201,   202,   203,   204,   234,
6289      235,   236,  1529,   238,   239,   240,   241,   242,   243,    18,
6290       19,   244,   245,    22,    23,    24,     0,     0,     0,     0,
6291        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6292        0,   246,     0,     0,     0,     0,     0,     0,     0,    28,
6293       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
6294      247,    38,   248,     0,     0,     0,     0,     0,     0,     0,
6295        0,  1069,     0,     1,     0,   249,     0,     0,     0,     0,
6296        0,     0,     0,     0,     0,    43,    44,   250,   251,   252,
6297      253,   206,   207,     0,    51,     0,     0,    52,     2,   200,
6298      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6299       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6300       24,  1070,     0,     0,     0,     0,     0,     0,     0,     0,
6301        0,     0,     0,     0,     0,   205,    27,     0,     0,     0,
6302        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6303        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6304        0,  1075,     0,     1,     0,     0,     0,     0,     0,     0,
6305       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6306       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6307      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6308       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6309       24,  1076,     0,     0,     0,     0,     0,     0,     0,     0,
6310        0,     0,     0,     0,     0,   205,    27,     0,     0,     0,
6311        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6312        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6313        0,  1081,     0,     1,     0,     0,     0,     0,     0,     0,
6314       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6315       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6316      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6317       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6318       24,  1082,     0,     0,     0,     0,     0,     0,     0,     0,
6319        0,     0,     0,     0,     0,   205,    27,     0,     0,     0,
6320        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6321        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6322        0,   869,     0,     1,     0,     0,     0,     0,     0,     0,
6323       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6324       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6325      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
6326      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
6327       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6328        0,     0,     0,     0,     0,     0,   246,     0,     0,     0,
6329        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6330        0,     0,     0,     0,     0,   247,    38,   248,     0,     0,
6331        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6332      249,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6333       43,    44,   250,   251,   252,   253,   206,   207,     2,   200,
6334      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6335       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6336       24,  1030,     0,     0,     0,     0,     0,     0,     0,     0,
6337        0,     0,     0,     0,     0,   205,    27,     0,     0,     0,
6338        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6339        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6340        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6341       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6342       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6343      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6344       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6345       24,  1087,     0,     0,     0,     0,     0,     0,     0,     0,
6346        0,     0,     0,     0,     0,   205,    27,     0,     0,     0,
6347        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6348        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6349        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6350       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6351       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6352      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6353       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6354       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6355        0,     0,     0,     0,     0,   503,    27,     0,     0,     0,
6356        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6357        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6358        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6359       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6360       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6361      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6362       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6363       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6364        0,     0,     0,     0,     0,     0,    27,     0,     0,     0,
6365        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6366        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6367        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6368       40,     0,     0,     0,     0,     0,     0,   830,     0,     0,
6369       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6370      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6371       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6372       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6373        0,     0,     0,     0,     0,   205,    27,     0,     0,     0,
6374        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6375        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6376        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6377       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6378       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6379      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
6380      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
6381       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6382        0,     0,     0,     0,     0,     0,   246,     0,     0,     0,
6383        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6384      478,   479,     0,     0,     0,   247,    38,   248,     0,     0,
6385        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6386      249,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6387       43,    44,   250,   251,   252,   253,   206,   207,     2,   200,
6388      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6389       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6390       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6391        0,     0,     0,     0,     0,     0,    27,     0,     0,     0,
6392        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6393        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6394        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6395       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6396       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6397      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
6398      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
6399       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6400        0,     0,     0,     0,     0,     0,   246,     0,     0,     0,
6401        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6402        0,     0,     0,     0,     0,   247,    38,   248,     0,     0,
6403        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6404      249,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6405       43,    44,   250,   251,   252,   253,   206,   207,     2,   200,
6406      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
6407      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
6408       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6409        0,     0,     0,     0,     0,     0,   246,     0,     0,     0,
6410        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6411        0,     0,     0,     0,     0,   247,    38,   248,     0,     0,
6412        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6413      249,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6414       43,    44,   250,   251,   252,   253,   206,   207,     0,    51,
6415        0,     0,   860,  1668,     0,     0,     0,     0,     0,     0,
6416        0,     0,     0,   566,     2,   200,   201,   202,   203,   204,
6417      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
6418       18,    19,   244,   245,    22,    23,    24,     0,     0,     0,
6419        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6420        0,     0,   246,     0,     0,     0,     0,     0,     0,     0,
6421       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
6422        0,   247,    38,   248,     0,     0,     0,     0,     0,     0,
6423        0,     0,     0,     0,     0,     0,   249,     0,     0,     0,
6424        0,     0,     0,     0,     0,     0,    43,    44,   250,   251,
6425      252,   253,   206,   207,     0,     0,     0,     0,     0,     0,
6426        0,     0,     0,     0,     0,   254,     2,   200,   201,   202,
6427      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
6428      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
6429        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6430        0,     0,     0,     0,   246,     0,     0,     0,     0,     0,
6431        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6432        0,     0,     0,   247,    38,   248,     0,     0,     0,     0,
6433        0,     0,     0,     0,     0,     0,     0,     0,   249,     0,
6434        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6435      250,   251,   252,   253,   206,   207,     0,     0,     0,     0,
6436        0,     0,     0,     0,     0,     0,  1518,     2,   200,   201,
6437      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
6438      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
6439        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6440        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
6441        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6442        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
6443        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
6444        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6445       44,   250,   251,   252,   253,   206,   207
6446 };
6447
6448 static const yytype_int16 yycheck[] =
6449 {
6450        0,   641,    92,   719,    86,    86,   535,   926,   156,   926,
6451      742,   859,  1216,    83,   470,   309,   859,   749,   132,   344,
6452      752,   315,   580,   153,   344,   859,   100,    83,     1,    93,
6453       30,    31,   996,   997,   998,   327,   288,  1099,    93,   128,
6454      471,    41,    83,   742,   555,   826,   128,   128,   100,    30,
6455      749,   721,    52,   752,     1,  1606,    93,   128,     1,    59,
6456       84,    42,    83,   100,    64,    64,    66,  1618,   997,   183,
6457       83,     5,    93,     1,   585,     3,   835,   588,   826,   590,
6458       93,   592,    82,    83,    84,   936,    86,   100,   883,     5,
6459      835,    91,   386,    93,   388,     3,   186,   187,   126,     3,
6460      100,   101,   470,   131,   104,  1014,   996,   474,   998,    77,
6461     2089,     3,   876,   113,   535,   996,   116,   998,     1,     1,
6462        3,     3,   144,    17,     1,   122,   107,   108,   128,     1,
6463      111,   131,   132,     1,     1,   157,   136,   159,   122,   161,
6464      140,   141,   142,   977,   144,     7,     8,     9,   148,   122,
6465      150,     0,     5,   153,   154,   144,   156,   157,   158,   159,
6466       83,   161,   957,   131,   164,    73,  2145,     1,   157,     3,
6467      159,    59,   161,     1,   174,   174,    17,   122,   268,   186,
6468      187,     1,     5,   183,   131,   128,     1,   996,     5,   998,
6469        3,     1,     7,     8,     9,     1,   130,   996,   198,   998,
6470      128,   270,     1,     3,     5,     5,   132,     3,   278,     5,
6471      210,   418,   212,    17,   288,    28,   290,   133,   470,   123,
6472      220,   221,   278,   127,    37,   113,   290,   131,     3,     3,
6473      230,     5,   288,   233,    83,   290,   288,   278,   290,   879,
6474     1004,   265,     1,     3,    93,   128,   128,   288,   125,   143,
6475        1,   100,   101,   290,   122,   123,   128,   183,     1,   127,
6476      183,   128,    52,   270,     1,   265,     1,   288,   130,   290,
6477      270,     1,   566,   421,   274,     1,   270,   290,   278,   132,
6478      394,     1,   289,     1,  1248,  1249,     3,   958,   288,   288,
6479      290,  1255,  1256,   274,   128,  1259,  1260,  1848,   343,   122,
6480      128,     1,   143,   510,   862,   125,   123,   122,   308,   122,
6481      198,   126,   357,   123,   314,   130,   361,   127,   133,  1248,
6482      133,   122,   128,   123,   324,     5,  1255,   123,   120,   128,
6483     1259,   131,   626,   791,   792,   131,   793,   758,   338,   143,
6484      125,   131,     5,    17,   129,   326,     3,    83,    84,   123,
6485      440,   441,   442,   443,   129,   278,    73,   131,   565,  1249,
6486        3,   819,   820,   123,   821,   288,  1256,   127,  1249,   128,
6487     1260,   131,  1104,     1,   125,  1256,   127,   128,     5,  1260,
6488      380,   381,   125,   804,   127,   128,   386,   125,   388,   471,
6489      471,   128,   120,   128,   394,   131,     3,     3,   128,     1,
6490      400,   129,   128,   131,   129,  1104,   131,   125,   128,   127,
6491     1191,   128,  1193,   413,    69,    70,   530,     3,   418,     5,
6492      420,   421,   128,     3,   424,   425,   556,   883,   128,   278,
6493      430,   221,   546,   433,   434,   435,   436,   437,     1,   288,
6494     1249,   290,    28,  1191,   696,  1193,   536,  1256,    28,   539,
6495     1249,  1260,     3,   778,   779,   780,     3,  1256,   778,   779,
6496      780,  1260,   119,   120,   127,   465,   466,   467,   394,   143,
6497      470,   471,   129,   128,   474,  1679,   565,   477,     3,   122,
6498      772,    28,   482,   808,   809,   810,   486,   487,   808,   809,
6499      810,   491,   492,  1051,   565,   123,   123,     3,   386,   127,
6500      388,   957,   933,   503,  1062,   128,     3,   799,   876,   509,
6501      510,     3,  1574,   513,   514,   807,   123,   123,   518,   519,
6502      128,   141,   522,   523,   144,   127,   526,   527,   528,   265,
6503      530,    28,   739,   533,  1205,   827,  1206,   157,   560,   159,
6504      562,   161,   278,   129,   544,   545,   546,   470,  1004,   129,
6505      550,     7,     8,     9,  1224,   555,   556,  1068,   129,    65,
6506      560,  1231,   562,   563,   127,   565,   566,   567,   936,  1417,
6507      570,   560,   123,   562,  1417,  1086,   425,   944,  1429,   946,
6508      580,   119,   129,  1417,     5,   585,     1,     3,   588,   957,
6509      590,   794,   592,  1014,   663,   664,   665,   666,     3,   599,
6510      125,     1,   127,   122,   530,   650,     3,   530,   653,  1528,
6511      533,  1528,   758,   119,   120,     5,  1580,  1581,  1469,   822,
6512      546,  1472,   696,   129,   876,     3,  1535,     1,     1,   719,
6513        3,   631,   129,   633,   928,     0,  1004,   129,   112,     3,
6514      696,   641,  1401,  1402,   696,     5,   436,  1495,     3,  1497,
6515       11,  1580,     1,   860,   580,   696,  1401,  1402,   804,  1502,
6516      867,     1,     3,   663,   664,   665,   666,     3,   875,   663,
6517      664,   665,   666,   967,   130,   126,     3,   133,   566,   886,
6518     1884,   681,   682,   133,   691,   692,     3,    28,   127,     1,
6519      690,  1581,    28,   125,    11,   134,   696,   678,   679,     3,
6520     1581,     1,   702,   119,   120,   957,   127,   122,   123,     3,
6521      710,   599,   127,   129,   127,   120,   121,   717,   718,   719,
6522      720,   721,   722,   123,   198,    74,    75,   127,   728,  1150,
6523       79,  1463,   129,  1154,    28,   125,  1157,    86,  1159,   739,
6524      127,   119,   120,   724,   725,   726,   119,   120,   122,   123,
6525     1421,   129,  1004,   127,   127,   755,     1,   795,     3,   759,
6526      121,   110,   111,     3,  1463,   129,   127,   690,   123,    73,
6527     1064,   860,  1581,   696,   127,   565,   125,   567,   127,     3,
6528      133,   122,  1581,   123,  1693,   823,   122,   127,    28,   860,
6529      526,   527,   528,     7,     8,     9,   123,    79,  1762,  1763,
6530        3,   801,   119,   120,   121,   805,   796,     3,   544,   545,
6531      127,   123,   129,  1484,     3,   127,     5,   965,   966,   909,
6532      910,  1115,   912,   123,   128,   915,   916,   127,   110,   111,
6533      830,   831,   832,  1762,   824,   835,   836,   837,     7,     8,
6534        9,   971,    31,  1050,   933,   465,   466,   696,   129,   131,
6535      131,   933,   933,   327,    12,    13,     3,  1415,   858,   859,
6536      860,     1,   933,     3,   864,   127,   866,   867,     7,     8,
6537        9,   491,   492,  1763,   874,   875,   876,   665,   666,   879,
6538     1789,   122,  1763,   883,     3,   885,   886,     3,   888,     5,
6539      890,  1800,   133,   513,   514,   119,   120,   987,   518,   519,
6540     1751,  1752,   522,   523,     3,  1035,  1036,   127,   122,     7,
6541        8,     9,   386,  1207,   388,    31,   130,   120,     3,   133,
6542     1245,   797,   125,   119,   120,  1245,   120,   927,   128,   929,
6543      126,   125,     3,   933,     5,  1229,   936,  1051,   129,   793,
6544      560,   941,   562,    28,   944,  1788,   946,   947,   970,   825,
6545       90,   128,    37,   876,  1763,   794,   956,   957,   958,   128,
6546     1252,   130,   120,   121,  1763,   965,   966,   821,   968,   122,
6547      970,   971,   119,   120,  1063,   122,   976,   977,   978,   979,
6548      133,   970,     3,   822,   122,  1701,   795,   126,   126,  1547,
6549      119,   130,  1063,   127,  1201,   133,   123,  1204,  1638,   133,
6550      119,   120,  1672,   122,  1004,   796,  1535,  1678,  1464,   123,
6551      139,   140,  1683,   936,   823,   122,     7,     8,     9,   122,
6552      119,   120,     0,  1045,    12,    13,   133,   126,   122,     3,
6553      133,   797,   130,   824,   957,  1035,  1036,   122,  1107,  1039,
6554     1040,  1110,   122,  1043,  1044,  1045,  1963,  1047,   119,   120,
6555     1050,  1051,   119,    74,    75,   529,  1045,   120,    79,   825,
6556     1060,  1429,  1062,  1063,  1064,    86,   129,   122,  1068,   120,
6557     1979,  1071,   139,   140,  1074,   128,  1747,  1077,   129,  1148,
6558     1080,  1004,   126,  1083,   136,   137,  1086,   131,  1088,   110,
6559      111,    65,   566,  1162,  1163,  1164,  1165,   121,   888,    10,
6560       11,  1469,  1102,   127,  1472,    83,   121,  1107,   129,   386,
6561     1110,   388,   127,  1107,  1535,    93,  1110,  1206,    77,  1119,
6562      121,  1121,   100,   101,   598,  1051,   127,  1975,   126,  1977,
6563     1130,   122,   120,   121,  1060,  1206,  1062,   927,   121,   130,
6564       14,    15,   133,  1143,   127,   119,   120,  2056,  1148,  1149,
6565      121,   941,   626,   122,  1148,   121,   127,   947,  1139,  1181,
6566        1,   127,  1162,  1163,  1164,  1165,   136,   137,  1162,  1163,
6567     1164,  1165,   781,   782,   122,     3,  1064,   122,   120,  1473,
6568     1180,  1181,  1182,   555,  1184,   127,  1744,  1903,  2097,    69,
6569       70,   133,  1181,   121,  1194,   129,  1196,   131,   122,   127,
6570       28,  1201,   811,   812,   123,  1205,  1206,  1414,   127,    37,
6571      122,    91,   131,   585,   300,    95,   588,    97,   590,   129,
6572      592,   131,   129,   309,  1224,     6,  1866,     8,     9,   315,
6573     1901,  1231,   122,    74,    75,   121,   136,     3,    79,  1239,
6574      125,   127,   129,   221,   129,    86,    74,    75,   128,   723,
6575     1808,    79,     3,   727,    14,    15,     1,   121,    86,  1182,
6576     1050,  1184,    28,   127,   129,  1246,   131,   121,   742,   110,
6577      111,  1800,   123,   127,   122,   749,   127,    28,   752,   125,
6578      131,   127,   110,   111,   125,   126,   127,   907,   908,   566,
6579      122,   119,    73,    44,   122,   154,  1717,   135,   772,   158,
6580      278,  1722,   141,    84,  1725,   133,  1194,   123,    74,    75,
6581      288,   127,   290,    79,  1050,   131,   142,   783,   784,  1107,
6582       86,    16,  1110,    74,    75,   799,   121,   123,   109,    74,
6583       75,   127,   127,   807,    79,   131,   121,     1,   125,   120,
6584      127,    86,   127,   123,   110,   111,   324,   813,   814,   626,
6585      970,   135,   133,   827,   142,   136,   137,   138,   121,  1566,
6586     1148,    16,     3,   129,   127,   110,   111,   123,  1789,   123,
6587       11,   127,   123,   127,  1162,  1163,  1164,  1165,   122,  1800,
6588      125,   126,   127,  1751,  1752,    10,    11,   123,  1682,     3,
6589     1684,   127,  1392,  1393,   123,   123,  1396,  1397,   127,   127,
6590      141,  1401,  1402,   123,  1698,  1699,   791,   792,   123,   123,
6591       74,    75,   127,  1413,    28,    79,  1397,  1417,  1418,  1039,
6592     1040,  1421,    86,  1043,  1044,  1045,   125,  1427,   127,  1429,
6593       44,     3,  1432,  1547,   819,   820,  1436,   781,   782,   129,
6594      418,  1441,  1442,  1443,   123,   129,   110,   111,   127,   349,
6595     1979,   123,   926,  2093,   928,   127,    28,   123,   122,   123,
6596       74,    75,   129,   127,  1464,   125,  1466,   811,   812,  1469,
6597      123,  1862,  1472,   123,   127,  1475,   127,   127,   119,   120,
6598      121,    88,    89,    90,  1484,   126,   127,     1,   129,     3,
6599     1490,  1491,   470,   967,   125,  1495,  1496,  1497,  1498,    74,
6600       75,   120,    74,    75,    79,   120,  1429,    79,   129,   123,
6601      131,    86,   120,   127,    86,   907,   908,  1586,  1587,   129,
6602      420,   131,   996,     3,   998,   126,     1,  2056,     3,  1598,
6603      127,     1,   510,     3,   129,   110,   111,   129,   110,   111,
6604        1,   300,     3,   134,  1544,  1545,  1469,  1547,    28,  1472,
6605      309,     1,   134,     3,   129,  1555,   315,   129,  1979,   129,
6606     1180,  1181,   133,   125,    44,   127,  1566,    18,    19,    20,
6607       21,    22,    23,    24,    25,    26,    27,  1784,  1870,  1871,
6608     1872,  1873,  1874,  1875,  1876,  1877,  1586,  1587,   907,   908,
6609     1064,  1680,  1586,  1587,    74,    75,  1596,   134,  1598,  1599,
6610       74,    75,  1602,   127,  1598,    79,  1606,   127,  1902,  1680,
6611     1610,   697,    86,  1613,   129,    79,   131,  1911,   125,     3,
6612      127,  1547,  2013,   129,  2015,   131,   127,    11,  1609,  1555,
6613     1104,   526,   527,   528,   127,  2056,   110,   111,  1638,   783,
6614      784,  1115,   544,   545,  1625,  1645,   110,   111,   129,   544,
6615      545,   928,   126,  1443,  1509,   128,  1511,  1509,   125,  1511,
6616      131,   125,   122,  1753,   122,   129,   122,  1141,  1142,   813,
6617      814,  1963,   125,  1967,  1968,   126,  1466,   125,  1678,   122,
6618     1680,   663,   664,  1683,   663,   664,   122,  2078,   125,  2080,
6619      967,  2082,   100,   101,  1808,   125,  1068,   125,   129,   836,
6620      837,  1701,  1074,  1703,  1704,   125,   120,  1443,  1080,   128,
6621      123,   134,   134,   134,  1086,   120,   134,   134,   696,   134,
6622      129,   133,   129,   125,   702,   128,   127,   120,   128,  2120,
6623     2121,   128,  2123,  1207,   123,   119,   120,   121,  1738,   134,
6624      123,   719,   126,   127,   123,   129,   134,  1747,  2139,   134,
6625      728,  1751,  1752,   123,  1754,  1229,   122,  1779,   123,  1781,
6626      123,   739,   131,   131,   131,  2156,  1766,  1836,   122,   122,
6627      122,   120,  2097,    56,   125,  1249,  1566,  2097,  1252,  1779,
6628      125,  1781,  1256,  1805,  1784,  1807,  1260,  1064,   125,   122,
6629     1779,   120,  1781,   125,   120,   123,   123,   122,  1586,  1587,
6630      122,   120,   133,   123,   127,  1805,   123,  1807,  1808,   123,
6631     1598,   127,   133,   123,    74,    75,  1805,   128,  1807,    79,
6632      123,     3,   131,   131,     3,   131,    86,   131,  1751,  1752,
6633     1830,  1831,  1832,  1833,   123,   123,  1836,     3,  1115,   123,
6634     1840,  1841,  1836,  1843,   125,  1845,    28,   126,   128,    28,
6635      110,   111,   123,   123,   832,    37,   141,  1857,    37,   144,
6636      123,   134,   134,   123,   123,   134,  1866,   131,    56,  1869,
6637     1490,  1491,   157,   131,   159,   122,   161,   123,   122,  1860,
6638      122,  1862,  1808,   131,   123,   123,   131,   787,   788,   867,
6639      790,   131,    74,    75,   131,    74,    75,    79,   876,   123,
6640       79,  1901,   123,  1903,    86,   883,   123,    86,    74,    75,
6641      888,   123,   890,    79,   134,   815,   816,   817,   818,   134,
6642       86,   120,   133,   133,  1544,  1545,   134,   134,   110,   111,
6643     1207,   110,   111,   125,    11,  2004,   129,  2006,   697,   126,
6644      122,   131,   131,   122,   110,   111,   129,   125,   122,   126,
6645     1972,   133,  1229,   126,   125,   123,   122,   129,   858,   859,
6646      123,   123,   123,   941,    74,    75,   123,     3,   123,    79,
6647     1970,  1971,  1972,  1973,  1974,  1975,    86,  1977,   134,   957,
6648      134,   134,   134,  1972,  1984,  1985,  1986,  1987,   134,  1463,
6649        0,   134,    28,   134,   134,  1995,  2086,  2087,   123,  1473,
6650      110,   111,    64,  2072,  2004,    64,  2006,  2007,   125,   123,
6651     2004,   134,  2006,   123,   134,   123,  2016,  2017,   134,   134,
6652      125,   125,   134,   125,   125,   123,   129,  2128,   125,   125,
6653     1504,    41,  2013,   125,  2015,  1509,   125,  1511,    74,    75,
6654      125,   125,   125,    79,   125,   123,   125,   976,  1836,    59,
6655       86,   125,  2052,  2053,  1528,  1498,    66,   858,   958,  2059,
6656     2060,   477,   288,  2063,   913,  2065,   477,     0,  2068,   288,
6657      804,   477,  2072,    83,   110,   111,    86,   968,  2072,   477,
6658       74,    75,    92,    93,  1464,    79,   477,  2087,    92,  2089,
6659      100,   101,    86,  2093,   435,   722,  2077,  2078,   314,  2080,
6660     1789,  2082,   728,   113,   100,  2105,   116,  1581,  2077,    93,
6661      425,   270,    93,   101,   265,    93,   110,   111,   128,  1738,
6662       -1,    -1,    -1,    -1,    -1,    -1,   136,    -1,  2128,  2129,
6663     2111,   141,   142,  2133,   144,    -1,    -1,    -1,    -1,  2120,
6664     2121,    -1,  2123,    -1,   154,  2145,   156,   157,   158,   159,
6665       83,   161,    -1,    -1,    -1,    -1,    -1,    -1,  2139,  1779,
6666       93,  1781,   136,    -1,    -1,    -1,    -1,   100,   101,    -1,
6667       -1,    -1,    -1,    -1,    -1,  2156,   186,   187,    -1,    -1,
6668      465,   466,   186,   187,    -1,  1805,    -1,  1807,   198,    -1,
6669       -1,    -1,   477,    -1,    -1,    -1,  1473,    -1,    -1,    -1,
6670       -1,    -1,   212,    -1,    -1,    -1,   491,   492,  1682,    -1,
6671     1684,   221,    -1,    -1,    -1,    -1,  2004,    -1,  2006,  1693,
6672       -1,    -1,    -1,  1201,  1698,  1699,    -1,    -1,   513,   514,
6673       -1,  1705,    -1,   518,   519,    -1,    -1,   522,   523,    -1,
6674       -1,    44,    45,    -1,    -1,    74,    75,    -1,    -1,    -1,
6675       79,    -1,    -1,    -1,    -1,   265,    -1,    86,   268,   269,
6676      270,     3,    -1,    -1,   268,    -1,   270,    -1,   278,    -1,
6677       -1,    74,    75,    -1,    -1,   560,    79,   562,   288,   289,
6678      290,   110,   111,    86,  2072,   289,    28,    -1,   221,  1763,
6679       -1,    -1,    -1,    -1,   123,    37,    -1,    -1,   308,    -1,
6680       -1,    -1,    -1,    -1,   314,  1205,    -1,   110,   111,    -1,
6681       -1,    -1,    -1,    -1,   324,    -1,    -1,     7,    -1,   122,
6682       10,    11,    12,    13,    14,    15,    16,    17,    -1,    -1,
6683       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
6684       -1,    -1,    -1,    -1,    86,   278,    -1,    -1,    -1,    -1,
6685     1970,  1971,  1972,  1973,  1974,   288,    -1,   290,    -1,    -1,
6686       -1,    -1,    -1,    -1,  1984,  1985,  1986,  1987,   110,   111,
6687       -1,   381,    -1,    -1,    -1,   349,   386,   119,   388,    -1,
6688      122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,
6689       -1,    -1,    -1,  1867,  1868,    -1,    -1,    -1,    -1,    -1,
6690       -1,    -1,    -1,    -1,    -1,  1682,    -1,  1684,   418,    -1,
6691      420,   421,    44,    45,   424,   425,    -1,    -1,    -1,    -1,
6692      430,  1698,  1699,    -1,   434,   435,    -1,   437,  1902,    -1,
6693      120,   121,  2052,  2053,    -1,    -1,   440,  1911,    -1,   443,
6694      130,    -1,    74,    75,    -1,    -1,   420,    79,    -1,   139,
6695      140,   141,   142,   143,    86,   465,   466,    -1,    -1,    -1,
6696      470,   471,    -1,    -1,    -1,    -1,    -1,   477,    -1,    -1,
6697       -1,    -1,   482,    -1,    -1,    -1,    -1,   487,   110,   111,
6698       -1,   491,   492,    -1,    -1,   418,    -1,    -1,  1466,    -1,
6699      122,     3,    -1,  1967,  1968,    -1,    -1,    -1,    -1,    -1,
6700      510,    -1,    -1,   513,   514,    -1,    74,    75,   518,   519,
6701       -1,    79,   522,   523,    -1,    -1,    28,  1417,    86,   529,
6702       -1,  1421,    -1,    -1,    -1,    37,   536,    -1,    -1,   539,
6703       -1,    -1,   536,    -1,    -1,   539,    -1,   470,    -1,    -1,
6704       -1,    -1,   110,   111,    -1,   555,    -1,    -1,    -1,    -1,
6705      560,   119,   562,    -1,   122,   565,   566,    -1,    -1,   529,
6706       -1,    -1,    74,    75,    -1,   133,    -1,    79,    -1,    -1,
6707       -1,    -1,    -1,    -1,    86,   585,    -1,   510,   588,    -1,
6708      590,    -1,   592,    -1,  1484,    -1,    -1,    -1,  1566,   599,
6709       -1,    -1,    -1,    -1,    -1,     1,    -1,     3,   110,   111,
6710       -1,    -1,  1502,    -1,    -1,  2079,    -1,   119,    -1,    -1,
6711      122,   123,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
6712       -1,    -1,    28,  2097,    -1,  1902,    86,    -1,    37,    -1,
6713       -1,    37,    38,    -1,  1911,    44,    45,  1723,  1724,    -1,
6714     1726,  1727,    -1,    -1,    -1,  1731,  1732,  1733,  1734,    -1,
6715      110,   111,    -1,   663,   664,   665,   666,    -1,    -1,   663,
6716      664,   665,   666,   123,    -1,    74,    75,    -1,    74,    75,
6717       79,    -1,    -1,    79,  2148,    -1,    -1,    86,    -1,    -1,
6718       86,   691,   692,   693,    -1,   970,   696,   691,   692,   693,
6719     1967,  1968,   702,    -1,    -1,    44,    45,    -1,    -1,    -1,
6720      710,   110,   111,    -1,   110,   111,    -1,   717,   718,   719,
6721      119,   721,   722,   119,    -1,    -1,   122,    -1,   728,   125,
6722       -1,   127,   128,  1701,    -1,    74,    75,    -1,    -1,   739,
6723       79,    -1,   742,    -1,    -1,    -1,    -1,    86,    -1,   749,
6724      710,    -1,   752,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6725       -1,    -1,    -1,    -1,  1039,  1040,    -1,    -1,  1043,  1044,
6726     1045,   110,   111,   696,    -1,    -1,    -1,    -1,    -1,   702,
6727      119,    -1,   742,    -1,    -1,    -1,    -1,    -1,  1678,   749,
6728       -1,    -1,   752,  1683,  1870,  1871,  1872,  1873,  1874,  1875,
6729     1876,  1877,    74,    75,    -1,   728,    -1,    79,    -1,    -1,
6730       -1,    -1,    -1,    -1,    86,    -1,  1784,    -1,    -1,    -1,
6731       -1,    -1,    -1,   787,   788,    -1,   790,    -1,    -1,    -1,
6732       -1,    -1,   832,    -1,    -1,   835,   836,   837,   110,   111,
6733       -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,
6734      122,   815,   816,   817,   818,    -1,    -1,  1747,   858,   859,
6735      860,    -1,    -1,    -1,    -1,   465,   466,   867,     0,    -1,
6736       -1,    -1,    -1,    -1,    -1,   875,   876,    -1,    -1,    -1,
6737       -1,    -1,    -1,   883,    -1,    -1,   886,  1963,   888,    -1,
6738      890,   491,   492,    -1,   858,   859,    -1,    -1,  1788,    -1,
6739       -1,    -1,    -1,    -1,    -1,  1180,  1181,    -1,    -1,   832,
6740       -1,    -1,    -1,   513,   514,    -1,    -1,    -1,   518,   519,
6741       52,    -1,   522,   523,    -1,    -1,    -1,    -1,    -1,    -1,
6742       -1,    -1,    -1,   933,    -1,  1903,    -1,    -1,    -1,    -1,
6743       -1,   941,    -1,    -1,   867,    -1,    -1,    -1,    -1,    -1,
6744       82,    83,    84,   876,    -1,    -1,    -1,   957,   958,    91,
6745      883,    93,    -1,    -1,    -1,   965,   966,   890,   100,   101,
6746      970,    -1,    -1,    -1,  1723,  1724,   976,  1726,  1727,    -1,
6747       -1,    -1,  1731,  1732,  1733,  1734,    -1,    -1,    -1,     3,
6748       -1,    -1,    -1,   987,   958,    -1,   996,   997,   998,   131,
6749      132,   133,   134,   135,  1004,    -1,    -1,    -1,    -1,   141,
6750       -1,  1901,   144,    -1,    28,    -1,    -1,    -1,   941,    -1,
6751       -1,    -1,    -1,    37,    38,   157,    -1,   159,    -1,   161,
6752       -1,    -1,    -1,    -1,   957,    -1,   996,   997,   998,  1039,
6753     1040,    -1,    -1,  1043,  1044,  1045,    -1,    -1,    -1,    -1,
6754       -1,   183,   184,   185,    -1,    -1,    -1,    -1,    -1,     3,
6755       74,    75,    -1,  1063,  1064,    79,    -1,    -1,  1068,    -1,
6756       -1,    -1,    86,    -1,  1074,    -1,    -1,    -1,    -1,    -1,
6757     1080,    -1,    -1,    -1,    28,    -1,  1086,    -1,   220,   221,
6758       -1,    -1,    -1,    37,    -1,    -1,   110,   111,    -1,    -1,
6759       -1,    -1,    -1,    -1,  1104,   119,    -1,  1107,   122,    -1,
6760     1110,    -1,    -1,  1107,    -1,    -1,  1110,    -1,    -1,    -1,
6761       -1,  1870,  1871,  1872,  1873,  1874,  1875,  1876,  1877,    -1,
6762       74,    75,    -1,   265,    -1,    79,    -1,    -1,    -1,    -1,
6763       -1,    -1,    86,    -1,  1104,    -1,   278,    -1,  1148,    -1,
6764       -1,    -1,    -1,    -1,  1148,    -1,   288,    -1,   290,    -1,
6765       -1,    -1,  1162,  1163,  1164,  1165,   110,   111,  1162,  1163,
6766     1164,  1165,    -1,    -1,    -1,   119,    -1,    -1,   122,    -1,
6767     1180,  1181,    -1,    -1,    -1,  1185,    -1,  1187,    -1,    -1,
6768       -1,  1185,    -1,  1187,  1194,    -1,    -1,    -1,    -1,    -1,
6769       -1,  1201,    -1,    -1,  1204,  1205,  1206,    -1,    -1,    -1,
6770       -1,    -1,    -1,    -1,  1963,  1490,  1491,    -1,    -1,    -1,
6771       -1,    -1,    -1,    -1,  1224,    -1,    -1,    -1,    -1,    -1,
6772       -1,  1231,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6773        1,  1205,     3,    -1,    -1,    -1,     0,    -1,  1248,  1249,
6774       -1,    -1,    -1,    -1,    -1,  1255,  1256,    -1,    -1,  1259,
6775     1260,    -1,   394,   395,   396,    -1,    -1,    28,    -1,  1544,
6776     1545,  1194,    -1,    -1,    -1,    -1,    37,    38,  1201,    -1,
6777       -1,    -1,    -1,    -1,    -1,    -1,   418,    -1,  1248,  1249,
6778       -1,    -1,    -1,   425,    -1,  1255,  1256,    -1,    -1,  1259,
6779     1260,    -1,    -1,    -1,   436,    -1,    -1,    -1,    -1,    -1,
6780       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
6781       -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,    -1,    83,
6782       -1,    -1,    -1,   465,   466,    -1,    -1,    -1,   470,    93,
6783       -1,    -1,   474,    -1,    -1,   477,   100,   101,    -1,   110,
6784      111,    -1,    -1,    -1,   486,    -1,    -1,    -1,   119,   491,
6785      492,   122,    -1,    -1,   125,    -1,   127,   128,    -1,    -1,
6786       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   510,    -1,
6787       -1,   513,   514,    -1,    -1,    -1,   518,   519,   142,    -1,
6788      522,   523,    52,    -1,   526,   527,   528,    -1,    -1,    -1,
6789      154,  1401,  1402,    -1,   158,    -1,    -1,    -1,    -1,    -1,
6790       -1,    -1,   544,   545,    -1,    -1,   141,  1417,    -1,   144,
6791       -1,  1421,    -1,    83,    84,    -1,    -1,    -1,   560,    -1,
6792      562,    91,   157,   565,   159,   567,   161,    -1,    -1,  1039,
6793     1040,    -1,    -1,  1043,  1044,    -1,    -1,    -1,    -1,    -1,
6794      582,    -1,    -1,  1417,    -1,    -1,    -1,  1421,    -1,    -1,
6795       -1,    -1,    -1,  1463,    -1,    -1,  1466,   142,    -1,    -1,
6796       -1,   131,   132,    -1,    -1,    -1,    -1,    -1,    -1,   154,
6797       -1,    -1,    -1,   158,  1484,    -1,    -1,    -1,    -1,    -1,
6798     1490,  1491,    -1,    -1,    -1,  1495,  1496,  1497,  1498,    -1,
6799       -1,    -1,    -1,  1463,  1779,    -1,  1781,    -1,    -1,    -1,
6800       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6801     1484,    -1,    -1,   183,   278,  1519,    -1,    -1,    -1,    -1,
6802     1805,    -1,  1807,    -1,   288,    -1,   290,    -1,  1502,    -1,
6803       -1,    -1,    -1,  1466,  1544,  1545,    -1,    -1,    -1,    -1,
6804       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   690,    -1,
6805       -1,    -1,    -1,    -1,   696,    -1,  1566,    -1,    -1,    -1,
6806      230,    -1,    -1,   233,    -1,    -1,    -1,    -1,    -1,    -1,
6807     1580,  1581,    -1,    -1,    -1,   717,  1586,  1587,    -1,   721,
6808      265,    -1,  1586,  1587,   268,   269,    -1,    -1,    -1,  1599,
6809       -1,    -1,  1602,    -1,  1598,   265,    -1,   739,   465,   466,
6810     1610,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   278,    -1,
6811     1580,  1581,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6812       -1,    -1,    -1,   308,   491,   492,    -1,    -1,    -1,   314,
6813       -1,    -1,    -1,  1566,    -1,  1645,    -1,    -1,    -1,    -1,
6814       -1,    -1,    -1,    -1,    -1,    -1,   513,   514,    -1,    -1,
6815       -1,   518,   519,    -1,    -1,   522,   523,    -1,    -1,    -1,
6816      424,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1678,    -1,
6817     1680,   435,    -1,  1683,    -1,    -1,    -1,    -1,    -1,    -1,
6818       -1,    -1,    -1,    -1,    -1,  1970,  1971,  1972,  1973,  1974,
6819       -1,  1701,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1984,
6820     1985,  1986,  1987,    -1,  1678,    -1,    -1,    -1,    -1,  1683,
6821       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   860,    -1,
6822       -1,    -1,    -1,   487,   394,   867,    -1,    -1,    -1,    -1,
6823      465,   466,   874,   875,   876,    -1,     0,  1747,    -1,   424,
6824       -1,   883,   477,    -1,   886,    -1,   888,    -1,    -1,    -1,
6825      435,    -1,  1762,  1763,    -1,    -1,   491,   492,    -1,    -1,
6826       -1,    -1,    -1,    -1,    -1,    -1,   436,  2052,  2053,  1779,
6827       -1,  1781,    -1,  1747,  1784,    -1,    -1,    -1,   513,   514,
6828       -1,    -1,    -1,   518,   519,   927,    -1,   522,   523,    -1,
6829       -1,    -1,  1762,  1763,   936,  1805,    -1,  1807,    -1,   941,
6830       -1,    -1,   487,    -1,   474,   947,    -1,    -1,    -1,    -1,
6831       -1,    -1,    -1,    -1,  1788,   957,    -1,    -1,    -1,    83,
6832       -1,    -1,    -1,    -1,    -1,   560,    -1,   562,   970,    93,
6833     1840,  1841,  1836,    -1,    -1,    -1,   100,   101,   980,    -1,
6834       -1,    -1,    -1,    -1,    -1,   268,   269,    -1,    -1,    -1,
6835       -1,  1784,   536,    -1,    -1,   539,   526,   527,   528,    -1,
6836      530,    -1,  1004,   533,    -1,   270,    -1,    -1,    -1,    -1,
6837       -1,    -1,    -1,    -1,   544,   545,   546,    -1,   142,    -1,
6838     1490,  1491,    -1,   112,    -1,    -1,    -1,    -1,    -1,    -1,
6839      154,  1901,    -1,  1903,   158,   565,    -1,  1039,  1040,    -1,
6840       -1,  1043,  1044,  1045,    -1,    -1,    -1,   136,  1050,  1051,
6841       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1061,
6842       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1901,    -1,    -1,
6843       -1,    -1,   696,    -1,  1544,  1545,    -1,    -1,    -1,    -1,
6844       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6845       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6846     1970,  1971,  1972,  1973,  1974,  1975,    -1,  1977,    -1,   198,
6847       -1,    -1,    -1,    -1,  1984,  1985,  1986,  1987,    -1,   663,
6848      664,   665,   666,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6849       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6850     2004,    -1,  2006,    -1,    -1,    -1,    -1,    -1,    -1,   693,
6851       -1,    -1,    -1,    -1,   278,    -1,    -1,    -1,    -1,    -1,
6852      690,    -1,    -1,    -1,   288,    -1,   290,    -1,    -1,    -1,
6853       -1,    -1,   717,   718,    -1,   440,   721,   722,  1180,  1181,
6854       -1,    -1,  2052,  2053,    -1,    -1,    -1,    -1,    -1,    -1,
6855       -1,    -1,    -1,     0,    -1,    -1,    -1,    -1,    -1,  1201,
6856       -1,    -1,  1204,    -1,  1206,    -1,    -1,    -1,  2072,    -1,
6857       -1,   300,    -1,    -1,    -1,   304,   305,   306,    -1,    -1,
6858      309,     1,  1224,     3,     4,     5,   315,    -1,    -1,  1231,
6859       -1,    -1,   321,    -1,    -1,    -1,    -1,    -1,   327,    -1,
6860       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,
6861       -1,   875,    -1,   536,    -1,   344,   539,    -1,    -1,    -1,
6862      349,    -1,   886,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6863       -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,
6864       -1,    -1,    -1,    -1,    -1,    65,    93,    -1,    -1,    -1,
6865       -1,    71,    72,   100,   101,    -1,    -1,   386,    -1,   388,
6866      424,    -1,    -1,    -1,    -1,    85,    -1,    -1,    -1,    -1,
6867       -1,   435,  1039,  1040,    -1,    -1,  1043,  1044,    98,    -1,
6868       -1,    -1,   102,   103,   104,   105,   106,   107,   108,    -1,
6869      875,   420,    -1,    -1,    -1,   142,    -1,    -1,   118,    -1,
6870       -1,   886,   122,    -1,   344,    -1,    -1,   154,    -1,    -1,
6871       -1,   158,   132,   133,    -1,    -1,    -1,    -1,   888,    -1,
6872       -1,    -1,    -1,   487,    -1,    -1,   631,    -1,    -1,    -1,
6873       -1,    -1,    -1,    -1,    -1,   970,    -1,    -1,    -1,    -1,
6874      663,   664,   665,   666,    -1,    -1,    -1,    -1,    -1,    -1,
6875       -1,    -1,    -1,    -1,    -1,    -1,    -1,   927,   663,   664,
6876      665,   666,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6877      693,    -1,  1414,    -1,   944,    -1,   946,   947,    -1,    -1,
6878       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1429,    -1,    -1,
6879       -1,    -1,    -1,    -1,  1436,    -1,    -1,    -1,    -1,    -1,
6880      529,  1443,    -1,    -1,  1039,  1040,    -1,    -1,  1043,  1044,
6881     1045,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1004,
6882       -1,    -1,  1464,    -1,  1466,    -1,    -1,    -1,    -1,    -1,
6883       -1,   278,    -1,    -1,    -1,    -1,    -1,   566,    -1,    -1,
6884       -1,   288,    -1,   290,    -1,    -1,    -1,    -1,  1490,  1491,
6885       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6886     1970,  1971,    -1,  1973,  1974,    -1,    -1,    -1,    -1,   598,
6887       -1,    -1,    -1,    -1,  1984,  1985,  1986,  1987,    -1,    -1,
6888     1050,  1051,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6889       -1,    -1,    -1,    -1,    -1,    -1,    -1,   626,    -1,    -1,
6890       -1,    -1,  1544,  1545,    -1,  1547,    -1,    -1,    -1,    -1,
6891       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6892       -1,    -1,    -1,  1107,  1566,    -1,  1110,    -1,    -1,    -1,
6893       -1,    -1,   696,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6894       -1,    -1,  2052,  2053,    -1,  1180,  1181,    -1,    -1,    -1,
6895       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6896       -1,    -1,    -1,    -1,  1148,    -1,    -1,    -1,   697,    -1,
6897       -1,    -1,    -1,    -1,    -1,    -1,    -1,   424,  1162,  1163,
6898     1164,  1165,    -1,    -1,    -1,   112,    -1,    -1,   435,    -1,
6899       -1,    -1,    -1,    -1,   723,    -1,   636,    -1,   727,    -1,
6900       -1,  1185,    -1,  1187,    -1,    -1,    -1,    -1,    -1,    -1,
6901       -1,    -1,  1182,   742,  1184,    -1,    -1,    -1,    -1,  1204,
6902      749,    -1,    -1,   752,    -1,    -1,    -1,    -1,    -1,    -1,
6903     1672,    -1,    -1,    -1,   939,    -1,    -1,    -1,    -1,  1224,
6904      487,    -1,    -1,   772,    -1,    -1,  1231,    -1,    -1,   778,
6905      779,   780,   781,   782,   783,   784,    -1,    -1,   787,   788,
6906       -1,   790,   791,   792,   793,   794,   795,   796,   797,    -1,
6907      799,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   807,   808,
6908      809,   810,   811,   812,   813,   814,   815,   816,   817,   818,
6909      819,   820,   821,   822,   823,   824,   825,    -1,   827,    -1,
6910       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6911       -1,   875,    -1,    -1,    -1,    -1,    -1,    -1,   758,    -1,
6912       -1,    -1,   886,  1490,  1491,    -1,    -1,    -1,    -1,   858,
6913      859,    -1,    -1,    -1,    -1,    -1,    -1,  1779,    -1,  1781,
6914       -1,    -1,  1784,   270,    -1,    -1,    -1,    -1,    -1,    -1,
6915       -1,   791,   792,   793,   794,   795,    -1,    -1,   798,    -1,
6916       -1,   112,    -1,  1805,   804,  1807,    -1,    -1,    -1,    -1,
6917       -1,    -1,    -1,    -1,    -1,  1817,    -1,  1544,  1545,   819,
6918      820,   821,   822,   823,  1107,   136,   826,  1110,    -1,    -1,
6919       -1,    -1,    -1,    -1,    -1,    -1,    -1,   926,    -1,   928,
6920      327,    -1,  1107,    -1,    -1,  1110,    -1,    -1,    -1,    -1,
6921       -1,    -1,    -1,    -1,  1119,    -1,    -1,    -1,    -1,    -1,
6922       -1,    -1,    -1,    -1,    -1,  1148,    -1,    -1,    -1,   958,
6923       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   967,  1162,
6924     1163,  1164,  1165,  1148,    -1,    -1,    -1,   198,    -1,   696,
6925       -1,    -1,    -1,    -1,    -1,  1490,  1491,  1162,  1163,  1164,
6926     1165,    -1,  1185,    -1,  1187,    -1,    -1,   996,    -1,   998,
6927       -1,    -1,    -1,  1443,    -1,    -1,    -1,    -1,    -1,    -1,
6928       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6929       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6930       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1544,
6931     1545,    -1,    -1,    -1,    -1,    -1,    -1,     7,     8,     9,
6932       10,    11,    12,    13,    14,    15,    16,    17,  1970,  1971,
6933     1972,  1973,  1974,    -1,    -1,  1064,    -1,    -1,    -1,    -1,
6934       -1,    -1,  1984,  1985,  1986,  1987,    -1,    -1,    -1,   300,
6935       -1,    -1,    -1,   304,   305,   306,    -1,    -1,   309,    -1,
6936       -1,    -1,    -1,    -1,   315,    -1,    -1,    -1,    -1,    -1,
6937      321,    -1,    -1,    -1,    -1,  1104,   327,  1547,    -1,    -1,
6938       -1,    -1,    -1,    -1,    -1,    -1,  1115,    -1,    -1,    -1,
6939       -1,    -1,    -1,   344,    -1,    -1,    -1,    -1,   349,    -1,
6940       -1,    -1,  1586,  1587,    -1,    -1,    -1,    -1,   535,    -1,
6941     2052,  2053,  1141,  1142,    -1,  1599,    -1,    -1,  1602,    -1,
6942       -1,    -1,    -1,    -1,    -1,    -1,  1610,    -1,   875,    -1,
6943      120,   121,    -1,    -1,    -1,   386,    -1,   388,    -1,   886,
6944      130,    -1,    -1,    -1,    -1,   135,   136,   137,    -1,   139,
6945      140,   141,   142,   143,    -1,    -1,    -1,    -1,     1,    -1,
6946        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,   420,
6947       -1,   598,    -1,    -1,    -1,    -1,  1205,    -1,  1207,    -1,
6948       -1,    -1,  1122,    -1,    -1,    28,    -1,    -1,    -1,    -1,
6949       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6950     1229,    -1,    -1,    -1,   631,    -1,    -1,    -1,    -1,    -1,
6951     1150,    -1,    -1,    -1,    -1,    -1,  1245,  1157,    -1,    -1,
6952     1249,    -1,    65,  1252,    -1,    -1,    -1,  1256,    71,    72,
6953       73,  1260,    -1,    -1,    -1,    -1,   663,   664,   665,   666,
6954       -1,    84,    85,    -1,  1779,    -1,  1781,    -1,    -1,    -1,
6955       -1,  1191,    -1,  1193,    -1,    98,    -1,    -1,    -1,   102,
6956      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
6957     1805,    -1,  1807,    -1,    -1,   118,   119,    -1,   529,   122,
6958      123,   124,    -1,    -1,   127,    -1,    -1,    -1,    -1,   132,
6959      133,   134,   135,   136,   137,   138,   723,    -1,    -1,    -1,
6960      727,    -1,    -1,  1970,  1971,    -1,  1973,  1974,    -1,    -1,
6961       -1,    -1,    -1,    -1,    -1,   566,    -1,  1984,  1985,  1986,
6962     1987,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6963       -1,   758,    -1,    -1,    -1,    -1,    -1,    -1,  1808,    -1,
6964       -1,    -1,    -1,    -1,    -1,   772,    -1,   598,    -1,    -1,
6965       -1,    -1,    -1,    -1,    -1,    -1,  1840,  1841,    -1,    -1,
6966       -1,    -1,    -1,  1586,  1587,    -1,    -1,    -1,    -1,    -1,
6967       -1,    -1,   799,    -1,    -1,   626,  1599,   804,    -1,  1602,
6968      807,  1586,  1587,    -1,    -1,  2052,  2053,  1610,  1417,    -1,
6969       -1,  1596,  1421,  1598,  1599,    -1,    -1,  1602,    -1,    -1,
6970      827,    -1,    -1,    -1,    -1,  1610,    -1,    -1,  1613,    -1,
6971       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6972       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6973       -1,    -1,    -1,    -1,  1463,  1970,  1971,  1972,  1973,  1974,
6974       -1,    -1,    -1,    -1,  1473,    -1,   697,    -1,    -1,  1984,
6975     1985,  1986,  1987,    -1,    -1,  1484,    -1,    -1,    -1,    -1,
6976       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6977       -1,    -1,   723,  1502,    -1,  1504,   727,    -1,    -1,    -1,
6978     1509,    -1,  1511,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6979       -1,   742,    -1,    -1,    -1,    -1,    -1,    -1,   749,  1528,
6980       -1,   752,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6981       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2052,  2053,    -1,
6982       -1,   772,    -1,    -1,    -1,    -1,    -1,   778,   779,   780,
6983      781,   782,   783,   784,    -1,    -1,   787,   788,    -1,   790,
6984      791,   792,   793,   794,   795,   796,   797,    -1,   799,    -1,
6985       -1,    -1,  1581,    -1,    -1,    -1,   807,   808,   809,   810,
6986      811,   812,   813,   814,   815,   816,   817,   818,   819,   820,
6987      821,   822,   823,   824,   825,    -1,   827,    -1,    -1,    -1,
6988       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1014,    -1,    -1,
6989       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6990       -1,    -1,    -1,    -1,    -1,    -1,    -1,   858,   859,    -1,
6991       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1840,  1841,    -1,
6992       -1,    -1,    -1,    -1,    -1,  1830,  1831,  1832,  1833,    -1,
6993       -1,  1836,    -1,    -1,    -1,  1840,  1841,    -1,  1843,    -1,
6994     1845,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1678,
6995       -1,    -1,  1857,  1682,  1683,  1684,    -1,    -1,    -1,    -1,
6996       -1,    -1,    -1,    -1,  1693,    -1,    -1,    -1,    -1,  1698,
6997     1699,    -1,    -1,    -1,    -1,   926,  1705,   928,    -1,    -1,
6998     1107,    -1,    -1,  1110,    -1,    -1,    -1,    -1,    -1,    -1,
6999       -1,    -1,  1119,    -1,  1723,  1724,    -1,  1726,  1727,    -1,
7000       -1,    -1,  1731,  1732,  1733,  1734,    -1,   958,    -1,    -1,
7001       -1,    -1,    -1,    -1,  1141,  1142,   967,    -1,  1747,    -1,
7002       -1,  1148,    -1,  1150,    -1,    -1,    -1,  1154,    -1,    -1,
7003     1157,    -1,  1159,    -1,  1763,  1162,  1163,  1164,  1165,    -1,
7004       -1,    -1,    -1,    -1,    -1,   996,    -1,   998,    -1,    -1,
7005       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1788,
7006       -1,    -1,    -1,   132,    -1,    -1,    -1,    -1,    -1,    -1,
7007       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1717,    -1,    -1,
7008       -1,    -1,  1722,  1723,  1724,  1725,  1726,  1727,    -1,    -1,
7009     1995,  1731,  1732,  1733,  1734,    -1,    -1,    -1,    -1,  2004,
7010       -1,  2006,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7011       -1,    -1,    -1,  1064,   183,    -1,    -1,    -1,    -1,    -1,
7012       -1,    -1,    -1,    -1,    -1,  1252,    -1,    -1,    -1,    -1,
7013       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1867,  1868,
7014       -1,  1870,  1871,  1872,  1873,  1874,  1875,  1876,  1877,    -1,
7015       -1,    -1,   221,  1104,  2059,  2060,    -1,    -1,  2063,    -1,
7016     2065,    -1,    -1,  2068,  1115,    -1,    -1,  2072,    -1,    -1,
7017       -1,    -1,  1901,  1902,    -1,    -1,    -1,    -1,    -1,    -1,
7018       -1,    -1,  1911,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7019     1141,  1142,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7020     2105,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7021       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   288,
7022       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2133,    -1,
7023       -1,    -1,    -1,    -1,  1963,    -1,    -1,    -1,  1967,  1968,
7024       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7025       -1,    -1,    -1,    -1,  1205,    -1,  1207,    -1,    -1,    -1,
7026       -1,    -1,    -1,   141,    -1,    -1,   144,    -1,     1,    -1,
7027        3,     4,     5,     6,    -1,     8,     9,    -1,  1229,   157,
7028       -1,   159,    -1,   161,    -1,    -1,    -1,    -1,    -1,    -1,
7029       -1,    -1,    -1,    -1,  1245,    28,    -1,    -1,  1249,    -1,
7030       -1,  1252,    -1,    -1,    -1,  1256,    -1,    -1,    -1,  1260,
7031       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7032       -1,    -1,    -1,    -1,    -1,   394,    -1,    -1,    -1,    -1,
7033       -1,   400,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
7034       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7035     2079,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7036       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,  2097,   102,
7037      103,   104,   105,   106,   107,   108,   109,  1504,    -1,    -1,
7038       -1,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,
7039      123,   124,   270,    -1,   127,    -1,    -1,    -1,   131,   132,
7040      133,   470,   135,   136,   137,   138,    -1,    -1,  1535,    -1,
7041       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2148,
7042       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7043       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7044       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7045       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1586,
7046     1587,   530,    -1,    -1,   533,    -1,  1417,    -1,    -1,  1596,
7047     1421,  1598,  1599,    -1,    -1,  1602,    -1,   546,    -1,    -1,
7048       -1,    -1,    -1,  1610,    -1,    -1,  1613,    -1,    -1,    -1,
7049       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   567,    -1,
7050       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7051       -1,   580,  1463,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7052       -1,    -1,  1473,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7053       -1,    -1,    -1,  1484,    -1,    -1,    -1,    -1,    -1,    -1,
7054       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7055       -1,  1502,    -1,  1504,    -1,    -1,    -1,    -1,  1509,    -1,
7056     1511,    -1,    -1,    -1,    -1,    -1,  1693,    -1,    -1,    -1,
7057       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1528,  1705,    -1,
7058       -1,    -1,    -1,    -1,    -1,    -1,    -1,   465,   466,    -1,
7059     1717,    -1,    -1,    -1,    -1,  1722,    -1,    -1,  1725,    -1,
7060       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7061       -1,    -1,    -1,   491,   492,    -1,    -1,    -1,    -1,    -1,
7062       -1,   690,    -1,    -1,    -1,    -1,    -1,   696,    -1,    -1,
7063     1581,    -1,    -1,    -1,    -1,   513,   514,    -1,    -1,    -1,
7064      518,   519,    -1,    -1,   522,   523,    -1,    -1,    -1,    -1,
7065       -1,   529,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7066       -1,    -1,  1789,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7067       -1,    -1,    -1,  1800,    -1,    -1,    -1,    -1,    -1,    -1,
7068       -1,    -1,   560,    -1,   562,    -1,    -1,    -1,    -1,    -1,
7069       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7070       -1,    -1,    -1,  1830,  1831,  1832,  1833,    -1,    -1,  1836,
7071       -1,    -1,    -1,  1840,  1841,    -1,  1843,    -1,  1845,    -1,
7072       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1678,    -1,    -1,
7073     1857,  1682,  1683,  1684,    -1,    -1,    -1,    -1,    -1,    -1,
7074     1867,  1868,  1693,    -1,    -1,    -1,    -1,  1698,  1699,    -1,
7075       -1,    -1,    -1,   631,  1705,    -1,    -1,    -1,    -1,    -1,
7076       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7077       -1,    -1,  1723,  1724,    -1,  1726,  1727,    -1,    -1,    -1,
7078     1731,  1732,  1733,  1734,    -1,   663,   664,   665,   666,    -1,
7079       -1,    -1,    -1,    -1,    -1,    -1,  1747,    -1,    -1,    -1,
7080       -1,    -1,    -1,    -1,    -1,    -1,    -1,   876,    -1,    -1,
7081       -1,    -1,  1763,    -1,   883,    -1,    -1,    -1,    -1,    -1,
7082       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7083       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1788,    -1,    -1,
7084       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7085       -1,    -1,  1979,    -1,    -1,    -1,   631,    -1,    -1,    -1,
7086       -1,    -1,    -1,    -1,   742,    -1,    -1,   936,  1995,    -1,
7087       -1,   749,   941,    -1,   752,    -1,    -1,  2004,    -1,  2006,
7088       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   957,    -1,
7089      665,   666,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7090       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7091       -1,    -1,    -1,    -1,    -1,    -1,  1867,  1868,    -1,  1870,
7092     1871,  1872,  1873,  1874,  1875,  1876,  1877,    -1,    -1,  2056,
7093       -1,    -1,  2059,  2060,    -1,  1004,  2063,    -1,  2065,    -1,
7094       -1,  2068,    -1,    -1,    -1,  2072,    -1,    -1,    -1,    -1,
7095     1901,  1902,  2079,    -1,     1,    -1,     3,     4,     5,     6,
7096     1911,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7097     2097,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2105,    -1,
7098       -1,    28,  1051,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7099       37,  1060,    -1,  1062,    -1,    -1,    -1,    -1,    -1,    -1,
7100       -1,    -1,    -1,    -1,    -1,    -1,  2133,    -1,    -1,    -1,
7101       -1,    -1,  1963,    -1,    -1,    -1,  1967,  1968,    65,    -1,
7102       -1,  2148,    -1,    -1,    71,    72,    73,    74,    75,   907,
7103      908,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,
7104       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7105        0,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
7106      107,   108,   109,   110,   111,    -1,    -1,    -1,    -1,    -1,
7107       -1,   118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,
7108       -1,    -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,
7109      137,   138,   970,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7110       -1,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7111       -1,    -1,    -1,  1182,    -1,  1184,    -1,    -1,   996,    -1,
7112      998,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2079,    -1,
7113       -1,    -1,    -1,    83,    -1,    -1,    -1,    -1,    -1,    -1,
7114       -1,    86,    92,    93,    -1,    -1,  2097,    -1,    -1,    -1,
7115      100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7116       -1,  1039,  1040,    -1,    -1,  1043,  1044,  1045,   118,    -1,
7117       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7118       -1,    -1,    -1,   128,    -1,    -1,    -1,    -1,    -1,    -1,
7119       -1,   136,   142,    -1,    -1,    -1,    -1,  2148,    -1,    -1,
7120       -1,    -1,    -1,    -1,   154,    -1,    -1,    -1,   158,    -1,
7121       -1,   156,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7122       -1,    -1,    -1,    -1,    -1,    -1,  1104,    -1,    -1,  1107,
7123       -1,    -1,  1110,    -1,    -1,    -1,   186,   187,    -1,    -1,
7124       -1,  1119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7125       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7126       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7127     1148,   221,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7128       -1,    -1,    -1,    -1,  1162,  1163,  1164,  1165,    -1,    -1,
7129       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7130       -1,    -1,  1180,  1181,    -1,    -1,    -1,    -1,    -1,    -1,
7131       -1,    -1,    -1,    -1,    -1,   265,    -1,    -1,   268,   269,
7132      270,    -1,     1,    -1,     3,     4,     5,     6,   278,     8,
7133        9,    -1,  1107,    -1,    -1,  1110,    -1,    -1,   288,   289,
7134      290,    -1,    -1,    -1,  1119,    -1,    -1,    -1,    -1,    28,
7135       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   308,    -1,
7136     1429,    -1,    -1,    -1,   314,    -1,    -1,  1436,    -1,    -1,
7137       -1,  1249,    -1,  1148,   324,    -1,    -1,    -1,  1256,    -1,
7138       -1,    -1,  1260,    -1,    -1,    -1,    65,  1162,  1163,  1164,
7139     1165,    -1,    71,    72,    73,  1464,    -1,  1466,    -1,    -1,
7140     1469,    -1,    -1,  1472,    -1,    84,    85,    -1,    -1,    -1,
7141       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
7142       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
7143      109,    -1,    -1,    -1,    -1,    -1,   381,    -1,    -1,   118,
7144      119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,    -1,
7145       -1,    -1,    -1,   132,   133,   134,   135,   136,   137,   138,
7146       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   418,    -1,
7147       -1,    -1,    -1,    -1,   424,   420,   421,    -1,  1547,    -1,
7148      425,    -1,    -1,    -1,    -1,   435,  1555,    -1,    -1,   434,
7149       -1,     1,   437,    -1,     4,     5,     6,  1566,     8,     9,
7150       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7151       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7152      470,    -1,    -1,    -1,    -1,    -1,   471,    -1,    -1,    -1,
7153       -1,    -1,   477,    -1,    -1,    -1,    -1,   487,    -1,    -1,
7154       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7155       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
7156      510,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,    -1,
7157       -1,    -1,    -1,    -1,    84,    -1,    -1,    -1,    -1,   529,
7158       -1,    -1,    -1,    -1,    -1,  1463,   536,    -1,    98,   539,
7159       -1,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7160       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
7161      555,    -1,  1490,  1491,   124,   125,    -1,   127,   128,   129,
7162      565,    -1,   132,   133,    -1,   135,   136,   137,   138,    -1,
7163       -1,  1509,    -1,  1511,    -1,    -1,    -1,    -1,    -1,    -1,
7164      585,    -1,    -1,   588,    -1,   590,    -1,   592,    -1,    -1,
7165       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7166       -1,    -1,    -1,    -1,    -1,    -1,  1544,  1545,    -1,    -1,
7167       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7168       -1,    -1,  1751,  1752,    -1,  1754,    -1,    -1,   638,    -1,
7169       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7170       -1,    -1,    -1,  1581,    -1,    -1,    -1,    -1,  1586,  1587,
7171       -1,    -1,    -1,   663,   664,   665,   666,    -1,  1596,    -1,
7172     1598,  1599,    -1,    -1,  1602,    -1,    -1,    -1,    -1,    -1,
7173       -1,    -1,  1610,    -1,    -1,  1613,    -1,    -1,    -1,  1808,
7174       -1,   691,   692,   693,    -1,    -1,   696,    -1,    -1,    -1,
7175       -1,    -1,   702,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7176      710,    -1,    -1,    -1,    -1,    -1,    -1,   717,   718,   719,
7177       -1,   721,   722,    -1,    -1,    -1,    -1,    -1,   728,    -1,
7178       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   739,
7179       -1,    -1,   742,    -1,    -1,    -1,    -1,    -1,    -1,   749,
7180       -1,    -1,   752,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7181       -1,  1586,  1587,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7182       -1,  1596,    -1,  1598,  1599,    -1,    -1,  1602,    -1,    -1,
7183       -1,    -1,    -1,    -1,    -1,  1610,    -1,    -1,  1613,    -1,
7184       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7185       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7186       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7187       -1,    -1,    -1,    -1,    -1,    -1,   270,    -1,    -1,    -1,
7188       -1,    -1,   832,    -1,    -1,  1763,    -1,    -1,    -1,    -1,
7189      835,   836,   837,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7190       -1,  1779,    -1,  1781,    -1,    -1,    -1,    -1,    -1,    -1,
7191       -1,    -1,    -1,   858,   859,   860,    -1,   867,     0,    -1,
7192       -1,    -1,    -1,    -1,    -1,   875,   876,  1805,    -1,  1807,
7193      324,    -1,    -1,   883,    -1,    -1,   886,   887,   888,    -1,
7194      890,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7195       -1,    -1,  1830,  1831,  1832,  1833,    -1,    -1,  1836,    -1,
7196       -1,    -1,  1840,  1841,    -1,  1843,    -1,  1845,    -1,    51,
7197       52,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1857,
7198       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   933,    -1,
7199       -1,   941,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7200       -1,    83,    84,    -1,    -1,    -1,    88,   957,    -1,    -1,
7201       -1,    93,    -1,   958,    -1,    -1,    -1,    -1,   100,   101,
7202      965,   966,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7203       -1,   976,    -1,    -1,    -1,    -1,   118,    -1,    -1,    -1,
7204       -1,    -1,   436,    -1,    -1,    -1,   996,   997,   998,   131,
7205       -1,    -1,    -1,    -1,  1004,  1830,  1831,  1832,  1833,    -1,
7206       -1,  1836,    -1,    -1,    -1,  1840,  1841,    -1,  1843,    -1,
7207     1845,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7208       -1,    -1,  1857,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7209       -1,    -1,  1970,  1971,  1972,  1973,  1974,    -1,    -1,    -1,
7210      182,    -1,    -1,    -1,    -1,    -1,  1984,  1985,  1986,  1987,
7211       -1,    -1,    -1,   195,    -1,    -1,    -1,  1995,  1063,    -1,
7212       -1,    -1,    -1,  1068,    -1,    -1,  2004,    -1,  2006,  1074,
7213       -1,    -1,    -1,    -1,    -1,  1080,    -1,    -1,    -1,   221,
7214       -1,  1086,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7215       -1,    -1,    -1,    -1,  1104,    -1,    -1,  1107,    -1,    -1,
7216     1110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7217       -1,    -1,    -1,  1123,  2052,  2053,    -1,    -1,    -1,    -1,
7218       -1,  2059,  2060,   265,    -1,  2063,    -1,  2065,    -1,    -1,
7219     2068,    -1,    -1,    -1,  2072,    -1,   278,    -1,  1148,    -1,
7220       -1,    -1,    -1,    -1,    -1,    -1,   288,    -1,   290,    -1,
7221       -1,    -1,  1162,  1163,  1164,  1165,    -1,    -1,    -1,    -1,
7222     1995,    -1,    -1,    -1,    -1,    -1,    -1,  2105,    -1,  2004,
7223       -1,  2006,    -1,    -1,    -1,  1185,    -1,  1187,    -1,    -1,
7224       -1,    -1,   636,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7225       -1,  1201,    -1,    -1,  1204,  2133,    -1,    -1,   652,    -1,
7226     1205,  1206,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   663,
7227      664,   665,   666,    -1,  1224,    -1,    -1,    -1,    -1,    -1,
7228       -1,  1231,    -1,    -1,  2059,  2060,    -1,    -1,  2063,    -1,
7229     2065,    -1,    -1,  2068,    -1,    -1,    -1,  2072,  1248,  1249,
7230       -1,    -1,    -1,    -1,    -1,  1255,  1256,    -1,   702,  1259,
7231     1260,   705,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7232       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7233     2105,    -1,    -1,    -1,   728,    -1,   418,    -1,    -1,   733,
7234       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7235       -1,    -1,    -1,    -1,   436,   327,    -1,    -1,  2133,    -1,
7236       -1,    -1,    -1,    -1,    -1,    -1,   760,    -1,    -1,    -1,
7237       -1,    -1,   344,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7238       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   470,    -1,
7239       -1,   473,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7240       -1,    -1,    -1,    -1,   798,    -1,    -1,    -1,    -1,    -1,
7241       -1,    -1,   806,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7242       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   510,    -1,
7243       -1,    -1,   826,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7244       -1,    -1,    -1,    -1,   526,   527,   528,    -1,    -1,    -1,
7245       -1,    -1,    -1,    -1,    -1,    -1,  1401,  1402,    -1,    -1,
7246       -1,    -1,   544,   545,    -1,    -1,    -1,    -1,    -1,    -1,
7247       -1,    -1,  1417,    -1,    -1,    -1,  1421,    -1,    -1,    -1,
7248       -1,    -1,    -1,   565,    -1,   567,    -1,    -1,    -1,    -1,
7249       -1,    -1,    -1,    -1,   888,    -1,   578,    -1,    -1,    -1,
7250       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7251       -1,    -1,    -1,  1463,    -1,    -1,  1466,    -1,    -1,    -1,
7252       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7253       -1,    -1,   614,    -1,    -1,    -1,    -1,    -1,    -1,  1484,
7254       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7255     1495,  1496,  1497,  1498,    -1,    -1,    -1,    -1,    -1,    -1,
7256       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7257        1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
7258       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
7259       21,    22,    23,    24,    25,    26,    27,    28,    -1,    -1,
7260       -1,    -1,    -1,    -1,    -1,    -1,    -1,   689,    -1,    -1,
7261       -1,    -1,    -1,    -1,   696,    -1,  1566,    -1,    -1,    -1,
7262       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7263     1580,  1581,    -1,    -1,    65,   717,  1586,  1587,    -1,   721,
7264       71,    72,    73,    -1,    -1,    -1,    -1,    -1,    -1,  1599,
7265       -1,    -1,  1602,    84,    85,    -1,    -1,   739,    -1,    -1,
7266     1610,    -1,    -1,    -1,   636,    -1,    -1,    98,    -1,    -1,
7267       -1,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
7268       -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,
7269      121,   122,   123,   124,   125,   126,   127,    -1,    -1,   130,
7270     1645,   132,   133,    -1,   135,   136,   137,   138,   139,   140,
7271      141,   142,   143,  1107,    -1,    -1,  1110,  1111,  1112,    -1,
7272     1114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1122,    -1,
7273       -1,    -1,    -1,  1678,    -1,  1680,  1130,    -1,  1683,    -1,
7274       -1,    -1,    -1,  1137,    -1,    -1,    -1,    -1,    -1,    -1,
7275       -1,  1701,    -1,    -1,  1148,    -1,    -1,    -1,    -1,    -1,
7276       -1,  1155,    -1,    -1,    -1,    -1,  1160,    -1,  1162,  1163,
7277     1164,  1165,    -1,    -1,    -1,    -1,    -1,    -1,   860,   861,
7278       -1,    -1,    -1,    -1,    -1,   867,   758,    -1,    -1,    -1,
7279       -1,    -1,    -1,   875,   876,    -1,    -1,  1191,    -1,  1193,
7280      772,   883,  1747,    -1,   886,   887,   888,    -1,    -1,    -1,
7281       -1,    -1,  1762,  1763,    -1,    -1,    -1,    -1,    -1,   791,
7282      792,   793,   794,   795,    -1,    -1,   798,   799,    -1,    -1,
7283       -1,  1225,   804,    -1,  1784,   807,    -1,    -1,    -1,    -1,
7284       -1,    -1,    -1,    -1,    -1,   927,    -1,   819,   820,   821,
7285      822,   823,    -1,   935,   826,   827,    -1,    -1,    -1,   941,
7286       92,    -1,    -1,    -1,    -1,   947,    -1,    -1,    -1,    -1,
7287       -1,    -1,    -1,    -1,    -1,   957,  1270,    -1,     1,    -1,
7288        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
7289     1840,  1841,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7290       -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
7291       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7292       -1,    -1,  1004,    -1,    -1,    -1,    -1,    -1,  1322,    -1,
7293       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7294       -1,  1335,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
7295       73,    -1,    -1,  1903,   186,   187,  1901,    -1,    -1,    -1,
7296       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,  1050,    -1,
7297       -1,    -1,    -1,    -1,    -1,    98,    -1,  1059,    -1,   102,
7298      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   221,
7299       -1,    -1,  1386,    -1,    -1,   118,   119,    -1,    -1,   122,
7300      123,   124,    -1,    -1,   127,    -1,    -1,    -1,   131,   132,
7301      133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
7302       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
7303     1975,    -1,  1977,   265,    -1,    -1,   268,   269,   270,    -1,
7304       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7305       -1,    -1,    -1,    28,    -1,    -1,    -1,   289,    -1,    34,
7306       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7307       45,    46,    47,    48,    49,    50,   308,    -1,    -1,    -1,
7308       -1,    -1,   314,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7309       -1,    66,   324,    -1,    -1,    -1,    -1,    -1,    -1,    74,
7310       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
7311       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,  1201,
7312       -1,    -1,  1204,    -1,  1206,   100,    -1,    -1,    -1,    -1,
7313       -1,    -1,  1214,    -1,    -1,   110,   111,   112,   113,   114,
7314      115,    -1,  1224,    -1,   119,    -1,    -1,   122,    -1,  1231,
7315     1122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   133,    -1,
7316       -1,     0,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7317       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1150,    -1,
7318       -1,    -1,    -1,    -1,    -1,  1157,   418,    -1,    -1,    -1,
7319       -1,    -1,  1586,  1587,    -1,    -1,    -1,    -1,  1592,    -1,
7320     1594,    -1,    -1,  1597,  1598,    -1,    -1,    -1,    -1,  1603,
7321     1604,    -1,  1606,    52,    -1,    -1,    -1,    -1,    -1,  1191,
7322       -1,  1193,  1616,    -1,  1618,    -1,    -1,    -1,    -1,    -1,
7323       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   470,    -1,
7324       -1,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,    -1,
7325       -1,    -1,    91,    -1,    93,    -1,  1650,    -1,    -1,    -1,
7326     1654,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7327       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   510,    -1,
7328     1252,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7329       -1,    -1,   131,   132,    -1,    -1,    -1,   529,    -1,    -1,
7330       -1,    -1,    -1,    -1,   536,    -1,    -1,   539,    -1,    -1,
7331       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7332       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7333       -1,    -1,  1414,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7334       -1,    -1,    -1,    -1,   183,    -1,  1428,    -1,    -1,    -1,
7335       92,    -1,    -1,  1435,    -1,    -1,    -1,    -1,    -1,    -1,
7336       -1,  1443,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7337       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7338       -1,    -1,  1464,    -1,  1466,    -1,    -1,    -1,    -1,    -1,
7339       -1,   230,    -1,    -1,   233,    -1,    -1,    -1,    -1,    -1,
7340       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7341       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7342       -1,    -1,    -1,    -1,  1818,    -1,   265,    -1,    -1,    -1,
7343       -1,   663,   664,   665,   666,    -1,    -1,    -1,    -1,   278,
7344       -1,    -1,  1836,  1837,   186,   187,    -1,    -1,    -1,   288,
7345     1844,   290,    -1,    -1,  1848,    -1,  1850,    -1,    -1,   691,
7346      692,   693,    -1,    -1,  1546,  1859,    -1,    -1,    -1,    -1,
7347      702,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   710,   221,
7348       -1,    -1,    -1,    -1,  1566,   717,   718,   719,    -1,   721,
7349      722,    -1,    -1,    -1,    -1,    -1,   728,    -1,    -1,    -1,
7350       -1,    -1,    -1,    -1,    -1,    -1,    -1,   739,    -1,  1903,
7351      742,    -1,    -1,    -1,    -1,    -1,    -1,   749,    -1,    -1,
7352      752,    -1,    -1,   265,    -1,    -1,   268,   269,   270,    -1,
7353       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7354       -1,    -1,    -1,    -1,    -1,    -1,    -1,   289,    -1,    -1,
7355       -1,    -1,    -1,    -1,    -1,   394,    -1,    -1,    -1,    -1,
7356       -1,    -1,    -1,    -1,    -1,    -1,   308,    -1,    -1,    -1,
7357       -1,    -1,   314,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7358       -1,    -1,   324,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7359     1672,    -1,    -1,    -1,    -1,    -1,    -1,   436,    -1,    -1,
7360      832,    -1,  1996,  1997,    -1,  1999,    -1,  2001,    -1,    -1,
7361     2004,  2005,  2006,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7362       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7363       -1,    -1,    -1,    -1,    -1,   867,    -1,    -1,    -1,    -1,
7364       -1,    -1,    -1,    -1,   876,    -1,    -1,    -1,    -1,    -1,
7365       -1,   883,    -1,    -1,    -1,    -1,   888,    -1,   890,    -1,
7366       -1,  1743,    -1,    -1,    -1,    -1,    -1,  2061,    -1,    -1,
7367     2064,    -1,    -1,    -1,    -1,    -1,   418,    -1,  2072,    -1,
7368       -1,    -1,    -1,  1765,    -1,    -1,    -1,   526,   527,   528,
7369       -1,   530,    -1,    -1,   533,    -1,    -1,    -1,    -1,    -1,
7370       -1,    -1,  1784,    -1,    -1,   544,   545,   546,    -1,   941,
7371       -1,    -1,    -1,    -1,  2108,    -1,    -1,    -1,    -1,    -1,
7372       -1,    -1,   324,    -1,    -1,   957,   565,    -1,   470,    -1,
7373       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7374       -1,    -1,    -1,    -1,    -1,  1717,    -1,    -1,    -1,    -1,
7375     1722,  1723,  1724,  1725,  1726,  1727,    -1,    -1,    -1,  1731,
7376     1732,  1733,  1734,    -1,   996,   997,   998,    -1,   510,    -1,
7377       -1,    -1,  1004,    -1,   198,    -1,    -1,    -1,    -1,    -1,
7378       -1,    -1,    -1,    -1,    -1,    -1,    -1,   529,    -1,    -1,
7379       -1,    -1,    -1,    -1,   536,    -1,    -1,   539,    -1,    -1,
7380       -1,  1883,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7381       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7382       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7383       -1,    -1,    -1,    -1,   436,    -1,    -1,    -1,    -1,    -1,
7384       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7385       -1,   690,    -1,    -1,    -1,    -1,    -1,   696,    -1,    -1,
7386       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7387       -1,    -1,  1104,    -1,    -1,  1107,   300,    -1,  1110,    -1,
7388       -1,    -1,    -1,    -1,    -1,   309,    -1,    -1,    -1,    -1,
7389       -1,   315,    -1,    -1,    -1,    -1,    -1,    -1,  1870,  1871,
7390     1872,  1873,  1874,  1875,  1876,  1877,    -1,    -1,    -1,    -1,
7391       -1,    -1,    -1,    -1,    -1,    -1,  1148,    -1,    -1,    -1,
7392       -1,   663,   664,   665,   666,    -1,    -1,    -1,    -1,    -1,
7393     1162,  1163,  1164,  1165,    -1,    -1,    -1,    -1,    -1,    -1,
7394       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   691,
7395      692,   693,    -1,  1185,    -1,  1187,    -1,    -1,    -1,    -1,
7396      702,    -1,   386,    -1,   388,    -1,    -1,    -1,   710,  1201,
7397       -1,    -1,  1204,    -1,    -1,   717,   718,   719,    -1,   721,
7398      722,    -1,    -1,    -1,    -1,    -1,   728,    -1,    -1,    -1,
7399       -1,    -1,  1224,    -1,    -1,    -1,    -1,   739,    -1,  1231,
7400      742,    -1,    -1,    -1,    -1,    -1,    -1,   749,    -1,    -1,
7401      752,    -1,    -1,    -1,    -1,    -1,  1248,  1249,    -1,    -1,
7402       -1,    -1,    -1,  1255,  1256,    -1,    -1,  1259,  1260,    -1,
7403       -1,    -1,    -1,    -1,   636,    -1,    -1,    -1,    -1,    -1,
7404       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   888,
7405      652,    -1,    -1,    -1,   656,    -1,    -1,    -1,    -1,    -1,
7406       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7407       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7408       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   927,    -1,
7409      832,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7410      702,    -1,    -1,   705,    -1,   529,    -1,    -1,   947,    -1,
7411       -1,    -1,    -1,    -1,    -1,    -1,    -1,   719,    -1,    -1,
7412       -1,    -1,    -1,    -1,    -1,   867,   728,    -1,    -1,    -1,
7413       -1,   733,   734,    -1,   876,    -1,    -1,    -1,    -1,    -1,
7414       -1,   883,   566,    -1,    -1,    -1,   888,    -1,   890,    -1,
7415       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   760,    -1,
7416       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7417       -1,    -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,
7418       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7419       -1,    -1,    -1,    -1,    -1,    -1,   798,    -1,    -1,   941,
7420       -1,    28,   626,    -1,   806,    -1,    -1,    -1,    -1,    -1,
7421       -1,  1050,  1051,    -1,    -1,   957,    -1,    -1,    -1,    -1,
7422       -1,    -1,    -1,    -1,   826,    -1,    -1,    -1,    -1,    -1,
7423       -1,  1463,    -1,    -1,  1466,    -1,    -1,    -1,    65,    -1,
7424       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
7425       -1,    -1,    -1,    -1,   996,   997,   998,    84,    85,    -1,
7426       -1,    -1,  1004,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7427       -1,    98,    -1,   697,    -1,   102,   103,   104,   105,   106,
7428      107,   108,   109,    -1,    -1,    -1,   888,    -1,    -1,    -1,
7429       -1,   118,   119,    -1,    -1,   122,   123,   124,   125,    -1,
7430      127,    -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,
7431      137,   138,    -1,    -1,    -1,    -1,    -1,    -1,   742,    -1,
7432       -1,    -1,    -1,    -1,    -1,   749,    -1,    -1,   752,    -1,
7433       -1,    -1,    -1,    -1,  1566,    -1,    -1,    -1,    -1,    -1,
7434       -1,    -1,    -1,  1182,    -1,  1184,    -1,    -1,  1580,  1581,
7435       -1,    -1,    -1,    -1,  1586,  1587,     3,    -1,    -1,    -1,
7436       -1,    -1,  1104,    -1,    -1,  1107,    -1,  1599,  1110,    -1,
7437     1602,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1610,    -1,
7438       -1,    28,    -1,    -1,    -1,    -1,    -1,    34,    35,    36,
7439       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7440       47,    48,    49,    50,    -1,    -1,  1148,    -1,    -1,    -1,
7441       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
7442     1162,  1163,  1164,  1165,    -1,    -1,    -1,    74,    75,    -1,
7443       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
7444       87,    -1,    -1,  1185,    -1,  1187,    -1,    -1,    -1,    -1,
7445       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,  1201,
7446       -1,    -1,  1204,   110,   111,   112,   113,   114,   115,  1701,
7447       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7448       -1,    -1,  1224,    -1,    -1,    -1,    -1,    -1,    -1,  1231,
7449       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7450       -1,    -1,   926,    -1,   928,    -1,  1248,  1249,    -1,  1111,
7451     1112,    -1,  1114,  1255,  1256,    -1,    -1,  1259,  1260,    -1,
7452     1122,    -1,    -1,  1125,    -1,    -1,    -1,    -1,  1130,    -1,
7453     1762,  1763,    -1,    -1,    -1,  1137,  1138,    -1,    -1,    -1,
7454       -1,    -1,     1,   967,     3,     4,     5,     6,    -1,     8,
7455        9,    -1,  1784,  1155,  1156,    -1,    -1,    -1,  1160,    -1,
7456       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
7457       -1,    -1,   996,    -1,   998,    -1,    -1,    -1,    -1,    -1,
7458       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1191,
7459       -1,  1193,    -1,    52,    53,    54,    55,    56,    57,    58,
7460       59,    60,    61,    62,  1443,    -1,    65,    -1,  1840,  1841,
7461       -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,
7462       79,    -1,    -1,  1225,    -1,    84,    85,    86,    -1,    88,
7463       89,    90,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
7464     1064,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
7465      109,   110,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,
7466      119,    -1,    -1,   122,    -1,   124,   125,    -1,  1270,  1271,
7467      129,  1903,   131,   132,   133,    -1,   135,   136,   137,   138,
7468     1104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7469       -1,  1115,    -1,    -1,    -1,    -1,    52,    -1,    -1,    -1,
7470       -1,    -1,    -1,    59,    -1,    -1,    -1,    -1,  1547,    -1,
7471       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7472     1322,  1463,  1324,    -1,  1466,    -1,    82,    83,    84,    -1,
7473       -1,    -1,    -1,  1335,  1336,    -1,    -1,    -1,    -1,    -1,
7474       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7475       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7476       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7477       -1,    -1,    -1,    -1,    -1,   131,   132,    -1,    -1,    -1,
7478       -1,    -1,    -1,  1207,  1386,    -1,  1388,    -1,    -1,    -1,
7479       -1,    -1,   148,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7480       -1,    -1,    -1,    -1,    -1,  1229,    -1,    -1,   164,    -1,
7481        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
7482       -1,    -1,    -1,    -1,  1566,  1249,    -1,   183,    -1,    -1,
7483       -1,    -1,  1256,    -1,    -1,    -1,  1260,    28,  1580,  1581,
7484       -1,    -1,    -1,    -1,  1586,  1587,    -1,    -1,    -1,    -1,
7485       -1,    -1,    -1,    -1,    -1,    52,    -1,  1599,    -1,    -1,
7486     1602,    -1,    -1,    -1,   220,   221,    -1,    -1,  1610,    -1,
7487       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
7488       71,    72,    73,    -1,    -1,    -1,    83,    84,    -1,    -1,
7489       -1,    -1,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
7490       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   265,
7491       -1,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
7492       -1,    -1,   278,    -1,    -1,    -1,    -1,   118,   119,    -1,
7493       -1,   122,   288,   124,   131,   132,   127,   128,   129,    -1,
7494       -1,   132,   133,    -1,   135,   136,   137,   138,    -1,    -1,
7495       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1701,
7496       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1808,
7497     1572,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7498       -1,    -1,    -1,    -1,    -1,    -1,   183,    -1,    -1,    -1,
7499     1592,  1593,  1594,  1595,    -1,  1597,  1598,    -1,    -1,    -1,
7500       -1,  1603,  1604,    -1,  1606,     1,  1608,     3,     4,     5,
7501        6,    -1,     8,     9,  1616,  1617,  1618,    -1,    -1,    -1,
7502     1762,  1763,    -1,    -1,   221,    -1,    -1,    -1,    -1,    -1,
7503       -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,   394,  1463,
7504       -1,    -1,  1784,    -1,   400,    -1,    -1,    -1,  1650,  1473,
7505     1652,    -1,  1654,    -1,  1656,    -1,    -1,    -1,    -1,    -1,
7506       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   265,    65,
7507       -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,
7508      436,   278,    -1,    -1,    -1,  1509,    -1,  1511,    84,    85,
7509       -1,   288,    -1,    -1,    -1,    -1,    -1,    -1,  1840,  1841,
7510       -1,    -1,    98,    -1,  1528,    -1,   102,   103,   104,   105,
7511      106,   107,   108,   109,   470,    -1,    -1,    -1,    -1,    -1,
7512       -1,    -1,   118,   119,    -1,    -1,   122,   123,   124,   125,
7513      486,   127,    -1,    -1,    -1,    -1,   132,   133,    -1,   135,
7514      136,   137,   138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7515       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1581,    -1,    -1,
7516       -1,  1903,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7517      526,   527,   528,    -1,   530,    -1,    -1,   533,    -1,    -1,
7518       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   544,   545,
7519      546,    -1,    -1,    -1,    -1,    -1,    -1,   394,    -1,    -1,
7520       -1,    -1,    -1,   400,    -1,    -1,    -1,   563,    -1,   565,
7521       -1,   567,    -1,    -1,    -1,    -1,  1818,    -1,    -1,    -1,
7522       -1,    -1,    -1,    -1,   580,    -1,    -1,    -1,    -1,    -1,
7523       -1,    -1,    -1,    -1,    -1,  1837,    -1,    -1,    -1,   436,
7524     1842,    -1,  1844,  1845,    -1,  1847,  1848,    -1,  1850,    -1,
7525     1852,    -1,    -1,    -1,    -1,    -1,  1858,  1859,  1682,    -1,
7526     1684,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7527       -1,    -1,    -1,   470,  1698,  1699,    -1,    -1,    -1,    -1,
7528       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7529       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1723,
7530     1724,  1903,  1726,  1727,    -1,    -1,    -1,  1731,  1732,  1733,
7531     1734,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7532       -1,    -1,    -1,    -1,    -1,    -1,   682,    -1,    -1,   526,
7533      527,   528,    -1,   530,   690,    -1,   533,    -1,    -1,  1763,
7534      696,    -1,    -1,    -1,    -1,    -1,    -1,   544,   545,   546,
7535       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7536       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   565,    -1,
7537      567,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7538       -1,    -1,    -1,   580,    -1,    -1,    -1,    -1,    -1,    -1,
7539       -1,    -1,    -1,    -1,  1996,  1997,    -1,  1999,  2000,  2001,
7540       -1,    -1,    -1,  2005,  2006,    -1,    -1,    -1,    -1,    -1,
7541       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7542       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7543       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    92,
7544       -1,    -1,    -1,    -1,    -1,    -1,  1870,  1871,  1872,  1873,
7545     1874,  1875,  1876,  1877,    -1,    -1,    -1,    -1,    -1,  2061,
7546     2062,    -1,  2064,  2065,    -1,    -1,    -1,  2069,    -1,    -1,
7547       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1902,    -1,
7548       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1911,    -1,   142,
7549       -1,    -1,    -1,   690,    -1,    -1,    -1,    -1,    -1,   696,
7550       -1,   154,    -1,    -1,    92,   158,  2108,    -1,    -1,    -1,
7551       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   874,    -1,
7552      876,    -1,    -1,    -1,    -1,    -1,    -1,   883,    -1,    -1,
7553       -1,    -1,   888,   186,   187,    -1,    -1,    -1,    -1,  1963,
7554       -1,    -1,    -1,  1967,  1968,    -1,    -1,    -1,    -1,    -1,
7555       -1,    -1,    -1,    -1,   142,    -1,    -1,    -1,    -1,    -1,
7556       -1,    -1,    -1,    -1,    -1,    -1,   154,    -1,   221,    -1,
7557      158,   927,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7558      936,    -1,    -1,    -1,    -1,   941,    -1,    -1,    -1,    -1,
7559       -1,   947,    -1,    -1,    -1,    -1,    -1,    -1,   186,   187,
7560       -1,   957,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7561       -1,    -1,   265,    -1,    -1,   268,   269,   270,    -1,    -1,
7562       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7563       -1,    -1,    -1,    -1,    -1,    -1,   289,    -1,    -1,    -1,
7564       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1004,    -1,
7565       -1,    -1,    -1,    -1,    -1,   308,    -1,    -1,    -1,    -1,
7566       -1,   314,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7567       -1,    -1,    -1,    -1,    -1,    -1,    -1,   265,    -1,   876,
7568      268,   269,   270,    -1,    -1,    -1,   883,    -1,    -1,    -1,
7569       -1,   888,    -1,    -1,  1050,  1051,    -1,    -1,    -1,    -1,
7570       -1,   289,    -1,    -1,  1060,    -1,  1062,    -1,    -1,    -1,
7571       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7572      308,    -1,    -1,    -1,    -1,    -1,   314,    -1,    -1,    -1,
7573      927,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   936,
7574       -1,    -1,    -1,    -1,   941,    -1,    -1,    -1,    -1,    -1,
7575      947,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7576      957,    -1,    -1,    -1,    -1,   418,    -1,    -1,    -1,    -1,
7577       -1,   424,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7578       -1,    -1,   435,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7579       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7580       -1,    -1,    -1,    -1,    -1,    -1,    92,  1004,    -1,    -1,
7581       -1,    -1,    -1,    -1,    -1,    -1,    -1,   470,    -1,    -1,
7582       -1,    -1,    -1,    -1,    -1,    -1,  1182,    -1,  1184,    -1,
7583       -1,    -1,    -1,    -1,   487,    -1,   424,    -1,    -1,    -1,
7584       -1,    -1,    -1,    -1,    -1,    -1,    -1,   435,    -1,    -1,
7585       -1,    -1,    -1,  1050,  1051,    -1,   142,   510,    -1,    -1,
7586       -1,    -1,    -1,  1060,    -1,  1062,    -1,    -1,   154,    -1,
7587       -1,    -1,   158,    -1,    -1,    -1,   529,    -1,    -1,    -1,
7588       -1,     3,    -1,   536,    -1,    -1,   539,    -1,    -1,    -1,
7589       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   487,
7590      186,   187,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
7591       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7592       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7593       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7594       -1,   529,    -1,    -1,    66,    -1,    68,    -1,   536,    -1,
7595       -1,   539,    74,    75,    -1,    -1,    78,    79,    -1,    -1,
7596       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
7597       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   265,
7598       -1,    -1,   268,   269,   270,  1182,    -1,  1184,   110,   111,
7599      112,   113,   114,   115,   116,   117,    -1,   119,    -1,    -1,
7600      122,    -1,   124,   289,    -1,    -1,    -1,    -1,    -1,   131,
7601      663,   664,   665,   666,    -1,    -1,    -1,    -1,    -1,    -1,
7602       -1,    -1,   308,    -1,    -1,    -1,    -1,    -1,   314,    -1,
7603       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   691,   692,
7604      693,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7605       -1,    -1,    -1,    -1,    -1,    -1,    -1,   710,    -1,    -1,
7606       -1,    -1,    -1,    -1,   717,   718,    -1,    -1,   721,   722,
7607       -1,    -1,    -1,  1429,    -1,   663,   664,   665,   666,    -1,
7608     1436,    -1,    -1,    -1,    -1,    -1,    -1,  1443,    -1,   742,
7609       -1,    -1,    -1,    -1,    -1,    -1,   749,    -1,    -1,   752,
7610       -1,    -1,    -1,   691,   692,   693,    -1,    -1,  1464,    -1,
7611     1466,    -1,    -1,  1469,    -1,    -1,  1472,    -1,    -1,    -1,
7612       -1,    -1,   710,    -1,    -1,    -1,    -1,    -1,    -1,   717,
7613      718,    -1,    -1,   721,   722,    -1,    -1,    -1,   424,    -1,
7614       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   435,
7615       -1,    -1,    -1,    -1,   742,    -1,    -1,    -1,    -1,    -1,
7616       -1,   749,    -1,    -1,   752,    -1,    -1,    -1,    -1,    -1,
7617       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   832,
7618       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7619       -1,  1547,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1555,
7620       -1,   487,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7621     1566,    -1,    -1,    -1,   867,    -1,    -1,    -1,    -1,    -1,
7622       -1,    -1,   875,   876,    -1,    -1,    -1,    -1,    -1,    -1,
7623      883,    -1,  1429,   886,    -1,    -1,    -1,   890,    -1,  1436,
7624       -1,    -1,    -1,   529,    -1,    -1,  1443,    -1,    -1,    -1,
7625      536,    -1,    -1,   539,    -1,    -1,    -1,    -1,    -1,    -1,
7626       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1464,    -1,  1466,
7627       -1,    -1,  1469,    -1,    -1,  1472,    -1,    -1,    -1,    -1,
7628       -1,    -1,    -1,    -1,    -1,    -1,    -1,   875,   941,    -1,
7629       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   886,    -1,
7630       -1,    -1,    -1,    -1,   957,    -1,    -1,    -1,    -1,    -1,
7631       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7632       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7633       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7634       -1,    -1,    -1,   996,   997,   998,    -1,    -1,    -1,    -1,
7635     1547,  1004,    -1,    -1,    -1,    -1,    -1,    -1,  1555,    -1,
7636       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1566,
7637       -1,    -1,    -1,    -1,    -1,    -1,    -1,   663,   664,   665,
7638      666,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7639       -1,    -1,    -1,    -1,    -1,  1751,  1752,    -1,  1754,    -1,
7640       -1,    -1,    -1,    -1,    -1,   691,   692,   693,   996,   997,
7641      998,    -1,    -1,    -1,    -1,    -1,  1004,    -1,    -1,    -1,
7642       -1,    -1,    -1,    -1,   710,    -1,    -1,    -1,    -1,    -1,
7643       -1,   717,   718,    -1,    -1,   721,   722,    -1,    -1,    -1,
7644       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7645       -1,  1104,  1808,    -1,  1107,    -1,   742,  1110,    -1,    -1,
7646       -1,    -1,    -1,   749,    -1,    -1,   752,    -1,    -1,    -1,
7647       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7648       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7649       -1,    -1,    -1,    -1,    -1,  1148,    -1,    -1,    -1,    -1,
7650       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1162,
7651     1163,  1164,  1165,    -1,    -1,    -1,  1104,    -1,    -1,  1107,
7652       -1,     1,  1110,     3,     4,     5,     6,    -1,     8,     9,
7653       -1,    -1,  1185,    -1,  1187,    -1,    -1,    -1,    -1,    -1,
7654       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,
7655       -1,  1204,    -1,    -1,  1751,  1752,    -1,  1754,    -1,    -1,
7656     1148,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7657       -1,  1224,    -1,    -1,  1162,  1163,  1164,  1165,  1231,    -1,
7658       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,   875,
7659       -1,    71,    72,    73,    -1,  1248,  1249,  1185,    -1,  1187,
7660      886,    -1,  1255,  1256,    84,    85,  1259,  1260,    -1,    -1,
7661       -1,  1808,    -1,    -1,    -1,    -1,  1204,    -1,    98,    -1,
7662       -1,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7663       -1,    -1,    -1,    -1,    -1,    -1,  1224,    -1,   118,   119,
7664       -1,    -1,   122,  1231,   124,    -1,    -1,    -1,    -1,   129,
7665       -1,    -1,   132,   133,   134,   135,   136,   137,   138,    -1,
7666     1248,  1249,    -1,    -1,    -1,    -1,    -1,  1255,  1256,    -1,
7667       -1,  1259,  1260,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7668       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7669       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7670       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7671      996,   997,   998,    -1,    -1,    -1,     1,    -1,  1004,    -1,
7672       -1,    -1,     7,     8,     9,    10,    11,    12,    13,    14,
7673       15,    16,    17,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7674       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
7675       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7676       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
7677       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7678       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
7679       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
7680       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7681     1463,    -1,    -1,  1466,    -1,   100,    -1,    -1,  1104,    -1,
7682       -1,  1107,    -1,    -1,  1110,   110,   111,   112,   113,   114,
7683      115,   116,   117,    -1,   119,   120,   121,   122,    -1,    -1,
7684      125,   126,   127,   128,    -1,   130,    -1,    -1,   133,    -1,
7685      135,   136,   137,    -1,   139,   140,   141,   142,   143,    -1,
7686       -1,    -1,  1148,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7687       -1,    -1,    -1,    -1,    -1,  1463,  1162,  1163,  1164,  1165,
7688       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7689       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1185,
7690       -1,  1187,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7691       -1,    -1,    -1,  1566,    -1,    -1,    -1,    -1,  1204,    -1,
7692       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1580,  1581,    -1,
7693       -1,    -1,    -1,  1586,  1587,    -1,    -1,    -1,  1224,    -1,
7694       -1,    -1,    -1,    -1,    -1,  1231,  1599,    -1,    -1,  1602,
7695       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1610,    -1,    -1,
7696       -1,    -1,  1248,  1249,    -1,    -1,    -1,    -1,    -1,  1255,
7697     1256,    -1,    -1,  1259,  1260,    -1,    -1,    -1,    -1,    -1,
7698       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7699       -1,    -1,  1580,  1581,    -1,    -1,    -1,    -1,  1586,  1587,
7700       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7701       -1,  1599,    -1,    -1,  1602,    -1,    -1,    -1,    -1,    -1,
7702       -1,     1,  1610,     3,     4,     5,     6,     7,     8,     9,
7703       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7704       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
7705       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7706       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7707       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7708       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
7709       -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,    -1,
7710       -1,    -1,    -1,    -1,    84,    85,    -1,    -1,    -1,  1762,
7711     1763,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
7712       -1,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7713       -1,  1784,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,
7714      120,   121,   122,   123,   124,    -1,   126,   127,    -1,    -1,
7715      130,    -1,   132,   133,    -1,   135,   136,   137,   138,   139,
7716      140,   141,   142,   143,     1,    -1,     3,    -1,    -1,    -1,
7717       -1,    -1,    -1,    -1,  1762,  1763,    -1,  1463,    -1,    -1,
7718       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1840,  1841,    -1,
7719       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
7720       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7721       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
7722       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
7723       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
7724       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
7725       87,    -1,  1840,  1841,    -1,    -1,    -1,    -1,    -1,    -1,
7726       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
7727       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
7728      117,    -1,   119,    -1,    -1,   122,   123,    -1,    -1,    -1,
7729       -1,    -1,    -1,    -1,  1580,  1581,   133,    -1,    -1,    -1,
7730     1586,  1587,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7731       -1,    -1,    -1,  1599,    -1,    -1,  1602,    -1,    -1,    -1,
7732       -1,    -1,     0,     1,  1610,     3,     4,     5,     6,     7,
7733        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7734       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7735       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7736       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7737       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7738       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7739       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7740       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7741       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7742       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7743      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7744      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7745      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
7746      138,   139,   140,   141,   142,   143,    -1,    -1,    -1,    -1,
7747       -1,    -1,    -1,    -1,    -1,    -1,  1762,  1763,     0,     1,
7748       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7749       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7750       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7751       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7752       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7753       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7754       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7755       72,    73,    74,    75,  1840,  1841,    78,    79,    80,    81,
7756       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7757       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7758      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7759      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7760      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7761      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
7762      142,   143,     0,     1,    -1,     3,     4,     5,     6,     7,
7763        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7764       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7765       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7766       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7767       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7768       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7769       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7770       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7771       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7772       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7773      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7774      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7775      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
7776      138,   139,   140,   141,   142,   143,     0,     1,    -1,     3,
7777        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7778       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7779       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7780       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7781       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7782       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7783       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7784       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7785       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7786       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7787      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7788      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7789      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7790      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
7791        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
7792       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7793       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
7794       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7795       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7796       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7797       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7798       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7799       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7800       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7801      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7802      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
7803      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
7804      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
7805      140,   141,   142,   143,     0,     1,    -1,     3,     4,     5,
7806        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7807       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
7808       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
7809       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7810       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7811       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7812       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7813       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7814       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7815       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7816      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7817      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
7818      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
7819      136,   137,   138,   139,   140,   141,   142,   143,     0,     1,
7820       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7821       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7822       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7823       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7824       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7825       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7826       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7827       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7828       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7829       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7830      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7831      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7832      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7833      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
7834      142,   143,     0,     1,    -1,     3,     4,     5,     6,     7,
7835        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7836       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7837       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7838       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7839       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7840       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7841       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7842       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7843       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7844       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7845      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7846      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7847      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
7848      138,   139,   140,   141,   142,   143,     0,     1,    -1,     3,
7849        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7850       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7851       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7852       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7853       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7854       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7855       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7856       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7857       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7858       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7859      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7860      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7861      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7862      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
7863        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
7864       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7865       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
7866       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7867       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7868       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7869       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7870       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7871       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7872       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7873      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7874      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
7875      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
7876      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
7877      140,   141,   142,   143,     0,     1,    -1,     3,     4,     5,
7878        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7879       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
7880       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
7881       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7882       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7883       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7884       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7885       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7886       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7887       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7888      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7889      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
7890      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
7891      136,   137,   138,   139,   140,   141,   142,   143,     0,     1,
7892       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7893       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7894       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7895       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7896       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7897       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7898       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7899       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7900       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7901       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7902      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7903      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7904      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7905      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
7906      142,   143,     0,     1,    -1,     3,     4,     5,     6,     7,
7907        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7908       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7909       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7910       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7911       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7912       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7913       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7914       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7915       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7916       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7917      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7918      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7919      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
7920      138,   139,   140,   141,   142,   143,     0,     1,    -1,     3,
7921        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7922       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7923       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7924       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7925       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7926       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7927       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7928       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7929       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7930       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7931      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7932      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7933      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7934      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
7935        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
7936       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7937       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
7938       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7939       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7940       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7941       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7942       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7943       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7944       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7945      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7946      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
7947      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
7948      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
7949      140,   141,   142,   143,     0,     1,    -1,     3,     4,     5,
7950        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7951       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
7952       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
7953       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7954       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7955       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7956       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7957       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7958       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7959       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7960      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7961      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
7962      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
7963      136,   137,   138,   139,   140,   141,   142,   143,     0,     1,
7964       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7965       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7966       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7967       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7968       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7969       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7970       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7971       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7972       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7973       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7974      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7975      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7976      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7977      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
7978      142,   143,     0,     1,    -1,     3,     4,     5,     6,     7,
7979        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7980       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7981       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7982       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7983       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7984       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7985       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7986       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7987       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7988       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7989      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7990      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7991      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
7992      138,   139,   140,   141,   142,   143,     0,     1,    -1,     3,
7993        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7994       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7995       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7996       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7997       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7998       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7999       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8000       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8001       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8002       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8003      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8004      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
8005      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
8006      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
8007        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
8008       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
8009       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
8010       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8011       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8012       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8013       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8014       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8015       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8016       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8017      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8018      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8019      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
8020      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
8021      140,   141,   142,   143,     0,     1,    -1,     3,     4,     5,
8022        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
8023       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
8024       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
8025       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8026       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8027       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8028       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8029       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8030       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8031       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8032      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8033      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
8034      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
8035      136,   137,   138,   139,   140,   141,   142,   143,     0,     1,
8036       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
8037       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
8038       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
8039       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8040       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8041       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8042       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8043       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8044       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8045       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8046      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8047      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
8048      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
8049      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
8050      142,   143,     0,     1,    -1,     3,     4,     5,     6,     7,
8051        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
8052       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
8053       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8054       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8055       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8056       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8057       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8058       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8059       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8060       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8061      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8062      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
8063      128,   129,   130,   131,   132,   133,    -1,   135,   136,   137,
8064      138,   139,   140,   141,   142,   143,     0,     1,    -1,     3,
8065        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8066       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8067       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8068       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8069       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8070       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8071       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8072       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8073       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8074       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8075      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8076      114,   115,   116,   117,   118,   119,    -1,    -1,   122,   123,
8077      124,   125,    -1,   127,   128,   129,   130,   131,   132,   133,
8078       -1,   135,   136,   137,   138,     0,     1,    -1,     3,     4,
8079        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8080       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8081       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8082       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8083       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
8084       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
8085       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
8086       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
8087       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
8088       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
8089      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8090      115,   116,   117,   118,   119,    -1,    -1,   122,   123,   124,
8091      125,    -1,   127,   128,   129,    -1,   131,   132,   133,    -1,
8092      135,   136,   137,   138,     0,     1,    -1,     3,     4,     5,
8093        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8094       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8095       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8096       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8097       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8098       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8099       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8100       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8101       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8102       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8103      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8104      116,   117,   118,   119,    -1,    -1,   122,   123,   124,   125,
8105       -1,   127,   128,   129,    -1,   131,   132,   133,    -1,   135,
8106      136,   137,   138,     0,     1,    -1,     3,     4,     5,     6,
8107       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8108       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8109       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8110       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8111       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
8112       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
8113       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8114       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
8115       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
8116       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
8117      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
8118      117,   118,   119,    -1,    -1,   122,   123,   124,   125,    -1,
8119      127,   128,   129,    -1,   131,   132,   133,    -1,   135,   136,
8120      137,   138,     0,     1,    -1,     3,     4,     5,     6,    -1,
8121        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8122       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8123       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8124       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8125       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8126       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8127       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8128       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8129       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8130       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8131      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8132      118,   119,    -1,    -1,   122,   123,   124,   125,    -1,   127,
8133      128,   129,    -1,   131,   132,   133,    -1,   135,   136,   137,
8134      138,     0,     1,    -1,     3,     4,     5,     6,    -1,     8,
8135        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8136       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8137       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8138       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8139       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8140       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
8141       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
8142       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
8143       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
8144       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8145      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8146      119,    -1,    -1,   122,   123,   124,   125,    -1,   127,   128,
8147      129,    -1,   131,   132,   133,    -1,   135,   136,   137,   138,
8148        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8149       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8150       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8151       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8152       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8153       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8154       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8155       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8156       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8157       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8158      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8159      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8160       -1,    -1,   122,   123,   124,   125,    -1,   127,   128,   129,
8161       -1,   131,   132,   133,    -1,   135,   136,   137,   138,     0,
8162        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8163       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8164       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8165       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8166       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8167       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
8168       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
8169       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
8170       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
8171       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
8172       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8173      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
8174       -1,   122,   123,   124,   125,    -1,   127,   128,   129,    -1,
8175      131,   132,   133,    -1,   135,   136,   137,   138,     0,     1,
8176       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8177       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8178       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8179       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8180       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8181       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8182       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8183       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8184       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8185       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8186      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8187      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8188      122,   123,   124,   125,    -1,   127,   128,   129,    -1,   131,
8189      132,   133,    -1,   135,   136,   137,   138,     0,     1,    -1,
8190        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8191       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8192       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
8193       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
8194       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
8195       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
8196       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
8197       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
8198       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
8199       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
8200      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8201      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
8202       -1,   124,   125,    -1,   127,   128,   129,    -1,   131,   132,
8203      133,    -1,   135,   136,   137,   138,     0,     1,    -1,     3,
8204        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8205       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8206       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8207       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8208       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8209       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8210       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8211       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8212       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8213       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8214      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8215      114,   115,   116,   117,   118,   119,    -1,    -1,   122,    -1,
8216      124,   125,    -1,   127,   128,   129,    -1,   131,   132,   133,
8217       -1,   135,   136,   137,   138,     0,     1,    -1,     3,     4,
8218        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8219       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8220       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8221       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8222       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
8223       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
8224       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
8225       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
8226       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
8227       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
8228      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8229      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
8230      125,    -1,   127,   128,   129,    -1,   131,   132,   133,    -1,
8231      135,   136,   137,   138,     0,     1,    -1,     3,     4,     5,
8232        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8233       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8234       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8235       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8236       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8237       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8238       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8239       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8240       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8241       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8242      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8243      116,   117,   118,   119,    -1,    -1,   122,    -1,   124,   125,
8244       -1,   127,   128,   129,    -1,   131,   132,   133,    -1,   135,
8245      136,   137,   138,     0,     1,    -1,     3,     4,     5,     6,
8246       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8247       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8248       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8249       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8250       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
8251       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
8252       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8253       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
8254       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
8255       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
8256      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
8257      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
8258      127,   128,   129,    -1,   131,   132,   133,    -1,   135,   136,
8259      137,   138,     0,     1,    -1,     3,     4,     5,     6,    -1,
8260        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8261       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8262       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8263       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8264       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8265       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8266       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8267       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8268       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8269       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8270      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8271      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,
8272      128,   129,    -1,   131,   132,   133,    -1,   135,   136,   137,
8273      138,     0,     1,    -1,     3,     4,     5,     6,    -1,     8,
8274        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8275       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8276       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8277       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8278       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8279       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
8280       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
8281       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
8282       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
8283       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8284      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8285      119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,
8286      129,    -1,   131,   132,   133,    -1,   135,   136,   137,   138,
8287        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8288       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8289       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8290       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8291       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8292       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8293       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8294       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8295       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8296       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8297      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8298      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8299       -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,   129,
8300       -1,   131,   132,   133,    -1,   135,   136,   137,   138,     0,
8301        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8302       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8303       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8304       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8305       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8306       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
8307       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
8308       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
8309       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
8310       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
8311       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8312      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
8313       -1,   122,    -1,   124,   125,    -1,   127,   128,   129,    -1,
8314      131,   132,   133,    -1,   135,   136,   137,   138,     0,     1,
8315       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8316       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8317       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8318       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8319       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8320       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8321       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8322       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8323       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8324       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8325      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8326      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8327      122,    -1,   124,   125,    -1,   127,   128,   129,    -1,   131,
8328      132,   133,    -1,   135,   136,   137,   138,     0,     1,    -1,
8329        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8330       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8331       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
8332       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
8333       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
8334       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
8335       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
8336       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
8337       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
8338       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
8339      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8340      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
8341       -1,   124,   125,    -1,   127,   128,   129,    -1,   131,   132,
8342      133,    -1,   135,   136,   137,   138,     0,     1,    -1,     3,
8343        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8344       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8345       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8346       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8347       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8348       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8349       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8350       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8351       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8352       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8353      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8354      114,   115,   116,   117,   118,   119,    -1,    -1,   122,    -1,
8355      124,   125,    -1,   127,   128,   129,    -1,   131,   132,   133,
8356       -1,   135,   136,   137,   138,     0,     1,    -1,     3,     4,
8357        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8358       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8359       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8360       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8361       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
8362       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
8363       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
8364       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
8365       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
8366       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
8367      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8368      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
8369      125,    -1,   127,   128,   129,    -1,   131,   132,   133,    -1,
8370      135,   136,   137,   138,     0,     1,    -1,     3,     4,     5,
8371        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8372       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8373       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8374       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8375       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8376       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8377       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8378       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8379       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8380       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8381      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8382      116,   117,   118,   119,    -1,    -1,   122,    -1,   124,   125,
8383       -1,   127,   128,   129,    -1,   131,   132,   133,    -1,   135,
8384      136,   137,   138,     0,     1,    -1,     3,     4,     5,     6,
8385       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8386       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8387       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8388       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8389       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
8390       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
8391       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8392       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
8393       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
8394       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
8395      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
8396      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
8397      127,   128,   129,    -1,   131,   132,   133,    -1,   135,   136,
8398      137,   138,     0,     1,    -1,     3,     4,     5,     6,    -1,
8399        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8400       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8401       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8402       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8403       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8404       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8405       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8406       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8407       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8408       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8409      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8410      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,
8411      128,   129,    -1,   131,   132,   133,    -1,   135,   136,   137,
8412      138,     0,     1,    -1,     3,     4,     5,     6,    -1,     8,
8413        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8414       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8415       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8416       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8417       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8418       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
8419       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
8420       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
8421       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
8422       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8423      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8424      119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,
8425      129,    -1,   131,   132,   133,    -1,   135,   136,   137,   138,
8426        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8427       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8428       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8429       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8430       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8431       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8432       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8433       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8434       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8435       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8436      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8437      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8438       -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,   129,
8439       -1,   131,   132,   133,    -1,   135,   136,   137,   138,     0,
8440        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8441       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8442       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8443       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8444       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8445       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
8446       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
8447       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
8448       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
8449       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
8450       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8451      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
8452       -1,   122,    -1,   124,   125,    -1,   127,   128,   129,    -1,
8453      131,   132,   133,    -1,   135,   136,   137,   138,     0,     1,
8454       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8455       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8456       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8457       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8458       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8459       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8460       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8461       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8462       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8463       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8464      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8465      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8466      122,    -1,   124,   125,    -1,   127,   128,   129,    -1,   131,
8467      132,   133,    -1,   135,   136,   137,   138,     0,     1,    -1,
8468        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8469       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8470       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
8471       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
8472       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
8473       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
8474       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
8475       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
8476       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
8477       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
8478      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8479      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
8480       -1,   124,   125,    -1,   127,   128,   129,    -1,   131,   132,
8481      133,    -1,   135,   136,   137,   138,     0,     1,    -1,     3,
8482        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8483       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8484       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8485       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8486       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8487       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8488       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8489       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8490       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8491       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8492      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8493      114,   115,   116,   117,   118,   119,    -1,    -1,   122,    -1,
8494      124,   125,    -1,   127,   128,   129,    -1,   131,   132,   133,
8495       -1,   135,   136,   137,   138,     0,     1,    -1,     3,     4,
8496        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8497       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8498       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8499       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8500       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
8501       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
8502       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
8503       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
8504       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
8505       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
8506      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8507      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
8508      125,    -1,   127,   128,   129,    -1,   131,   132,   133,    -1,
8509      135,   136,   137,   138,     0,     1,    -1,     3,     4,     5,
8510        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8511       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8512       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8513       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8514       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8515       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8516       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8517       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8518       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8519       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8520      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8521      116,   117,   118,   119,    -1,    -1,   122,    -1,   124,   125,
8522       -1,   127,   128,   129,    -1,   131,   132,   133,    -1,   135,
8523      136,   137,   138,     0,     1,    -1,     3,     4,     5,     6,
8524       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8525       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8526       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8527       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8528       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
8529       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
8530       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8531       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
8532       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
8533       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
8534      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
8535      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
8536      127,   128,   129,    -1,   131,   132,   133,    -1,   135,   136,
8537      137,   138,     0,     1,    -1,     3,     4,     5,     6,    -1,
8538        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8539       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8540       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8541       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8542       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8543       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8544       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8545       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8546       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8547       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8548      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8549      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,
8550      128,   129,    -1,   131,   132,   133,    -1,   135,   136,   137,
8551      138,     0,     1,    -1,     3,     4,     5,     6,    -1,     8,
8552        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8553       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8554       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8555       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8556       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8557       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
8558       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
8559       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
8560       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
8561       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8562      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8563      119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,
8564      129,    -1,   131,   132,   133,    -1,   135,   136,   137,   138,
8565        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8566       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8567       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8568       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8569       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8570       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8571       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8572       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8573       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8574       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8575      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8576      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8577       -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,   129,
8578       -1,   131,   132,   133,    -1,   135,   136,   137,   138,     0,
8579        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8580       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8581       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8582       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8583       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8584       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
8585       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
8586       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
8587       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
8588       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
8589       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8590      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
8591       -1,   122,    -1,   124,   125,    -1,   127,   128,   129,    -1,
8592      131,   132,   133,    -1,   135,   136,   137,   138,     0,     1,
8593       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8594       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8595       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8596       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8597       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8598       -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8599       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8600       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8601       82,    83,    84,    85,    86,    87,    88,    -1,    -1,    91,
8602       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8603      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8604      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8605      122,   123,   124,   125,    -1,   127,   128,   129,    -1,    -1,
8606      132,   133,    -1,   135,   136,   137,   138,     1,    -1,     3,
8607        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8608       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8609       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8610       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8611       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8612       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8613       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8614       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8615       84,    85,    86,    87,    88,    89,    90,    -1,    -1,    -1,
8616       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8617      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8618      114,   115,   116,   117,   118,   119,    -1,    -1,   122,    -1,
8619      124,   125,    -1,    -1,    -1,   129,    -1,   131,   132,   133,
8620       -1,   135,   136,   137,   138,     1,    -1,     3,     4,     5,
8621        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8622       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8623       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8624       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8625       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8626       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8627       66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
8628       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8629       86,    87,    88,    89,    90,    -1,    -1,    -1,    -1,    -1,
8630       -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,   105,
8631      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8632      116,   117,   118,   119,    -1,    -1,   122,    -1,   124,   125,
8633       -1,    -1,    -1,   129,    -1,   131,   132,   133,    -1,   135,
8634      136,   137,   138,     1,    -1,     3,     4,     5,     6,    -1,
8635        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8636       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8637       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8638       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8639       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8640       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8641       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8642       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,
8643       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8644       98,    -1,   100,    -1,   102,   103,   104,   105,   106,   107,
8645      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8646      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,
8647      128,   129,    -1,    -1,   132,   133,    -1,   135,   136,   137,
8648      138,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8649       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8650       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8651       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8652       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8653       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8654       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8655       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8656       -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,
8657       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8658      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8659      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8660       -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,   129,
8661       -1,    -1,   132,   133,    -1,   135,   136,   137,   138,     1,
8662       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8663       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8664       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8665       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8666       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8667       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8668       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8669       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8670       -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8671       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8672      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8673      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8674      122,    -1,   124,   125,    -1,   127,   128,   129,    -1,    -1,
8675      132,   133,    -1,   135,   136,   137,   138,     1,    -1,     3,
8676        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8677       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8678       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8679       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8680       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8681       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8682       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8683       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8684       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8685       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8686      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8687      114,   115,   116,   117,   118,   119,    -1,    -1,   122,    -1,
8688      124,   125,    -1,   127,   128,   129,    -1,    -1,   132,   133,
8689       -1,   135,   136,   137,   138,     1,    -1,     3,     4,     5,
8690        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8691       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8692       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8693       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8694       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
8695       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8696       66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
8697       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8698       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8699       -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,   105,
8700      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8701      116,   117,   118,   119,    -1,    -1,   122,    -1,   124,   125,
8702       -1,   127,   128,   129,    -1,    -1,   132,   133,    -1,   135,
8703      136,   137,   138,     1,    -1,     3,     4,     5,     6,    -1,
8704        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8705       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8706       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8707       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8708       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8709       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8710       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8711       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,
8712       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8713       98,    -1,   100,    -1,   102,   103,   104,   105,   106,   107,
8714      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8715      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,
8716      128,   129,    -1,    -1,   132,   133,    -1,   135,   136,   137,
8717      138,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8718       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8719       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8720       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8721       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8722       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8723       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8724       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8725       -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,
8726       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8727      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8728      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8729       -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,   129,
8730       -1,    -1,   132,   133,    -1,   135,   136,   137,   138,     1,
8731       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8732       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8733       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8734       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8735       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8736       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8737       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8738       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8739       -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8740       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8741      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8742      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8743      122,    -1,   124,   125,    -1,   127,   128,   129,    -1,    -1,
8744      132,   133,    -1,   135,   136,   137,   138,     1,    -1,     3,
8745        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8746       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8747       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8748       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8749       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8750       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8751       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8752       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8753       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8754       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8755      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8756      114,   115,   116,   117,   118,   119,    -1,    -1,   122,    -1,
8757      124,   125,    -1,   127,   128,   129,    -1,    -1,   132,   133,
8758       -1,   135,   136,   137,   138,     1,    -1,     3,     4,     5,
8759        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8760       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8761       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8762       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8763       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
8764       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8765       66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
8766       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8767       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8768       -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,   105,
8769      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8770      116,   117,   118,   119,    -1,    -1,   122,    -1,   124,   125,
8771       -1,   127,   128,   129,    -1,    -1,   132,   133,    -1,   135,
8772      136,   137,   138,     1,    -1,     3,     4,     5,     6,    -1,
8773        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8774       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8775       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8776       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8777       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8778       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8779       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8780       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,
8781       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8782       98,    -1,   100,    -1,   102,   103,   104,   105,   106,   107,
8783      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8784      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,
8785      128,   129,    -1,    -1,   132,   133,    -1,   135,   136,   137,
8786      138,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8787       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8788       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8789       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8790       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8791       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8792       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8793       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8794       -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,
8795       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8796      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8797      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8798       -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,   129,
8799       -1,    -1,   132,   133,    -1,   135,   136,   137,   138,     1,
8800       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8801       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8802       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8803       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8804       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8805       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8806       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8807       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8808       -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8809       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8810      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8811      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8812      122,    -1,   124,   125,    -1,   127,   128,   129,    -1,    -1,
8813      132,   133,    -1,   135,   136,   137,   138,     1,    -1,     3,
8814        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8815       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8816       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8817       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8818       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8819       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8820       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8821       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
8822       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8823       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8824      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8825      114,   115,   116,   117,   118,   119,    -1,    -1,   122,     1,
8826      124,     3,     4,     5,     6,    -1,     8,     9,   132,   133,
8827       -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,    -1,
8828       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8829       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8830       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8831       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8832       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8833       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8834       82,    83,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8835       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8836      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8837      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8838      122,     1,   124,     3,     4,     5,     6,    -1,     8,     9,
8839      132,   133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,
8840       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,
8841       -1,    -1,    -1,    -1,    34,    35,    36,    37,    38,    39,
8842       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8843       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8844       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8845       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8846       -1,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
8847       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8848      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8849      110,   111,   112,   113,   114,   115,    -1,    -1,   118,   119,
8850       -1,    -1,   122,   123,   124,    -1,    -1,    -1,    -1,    -1,
8851       -1,    -1,   132,   133,    -1,   135,   136,   137,   138,     1,
8852       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8853       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8854       -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,
8855       -1,    -1,    34,    35,    36,    37,    38,    39,    40,    41,
8856       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8857       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8858       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8859       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8860       82,    83,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8861       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8862      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8863      112,   113,   114,   115,    -1,    -1,   118,   119,    -1,    -1,
8864      122,   123,   124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8865      132,   133,    -1,   135,   136,   137,   138,     1,    -1,     3,
8866        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8867       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8868       -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,
8869       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8870       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8871       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8872       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8873       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
8874       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8875       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8876      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8877      114,   115,    -1,    -1,   118,   119,    -1,    -1,   122,     1,
8878      124,     3,     4,     5,     6,   129,     8,     9,   132,   133,
8879       -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,    -1,
8880       -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,
8881       -1,    -1,    34,    35,    36,    37,    38,    39,    40,    41,
8882       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8883       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8884       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8885       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8886       82,    83,    84,    85,    86,    87,    -1,     1,    -1,     3,
8887        4,     5,     6,    -1,     8,     9,    98,    -1,   100,    -1,
8888      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8889      112,   113,   114,   115,    28,    -1,   118,   119,    -1,    -1,
8890      122,   123,   124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8891      132,   133,    -1,   135,   136,   137,   138,    -1,    52,    53,
8892       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8893       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8894       -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8895       84,    85,    86,    -1,    88,    89,    90,    -1,    -1,    -1,
8896       -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,
8897      104,   105,   106,   107,   108,   109,   110,   111,    -1,    -1,
8898       -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,   123,
8899      124,   125,    -1,   127,    -1,   129,    -1,   131,   132,   133,
8900       -1,   135,   136,   137,   138,     1,    -1,     3,     4,     5,
8901        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8902       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8903       -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8904       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8905       -1,    -1,    -1,    -1,    -1,    -1,    52,    53,    54,    55,
8906       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8907       -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,
8908       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8909       86,    -1,    88,    89,    90,    -1,    -1,    -1,    -1,    -1,
8910       -1,    -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,
8911      106,   107,   108,   109,   110,   111,    -1,    -1,    -1,    -1,
8912       -1,    -1,   118,   119,    -1,    -1,   122,   123,   124,   125,
8913       -1,   127,    -1,   129,    -1,   131,   132,   133,    -1,   135,
8914      136,   137,   138,     1,    -1,     3,     4,     5,     6,    -1,
8915        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8916       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8917       28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8918       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8919       -1,    -1,    -1,    -1,    52,    53,    54,    55,    56,    57,
8920       58,    59,    60,    61,    62,    -1,    -1,    65,    -1,    -1,
8921       -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,
8922       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    -1,
8923       88,    89,    90,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8924       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
8925      108,   109,   110,   111,    -1,    -1,    -1,    -1,    -1,    -1,
8926      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,    -1,
8927       -1,   129,    -1,   131,   132,   133,    -1,   135,   136,   137,
8928      138,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8929       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8930       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,
8931       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8932       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8933       -1,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8934       60,    61,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8935       -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,    79,
8936       -1,    -1,    -1,    -1,    84,    85,    86,    -1,    88,    89,
8937       90,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8938       -1,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8939      110,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,
8940       -1,    -1,   122,    -1,   124,   125,    -1,    -1,    -1,   129,
8941       -1,   131,   132,   133,    -1,   135,   136,   137,   138,     1,
8942       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8943       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8944       -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,
8945       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8946       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8947       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8948       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8949       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8950       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
8951       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
8952      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8953       -1,    28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,
8954      122,   123,   124,    -1,    -1,   127,    -1,    -1,    -1,   131,
8955      132,   133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,
8956       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8957       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
8958       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
8959       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8960       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
8961      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
8962       -1,   118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,
8963      127,    -1,    -1,    -1,   131,   132,   133,    -1,   135,   136,
8964      137,   138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8965       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8966       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8967       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
8968       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
8969      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8970       -1,    28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,
8971      122,   123,   124,   125,    -1,   127,    -1,    -1,    -1,    -1,
8972      132,   133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,
8973       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8974       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
8975       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
8976       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8977       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
8978      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
8979       -1,   118,   119,    -1,    -1,   122,   123,   124,   125,    -1,
8980      127,    -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,
8981      137,   138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8982       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8983       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8984       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
8985       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
8986      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8987       -1,    28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,
8988      122,   123,   124,   125,    -1,   127,    -1,    -1,    -1,    -1,
8989      132,   133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,
8990       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8991       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
8992       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
8993       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8994       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
8995      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
8996       -1,   118,   119,    -1,    -1,   122,   123,   124,   125,    -1,
8997      127,    -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,
8998      137,   138,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,
8999        4,     5,     6,    65,     8,     9,    -1,    -1,    -1,    71,
9000       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9001       -1,    -1,    84,    85,    28,    -1,    -1,    -1,    -1,    -1,
9002       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9003      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9004       -1,    -1,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,
9005      122,    65,   124,   125,    -1,   127,    -1,    71,    72,    73,
9006      132,   133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,
9007       84,    85,     1,    -1,     3,     4,     5,     6,    -1,     8,
9008        9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,
9009      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    28,
9010       -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,   123,
9011      124,    -1,    -1,    -1,    -1,   129,    -1,    -1,   132,   133,
9012       -1,   135,   136,   137,   138,    -1,    -1,     1,    -1,     3,
9013        4,     5,     6,    -1,     8,     9,    65,    -1,    -1,    -1,
9014       -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,
9015       -1,    -1,    -1,    -1,    28,    84,    85,    -1,    -1,    -1,
9016       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
9017       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
9018      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
9019      119,    65,    -1,   122,   123,   124,    -1,    71,    72,    73,
9020      129,    -1,    -1,   132,   133,    -1,   135,   136,   137,   138,
9021       84,    85,     1,    -1,     3,     4,     5,     6,    -1,     8,
9022        9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,
9023      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    28,
9024       -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,    -1,
9025      124,   125,    -1,    -1,    -1,   129,    -1,    -1,   132,   133,
9026       -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,    -1,
9027       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
9028       -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,
9029       -1,    -1,    -1,    -1,    -1,    84,    85,     1,    -1,     3,
9030        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    98,
9031       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
9032      109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,   118,
9033      119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,    -1,
9034       -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,   138,
9035       -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,     8,
9036        9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
9037       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9038       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9039       -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,
9040      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,
9041       -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,   123,
9042      124,   125,    71,    72,    73,    -1,    -1,    -1,   132,   133,
9043       -1,   135,   136,   137,   138,    84,    85,     1,    -1,     3,
9044        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    98,
9045       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
9046      109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,   118,
9047      119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,    -1,
9048       -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,   138,
9049       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9050       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
9051       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9052       84,    85,     1,    -1,     3,     4,     5,     6,    -1,     8,
9053        9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,
9054      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    28,
9055       -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,   123,
9056      124,    -1,    -1,   127,    -1,    -1,    -1,    -1,   132,   133,
9057       -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,    -1,
9058        1,    -1,     3,     4,     5,     6,    65,     8,     9,    -1,
9059       -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,
9060       -1,    -1,    -1,    -1,    -1,    84,    85,    28,    -1,    -1,
9061       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
9062       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
9063      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
9064      119,    -1,    -1,   122,    65,   124,    -1,    -1,   127,    -1,
9065       71,    72,    73,   132,   133,   134,   135,   136,   137,   138,
9066       -1,    -1,    -1,    84,    85,     1,    -1,     3,     4,     5,
9067        6,    -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,
9068       -1,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
9069       -1,    -1,    28,    -1,    -1,    -1,    -1,   118,   119,    -1,
9070       -1,   122,    -1,   124,    -1,    -1,   127,    -1,    -1,    -1,
9071      131,   132,   133,    -1,   135,   136,   137,   138,    -1,    -1,
9072       -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,    65,
9073        8,     9,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,
9074       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,
9075       28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9076       -1,    -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,
9077      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
9078       -1,    -1,   118,   119,    -1,    -1,   122,    65,   124,    -1,
9079       -1,   127,    -1,    71,    72,    73,   132,   133,   134,   135,
9080      136,   137,   138,    -1,    -1,    -1,    84,    85,     1,    -1,
9081        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9082       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9083      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9084      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,   127,
9085       -1,    -1,    -1,   131,   132,   133,    -1,   135,   136,   137,
9086      138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9087       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9088       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9089       -1,    84,    85,     1,    -1,     3,     4,     5,     6,    -1,
9090        8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9091      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9092       28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,
9093      123,   124,    -1,    -1,   127,    -1,    -1,    -1,    -1,   132,
9094      133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
9095       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
9096       -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,
9097       -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,    -1,
9098        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9099       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9100      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9101      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,
9102       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9103      138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9104       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9105       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9106       -1,    84,    85,     1,    -1,     3,     4,     5,     6,    -1,
9107        8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9108      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9109       28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,
9110      123,   124,    -1,    -1,   127,    -1,    -1,    -1,    -1,   132,
9111      133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
9112       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
9113       -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,
9114       -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,    -1,
9115        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9116       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9117      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9118      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,
9119       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9120      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9121        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9122       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9123       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9124       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9125      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9126       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9127      123,   124,   125,    71,    72,    73,    -1,    -1,    -1,   132,
9128      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9129        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9130       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9131      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9132      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,
9133       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9134      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9135        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9136       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9137       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9138       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9139      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9140       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9141      123,   124,   125,    71,    72,    73,    -1,    -1,    -1,   132,
9142      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9143        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9144       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9145      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9146      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,   127,
9147       -1,    -1,    -1,   131,   132,   133,    -1,   135,   136,   137,
9148      138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9149       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9150       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9151       -1,    84,    85,     1,    -1,     3,     4,     5,     6,    -1,
9152        8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9153      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9154       28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,
9155       -1,   124,    -1,    -1,   127,    -1,    -1,    -1,   131,   132,
9156      133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
9157       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
9158       -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,
9159       -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,    -1,
9160        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9161       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9162      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9163      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,
9164       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9165      138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9166       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9167       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9168       -1,    84,    85,     1,    -1,     3,     4,     5,     6,    -1,
9169        8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9170      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9171       28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,
9172      123,   124,    -1,    -1,   127,    -1,    -1,    -1,    -1,   132,
9173      133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
9174       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
9175       -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,
9176       -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,    -1,
9177        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9178       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9179      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9180      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,
9181       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9182      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9183        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9184       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9185       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9186       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9187      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9188       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9189      123,   124,   125,    71,    72,    73,    -1,    -1,    -1,   132,
9190      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9191        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9192       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9193      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9194      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,
9195       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9196      138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9197       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9198       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9199       -1,    84,    85,     1,    -1,     3,     4,     5,     6,    -1,
9200        8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9201      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9202       28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,
9203       -1,   124,    -1,    -1,    -1,   128,   129,    -1,    -1,   132,
9204      133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
9205       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
9206       -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,
9207       -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,    -1,
9208        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9209       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9210      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9211      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,
9212       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9213      138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9214       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9215       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9216       -1,    84,    85,     1,    -1,     3,     4,     5,     6,    -1,
9217        8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9218      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9219       28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,
9220      123,   124,    -1,    -1,   127,    -1,    -1,    -1,    -1,   132,
9221      133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
9222       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
9223       -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,
9224       -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,    -1,
9225        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9226       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9227      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9228      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,
9229       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9230      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9231        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9232       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9233       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9234       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9235      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9236       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9237       -1,   124,    -1,    71,    72,    73,    -1,    -1,    -1,   132,
9238      133,   134,   135,   136,   137,   138,    84,    85,     1,    -1,
9239        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9240       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9241      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9242      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9243       -1,   129,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9244      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9245        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9246       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9247       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9248       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9249      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9250       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9251       -1,   124,    -1,    71,    72,    73,    -1,    -1,    -1,   132,
9252      133,   134,   135,   136,   137,   138,    84,    85,     1,    -1,
9253        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9254       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9255      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9256      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9257       -1,    -1,    -1,    -1,   132,   133,   134,   135,   136,   137,
9258      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9259        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9260       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9261       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9262       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9263      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9264       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9265       -1,   124,    -1,    71,    72,    73,   129,    -1,    -1,   132,
9266      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9267        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9268       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9269      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9270      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9271       -1,    -1,    -1,    -1,   132,   133,   134,   135,   136,   137,
9272      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9273        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9274       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9275       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9276       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9277      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9278       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9279       -1,   124,    -1,    71,    72,    73,    -1,    -1,   131,   132,
9280      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9281        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9282       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9283      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9284      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,    -1,
9285       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9286      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9287        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9288       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9289       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9290       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9291      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9292       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9293       -1,   124,    -1,    71,    72,    73,   129,    -1,    -1,   132,
9294      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9295        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9296       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9297      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9298      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9299       -1,    -1,    -1,    -1,   132,   133,   134,   135,   136,   137,
9300      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9301        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9302       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9303       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9304       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9305      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9306       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9307      123,   124,    -1,    71,    72,    73,    -1,    -1,    -1,   132,
9308      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9309        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9310       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9311      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9312      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9313       -1,    -1,    -1,   131,   132,   133,    -1,   135,   136,   137,
9314      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9315        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9316       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9317       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9318       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9319      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9320       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9321       -1,   124,    -1,    71,    72,    73,   129,    -1,    -1,   132,
9322      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9323        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9324       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9325      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9326      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9327       -1,   129,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9328      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9329        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9330       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9331       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9332       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9333      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9334       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9335       -1,   124,    -1,    71,    72,    73,   129,    -1,    -1,   132,
9336      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9337        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9338       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9339      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9340      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9341       -1,   129,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9342      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9343        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9344       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9345       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9346       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9347      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9348       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9349      123,   124,    -1,    71,    72,    73,    -1,    -1,    -1,   132,
9350      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9351        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9352       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9353      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9354      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9355       -1,   129,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9356      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9357        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9358       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9359       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9360       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9361      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9362       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9363      123,   124,    -1,    71,    72,    73,    -1,    -1,    -1,   132,
9364      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9365        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9366       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9367      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9368      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,    -1,
9369       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9370      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9371        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9372       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9373       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9374       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9375      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9376       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9377       -1,   124,    -1,    71,    72,    73,    -1,    -1,    -1,   132,
9378      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9379        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9380       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9381      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9382      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9383       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9384      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9385        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9386       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9387       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9388       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9389      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9390       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9391       -1,   124,    -1,    71,    72,    73,    -1,    -1,    -1,   132,
9392      133,    -1,   135,   136,   137,   138,    84,    85,    -1,    -1,
9393       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9394       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9395      108,   109,    -1,     0,     1,    -1,     3,     4,     5,    -1,
9396      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9397       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9398      138,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9399       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9400       47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,    -1,
9401       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9402       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9403       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9404       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9405       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9406      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9407      117,   118,   119,    -1,    -1,   122,   123,   124,   125,    -1,
9408      127,   128,    -1,    -1,    -1,   132,   133,     0,     1,    -1,
9409        3,     4,     5,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9410       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9411       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9412       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9413       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9414       53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9415       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9416       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9417       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9418       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9419      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9420      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9421       -1,   124,   125,    -1,   127,   128,    -1,    -1,    -1,   132,
9422      133,     0,     1,    -1,     3,     4,     5,    -1,    -1,    -1,
9423       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9424       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9425       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9426       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9427       49,    50,    -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,
9428       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9429       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9430       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9431       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9432       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9433       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9434      119,    -1,    -1,   122,    -1,   124,   125,     0,     1,   128,
9435        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9436       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9437       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9438       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9439       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9440       53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9441       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9442       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9443       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9444       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9445      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9446      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9447       -1,   124,   125,     0,     1,   128,     3,     4,     5,   132,
9448      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9449       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9450       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9451       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9452       47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,    -1,
9453       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9454       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9455       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9456       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9457       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9458      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9459      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,     0,
9460        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9461       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9462       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9463       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9464       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9465       -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9466       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9467       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9468       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9469       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9470       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9471      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9472       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9473        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9474       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9475       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9476       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9477       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9478       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9479       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9480       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9481       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9482       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9483      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9484      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9485      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9486       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9487       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9488       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9489       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9490       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9491       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9492       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9493       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9494       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9495       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9496       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9497      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9498        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9499       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9500       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9501       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9502       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9503       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9504       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9505       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9506       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9507       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9508      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9509      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9510       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9511      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9512       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9513       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9514       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9515       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9516       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9517       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9518       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9519       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9520       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9521      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9522      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
9523        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9524       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9525       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9526       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9527       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9528       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9529       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9530       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9531       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9532       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9533       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9534      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9535       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9536        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9537       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9538       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9539       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9540       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9541       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9542       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9543       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9544       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9545       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9546      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9547      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9548      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9549       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9550       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9551       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9552       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9553       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9554       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9555       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9556       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9557       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9558       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9559       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9560      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9561        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9562       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9563       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9564       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9565       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9566       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9567       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9568       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9569       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9570       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9571      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9572      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9573       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9574      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9575       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9576       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9577       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9578       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9579       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9580       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9581       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9582       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9583       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9584      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9585      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
9586        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9587       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9588       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9589       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9590       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9591       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9592       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9593       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9594       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9595       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9596       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9597      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9598       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9599        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9600       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9601       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9602       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9603       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9604       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9605       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9606       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9607       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9608       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9609      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9610      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9611      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9612       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9613       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9614       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9615       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9616       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9617       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9618       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9619       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9620       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9621       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9622       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9623      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9624        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9625       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9626       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9627       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9628       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9629       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9630       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9631       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9632       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9633       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9634      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9635      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9636       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9637      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9638       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9639       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9640       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9641       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9642       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9643       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9644       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9645       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9646       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9647      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9648      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
9649        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9650       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9651       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9652       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9653       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9654       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9655       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9656       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9657       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9658       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9659       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9660      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9661       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9662        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9663       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9664       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9665       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9666       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9667       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9668       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9669       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9670       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9671       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9672      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9673      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9674      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9675       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9676       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9677       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9678       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9679       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9680       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9681       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9682       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9683       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9684       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9685       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9686      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9687        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9688       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9689       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9690       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9691       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9692       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9693       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9694       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9695       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9696       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9697      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9698      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9699       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9700      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9701       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9702       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9703       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9704       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9705       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9706       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9707       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9708       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9709       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9710      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9711      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
9712        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9713       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9714       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9715       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9716       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9717       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9718       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9719       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9720       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9721       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9722       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9723      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9724       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9725        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9726       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9727       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9728       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9729       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9730       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9731       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9732       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9733       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9734       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9735      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9736      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9737      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9738       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9739       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9740       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9741       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9742       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9743       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9744       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9745       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9746       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9747       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9748       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9749      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9750        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9751       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9752       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9753       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9754       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9755       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9756       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9757       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9758       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9759       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9760      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9761      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9762       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9763      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9764       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9765       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9766       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9767       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9768       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9769       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9770       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9771       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9772       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9773      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9774      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
9775        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9776       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9777       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9778       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9779       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9780       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9781       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9782       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9783       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9784       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9785       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9786      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9787       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9788        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9789       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9790       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9791       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9792       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9793       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9794       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9795       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9796       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9797       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9798      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9799      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9800      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9801       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9802       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9803       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9804       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9805       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9806       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9807       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9808       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9809       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9810       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9811       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9812      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9813        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9814       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9815       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9816       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9817       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9818       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9819       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9820       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9821       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9822       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9823      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9824      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9825       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9826      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9827       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9828       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9829       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9830       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9831       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9832       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9833       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9834       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9835       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9836      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9837      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
9838        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9839       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9840       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9841       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9842       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9843       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9844       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9845       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9846       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9847       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9848       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9849      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9850       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9851        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9852       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9853       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9854       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9855       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9856       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9857       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9858       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9859       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9860       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9861      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9862      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9863      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9864       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9865       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9866       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9867       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9868       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9869       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9870       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9871       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9872       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9873       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9874       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9875      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9876        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9877       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9878       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9879       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9880       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9881       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9882       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9883       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9884       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9885       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9886      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9887      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9888       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9889      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9890       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9891       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9892       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9893       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9894       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9895       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9896       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9897       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9898       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9899      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9900      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
9901        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9902       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9903       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9904       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9905       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9906       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9907       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9908       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9909       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9910       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9911       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9912      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9913       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9914        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9915       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9916       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9917       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9918       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9919       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9920       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9921       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9922       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9923       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9924      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9925      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9926      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9927       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9928       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9929       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9930       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9931       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9932       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9933       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9934       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9935       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9936       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9937       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9938      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9939        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9940       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9941       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9942       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9943       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9944       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9945       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9946       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9947       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9948       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9949      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9950      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9951       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9952      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9953       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9954       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9955       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9956       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9957       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9958       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9959       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9960       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9961       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9962      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9963      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,     1,
9964       -1,     3,     4,     5,    -1,   132,   133,    -1,    -1,    -1,
9965       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9966       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
9967       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9968       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9969       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9970       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
9971       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
9972       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
9973       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
9974      102,   103,   104,   105,   106,   107,   108,    -1,   110,   111,
9975      112,   113,   114,   115,   116,   117,   118,   119,    -1,     1,
9976      122,     3,   124,   125,    -1,    -1,    -1,    -1,    -1,    -1,
9977      132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9978       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
9979       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9980       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9981       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9982       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
9983       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
9984       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
9985       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
9986       -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,   110,   111,
9987      112,   113,   114,   115,   116,   117,    -1,   119,    -1,    -1,
9988      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9989       -1,   133,    28,    29,    30,    31,    32,    33,    34,    35,
9990       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9991       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9992       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9993       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
9994       -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,
9995       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9996       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
9997       -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
9998      116,   117,     3,   119,    -1,    -1,   122,    -1,    -1,    -1,
9999       -1,    -1,    -1,    -1,    -1,    -1,    -1,   133,    -1,   135,
10000       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
10001       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10002       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10003       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10004       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10005       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10006       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10007       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10008       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,   110,
10009      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
10010       -1,   122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10011       -1,    -1,   133,    28,    29,    30,    31,    32,    33,    34,
10012       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10013       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10014       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10015       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10016       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10017       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10018       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,
10019       -1,    -1,    -1,    -1,     3,   110,   111,   112,   113,   114,
10020      115,   116,   117,    -1,   119,    -1,    -1,   122,    -1,    -1,
10021       -1,    -1,    -1,    -1,   129,    -1,    -1,    -1,   133,    28,
10022       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10023       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10024       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10025       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
10026       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10027       79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,
10028       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10029       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10030        3,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10031      119,    -1,    -1,   122,    -1,    -1,    -1,    -1,    -1,    -1,
10032      129,    -1,    -1,    -1,   133,    28,    29,    30,    31,    32,
10033       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10034       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10035       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10036       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10037       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
10038       -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10039       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,
10040       -1,    -1,    -1,    -1,    -1,    -1,     3,   110,   111,   112,
10041      113,   114,   115,   116,   117,    -1,   119,    -1,    -1,   122,
10042       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10043      133,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10044       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10045       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10046       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
10047       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10048       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,
10049       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10050       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10051       -1,    -1,     3,   110,   111,   112,   113,   114,   115,   116,
10052      117,    -1,   119,    -1,    -1,   122,    -1,    -1,    -1,    -1,
10053       -1,    -1,    -1,    -1,    -1,    -1,   133,    28,    29,    30,
10054       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10055       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10056       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10057       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10058       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10059       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
10060       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10061       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,   110,
10062      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
10063       -1,   122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10064       -1,    -1,   133,    28,    29,    30,    31,    32,    33,    34,
10065       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10066       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10067       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10068       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10069       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10070       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10071       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,
10072       -1,    -1,    -1,    -1,     3,   110,   111,   112,   113,   114,
10073      115,   116,   117,    -1,   119,    -1,    -1,   122,    -1,    -1,
10074       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   133,    28,
10075       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10076       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10077       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10078       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
10079       -1,    -1,    -1,    -1,    -1,    74,    75,    76,    77,    -1,
10080       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
10081       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10082       -1,   100,    -1,    -1,    -1,    -1,   105,    -1,     3,    -1,
10083       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10084      119,    -1,    -1,   122,    -1,    -1,    -1,    -1,    -1,    -1,
10085       -1,    -1,   131,    28,    29,    30,    31,    32,    33,    34,
10086       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10087       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10088       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10089       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10090       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
10091       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10092       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,
10093       -1,    -1,     3,    -1,    -1,   110,   111,   112,   113,   114,
10094      115,   116,   117,    -1,   119,    -1,    -1,   122,    -1,    -1,
10095       -1,    -1,    -1,    -1,    -1,    -1,   131,    28,    29,    30,
10096       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10097       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10098       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10099       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10100       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10101       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10102       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10103       -1,    -1,    -1,    -1,     1,    -1,    -1,    -1,    -1,   110,
10104      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
10105       -1,   122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10106      131,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10107       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10108       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10109       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
10110       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10111       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,
10112       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10113       -1,    -1,    -1,   100,    -1,    -1,     1,    -1,    -1,    -1,
10114       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10115      117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10116       -1,    -1,   129,    28,    29,    30,    31,    32,    33,    34,
10117       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10118       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10119       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10120       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10121       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10122       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10123       -1,    -1,    -1,    -1,    -1,   100,    -1,     1,    -1,    -1,
10124       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10125      115,   116,   117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10126      125,    -1,   127,   128,    28,    29,    30,    31,    32,    33,
10127       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10128       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10129       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10130       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10131       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
10132       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
10133       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,     1,    -1,
10134       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10135      114,   115,   116,   117,    -1,    -1,    -1,    -1,    -1,    -1,
10136       -1,    -1,    -1,    -1,   128,    28,    29,    30,    31,    32,
10137       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10138       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10139       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10140       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10141       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
10142       -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10143       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,     1,
10144       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
10145      113,   114,   115,   116,   117,    -1,    -1,    -1,    -1,    -1,
10146       -1,    -1,    -1,    -1,    -1,   128,    28,    29,    30,    31,
10147       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10148       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10149       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10150       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
10151       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10152       -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10153       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
10154        1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10155      112,   113,   114,   115,   116,   117,    -1,    -1,    -1,    -1,
10156       -1,    -1,    -1,    -1,    -1,    -1,   128,    28,    29,    30,
10157       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10158       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10159       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10160       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10161       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10162       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
10163       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10164       -1,     1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10165      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
10166       -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,    28,    29,
10167       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10168       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10169       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10170       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10171       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10172       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
10173       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10174      100,     0,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
10175      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
10176       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,    28,
10177       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10178       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10179       49,    50,    -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,
10180       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
10181       -1,    -1,    -1,    -1,    -1,    74,    75,    76,    77,    -1,
10182       79,    80,    81,    82,    83,    -1,    85,    86,    87,    -1,
10183       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10184       -1,   100,   101,     3,    -1,    -1,   105,    -1,    -1,    -1,
10185       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10186      119,    -1,    -1,   122,    -1,    -1,   125,    -1,    28,    29,
10187       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10188       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10189       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10190       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10191       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10192       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10193       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10194      100,    -1,    -1,    -1,     3,    -1,    -1,   107,    -1,    -1,
10195      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
10196       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,    28,
10197       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10198       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10199       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10200       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
10201       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10202       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
10203       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10204       -1,   100,    -1,    -1,    -1,     3,    -1,    -1,   107,    -1,
10205       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10206       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,
10207       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
10208       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
10209       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10210       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
10211       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
10212       -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,    87,
10213       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10214       -1,    -1,   100,    -1,     1,    -1,     3,    -1,    -1,   107,
10215       -1,    -1,   110,   111,   112,   113,   114,   115,   116,   117,
10216       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10217      128,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10218       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10219       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10220       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10221       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10222       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10223       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10224       -1,    -1,     1,   100,     3,    -1,    -1,    -1,    -1,    -1,
10225       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10226      117,    -1,   119,    -1,    -1,   122,    -1,    -1,   125,    28,
10227       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10228       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10229       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10230       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
10231       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10232       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
10233       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10234        1,   100,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10235       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10236      119,    -1,    -1,   122,    -1,    -1,   125,    28,    29,    30,
10237       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10238       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10239       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10240       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10241       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10242       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
10243       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,   100,
10244        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10245      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
10246       -1,   122,    -1,    -1,   125,    28,    29,    30,    31,    32,
10247       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10248       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10249       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10250       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10251       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
10252       -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10253       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,     3,    -1,
10254       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
10255      113,   114,   115,   116,   117,    -1,   119,    -1,    -1,   122,
10256       -1,    -1,   125,    28,    29,    30,    31,    32,    33,    34,
10257       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10258       45,    46,    47,    48,    49,    50,    -1,    -1,    53,    -1,
10259       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10260       65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10261       75,    76,    77,    -1,    79,    80,    81,    82,    83,    -1,
10262       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10263       -1,    -1,    -1,    -1,    -1,   100,   101,    -1,     0,     1,
10264      105,     3,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10265      115,   116,   117,    -1,   119,    -1,    -1,   122,    -1,    -1,
10266      125,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
10267       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10268       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10269       -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10270       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
10271       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    80,    81,
10272       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10273       -1,    -1,    -1,    -1,     1,    -1,     3,    -1,   100,    -1,
10274       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10275      112,   113,   114,   115,   116,   117,    -1,   119,    -1,    -1,
10276      122,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10277       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10278       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10279       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10280       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10281       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10282       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10283        1,    -1,     3,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10284       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10285      117,    -1,   119,    -1,    -1,   122,   123,    28,    29,    30,
10286       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10287       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10288       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10289       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
10290       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10291       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10292       -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,   100,
10293       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10294      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
10295       -1,    -1,   123,    28,    29,    30,    31,    32,    33,    34,
10296       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10297       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10298       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10299       65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10300       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
10301       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10302       -1,    -1,     1,    -1,     3,   100,    -1,    -1,    -1,    -1,
10303       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10304      115,   116,   117,    -1,    -1,    -1,    -1,    -1,   123,    28,
10305       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10306       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10307       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10308       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
10309       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10310       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
10311       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,
10312        3,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10313       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10314       -1,    -1,    -1,    -1,   123,    28,    29,    30,    31,    32,
10315       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10316       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10317       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10318       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10319       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
10320       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10321       -1,    -1,    -1,    -1,     1,    -1,     3,   100,    -1,    -1,
10322       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
10323      113,   114,   115,   116,   117,    -1,    -1,    -1,    -1,    -1,
10324      123,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10325       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10326       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10327       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10328       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10329       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10330       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10331        1,    -1,     3,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10332       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10333      117,    -1,    -1,    -1,    -1,    -1,   123,    28,    29,    30,
10334       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10335       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10336       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10337       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
10338       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10339       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10340       -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,   100,
10341       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10342      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
10343       -1,    -1,   123,    28,    29,    30,    31,    32,    33,    34,
10344       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10345       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10346       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10347       65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10348       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
10349       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10350       -1,     1,    -1,     3,    -1,   100,    -1,    -1,    -1,    -1,
10351       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10352      115,   116,   117,    -1,   119,    -1,    -1,   122,    28,    29,
10353       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10354       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10355       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10356       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10357       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10358       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10359       -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,    -1,
10360      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10361      110,   111,   112,   113,   114,   115,   116,   117,    -1,   119,
10362       -1,    -1,   122,    28,    29,    30,    31,    32,    33,    34,
10363       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10364       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10365       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10366       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10367       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10368       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10369       -1,    -1,    -1,     3,    -1,   100,    -1,    -1,    -1,    -1,
10370       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10371      115,   116,   117,    -1,    -1,    -1,    -1,   122,    28,    29,
10372       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10373       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10374       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10375       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10376       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10377       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10378       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
10379      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10380      110,   111,   112,   113,   114,   115,   116,   117,    -1,   119,
10381       -1,    -1,   122,    28,    29,    30,    31,    32,    33,    34,
10382       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10383       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10384       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10385       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10386       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
10387       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10388       -1,    -1,    -1,     3,    -1,   100,    -1,    -1,    -1,    -1,
10389       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10390      115,   116,   117,    -1,   119,    -1,    -1,   122,    28,    29,
10391       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10392       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10393       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10394       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10395       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10396       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10397       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
10398      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10399      110,   111,   112,   113,   114,   115,   116,   117,    -1,   119,
10400       -1,    -1,   122,    28,    29,    30,    31,    32,    33,    34,
10401       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10402       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10403       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10404       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10405       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
10406       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10407       -1,    -1,    -1,     3,    -1,   100,    -1,    -1,    -1,    -1,
10408       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10409      115,   116,   117,    -1,    -1,    -1,    -1,   122,    28,    29,
10410       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10411       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10412       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10413       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10414       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10415       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10416       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
10417      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10418      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
10419       -1,    -1,   122,    28,    29,    30,    31,    32,    33,    34,
10420       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10421       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10422       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10423       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10424       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10425       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10426       -1,     1,    -1,     3,    -1,   100,    -1,    -1,    -1,    -1,
10427       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10428      115,   116,   117,    -1,   119,    -1,    -1,   122,    28,    29,
10429       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10430       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10431       50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10432       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10433       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10434       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10435       -1,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10436      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10437      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10438       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10439       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10440       50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10441       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10442       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10443       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10444       -1,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10445      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10446      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10447       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10448       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10449       50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10450       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10451       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10452       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10453       -1,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10454      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10455      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10456       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10457       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10458       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10459       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10460       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10461       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
10462       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10463      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10464      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10465       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10466       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10467       50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10468       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10469       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10470       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10471       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10472      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10473      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10474       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10475       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10476       50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10477       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10478       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10479       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10480       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10481      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10482      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10483       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10484       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10485       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10486       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10487       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10488       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10489       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10490      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10491      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10492       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10493       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10494       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10495       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10496       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10497       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10498       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10499      100,    -1,    -1,    -1,    -1,    -1,    -1,   107,    -1,    -1,
10500      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10501       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10502       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10503       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10504       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10505       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10506       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10507       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10508      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10509      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10510       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10511       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10512       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10513       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10514       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10515       80,    81,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
10516       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10517      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10518      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10519       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10520       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10521       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10522       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10523       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10524       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10525       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10526      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10527      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10528       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10529       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10530       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10531       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10532       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10533       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
10534       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10535      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10536      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10537       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10538       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10539       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10540       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10541       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10542       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
10543       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10544      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10545      110,   111,   112,   113,   114,   115,   116,   117,    -1,   119,
10546       -1,    -1,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,
10547       -1,    -1,    -1,   133,    28,    29,    30,    31,    32,    33,
10548       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10549       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10550       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10551       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10552       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
10553       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
10554       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10555       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10556      114,   115,   116,   117,    -1,    -1,    -1,    -1,    -1,    -1,
10557       -1,    -1,    -1,    -1,    -1,   129,    28,    29,    30,    31,
10558       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10559       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10560       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10561       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
10562       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10563       -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10564       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
10565       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10566      112,   113,   114,   115,   116,   117,    -1,    -1,    -1,    -1,
10567       -1,    -1,    -1,    -1,    -1,    -1,   128,    28,    29,    30,
10568       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10569       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10570       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10571       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10572       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10573       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
10574       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10575       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10576      111,   112,   113,   114,   115,   116,   117
10577 };
10578
10579 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
10580    symbol of state STATE-NUM.  */
10581 static const yytype_uint16 yystos[] =
10582 {
10583        0,     3,    28,    29,    30,    31,    32,    33,    34,    35,
10584       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10585       46,    47,    48,    49,    50,    53,    65,    66,    74,    75,
10586       76,    77,    79,    80,    81,    82,    83,    85,    86,    87,
10587      100,   101,   105,   110,   111,   112,   113,   114,   115,   116,
10588      117,   119,   122,   125,   145,   146,   147,   149,   174,   211,
10589      212,   213,   214,   215,   216,   268,   271,   272,   275,   276,
10590      277,   278,   279,   280,   281,   283,   287,   290,   291,   292,
10591      293,   294,   295,   300,   301,   310,   311,   312,   319,   320,
10592      324,   327,   332,   361,   364,   365,   383,   384,   386,   387,
10593      388,   389,   390,   391,    77,   131,     5,    31,   216,   385,
10594      216,   122,   122,   122,   149,   216,   385,   281,   282,   319,
10595      327,    37,   147,   216,   309,   310,   312,   314,   315,   316,
10596      318,   319,   327,   330,   331,   336,   120,   125,   146,   147,
10597      216,   129,   131,   125,   129,   128,   119,   120,   211,   216,
10598      129,   149,   216,   129,   131,   128,   120,   129,   131,   129,
10599      128,   129,   147,   216,   319,     1,    31,    37,    38,   125,
10600      145,   147,   213,   215,   216,   268,   278,   279,   281,   283,
10601      312,   316,   319,   327,   330,   331,   332,   334,   342,   343,
10602      344,   345,    37,    38,   147,   319,   344,   122,   133,     1,
10603       29,    30,    31,    32,    33,    65,   116,   117,   123,   145,
10604      216,   267,   271,   273,   274,   281,   283,   287,   288,   289,
10605      295,   299,   307,   308,   348,   349,   350,   351,   352,   353,
10606      327,   122,   312,   319,    34,    35,    36,    37,    38,    39,
10607       40,    41,    42,    43,    46,    47,    66,    85,    87,   100,
10608      112,   113,   114,   115,   129,   149,   170,   171,   267,   272,
10609      273,   281,   284,   288,   290,   298,   363,   366,   367,   368,
10610      373,   374,   375,    31,    76,   131,   213,   215,   300,   364,
10611      365,   383,   384,   391,     1,   213,   277,   294,   300,   332,
10612      361,   387,     1,   386,   387,     0,   216,   385,   385,     5,
10613      126,   385,     1,     4,     6,     8,     9,    65,    71,    72,
10614       73,    84,    85,    98,   102,   103,   104,   105,   106,   107,
10615      108,   109,   118,   119,   122,   124,   132,   133,   135,   136,
10616      137,   138,   149,   175,   176,   216,   217,   218,   219,   220,
10617      223,   224,   227,   228,   229,   230,   231,   232,   233,   234,
10618      235,   236,   237,   238,   239,   240,   241,   242,   243,   247,
10619      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
10620      258,   259,   260,   261,   385,   397,   398,   399,   400,   146,
10621      216,   129,   149,   216,   281,   327,   133,   122,   133,   123,
10622      307,   308,   352,   353,   327,   330,   331,   309,   314,   318,
10623      319,   123,   319,   123,   319,   319,    85,   149,   201,   203,
10624      205,   209,   210,   216,   228,   233,   249,   253,   299,   125,
10625      120,   120,   125,     1,    68,    78,    80,    81,    88,    91,
10626       92,    93,    94,    96,    98,    99,   122,   124,   125,   128,
10627      150,   151,   152,   153,   154,   155,   156,   157,   172,   173,
10628      175,   176,   179,   180,   181,   182,   183,   184,   185,   186,
10629      187,   188,   192,   196,   197,   198,   199,   216,   224,   247,
10630      299,   311,   313,   319,   327,   332,   333,   362,    80,    81,
10631      216,   267,   271,   281,   284,   287,   295,   302,   303,     1,
10632      128,   198,   199,   147,   216,     1,   216,   269,   270,     1,
10633      128,   270,   303,    65,   202,   204,   206,   207,   208,   216,
10634      299,     1,   128,   198,   199,   303,     1,   128,   198,   199,
10635        1,   128,   198,   199,   147,   216,   127,   127,   127,   129,
10636      327,   312,   316,   319,     1,   126,   367,   374,   375,   367,
10637      374,   375,     1,   125,   127,   127,   327,   125,   134,   146,
10638      216,   242,   261,   265,   266,   127,   129,   149,   216,   128,
10639      129,   128,   129,   319,    37,   122,   133,   135,   145,   147,
10640      216,   267,   273,   281,   283,   288,   309,   310,   319,   325,
10641      327,   328,   331,     1,   123,   127,     1,   123,   127,     1,
10642      127,     1,   127,   123,   123,   312,   122,   312,   122,   122,
10643        1,   125,     1,   128,     1,    37,    38,   125,   216,   267,
10644      273,   281,   284,   288,   319,   344,   345,     1,   125,     1,
10645      363,   366,   374,   375,   363,   366,    52,    53,    54,    55,
10646       56,    57,    58,    59,    60,    61,    62,    85,    86,    88,
10647       89,    90,   125,   131,   149,   193,   194,   195,   216,   224,
10648      228,   243,   245,   249,   261,   262,   263,   324,   354,   355,
10649      358,   359,   360,   367,   368,   369,   370,   371,   372,   374,
10650      375,   377,   378,   379,   380,   381,   382,   128,    31,   216,
10651      385,   216,   211,   212,   214,   215,   309,   310,   316,   319,
10652      327,   332,   334,   367,   375,   213,   300,   126,   241,   242,
10653      260,   123,   122,   228,   249,   122,   228,   249,   228,   249,
10654      122,   216,   267,   273,   281,   284,   288,   306,   265,   122,
10655      122,   306,   265,   122,   122,   122,   122,   122,   122,   228,
10656      249,   123,   243,   245,   263,   273,   281,   283,   288,   296,
10657      346,   385,   129,   134,   177,   178,   221,   225,   243,   129,
10658        1,   128,   129,   216,     1,     7,     8,     9,   122,   130,
10659      133,    18,    19,    20,    21,    22,    23,    24,    25,    26,
10660       27,   126,   244,   178,   221,   222,   230,   250,   119,   139,
10661      140,   136,   137,    10,    11,   233,   253,    12,    13,   120,
10662      121,    14,    15,   135,   141,   142,    16,    17,   143,   244,
10663      123,     7,     8,     9,   122,   130,   133,   244,   119,   139,
10664      140,   136,   137,    10,    11,    12,    13,   120,   121,    14,
10665       15,   135,   141,   142,    16,    17,   143,   244,   123,   123,
10666      107,   216,   299,   392,   395,   396,   129,   129,   134,   146,
10667      265,   266,   134,   146,   265,   266,   123,   123,   123,   123,
10668      309,   314,   318,   123,   123,   309,    11,   121,   127,   126,
10669      122,   319,   327,   328,    65,   208,   216,   299,   208,     1,
10670      216,   267,   281,   284,   295,   304,   299,   332,   333,   122,
10671      149,   216,   216,   299,     1,   122,   304,   119,   122,   216,
10672      299,   125,   324,   374,   375,   374,   375,   374,   125,   374,
10673      375,   125,     1,   128,     1,     1,   125,   127,   127,    69,
10674       70,    91,    95,    97,   128,    69,    70,   128,   125,     1,
10675      196,   197,     1,   196,   197,     1,   126,   122,   131,   216,
10676      285,   286,   309,   315,   317,   319,   327,   334,   335,   336,
10677        1,   299,   307,   350,   327,   313,   319,   122,   131,   156,
10678      157,   172,   173,   175,   176,   185,   216,   299,   120,   149,
10679      216,   216,   267,   281,   284,   120,   120,   126,   127,     1,
10680      125,   129,    28,   148,   216,   121,   127,   126,   216,   328,
10681      330,   342,   342,   342,   125,   127,   128,   158,   159,   160,
10682      161,   162,   163,   164,   165,   166,   167,   168,   169,   221,
10683      222,   224,   242,   261,   298,   339,   340,   309,   312,   314,
10684      316,   318,   309,   316,   129,   243,   262,   337,   338,   374,
10685      375,   374,   375,   342,   343,   342,   343,   134,   134,   134,
10686       51,   348,   349,     1,   270,   129,   129,     1,   128,   198,
10687      199,     1,   128,   198,   199,   129,   123,   216,   307,   308,
10688      319,   327,   328,   352,   353,   134,   146,   265,   266,   319,
10689      327,   331,   327,   122,   133,   325,     1,     1,   127,     1,
10690       51,   216,   348,   349,   127,     1,    51,   216,   348,   349,
10691      127,     1,    51,   216,   348,   349,   127,    51,   216,   348,
10692      349,     3,    28,    44,    74,    75,   123,   321,   322,   323,
10693      243,   146,   216,   128,   129,   125,   125,   131,   265,   266,
10694      131,   122,   122,     1,   122,    52,    53,    54,    56,    57,
10695       58,    59,    62,    86,   216,   263,   324,   354,   377,   381,
10696      122,   216,   125,   125,   125,   221,   222,   245,   263,   122,
10697      281,   122,   122,   189,   216,   125,   125,   125,   131,   130,
10698      244,     1,   130,   125,   127,   245,   263,   244,   123,   127,
10699      245,     1,   369,   370,   369,   370,   354,   355,   363,   366,
10700      354,   355,   363,   366,     1,     1,   385,   385,   147,   216,
10701      129,   129,   327,   316,   319,   367,   375,   367,   375,   375,
10702      242,   143,   125,   143,    65,   145,   216,   273,   281,   283,
10703      288,   297,   347,   216,   298,   120,   122,   133,   216,   267,
10704      273,   281,   284,   288,   319,   326,   327,   329,   216,   267,
10705      273,   281,   284,   288,   305,   245,   346,   374,   216,   133,
10706      329,   305,   243,   385,   385,   385,   243,   347,   123,   216,
10707      273,   281,   283,   288,   328,   123,   130,     1,   168,   169,
10708        1,   128,   127,   134,     1,   168,   169,   128,     1,   168,
10709      169,     1,   216,   123,   222,   225,   226,   262,     1,   216,
10710      245,   263,   221,   243,     1,   230,   250,   230,   250,   230,
10711      250,   231,   251,   231,   251,   232,   252,   232,   252,   233,
10712      253,   233,   253,   233,   253,   221,   222,   235,   254,   221,
10713      222,   235,   254,   221,   222,   236,   255,   221,   222,   237,
10714      256,   221,   222,   238,   257,   239,   258,   240,   259,   131,
10715      221,   222,   245,   246,   263,   264,   221,   243,     1,   216,
10716      123,   225,   226,     1,   216,   245,   263,   221,   243,   230,
10717      250,   230,   250,   230,   250,   231,   251,   231,   251,   232,
10718      252,   232,   252,   233,   253,   233,   253,   233,   253,   233,
10719      253,   221,   222,   235,   254,   221,   222,   235,   254,   221,
10720      222,   236,   255,   221,   222,   237,   256,   221,   222,   238,
10721      257,   239,   258,   240,   259,   131,   245,   246,   263,   264,
10722      221,   243,   120,   121,   216,   393,   394,   216,   128,   392,
10723      395,   396,   396,   134,   134,   134,   134,   134,   134,   209,
10724      201,   203,   205,   216,   319,   327,   121,   126,   328,   121,
10725      129,   120,   129,   216,   267,   281,   284,   328,   319,   327,
10726      334,   335,   189,   286,   309,   319,   327,   129,   216,   129,
10727      216,   328,   216,   319,   122,   125,   128,   179,   180,   179,
10728      180,   374,   374,   374,   218,   374,   374,     1,   339,   340,
10729      123,   265,   266,   129,   127,     1,   299,   307,   350,   327,
10730      309,   317,   319,   131,   324,   216,   122,   313,   313,   216,
10731        1,     1,   286,   210,   120,   208,   208,   265,   266,   269,
10732      198,   199,     1,   128,   270,   126,   131,   126,   131,   207,
10733      203,   216,   126,   216,   126,   374,   375,     1,   125,   127,
10734      125,   127,   125,   160,   161,   164,   165,   166,   128,   158,
10735      161,   125,   128,   160,   161,   164,   165,   166,   126,    37,
10736      334,   335,   336,   337,   338,   341,     1,   128,   270,     1,
10737      128,   270,     1,   128,   198,   199,   319,   327,   328,   123,
10738      123,   123,   134,   134,   134,   327,   325,   123,   352,   353,
10739      134,   146,   265,   266,   348,   349,   299,   348,   348,   348,
10740      349,   123,   122,   123,   127,   322,   123,   123,   123,     1,
10741      168,   169,   354,   355,   363,   366,   131,   131,   354,   355,
10742      363,   366,   245,   263,   245,   263,   123,   245,   263,   131,
10743      265,   266,   131,   122,   122,   354,   122,   222,   263,   122,
10744      131,    56,     1,   123,   125,   216,   245,   263,   376,   125,
10745      125,   125,   125,   125,   385,   122,   243,   243,   216,   354,
10746      355,   363,   366,    90,   222,   262,    88,    89,    90,   243,
10747      262,   222,   262,   243,   262,   120,   316,   375,   375,   125,
10748      245,   246,   263,   264,   245,   246,   263,   264,   145,   146,
10749      145,   273,   281,   283,   288,   328,   123,   123,   123,   328,
10750      210,   123,   319,   329,   352,   353,   265,   266,   120,   327,
10751      122,   326,   133,   120,   133,   216,   267,   273,   281,   284,
10752      288,   329,   123,   123,   123,   123,   265,   266,   133,   133,
10753      329,   127,   123,   127,   127,   127,   123,   230,   250,   385,
10754        1,   128,   221,   243,     1,     1,   123,   127,   123,   134,
10755      134,     1,   127,   131,   131,   127,   131,   131,   123,   134,
10756      134,   131,   131,   131,   131,   216,   216,   125,   127,   216,
10757      385,   128,   128,   319,   327,   203,   210,   120,   129,   129,
10758      216,   327,   319,   123,   327,   309,   123,   129,   129,   216,
10759      123,     1,   168,   169,   285,   319,   216,   122,   309,   317,
10760      317,   265,   266,   122,   123,   121,   210,   121,   121,   125,
10761        1,   125,   201,   200,   299,   201,   200,   205,   126,   129,
10762        1,   162,   163,     1,   162,   163,   375,     1,   339,   340,
10763      127,   128,   337,   338,     1,   125,     1,   125,   327,   325,
10764      123,   123,   123,   134,   134,   134,   328,   331,   245,   123,
10765      322,     1,   354,   355,   363,   366,   354,   355,   363,   366,
10766      123,   123,   123,   123,     1,   354,   123,   245,   354,   355,
10767      131,   131,   263,   123,   245,   263,    56,   263,   376,   385,
10768      122,   354,   131,   125,     1,   125,     1,   123,   263,   376,
10769        3,   123,   131,   385,   123,   123,   127,   122,   122,   189,
10770      131,   131,   131,   131,   131,   131,   131,   131,   123,   123,
10771        1,   123,   121,   319,   327,   329,   123,   123,   123,   134,
10772      134,   210,   326,   123,   352,   353,   265,   266,   210,   265,
10773      266,   120,   133,   122,   337,   134,   134,   265,   266,   265,
10774      266,   133,   346,   216,   216,   243,     1,   222,   262,   221,
10775      222,   221,   222,   242,   260,   221,   222,   242,   260,   221,
10776      222,   221,   222,   242,   260,   221,   222,   242,   260,   221,
10777      222,   242,   260,   221,   222,   242,   260,   221,   222,   242,
10778      260,   221,   222,   242,   260,   393,   125,   125,   121,   210,
10779      129,   374,   309,   126,   129,     1,   122,   131,   131,   121,
10780      198,   199,   125,   198,   199,   126,   328,   126,   205,   341,
10781      128,   337,   338,     1,   198,   199,   198,   199,   123,   354,
10782      354,   354,   354,   354,   355,   123,   122,   376,   123,   245,
10783      263,   245,   354,     1,   123,   245,   263,   133,   356,   357,
10784      385,   125,   357,     3,   123,   131,   129,   189,   243,   243,
10785        1,     1,   326,   123,   121,   123,   123,   134,   134,   121,
10786      134,   134,   210,   265,   266,   346,   134,   134,   134,   134,
10787      265,   266,   123,   123,   123,   123,   121,   339,   265,   266,
10788      265,   266,   198,   199,   201,   201,   127,   128,     1,    64,
10789       64,   245,   263,   123,   245,   263,   123,   125,   123,   125,
10790      354,   355,   123,   354,   355,   216,   123,   127,   131,   122,
10791        3,   123,   131,   357,   125,   357,    73,   189,   190,   191,
10792      123,   123,   123,   127,   121,   134,   134,   123,   134,   134,
10793      125,   128,   354,   354,   123,   123,   125,   354,   245,   354,
10794      355,   134,   125,   356,   357,   243,   357,   125,   357,   123,
10795      131,     3,   123,   131,   374,   374,   128,   190,   129,   189,
10796      230,   250,   337,   123,   385,   123,   123,   123,   123,   131,
10797      125,   357,   357,   125,   357,   191,   123,   354,   122,   125,
10798      125,   125,   357,   123,   123,   123,   131,   128,   243,   123,
10799      125,   125,   125,   357,   123,   125,   123,   125
10800 };
10801
10802 #define yyerrok         (yyerrstatus = 0)
10803 #define yyclearin       (yychar = YYEMPTY)
10804 #define YYEMPTY         (-2)
10805 #define YYEOF           0
10806
10807 #define YYACCEPT        goto yyacceptlab
10808 #define YYABORT         goto yyabortlab
10809 #define YYERROR         goto yyerrorlab
10810
10811
10812 /* Like YYERROR except do call yyerror.  This remains here temporarily
10813    to ease the transition to the new meaning of YYERROR, for GCC.
10814    Once GCC version 2 has supplanted version 1, this can go.  However,
10815    YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
10816    in Bison 2.4.2's NEWS entry, where a plan to phase it out is
10817    discussed.  */
10818
10819 #define YYFAIL          goto yyerrlab
10820 #if defined YYFAIL
10821   /* This is here to suppress warnings from the GCC cpp's
10822      -Wunused-macros.  Normally we don't worry about that warning, but
10823      some users do, and we want to make it easy for users to remove
10824      YYFAIL uses, which will produce warnings from Bison 2.5.  */
10825 #endif
10826
10827 #define YYRECOVERING()  (!!yyerrstatus)
10828
10829 #define YYBACKUP(Token, Value)                                  \
10830 do                                                              \
10831   if (yychar == YYEMPTY && yylen == 1)                          \
10832     {                                                           \
10833       yychar = (Token);                                         \
10834       yylval = (Value);                                         \
10835       yytoken = YYTRANSLATE (yychar);                           \
10836       YYPOPSTACK (1);                                           \
10837       goto yybackup;                                            \
10838     }                                                           \
10839   else                                                          \
10840     {                                                           \
10841       yyerror (YY_("syntax error: cannot back up")); \
10842       YYERROR;                                                  \
10843     }                                                           \
10844 while (YYID (0))
10845
10846
10847 #define YYTERROR        1
10848 #define YYERRCODE       256
10849
10850
10851 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
10852    If N is 0, then set CURRENT to the empty location which ends
10853    the previous symbol: RHS[0] (always defined).  */
10854
10855 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
10856 #ifndef YYLLOC_DEFAULT
10857 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
10858     do                                                                  \
10859       if (YYID (N))                                                    \
10860         {                                                               \
10861           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
10862           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
10863           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
10864           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
10865         }                                                               \
10866       else                                                              \
10867         {                                                               \
10868           (Current).first_line   = (Current).last_line   =              \
10869             YYRHSLOC (Rhs, 0).last_line;                                \
10870           (Current).first_column = (Current).last_column =              \
10871             YYRHSLOC (Rhs, 0).last_column;                              \
10872         }                                                               \
10873     while (YYID (0))
10874 #endif
10875
10876
10877 /* YY_LOCATION_PRINT -- Print the location on the stream.
10878    This macro was not mandated originally: define only if we know
10879    we won't break user code: when these are the locations we know.  */
10880
10881 #ifndef YY_LOCATION_PRINT
10882 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
10883 #  define YY_LOCATION_PRINT(File, Loc)                  \
10884      fprintf (File, "%d.%d-%d.%d",                      \
10885               (Loc).first_line, (Loc).first_column,     \
10886               (Loc).last_line,  (Loc).last_column)
10887 # else
10888 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
10889 # endif
10890 #endif
10891
10892
10893 /* YYLEX -- calling `yylex' with the right arguments.  */
10894
10895 #ifdef YYLEX_PARAM
10896 # define YYLEX yylex (YYLEX_PARAM)
10897 #else
10898 # define YYLEX yylex ()
10899 #endif
10900
10901 /* Enable debugging if requested.  */
10902 #if YYDEBUG
10903
10904 # ifndef YYFPRINTF
10905 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
10906 #  define YYFPRINTF fprintf
10907 # endif
10908
10909 # define YYDPRINTF(Args)                        \
10910 do {                                            \
10911   if (yydebug)                                  \
10912     YYFPRINTF Args;                             \
10913 } while (YYID (0))
10914
10915 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
10916 do {                                                                      \
10917   if (yydebug)                                                            \
10918     {                                                                     \
10919       YYFPRINTF (stderr, "%s ", Title);                                   \
10920       yy_symbol_print (stderr,                                            \
10921                   Type, Value, Location); \
10922       YYFPRINTF (stderr, "\n");                                           \
10923     }                                                                     \
10924 } while (YYID (0))
10925
10926
10927 /*--------------------------------.
10928 | Print this symbol on YYOUTPUT.  |
10929 `--------------------------------*/
10930
10931 /*ARGSUSED*/
10932 #if (defined __STDC__ || defined __C99__FUNC__ \
10933      || defined __cplusplus || defined _MSC_VER)
10934 static void
10935 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
10936 #else
10937 static void
10938 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp)
10939     FILE *yyoutput;
10940     int yytype;
10941     YYSTYPE const * const yyvaluep;
10942     YYLTYPE const * const yylocationp;
10943 #endif
10944 {
10945   if (!yyvaluep)
10946     return;
10947   YYUSE (yylocationp);
10948 # ifdef YYPRINT
10949   if (yytype < YYNTOKENS)
10950     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
10951 # else
10952   YYUSE (yyoutput);
10953 # endif
10954   switch (yytype)
10955     {
10956       default:
10957         break;
10958     }
10959 }
10960
10961
10962 /*--------------------------------.
10963 | Print this symbol on YYOUTPUT.  |
10964 `--------------------------------*/
10965
10966 #if (defined __STDC__ || defined __C99__FUNC__ \
10967      || defined __cplusplus || defined _MSC_VER)
10968 static void
10969 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
10970 #else
10971 static void
10972 yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp)
10973     FILE *yyoutput;
10974     int yytype;
10975     YYSTYPE const * const yyvaluep;
10976     YYLTYPE const * const yylocationp;
10977 #endif
10978 {
10979   if (yytype < YYNTOKENS)
10980     YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
10981   else
10982     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
10983
10984   YY_LOCATION_PRINT (yyoutput, *yylocationp);
10985   YYFPRINTF (yyoutput, ": ");
10986   yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp);
10987   YYFPRINTF (yyoutput, ")");
10988 }
10989
10990 /*------------------------------------------------------------------.
10991 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
10992 | TOP (included).                                                   |
10993 `------------------------------------------------------------------*/
10994
10995 #if (defined __STDC__ || defined __C99__FUNC__ \
10996      || defined __cplusplus || defined _MSC_VER)
10997 static void
10998 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
10999 #else
11000 static void
11001 yy_stack_print (yybottom, yytop)
11002     yytype_int16 *yybottom;
11003     yytype_int16 *yytop;
11004 #endif
11005 {
11006   YYFPRINTF (stderr, "Stack now");
11007   for (; yybottom <= yytop; yybottom++)
11008     {
11009       int yybot = *yybottom;
11010       YYFPRINTF (stderr, " %d", yybot);
11011     }
11012   YYFPRINTF (stderr, "\n");
11013 }
11014
11015 # define YY_STACK_PRINT(Bottom, Top)                            \
11016 do {                                                            \
11017   if (yydebug)                                                  \
11018     yy_stack_print ((Bottom), (Top));                           \
11019 } while (YYID (0))
11020
11021
11022 /*------------------------------------------------.
11023 | Report that the YYRULE is going to be reduced.  |
11024 `------------------------------------------------*/
11025
11026 #if (defined __STDC__ || defined __C99__FUNC__ \
11027      || defined __cplusplus || defined _MSC_VER)
11028 static void
11029 yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule)
11030 #else
11031 static void
11032 yy_reduce_print (yyvsp, yylsp, yyrule)
11033     YYSTYPE *yyvsp;
11034     YYLTYPE *yylsp;
11035     int yyrule;
11036 #endif
11037 {
11038   int yynrhs = yyr2[yyrule];
11039   int yyi;
11040   unsigned long int yylno = yyrline[yyrule];
11041   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
11042              yyrule - 1, yylno);
11043   /* The symbols being reduced.  */
11044   for (yyi = 0; yyi < yynrhs; yyi++)
11045     {
11046       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
11047       yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
11048                        &(yyvsp[(yyi + 1) - (yynrhs)])
11049                        , &(yylsp[(yyi + 1) - (yynrhs)])                );
11050       YYFPRINTF (stderr, "\n");
11051     }
11052 }
11053
11054 # define YY_REDUCE_PRINT(Rule)          \
11055 do {                                    \
11056   if (yydebug)                          \
11057     yy_reduce_print (yyvsp, yylsp, Rule); \
11058 } while (YYID (0))
11059
11060 /* Nonzero means print parse trace.  It is left uninitialized so that
11061    multiple parsers can coexist.  */
11062 int yydebug;
11063 #else /* !YYDEBUG */
11064 # define YYDPRINTF(Args)
11065 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
11066 # define YY_STACK_PRINT(Bottom, Top)
11067 # define YY_REDUCE_PRINT(Rule)
11068 #endif /* !YYDEBUG */
11069
11070
11071 /* YYINITDEPTH -- initial size of the parser's stacks.  */
11072 #ifndef YYINITDEPTH
11073 # define YYINITDEPTH 200
11074 #endif
11075
11076 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
11077    if the built-in stack extension method is used).
11078
11079    Do not make this value too large; the results are undefined if
11080    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
11081    evaluated with infinite-precision integer arithmetic.  */
11082
11083 #ifndef YYMAXDEPTH
11084 # define YYMAXDEPTH 10000
11085 #endif
11086
11087 \f
11088
11089 #if YYERROR_VERBOSE
11090
11091 # ifndef yystrlen
11092 #  if defined __GLIBC__ && defined _STRING_H
11093 #   define yystrlen strlen
11094 #  else
11095 /* Return the length of YYSTR.  */
11096 #if (defined __STDC__ || defined __C99__FUNC__ \
11097      || defined __cplusplus || defined _MSC_VER)
11098 static YYSIZE_T
11099 yystrlen (const char *yystr)
11100 #else
11101 static YYSIZE_T
11102 yystrlen (yystr)
11103     const char *yystr;
11104 #endif
11105 {
11106   YYSIZE_T yylen;
11107   for (yylen = 0; yystr[yylen]; yylen++)
11108     continue;
11109   return yylen;
11110 }
11111 #  endif
11112 # endif
11113
11114 # ifndef yystpcpy
11115 #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
11116 #   define yystpcpy stpcpy
11117 #  else
11118 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
11119    YYDEST.  */
11120 #if (defined __STDC__ || defined __C99__FUNC__ \
11121      || defined __cplusplus || defined _MSC_VER)
11122 static char *
11123 yystpcpy (char *yydest, const char *yysrc)
11124 #else
11125 static char *
11126 yystpcpy (yydest, yysrc)
11127     char *yydest;
11128     const char *yysrc;
11129 #endif
11130 {
11131   char *yyd = yydest;
11132   const char *yys = yysrc;
11133
11134   while ((*yyd++ = *yys++) != '\0')
11135     continue;
11136
11137   return yyd - 1;
11138 }
11139 #  endif
11140 # endif
11141
11142 # ifndef yytnamerr
11143 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
11144    quotes and backslashes, so that it's suitable for yyerror.  The
11145    heuristic is that double-quoting is unnecessary unless the string
11146    contains an apostrophe, a comma, or backslash (other than
11147    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
11148    null, do not copy; instead, return the length of what the result
11149    would have been.  */
11150 static YYSIZE_T
11151 yytnamerr (char *yyres, const char *yystr)
11152 {
11153   if (*yystr == '"')
11154     {
11155       YYSIZE_T yyn = 0;
11156       char const *yyp = yystr;
11157
11158       for (;;)
11159         switch (*++yyp)
11160           {
11161           case '\'':
11162           case ',':
11163             goto do_not_strip_quotes;
11164
11165           case '\\':
11166             if (*++yyp != '\\')
11167               goto do_not_strip_quotes;
11168             /* Fall through.  */
11169           default:
11170             if (yyres)
11171               yyres[yyn] = *yyp;
11172             yyn++;
11173             break;
11174
11175           case '"':
11176             if (yyres)
11177               yyres[yyn] = '\0';
11178             return yyn;
11179           }
11180     do_not_strip_quotes: ;
11181     }
11182
11183   if (! yyres)
11184     return yystrlen (yystr);
11185
11186   return yystpcpy (yyres, yystr) - yyres;
11187 }
11188 # endif
11189
11190 /* Copy into YYRESULT an error message about the unexpected token
11191    YYCHAR while in state YYSTATE.  Return the number of bytes copied,
11192    including the terminating null byte.  If YYRESULT is null, do not
11193    copy anything; just return the number of bytes that would be
11194    copied.  As a special case, return 0 if an ordinary "syntax error"
11195    message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
11196    size calculation.  */
11197 static YYSIZE_T
11198 yysyntax_error (char *yyresult, int yystate, int yychar)
11199 {
11200   int yyn = yypact[yystate];
11201
11202   if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
11203     return 0;
11204   else
11205     {
11206       int yytype = YYTRANSLATE (yychar);
11207       YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
11208       YYSIZE_T yysize = yysize0;
11209       YYSIZE_T yysize1;
11210       int yysize_overflow = 0;
11211       enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
11212       char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
11213       int yyx;
11214
11215 # if 0
11216       /* This is so xgettext sees the translatable formats that are
11217          constructed on the fly.  */
11218       YY_("syntax error, unexpected %s");
11219       YY_("syntax error, unexpected %s, expecting %s");
11220       YY_("syntax error, unexpected %s, expecting %s or %s");
11221       YY_("syntax error, unexpected %s, expecting %s or %s or %s");
11222       YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
11223 # endif
11224       char *yyfmt;
11225       char const *yyf;
11226       static char const yyunexpected[] = "syntax error, unexpected %s";
11227       static char const yyexpecting[] = ", expecting %s";
11228       static char const yyor[] = " or %s";
11229       char yyformat[sizeof yyunexpected
11230                     + sizeof yyexpecting - 1
11231                     + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
11232                        * (sizeof yyor - 1))];
11233       char const *yyprefix = yyexpecting;
11234
11235       /* Start YYX at -YYN if negative to avoid negative indexes in
11236          YYCHECK.  */
11237       int yyxbegin = yyn < 0 ? -yyn : 0;
11238
11239       /* Stay within bounds of both yycheck and yytname.  */
11240       int yychecklim = YYLAST - yyn + 1;
11241       int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
11242       int yycount = 1;
11243
11244       yyarg[0] = yytname[yytype];
11245       yyfmt = yystpcpy (yyformat, yyunexpected);
11246
11247       for (yyx = yyxbegin; yyx < yyxend; ++yyx)
11248         if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
11249           {
11250             if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
11251               {
11252                 yycount = 1;
11253                 yysize = yysize0;
11254                 yyformat[sizeof yyunexpected - 1] = '\0';
11255                 break;
11256               }
11257             yyarg[yycount++] = yytname[yyx];
11258             yysize1 = yysize + yytnamerr (0, yytname[yyx]);
11259             yysize_overflow |= (yysize1 < yysize);
11260             yysize = yysize1;
11261             yyfmt = yystpcpy (yyfmt, yyprefix);
11262             yyprefix = yyor;
11263           }
11264
11265       yyf = YY_(yyformat);
11266       yysize1 = yysize + yystrlen (yyf);
11267       yysize_overflow |= (yysize1 < yysize);
11268       yysize = yysize1;
11269
11270       if (yysize_overflow)
11271         return YYSIZE_MAXIMUM;
11272
11273       if (yyresult)
11274         {
11275           /* Avoid sprintf, as that infringes on the user's name space.
11276              Don't have undefined behavior even if the translation
11277              produced a string with the wrong number of "%s"s.  */
11278           char *yyp = yyresult;
11279           int yyi = 0;
11280           while ((*yyp = *yyf) != '\0')
11281             {
11282               if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
11283                 {
11284                   yyp += yytnamerr (yyp, yyarg[yyi++]);
11285                   yyf += 2;
11286                 }
11287               else
11288                 {
11289                   yyp++;
11290                   yyf++;
11291                 }
11292             }
11293         }
11294       return yysize;
11295     }
11296 }
11297 #endif /* YYERROR_VERBOSE */
11298 \f
11299
11300 /*-----------------------------------------------.
11301 | Release the memory associated to this symbol.  |
11302 `-----------------------------------------------*/
11303
11304 /*ARGSUSED*/
11305 #if (defined __STDC__ || defined __C99__FUNC__ \
11306      || defined __cplusplus || defined _MSC_VER)
11307 static void
11308 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp)
11309 #else
11310 static void
11311 yydestruct (yymsg, yytype, yyvaluep, yylocationp)
11312     const char *yymsg;
11313     int yytype;
11314     YYSTYPE *yyvaluep;
11315     YYLTYPE *yylocationp;
11316 #endif
11317 {
11318   YYUSE (yyvaluep);
11319   YYUSE (yylocationp);
11320
11321   if (!yymsg)
11322     yymsg = "Deleting";
11323   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
11324
11325   switch (yytype)
11326     {
11327       case 145: /* "guess_type" */
11328
11329 /* Line 1009 of yacc.c  */
11330 #line 213 "grammar.y"
11331         { FreeSpecifier((yyvaluep->specifier)); };
11332
11333 /* Line 1009 of yacc.c  */
11334 #line 11335 "grammar.ec"
11335         break;
11336       case 146: /* "type" */
11337
11338 /* Line 1009 of yacc.c  */
11339 #line 213 "grammar.y"
11340         { FreeSpecifier((yyvaluep->specifier)); };
11341
11342 /* Line 1009 of yacc.c  */
11343 #line 11344 "grammar.ec"
11344         break;
11345       case 147: /* "base_strict_type" */
11346
11347 /* Line 1009 of yacc.c  */
11348 #line 213 "grammar.y"
11349         { FreeSpecifier((yyvaluep->specifier)); };
11350
11351 /* Line 1009 of yacc.c  */
11352 #line 11353 "grammar.ec"
11353         break;
11354       case 148: /* "base_strict_type_name" */
11355
11356 /* Line 1009 of yacc.c  */
11357 #line 248 "grammar.y"
11358         { delete (yyvaluep->string); };
11359
11360 /* Line 1009 of yacc.c  */
11361 #line 11362 "grammar.ec"
11362         break;
11363       case 149: /* "strict_type" */
11364
11365 /* Line 1009 of yacc.c  */
11366 #line 213 "grammar.y"
11367         { FreeSpecifier((yyvaluep->specifier)); };
11368
11369 /* Line 1009 of yacc.c  */
11370 #line 11371 "grammar.ec"
11371         break;
11372       case 150: /* "class_function_definition_start" */
11373
11374 /* Line 1009 of yacc.c  */
11375 #line 240 "grammar.y"
11376         { FreeClassFunction((yyvaluep->classFunction)); };
11377
11378 /* Line 1009 of yacc.c  */
11379 #line 11380 "grammar.ec"
11380         break;
11381       case 151: /* "constructor_function_definition_start" */
11382
11383 /* Line 1009 of yacc.c  */
11384 #line 240 "grammar.y"
11385         { FreeClassFunction((yyvaluep->classFunction)); };
11386
11387 /* Line 1009 of yacc.c  */
11388 #line 11389 "grammar.ec"
11389         break;
11390       case 152: /* "destructor_function_definition_start" */
11391
11392 /* Line 1009 of yacc.c  */
11393 #line 240 "grammar.y"
11394         { FreeClassFunction((yyvaluep->classFunction)); };
11395
11396 /* Line 1009 of yacc.c  */
11397 #line 11398 "grammar.ec"
11398         break;
11399       case 153: /* "virtual_class_function_definition_start" */
11400
11401 /* Line 1009 of yacc.c  */
11402 #line 240 "grammar.y"
11403         { FreeClassFunction((yyvaluep->classFunction)); };
11404
11405 /* Line 1009 of yacc.c  */
11406 #line 11407 "grammar.ec"
11407         break;
11408       case 154: /* "class_function_definition_start_error" */
11409
11410 /* Line 1009 of yacc.c  */
11411 #line 240 "grammar.y"
11412         { FreeClassFunction((yyvaluep->classFunction)); };
11413
11414 /* Line 1009 of yacc.c  */
11415 #line 11416 "grammar.ec"
11416         break;
11417       case 155: /* "virtual_class_function_definition_start_error" */
11418
11419 /* Line 1009 of yacc.c  */
11420 #line 240 "grammar.y"
11421         { FreeClassFunction((yyvaluep->classFunction)); };
11422
11423 /* Line 1009 of yacc.c  */
11424 #line 11425 "grammar.ec"
11425         break;
11426       case 156: /* "class_function_definition" */
11427
11428 /* Line 1009 of yacc.c  */
11429 #line 240 "grammar.y"
11430         { FreeClassFunction((yyvaluep->classFunction)); };
11431
11432 /* Line 1009 of yacc.c  */
11433 #line 11434 "grammar.ec"
11434         break;
11435       case 157: /* "class_function_definition_error" */
11436
11437 /* Line 1009 of yacc.c  */
11438 #line 240 "grammar.y"
11439         { FreeClassFunction((yyvaluep->classFunction)); };
11440
11441 /* Line 1009 of yacc.c  */
11442 #line 11443 "grammar.ec"
11443         break;
11444       case 158: /* "instance_class_function_definition_start" */
11445
11446 /* Line 1009 of yacc.c  */
11447 #line 240 "grammar.y"
11448         { FreeClassFunction((yyvaluep->classFunction)); };
11449
11450 /* Line 1009 of yacc.c  */
11451 #line 11452 "grammar.ec"
11452         break;
11453       case 159: /* "instance_class_function_definition_start_error" */
11454
11455 /* Line 1009 of yacc.c  */
11456 #line 240 "grammar.y"
11457         { FreeClassFunction((yyvaluep->classFunction)); };
11458
11459 /* Line 1009 of yacc.c  */
11460 #line 11461 "grammar.ec"
11461         break;
11462       case 160: /* "instance_class_function_definition" */
11463
11464 /* Line 1009 of yacc.c  */
11465 #line 240 "grammar.y"
11466         { FreeClassFunction((yyvaluep->classFunction)); };
11467
11468 /* Line 1009 of yacc.c  */
11469 #line 11470 "grammar.ec"
11470         break;
11471       case 161: /* "instance_class_function_definition_error" */
11472
11473 /* Line 1009 of yacc.c  */
11474 #line 240 "grammar.y"
11475         { FreeClassFunction((yyvaluep->classFunction)); };
11476
11477 /* Line 1009 of yacc.c  */
11478 #line 11479 "grammar.ec"
11479         break;
11480       case 162: /* "data_member_initialization" */
11481
11482 /* Line 1009 of yacc.c  */
11483 #line 238 "grammar.y"
11484         { FreeMemberInit((yyvaluep->memberInit)); };
11485
11486 /* Line 1009 of yacc.c  */
11487 #line 11488 "grammar.ec"
11488         break;
11489       case 163: /* "data_member_initialization_error" */
11490
11491 /* Line 1009 of yacc.c  */
11492 #line 238 "grammar.y"
11493         { FreeMemberInit((yyvaluep->memberInit)); };
11494
11495 /* Line 1009 of yacc.c  */
11496 #line 11497 "grammar.ec"
11497         break;
11498       case 164: /* "data_member_initialization_list" */
11499
11500 /* Line 1009 of yacc.c  */
11501 #line 263 "grammar.y"
11502         { FreeList((yyvaluep->list), FreeMemberInit); };
11503
11504 /* Line 1009 of yacc.c  */
11505 #line 11506 "grammar.ec"
11506         break;
11507       case 165: /* "data_member_initialization_list_error" */
11508
11509 /* Line 1009 of yacc.c  */
11510 #line 263 "grammar.y"
11511         { FreeList((yyvaluep->list), FreeMemberInit); };
11512
11513 /* Line 1009 of yacc.c  */
11514 #line 11515 "grammar.ec"
11515         break;
11516       case 166: /* "data_member_initialization_list_coloned" */
11517
11518 /* Line 1009 of yacc.c  */
11519 #line 263 "grammar.y"
11520         { FreeList((yyvaluep->list), FreeMemberInit); };
11521
11522 /* Line 1009 of yacc.c  */
11523 #line 11524 "grammar.ec"
11524         break;
11525       case 167: /* "members_initialization_list_coloned" */
11526
11527 /* Line 1009 of yacc.c  */
11528 #line 264 "grammar.y"
11529         { FreeList((yyvaluep->list), FreeMembersInit); };
11530
11531 /* Line 1009 of yacc.c  */
11532 #line 11533 "grammar.ec"
11533         break;
11534       case 168: /* "members_initialization_list" */
11535
11536 /* Line 1009 of yacc.c  */
11537 #line 264 "grammar.y"
11538         { FreeList((yyvaluep->list), FreeMembersInit); };
11539
11540 /* Line 1009 of yacc.c  */
11541 #line 11542 "grammar.ec"
11542         break;
11543       case 169: /* "members_initialization_list_error" */
11544
11545 /* Line 1009 of yacc.c  */
11546 #line 264 "grammar.y"
11547         { FreeList((yyvaluep->list), FreeMembersInit); };
11548
11549 /* Line 1009 of yacc.c  */
11550 #line 11551 "grammar.ec"
11551         break;
11552       case 170: /* "instantiation_named" */
11553
11554 /* Line 1009 of yacc.c  */
11555 #line 236 "grammar.y"
11556         { FreeInstance((yyvaluep->instance)); };
11557
11558 /* Line 1009 of yacc.c  */
11559 #line 11560 "grammar.ec"
11560         break;
11561       case 171: /* "instantiation_named_error" */
11562
11563 /* Line 1009 of yacc.c  */
11564 #line 236 "grammar.y"
11565         { FreeInstance((yyvaluep->instance)); };
11566
11567 /* Line 1009 of yacc.c  */
11568 #line 11569 "grammar.ec"
11569         break;
11570       case 175: /* "instantiation_unnamed" */
11571
11572 /* Line 1009 of yacc.c  */
11573 #line 236 "grammar.y"
11574         { FreeInstance((yyvaluep->instance)); };
11575
11576 /* Line 1009 of yacc.c  */
11577 #line 11578 "grammar.ec"
11578         break;
11579       case 176: /* "instantiation_unnamed_error" */
11580
11581 /* Line 1009 of yacc.c  */
11582 #line 236 "grammar.y"
11583         { FreeInstance((yyvaluep->instance)); };
11584
11585 /* Line 1009 of yacc.c  */
11586 #line 11587 "grammar.ec"
11587         break;
11588       case 179: /* "default_property" */
11589
11590 /* Line 1009 of yacc.c  */
11591 #line 238 "grammar.y"
11592         { FreeMemberInit((yyvaluep->memberInit)); };
11593
11594 /* Line 1009 of yacc.c  */
11595 #line 11596 "grammar.ec"
11596         break;
11597       case 180: /* "default_property_error" */
11598
11599 /* Line 1009 of yacc.c  */
11600 #line 238 "grammar.y"
11601         { FreeMemberInit((yyvaluep->memberInit)); };
11602
11603 /* Line 1009 of yacc.c  */
11604 #line 11605 "grammar.ec"
11605         break;
11606       case 181: /* "default_property_list" */
11607
11608 /* Line 1009 of yacc.c  */
11609 #line 263 "grammar.y"
11610         { FreeList((yyvaluep->list), FreeMemberInit); };
11611
11612 /* Line 1009 of yacc.c  */
11613 #line 11614 "grammar.ec"
11614         break;
11615       case 182: /* "default_property_list_error" */
11616
11617 /* Line 1009 of yacc.c  */
11618 #line 263 "grammar.y"
11619         { FreeList((yyvaluep->list), FreeMemberInit); };
11620
11621 /* Line 1009 of yacc.c  */
11622 #line 11623 "grammar.ec"
11623         break;
11624       case 185: /* "property" */
11625
11626 /* Line 1009 of yacc.c  */
11627 #line 249 "grammar.y"
11628         { FreeProperty((yyvaluep->prop)); };
11629
11630 /* Line 1009 of yacc.c  */
11631 #line 11632 "grammar.ec"
11632         break;
11633       case 196: /* "struct_declaration" */
11634
11635 /* Line 1009 of yacc.c  */
11636 #line 247 "grammar.y"
11637         { FreeClassDef((yyvaluep->classDef)); };
11638
11639 /* Line 1009 of yacc.c  */
11640 #line 11641 "grammar.ec"
11641         break;
11642       case 197: /* "struct_declaration_error" */
11643
11644 /* Line 1009 of yacc.c  */
11645 #line 247 "grammar.y"
11646         { FreeClassDef((yyvaluep->classDef)); };
11647
11648 /* Line 1009 of yacc.c  */
11649 #line 11650 "grammar.ec"
11650         break;
11651       case 198: /* "struct_declaration_list" */
11652
11653 /* Line 1009 of yacc.c  */
11654 #line 262 "grammar.y"
11655         { FreeList((yyvaluep->list), FreeClassDef); };
11656
11657 /* Line 1009 of yacc.c  */
11658 #line 11659 "grammar.ec"
11659         break;
11660       case 199: /* "struct_declaration_list_error" */
11661
11662 /* Line 1009 of yacc.c  */
11663 #line 262 "grammar.y"
11664         { FreeList((yyvaluep->list), FreeClassDef); };
11665
11666 /* Line 1009 of yacc.c  */
11667 #line 11668 "grammar.ec"
11668         break;
11669       case 200: /* "template_datatype" */
11670
11671 /* Line 1009 of yacc.c  */
11672 #line 268 "grammar.y"
11673         { FreeTemplateDataType((yyvaluep->templateDatatype)); };
11674
11675 /* Line 1009 of yacc.c  */
11676 #line 11677 "grammar.ec"
11677         break;
11678       case 201: /* "template_type_argument" */
11679
11680 /* Line 1009 of yacc.c  */
11681 #line 267 "grammar.y"
11682         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11683
11684 /* Line 1009 of yacc.c  */
11685 #line 11686 "grammar.ec"
11686         break;
11687       case 202: /* "template_type_parameter" */
11688
11689 /* Line 1009 of yacc.c  */
11690 #line 266 "grammar.y"
11691         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11692
11693 /* Line 1009 of yacc.c  */
11694 #line 11695 "grammar.ec"
11695         break;
11696       case 203: /* "template_identifier_argument" */
11697
11698 /* Line 1009 of yacc.c  */
11699 #line 267 "grammar.y"
11700         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11701
11702 /* Line 1009 of yacc.c  */
11703 #line 11704 "grammar.ec"
11704         break;
11705       case 204: /* "template_identifier_parameter" */
11706
11707 /* Line 1009 of yacc.c  */
11708 #line 266 "grammar.y"
11709         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11710
11711 /* Line 1009 of yacc.c  */
11712 #line 11713 "grammar.ec"
11713         break;
11714       case 205: /* "template_expression_argument" */
11715
11716 /* Line 1009 of yacc.c  */
11717 #line 267 "grammar.y"
11718         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11719
11720 /* Line 1009 of yacc.c  */
11721 #line 11722 "grammar.ec"
11722         break;
11723       case 206: /* "template_expression_parameter" */
11724
11725 /* Line 1009 of yacc.c  */
11726 #line 266 "grammar.y"
11727         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11728
11729 /* Line 1009 of yacc.c  */
11730 #line 11731 "grammar.ec"
11731         break;
11732       case 207: /* "template_parameter" */
11733
11734 /* Line 1009 of yacc.c  */
11735 #line 266 "grammar.y"
11736         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11737
11738 /* Line 1009 of yacc.c  */
11739 #line 11740 "grammar.ec"
11740         break;
11741       case 208: /* "template_parameters_list" */
11742
11743 /* Line 1009 of yacc.c  */
11744 #line 269 "grammar.y"
11745         { FreeList((yyvaluep->list), FreeTemplateParameter); };
11746
11747 /* Line 1009 of yacc.c  */
11748 #line 11749 "grammar.ec"
11749         break;
11750       case 209: /* "template_argument" */
11751
11752 /* Line 1009 of yacc.c  */
11753 #line 267 "grammar.y"
11754         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11755
11756 /* Line 1009 of yacc.c  */
11757 #line 11758 "grammar.ec"
11758         break;
11759       case 210: /* "template_arguments_list" */
11760
11761 /* Line 1009 of yacc.c  */
11762 #line 270 "grammar.y"
11763         { FreeList((yyvaluep->list), FreeTemplateArgument); };
11764
11765 /* Line 1009 of yacc.c  */
11766 #line 11767 "grammar.ec"
11767         break;
11768       case 211: /* "class_entry" */
11769
11770 /* Line 1009 of yacc.c  */
11771 #line 244 "grammar.y"
11772         { Context ctx = curContext; PopContext(ctx); FreeContext(ctx); delete ctx; };
11773
11774 /* Line 1009 of yacc.c  */
11775 #line 11776 "grammar.ec"
11776         break;
11777       case 212: /* "class_decl" */
11778
11779 /* Line 1009 of yacc.c  */
11780 #line 245 "grammar.y"
11781         { Context ctx = curContext; PopContext(ctx); FreeContext(ctx); delete ctx; };
11782
11783 /* Line 1009 of yacc.c  */
11784 #line 11785 "grammar.ec"
11785         break;
11786       case 213: /* "class" */
11787
11788 /* Line 1009 of yacc.c  */
11789 #line 246 "grammar.y"
11790         { FreeClass((yyvaluep->_class)); };
11791
11792 /* Line 1009 of yacc.c  */
11793 #line 11794 "grammar.ec"
11794         break;
11795       case 214: /* "class_head" */
11796
11797 /* Line 1009 of yacc.c  */
11798 #line 246 "grammar.y"
11799         { FreeClass((yyvaluep->_class)); };
11800
11801 /* Line 1009 of yacc.c  */
11802 #line 11803 "grammar.ec"
11803         break;
11804       case 215: /* "class_error" */
11805
11806 /* Line 1009 of yacc.c  */
11807 #line 246 "grammar.y"
11808         { FreeClass((yyvaluep->_class)); };
11809
11810 /* Line 1009 of yacc.c  */
11811 #line 11812 "grammar.ec"
11812         break;
11813       case 216: /* "identifier" */
11814
11815 /* Line 1009 of yacc.c  */
11816 #line 200 "grammar.y"
11817         { FreeIdentifier((yyvaluep->id)); };
11818
11819 /* Line 1009 of yacc.c  */
11820 #line 11821 "grammar.ec"
11821         break;
11822       case 217: /* "primary_expression" */
11823
11824 /* Line 1009 of yacc.c  */
11825 #line 202 "grammar.y"
11826         { FreeExpression((yyvaluep->exp)); };
11827
11828 /* Line 1009 of yacc.c  */
11829 #line 11830 "grammar.ec"
11830         break;
11831       case 218: /* "i18n_string" */
11832
11833 /* Line 1009 of yacc.c  */
11834 #line 202 "grammar.y"
11835         { FreeExpression((yyvaluep->exp)); };
11836
11837 /* Line 1009 of yacc.c  */
11838 #line 11839 "grammar.ec"
11839         break;
11840       case 223: /* "primary_expression_error" */
11841
11842 /* Line 1009 of yacc.c  */
11843 #line 202 "grammar.y"
11844         { FreeExpression((yyvaluep->exp)); };
11845
11846 /* Line 1009 of yacc.c  */
11847 #line 11848 "grammar.ec"
11848         break;
11849       case 224: /* "postfix_expression" */
11850
11851 /* Line 1009 of yacc.c  */
11852 #line 202 "grammar.y"
11853         { FreeExpression((yyvaluep->exp)); };
11854
11855 /* Line 1009 of yacc.c  */
11856 #line 11857 "grammar.ec"
11857         break;
11858       case 225: /* "argument_expression_list" */
11859
11860 /* Line 1009 of yacc.c  */
11861 #line 251 "grammar.y"
11862         { FreeList((yyvaluep->list), FreeExpression); };
11863
11864 /* Line 1009 of yacc.c  */
11865 #line 11866 "grammar.ec"
11866         break;
11867       case 226: /* "argument_expression_list_error" */
11868
11869 /* Line 1009 of yacc.c  */
11870 #line 251 "grammar.y"
11871         { FreeList((yyvaluep->list), FreeExpression); };
11872
11873 /* Line 1009 of yacc.c  */
11874 #line 11875 "grammar.ec"
11875         break;
11876       case 228: /* "unary_expression" */
11877
11878 /* Line 1009 of yacc.c  */
11879 #line 202 "grammar.y"
11880         { FreeExpression((yyvaluep->exp)); };
11881
11882 /* Line 1009 of yacc.c  */
11883 #line 11884 "grammar.ec"
11884         break;
11885       case 230: /* "cast_expression" */
11886
11887 /* Line 1009 of yacc.c  */
11888 #line 202 "grammar.y"
11889         { FreeExpression((yyvaluep->exp)); };
11890
11891 /* Line 1009 of yacc.c  */
11892 #line 11893 "grammar.ec"
11893         break;
11894       case 231: /* "multiplicative_expression" */
11895
11896 /* Line 1009 of yacc.c  */
11897 #line 202 "grammar.y"
11898         { FreeExpression((yyvaluep->exp)); };
11899
11900 /* Line 1009 of yacc.c  */
11901 #line 11902 "grammar.ec"
11902         break;
11903       case 232: /* "additive_expression" */
11904
11905 /* Line 1009 of yacc.c  */
11906 #line 202 "grammar.y"
11907         { FreeExpression((yyvaluep->exp)); };
11908
11909 /* Line 1009 of yacc.c  */
11910 #line 11911 "grammar.ec"
11911         break;
11912       case 233: /* "shift_expression" */
11913
11914 /* Line 1009 of yacc.c  */
11915 #line 202 "grammar.y"
11916         { FreeExpression((yyvaluep->exp)); };
11917
11918 /* Line 1009 of yacc.c  */
11919 #line 11920 "grammar.ec"
11920         break;
11921       case 235: /* "relational_expression" */
11922
11923 /* Line 1009 of yacc.c  */
11924 #line 202 "grammar.y"
11925         { FreeExpression((yyvaluep->exp)); };
11926
11927 /* Line 1009 of yacc.c  */
11928 #line 11929 "grammar.ec"
11929         break;
11930       case 236: /* "equality_expression" */
11931
11932 /* Line 1009 of yacc.c  */
11933 #line 202 "grammar.y"
11934         { FreeExpression((yyvaluep->exp)); };
11935
11936 /* Line 1009 of yacc.c  */
11937 #line 11938 "grammar.ec"
11938         break;
11939       case 237: /* "and_expression" */
11940
11941 /* Line 1009 of yacc.c  */
11942 #line 202 "grammar.y"
11943         { FreeExpression((yyvaluep->exp)); };
11944
11945 /* Line 1009 of yacc.c  */
11946 #line 11947 "grammar.ec"
11947         break;
11948       case 238: /* "exclusive_or_expression" */
11949
11950 /* Line 1009 of yacc.c  */
11951 #line 202 "grammar.y"
11952         { FreeExpression((yyvaluep->exp)); };
11953
11954 /* Line 1009 of yacc.c  */
11955 #line 11956 "grammar.ec"
11956         break;
11957       case 239: /* "inclusive_or_expression" */
11958
11959 /* Line 1009 of yacc.c  */
11960 #line 202 "grammar.y"
11961         { FreeExpression((yyvaluep->exp)); };
11962
11963 /* Line 1009 of yacc.c  */
11964 #line 11965 "grammar.ec"
11965         break;
11966       case 240: /* "logical_and_expression" */
11967
11968 /* Line 1009 of yacc.c  */
11969 #line 202 "grammar.y"
11970         { FreeExpression((yyvaluep->exp)); };
11971
11972 /* Line 1009 of yacc.c  */
11973 #line 11974 "grammar.ec"
11974         break;
11975       case 241: /* "logical_or_expression" */
11976
11977 /* Line 1009 of yacc.c  */
11978 #line 202 "grammar.y"
11979         { FreeExpression((yyvaluep->exp)); };
11980
11981 /* Line 1009 of yacc.c  */
11982 #line 11983 "grammar.ec"
11983         break;
11984       case 242: /* "conditional_expression" */
11985
11986 /* Line 1009 of yacc.c  */
11987 #line 202 "grammar.y"
11988         { FreeExpression((yyvaluep->exp)); };
11989
11990 /* Line 1009 of yacc.c  */
11991 #line 11992 "grammar.ec"
11992         break;
11993       case 243: /* "assignment_expression" */
11994
11995 /* Line 1009 of yacc.c  */
11996 #line 202 "grammar.y"
11997         { FreeExpression((yyvaluep->exp)); };
11998
11999 /* Line 1009 of yacc.c  */
12000 #line 12001 "grammar.ec"
12001         break;
12002       case 245: /* "expression" */
12003
12004 /* Line 1009 of yacc.c  */
12005 #line 251 "grammar.y"
12006         { FreeList((yyvaluep->list), FreeExpression); };
12007
12008 /* Line 1009 of yacc.c  */
12009 #line 12010 "grammar.ec"
12010         break;
12011       case 247: /* "postfix_expression_error" */
12012
12013 /* Line 1009 of yacc.c  */
12014 #line 202 "grammar.y"
12015         { FreeExpression((yyvaluep->exp)); };
12016
12017 /* Line 1009 of yacc.c  */
12018 #line 12019 "grammar.ec"
12019         break;
12020       case 249: /* "unary_expression_error" */
12021
12022 /* Line 1009 of yacc.c  */
12023 #line 202 "grammar.y"
12024         { FreeExpression((yyvaluep->exp)); };
12025
12026 /* Line 1009 of yacc.c  */
12027 #line 12028 "grammar.ec"
12028         break;
12029       case 250: /* "cast_expression_error" */
12030
12031 /* Line 1009 of yacc.c  */
12032 #line 202 "grammar.y"
12033         { FreeExpression((yyvaluep->exp)); };
12034
12035 /* Line 1009 of yacc.c  */
12036 #line 12037 "grammar.ec"
12037         break;
12038       case 251: /* "multiplicative_expression_error" */
12039
12040 /* Line 1009 of yacc.c  */
12041 #line 202 "grammar.y"
12042         { FreeExpression((yyvaluep->exp)); };
12043
12044 /* Line 1009 of yacc.c  */
12045 #line 12046 "grammar.ec"
12046         break;
12047       case 252: /* "additive_expression_error" */
12048
12049 /* Line 1009 of yacc.c  */
12050 #line 202 "grammar.y"
12051         { FreeExpression((yyvaluep->exp)); };
12052
12053 /* Line 1009 of yacc.c  */
12054 #line 12055 "grammar.ec"
12055         break;
12056       case 253: /* "shift_expression_error" */
12057
12058 /* Line 1009 of yacc.c  */
12059 #line 202 "grammar.y"
12060         { FreeExpression((yyvaluep->exp)); };
12061
12062 /* Line 1009 of yacc.c  */
12063 #line 12064 "grammar.ec"
12064         break;
12065       case 254: /* "relational_expression_error" */
12066
12067 /* Line 1009 of yacc.c  */
12068 #line 202 "grammar.y"
12069         { FreeExpression((yyvaluep->exp)); };
12070
12071 /* Line 1009 of yacc.c  */
12072 #line 12073 "grammar.ec"
12073         break;
12074       case 255: /* "equality_expression_error" */
12075
12076 /* Line 1009 of yacc.c  */
12077 #line 202 "grammar.y"
12078         { FreeExpression((yyvaluep->exp)); };
12079
12080 /* Line 1009 of yacc.c  */
12081 #line 12082 "grammar.ec"
12082         break;
12083       case 256: /* "and_expression_error" */
12084
12085 /* Line 1009 of yacc.c  */
12086 #line 202 "grammar.y"
12087         { FreeExpression((yyvaluep->exp)); };
12088
12089 /* Line 1009 of yacc.c  */
12090 #line 12091 "grammar.ec"
12091         break;
12092       case 257: /* "exclusive_or_expression_error" */
12093
12094 /* Line 1009 of yacc.c  */
12095 #line 202 "grammar.y"
12096         { FreeExpression((yyvaluep->exp)); };
12097
12098 /* Line 1009 of yacc.c  */
12099 #line 12100 "grammar.ec"
12100         break;
12101       case 258: /* "inclusive_or_expression_error" */
12102
12103 /* Line 1009 of yacc.c  */
12104 #line 202 "grammar.y"
12105         { FreeExpression((yyvaluep->exp)); };
12106
12107 /* Line 1009 of yacc.c  */
12108 #line 12109 "grammar.ec"
12109         break;
12110       case 259: /* "logical_and_expression_error" */
12111
12112 /* Line 1009 of yacc.c  */
12113 #line 202 "grammar.y"
12114         { FreeExpression((yyvaluep->exp)); };
12115
12116 /* Line 1009 of yacc.c  */
12117 #line 12118 "grammar.ec"
12118         break;
12119       case 260: /* "logical_or_expression_error" */
12120
12121 /* Line 1009 of yacc.c  */
12122 #line 202 "grammar.y"
12123         { FreeExpression((yyvaluep->exp)); };
12124
12125 /* Line 1009 of yacc.c  */
12126 #line 12127 "grammar.ec"
12127         break;
12128       case 261: /* "conditional_expression_error" */
12129
12130 /* Line 1009 of yacc.c  */
12131 #line 202 "grammar.y"
12132         { FreeExpression((yyvaluep->exp)); };
12133
12134 /* Line 1009 of yacc.c  */
12135 #line 12136 "grammar.ec"
12136         break;
12137       case 262: /* "assignment_expression_error" */
12138
12139 /* Line 1009 of yacc.c  */
12140 #line 202 "grammar.y"
12141         { FreeExpression((yyvaluep->exp)); };
12142
12143 /* Line 1009 of yacc.c  */
12144 #line 12145 "grammar.ec"
12145         break;
12146       case 263: /* "expression_error" */
12147
12148 /* Line 1009 of yacc.c  */
12149 #line 251 "grammar.y"
12150         { FreeList((yyvaluep->list), FreeExpression); };
12151
12152 /* Line 1009 of yacc.c  */
12153 #line 12154 "grammar.ec"
12154         break;
12155       case 265: /* "constant_expression" */
12156
12157 /* Line 1009 of yacc.c  */
12158 #line 202 "grammar.y"
12159         { FreeExpression((yyvaluep->exp)); };
12160
12161 /* Line 1009 of yacc.c  */
12162 #line 12163 "grammar.ec"
12163         break;
12164       case 266: /* "constant_expression_error" */
12165
12166 /* Line 1009 of yacc.c  */
12167 #line 202 "grammar.y"
12168         { FreeExpression((yyvaluep->exp)); };
12169
12170 /* Line 1009 of yacc.c  */
12171 #line 12172 "grammar.ec"
12172         break;
12173       case 267: /* "storage_class_specifier" */
12174
12175 /* Line 1009 of yacc.c  */
12176 #line 213 "grammar.y"
12177         { FreeSpecifier((yyvaluep->specifier)); };
12178
12179 /* Line 1009 of yacc.c  */
12180 #line 12181 "grammar.ec"
12181         break;
12182       case 268: /* "external_storage_class_specifier" */
12183
12184 /* Line 1009 of yacc.c  */
12185 #line 213 "grammar.y"
12186         { FreeSpecifier((yyvaluep->specifier)); };
12187
12188 /* Line 1009 of yacc.c  */
12189 #line 12190 "grammar.ec"
12190         break;
12191       case 269: /* "enumerator" */
12192
12193 /* Line 1009 of yacc.c  */
12194 #line 218 "grammar.y"
12195         { FreeEnumerator((yyvaluep->enumerator)); };
12196
12197 /* Line 1009 of yacc.c  */
12198 #line 12199 "grammar.ec"
12199         break;
12200       case 270: /* "enumerator_list" */
12201
12202 /* Line 1009 of yacc.c  */
12203 #line 252 "grammar.y"
12204         { FreeList((yyvaluep->list), FreeEnumerator); };
12205
12206 /* Line 1009 of yacc.c  */
12207 #line 12208 "grammar.ec"
12208         break;
12209       case 272: /* "enum_specifier_nocompound" */
12210
12211 /* Line 1009 of yacc.c  */
12212 #line 213 "grammar.y"
12213         { FreeSpecifier((yyvaluep->specifier)); };
12214
12215 /* Line 1009 of yacc.c  */
12216 #line 12217 "grammar.ec"
12217         break;
12218       case 273: /* "enum_specifier_compound" */
12219
12220 /* Line 1009 of yacc.c  */
12221 #line 213 "grammar.y"
12222         { FreeSpecifier((yyvaluep->specifier)); };
12223
12224 /* Line 1009 of yacc.c  */
12225 #line 12226 "grammar.ec"
12226         break;
12227       case 274: /* "enum_specifier_compound_error" */
12228
12229 /* Line 1009 of yacc.c  */
12230 #line 213 "grammar.y"
12231         { FreeSpecifier((yyvaluep->specifier)); };
12232
12233 /* Line 1009 of yacc.c  */
12234 #line 12235 "grammar.ec"
12235         break;
12236       case 276: /* "enum_class" */
12237
12238 /* Line 1009 of yacc.c  */
12239 #line 213 "grammar.y"
12240         { FreeSpecifier((yyvaluep->specifier)); };
12241
12242 /* Line 1009 of yacc.c  */
12243 #line 12244 "grammar.ec"
12244         break;
12245       case 277: /* "enum_class_error" */
12246
12247 /* Line 1009 of yacc.c  */
12248 #line 213 "grammar.y"
12249         { FreeSpecifier((yyvaluep->specifier)); };
12250
12251 /* Line 1009 of yacc.c  */
12252 #line 12253 "grammar.ec"
12253         break;
12254       case 278: /* "class_specifier" */
12255
12256 /* Line 1009 of yacc.c  */
12257 #line 213 "grammar.y"
12258         { FreeSpecifier((yyvaluep->specifier)); };
12259
12260 /* Line 1009 of yacc.c  */
12261 #line 12262 "grammar.ec"
12262         break;
12263       case 279: /* "class_specifier_error" */
12264
12265 /* Line 1009 of yacc.c  */
12266 #line 213 "grammar.y"
12267         { FreeSpecifier((yyvaluep->specifier)); };
12268
12269 /* Line 1009 of yacc.c  */
12270 #line 12271 "grammar.ec"
12271         break;
12272       case 280: /* "ext_storage" */
12273
12274 /* Line 1009 of yacc.c  */
12275 #line 213 "grammar.y"
12276         { FreeSpecifier((yyvaluep->specifier)); };
12277
12278 /* Line 1009 of yacc.c  */
12279 #line 12280 "grammar.ec"
12280         break;
12281       case 281: /* "type_qualifier" */
12282
12283 /* Line 1009 of yacc.c  */
12284 #line 213 "grammar.y"
12285         { FreeSpecifier((yyvaluep->specifier)); };
12286
12287 /* Line 1009 of yacc.c  */
12288 #line 12289 "grammar.ec"
12289         break;
12290       case 282: /* "type_qualifier_list" */
12291
12292 /* Line 1009 of yacc.c  */
12293 #line 253 "grammar.y"
12294         { FreeList((yyvaluep->list), FreeSpecifier); };
12295
12296 /* Line 1009 of yacc.c  */
12297 #line 12298 "grammar.ec"
12298         break;
12299       case 283: /* "type_specifier" */
12300
12301 /* Line 1009 of yacc.c  */
12302 #line 213 "grammar.y"
12303         { FreeSpecifier((yyvaluep->specifier)); };
12304
12305 /* Line 1009 of yacc.c  */
12306 #line 12307 "grammar.ec"
12307         break;
12308       case 284: /* "strict_type_specifier" */
12309
12310 /* Line 1009 of yacc.c  */
12311 #line 213 "grammar.y"
12312         { FreeSpecifier((yyvaluep->specifier)); };
12313
12314 /* Line 1009 of yacc.c  */
12315 #line 12316 "grammar.ec"
12316         break;
12317       case 285: /* "struct_declarator" */
12318
12319 /* Line 1009 of yacc.c  */
12320 #line 219 "grammar.y"
12321         { FreeDeclarator((yyvaluep->declarator)); };
12322
12323 /* Line 1009 of yacc.c  */
12324 #line 12325 "grammar.ec"
12325         break;
12326       case 286: /* "struct_declarator_list" */
12327
12328 /* Line 1009 of yacc.c  */
12329 #line 255 "grammar.y"
12330         { FreeList((yyvaluep->list), FreeDeclarator); };
12331
12332 /* Line 1009 of yacc.c  */
12333 #line 12334 "grammar.ec"
12334         break;
12335       case 287: /* "struct_entry" */
12336
12337 /* Line 1009 of yacc.c  */
12338 #line 213 "grammar.y"
12339         { FreeSpecifier((yyvaluep->specifier)); };
12340
12341 /* Line 1009 of yacc.c  */
12342 #line 12343 "grammar.ec"
12343         break;
12344       case 288: /* "struct_or_union_specifier_compound" */
12345
12346 /* Line 1009 of yacc.c  */
12347 #line 213 "grammar.y"
12348         { FreeSpecifier((yyvaluep->specifier)); };
12349
12350 /* Line 1009 of yacc.c  */
12351 #line 12352 "grammar.ec"
12352         break;
12353       case 289: /* "struct_or_union_specifier_compound_error" */
12354
12355 /* Line 1009 of yacc.c  */
12356 #line 213 "grammar.y"
12357         { FreeSpecifier((yyvaluep->specifier)); };
12358
12359 /* Line 1009 of yacc.c  */
12360 #line 12361 "grammar.ec"
12361         break;
12362       case 290: /* "struct_or_union_specifier_nocompound" */
12363
12364 /* Line 1009 of yacc.c  */
12365 #line 213 "grammar.y"
12366         { FreeSpecifier((yyvaluep->specifier)); };
12367
12368 /* Line 1009 of yacc.c  */
12369 #line 12370 "grammar.ec"
12370         break;
12371       case 291: /* "struct_decl" */
12372
12373 /* Line 1009 of yacc.c  */
12374 #line 213 "grammar.y"
12375         { FreeSpecifier((yyvaluep->specifier)); };
12376
12377 /* Line 1009 of yacc.c  */
12378 #line 12379 "grammar.ec"
12379         break;
12380       case 292: /* "struct_head" */
12381
12382 /* Line 1009 of yacc.c  */
12383 #line 213 "grammar.y"
12384         { FreeSpecifier((yyvaluep->specifier)); };
12385
12386 /* Line 1009 of yacc.c  */
12387 #line 12388 "grammar.ec"
12388         break;
12389       case 293: /* "struct_class" */
12390
12391 /* Line 1009 of yacc.c  */
12392 #line 213 "grammar.y"
12393         { FreeSpecifier((yyvaluep->specifier)); };
12394
12395 /* Line 1009 of yacc.c  */
12396 #line 12397 "grammar.ec"
12397         break;
12398       case 294: /* "struct_class_error" */
12399
12400 /* Line 1009 of yacc.c  */
12401 #line 213 "grammar.y"
12402         { FreeSpecifier((yyvaluep->specifier)); };
12403
12404 /* Line 1009 of yacc.c  */
12405 #line 12406 "grammar.ec"
12406         break;
12407       case 296: /* "specifier_qualifier_list" */
12408
12409 /* Line 1009 of yacc.c  */
12410 #line 253 "grammar.y"
12411         { FreeList((yyvaluep->list), FreeSpecifier); };
12412
12413 /* Line 1009 of yacc.c  */
12414 #line 12415 "grammar.ec"
12415         break;
12416       case 297: /* "guess_specifier_qualifier_list" */
12417
12418 /* Line 1009 of yacc.c  */
12419 #line 253 "grammar.y"
12420         { FreeList((yyvaluep->list), FreeSpecifier); };
12421
12422 /* Line 1009 of yacc.c  */
12423 #line 12424 "grammar.ec"
12424         break;
12425       case 298: /* "declaration_specifiers" */
12426
12427 /* Line 1009 of yacc.c  */
12428 #line 253 "grammar.y"
12429         { FreeList((yyvaluep->list), FreeSpecifier); };
12430
12431 /* Line 1009 of yacc.c  */
12432 #line 12433 "grammar.ec"
12433         break;
12434       case 299: /* "guess_declaration_specifiers" */
12435
12436 /* Line 1009 of yacc.c  */
12437 #line 253 "grammar.y"
12438         { FreeList((yyvaluep->list), FreeSpecifier); };
12439
12440 /* Line 1009 of yacc.c  */
12441 #line 12442 "grammar.ec"
12442         break;
12443       case 300: /* "external_guess_declaration_specifiers" */
12444
12445 /* Line 1009 of yacc.c  */
12446 #line 253 "grammar.y"
12447         { FreeList((yyvaluep->list), FreeSpecifier); };
12448
12449 /* Line 1009 of yacc.c  */
12450 #line 12451 "grammar.ec"
12451         break;
12452       case 301: /* "external_guess_declaration_specifiers_error" */
12453
12454 /* Line 1009 of yacc.c  */
12455 #line 253 "grammar.y"
12456         { FreeList((yyvaluep->list), FreeSpecifier); };
12457
12458 /* Line 1009 of yacc.c  */
12459 #line 12460 "grammar.ec"
12460         break;
12461       case 302: /* "_inheritance_specifiers" */
12462
12463 /* Line 1009 of yacc.c  */
12464 #line 253 "grammar.y"
12465         { FreeList((yyvaluep->list), FreeSpecifier); };
12466
12467 /* Line 1009 of yacc.c  */
12468 #line 12469 "grammar.ec"
12469         break;
12470       case 303: /* "inheritance_specifiers" */
12471
12472 /* Line 1009 of yacc.c  */
12473 #line 253 "grammar.y"
12474         { FreeList((yyvaluep->list), FreeSpecifier); };
12475
12476 /* Line 1009 of yacc.c  */
12477 #line 12478 "grammar.ec"
12478         break;
12479       case 307: /* "identifier_list_error" */
12480
12481 /* Line 1009 of yacc.c  */
12482 #line 259 "grammar.y"
12483         { FreeList((yyvaluep->list), FreeTypeName); };
12484
12485 /* Line 1009 of yacc.c  */
12486 #line 12487 "grammar.ec"
12487         break;
12488       case 308: /* "identifier_list" */
12489
12490 /* Line 1009 of yacc.c  */
12491 #line 259 "grammar.y"
12492         { FreeList((yyvaluep->list), FreeTypeName); };
12493
12494 /* Line 1009 of yacc.c  */
12495 #line 12496 "grammar.ec"
12496         break;
12497       case 309: /* "direct_declarator_nofunction_type_ok" */
12498
12499 /* Line 1009 of yacc.c  */
12500 #line 219 "grammar.y"
12501         { FreeDeclarator((yyvaluep->declarator)); };
12502
12503 /* Line 1009 of yacc.c  */
12504 #line 12505 "grammar.ec"
12505         break;
12506       case 310: /* "direct_declarator_nofunction" */
12507
12508 /* Line 1009 of yacc.c  */
12509 #line 219 "grammar.y"
12510         { FreeDeclarator((yyvaluep->declarator)); };
12511
12512 /* Line 1009 of yacc.c  */
12513 #line 12514 "grammar.ec"
12514         break;
12515       case 311: /* "direct_declarator_function_start" */
12516
12517 /* Line 1009 of yacc.c  */
12518 #line 219 "grammar.y"
12519         { FreeDeclarator((yyvaluep->declarator)); };
12520
12521 /* Line 1009 of yacc.c  */
12522 #line 12523 "grammar.ec"
12523         break;
12524       case 312: /* "direct_declarator_function" */
12525
12526 /* Line 1009 of yacc.c  */
12527 #line 219 "grammar.y"
12528         { FreeDeclarator((yyvaluep->declarator)); };
12529
12530 /* Line 1009 of yacc.c  */
12531 #line 12532 "grammar.ec"
12532         break;
12533       case 313: /* "direct_declarator_function_error" */
12534
12535 /* Line 1009 of yacc.c  */
12536 #line 219 "grammar.y"
12537         { FreeDeclarator((yyvaluep->declarator)); };
12538
12539 /* Line 1009 of yacc.c  */
12540 #line 12541 "grammar.ec"
12541         break;
12542       case 314: /* "direct_declarator" */
12543
12544 /* Line 1009 of yacc.c  */
12545 #line 219 "grammar.y"
12546         { FreeDeclarator((yyvaluep->declarator)); };
12547
12548 /* Line 1009 of yacc.c  */
12549 #line 12550 "grammar.ec"
12550         break;
12551       case 315: /* "direct_declarator_function_start_type_ok" */
12552
12553 /* Line 1009 of yacc.c  */
12554 #line 219 "grammar.y"
12555         { FreeDeclarator((yyvaluep->declarator)); };
12556
12557 /* Line 1009 of yacc.c  */
12558 #line 12559 "grammar.ec"
12559         break;
12560       case 316: /* "direct_declarator_function_type_ok" */
12561
12562 /* Line 1009 of yacc.c  */
12563 #line 219 "grammar.y"
12564         { FreeDeclarator((yyvaluep->declarator)); };
12565
12566 /* Line 1009 of yacc.c  */
12567 #line 12568 "grammar.ec"
12568         break;
12569       case 317: /* "direct_declarator_function_error_type_ok" */
12570
12571 /* Line 1009 of yacc.c  */
12572 #line 219 "grammar.y"
12573         { FreeDeclarator((yyvaluep->declarator)); };
12574
12575 /* Line 1009 of yacc.c  */
12576 #line 12577 "grammar.ec"
12577         break;
12578       case 318: /* "direct_declarator_type_ok" */
12579
12580 /* Line 1009 of yacc.c  */
12581 #line 219 "grammar.y"
12582         { FreeDeclarator((yyvaluep->declarator)); };
12583
12584 /* Line 1009 of yacc.c  */
12585 #line 12586 "grammar.ec"
12586         break;
12587       case 319: /* "ext_decl" */
12588
12589 /* Line 1009 of yacc.c  */
12590 #line 273 "grammar.y"
12591         { FreeExtDecl((yyvaluep->extDecl)); };
12592
12593 /* Line 1009 of yacc.c  */
12594 #line 12595 "grammar.ec"
12595         break;
12596       case 321: /* "attribute_word" */
12597
12598 /* Line 1009 of yacc.c  */
12599 #line 248 "grammar.y"
12600         { delete (yyvaluep->string); };
12601
12602 /* Line 1009 of yacc.c  */
12603 #line 12604 "grammar.ec"
12604         break;
12605       case 322: /* "attribute" */
12606
12607 /* Line 1009 of yacc.c  */
12608 #line 274 "grammar.y"
12609         { FreeAttribute((yyvaluep->attribute)); };
12610
12611 /* Line 1009 of yacc.c  */
12612 #line 12613 "grammar.ec"
12613         break;
12614       case 323: /* "attribs_list" */
12615
12616 /* Line 1009 of yacc.c  */
12617 #line 275 "grammar.y"
12618         { FreeList((yyvaluep->list), FreeAttribute); };
12619
12620 /* Line 1009 of yacc.c  */
12621 #line 12622 "grammar.ec"
12622         break;
12623       case 324: /* "attrib" */
12624
12625 /* Line 1009 of yacc.c  */
12626 #line 272 "grammar.y"
12627         { FreeAttrib((yyvaluep->attrib)); };
12628
12629 /* Line 1009 of yacc.c  */
12630 #line 12631 "grammar.ec"
12631         break;
12632       case 325: /* "direct_abstract_declarator" */
12633
12634 /* Line 1009 of yacc.c  */
12635 #line 219 "grammar.y"
12636         { FreeDeclarator((yyvaluep->declarator)); };
12637
12638 /* Line 1009 of yacc.c  */
12639 #line 12640 "grammar.ec"
12640         break;
12641       case 326: /* "direct_abstract_declarator_noarray" */
12642
12643 /* Line 1009 of yacc.c  */
12644 #line 219 "grammar.y"
12645         { FreeDeclarator((yyvaluep->declarator)); };
12646
12647 /* Line 1009 of yacc.c  */
12648 #line 12649 "grammar.ec"
12649         break;
12650       case 327: /* "pointer" */
12651
12652 /* Line 1009 of yacc.c  */
12653 #line 201 "grammar.y"
12654         { FreePointer((yyvaluep->pointer)); };
12655
12656 /* Line 1009 of yacc.c  */
12657 #line 12658 "grammar.ec"
12658         break;
12659       case 328: /* "abstract_declarator" */
12660
12661 /* Line 1009 of yacc.c  */
12662 #line 219 "grammar.y"
12663         { FreeDeclarator((yyvaluep->declarator)); };
12664
12665 /* Line 1009 of yacc.c  */
12666 #line 12667 "grammar.ec"
12667         break;
12668       case 329: /* "abstract_declarator_noarray" */
12669
12670 /* Line 1009 of yacc.c  */
12671 #line 219 "grammar.y"
12672         { FreeDeclarator((yyvaluep->declarator)); };
12673
12674 /* Line 1009 of yacc.c  */
12675 #line 12676 "grammar.ec"
12676         break;
12677       case 330: /* "declarator" */
12678
12679 /* Line 1009 of yacc.c  */
12680 #line 219 "grammar.y"
12681         { FreeDeclarator((yyvaluep->declarator)); };
12682
12683 /* Line 1009 of yacc.c  */
12684 #line 12685 "grammar.ec"
12685         break;
12686       case 331: /* "declarator_type_ok" */
12687
12688 /* Line 1009 of yacc.c  */
12689 #line 219 "grammar.y"
12690         { FreeDeclarator((yyvaluep->declarator)); };
12691
12692 /* Line 1009 of yacc.c  */
12693 #line 12694 "grammar.ec"
12694         break;
12695       case 332: /* "declarator_function" */
12696
12697 /* Line 1009 of yacc.c  */
12698 #line 219 "grammar.y"
12699         { FreeDeclarator((yyvaluep->declarator)); };
12700
12701 /* Line 1009 of yacc.c  */
12702 #line 12703 "grammar.ec"
12703         break;
12704       case 333: /* "declarator_function_error" */
12705
12706 /* Line 1009 of yacc.c  */
12707 #line 219 "grammar.y"
12708         { FreeDeclarator((yyvaluep->declarator)); };
12709
12710 /* Line 1009 of yacc.c  */
12711 #line 12712 "grammar.ec"
12712         break;
12713       case 334: /* "declarator_function_type_ok" */
12714
12715 /* Line 1009 of yacc.c  */
12716 #line 219 "grammar.y"
12717         { FreeDeclarator((yyvaluep->declarator)); };
12718
12719 /* Line 1009 of yacc.c  */
12720 #line 12721 "grammar.ec"
12721         break;
12722       case 335: /* "declarator_function_error_type_ok" */
12723
12724 /* Line 1009 of yacc.c  */
12725 #line 219 "grammar.y"
12726         { FreeDeclarator((yyvaluep->declarator)); };
12727
12728 /* Line 1009 of yacc.c  */
12729 #line 12730 "grammar.ec"
12730         break;
12731       case 336: /* "declarator_nofunction_type_ok" */
12732
12733 /* Line 1009 of yacc.c  */
12734 #line 219 "grammar.y"
12735         { FreeDeclarator((yyvaluep->declarator)); };
12736
12737 /* Line 1009 of yacc.c  */
12738 #line 12739 "grammar.ec"
12739         break;
12740       case 337: /* "initializer" */
12741
12742 /* Line 1009 of yacc.c  */
12743 #line 225 "grammar.y"
12744         { FreeInitializer((yyvaluep->initializer)); };
12745
12746 /* Line 1009 of yacc.c  */
12747 #line 12748 "grammar.ec"
12748         break;
12749       case 338: /* "initializer_error" */
12750
12751 /* Line 1009 of yacc.c  */
12752 #line 225 "grammar.y"
12753         { FreeInitializer((yyvaluep->initializer)); };
12754
12755 /* Line 1009 of yacc.c  */
12756 #line 12757 "grammar.ec"
12757         break;
12758       case 339: /* "initializer_condition" */
12759
12760 /* Line 1009 of yacc.c  */
12761 #line 225 "grammar.y"
12762         { FreeInitializer((yyvaluep->initializer)); };
12763
12764 /* Line 1009 of yacc.c  */
12765 #line 12766 "grammar.ec"
12766         break;
12767       case 340: /* "initializer_condition_error" */
12768
12769 /* Line 1009 of yacc.c  */
12770 #line 225 "grammar.y"
12771         { FreeInitializer((yyvaluep->initializer)); };
12772
12773 /* Line 1009 of yacc.c  */
12774 #line 12775 "grammar.ec"
12775         break;
12776       case 341: /* "initializer_list" */
12777
12778 /* Line 1009 of yacc.c  */
12779 #line 257 "grammar.y"
12780         { FreeList((yyvaluep->list), FreeInitializer); };
12781
12782 /* Line 1009 of yacc.c  */
12783 #line 12784 "grammar.ec"
12784         break;
12785       case 342: /* "init_declarator" */
12786
12787 /* Line 1009 of yacc.c  */
12788 #line 226 "grammar.y"
12789         { FreeInitDeclarator((yyvaluep->initDeclarator)); };
12790
12791 /* Line 1009 of yacc.c  */
12792 #line 12793 "grammar.ec"
12793         break;
12794       case 343: /* "init_declarator_error" */
12795
12796 /* Line 1009 of yacc.c  */
12797 #line 226 "grammar.y"
12798         { FreeInitDeclarator((yyvaluep->initDeclarator)); };
12799
12800 /* Line 1009 of yacc.c  */
12801 #line 12802 "grammar.ec"
12802         break;
12803       case 344: /* "init_declarator_list" */
12804
12805 /* Line 1009 of yacc.c  */
12806 #line 258 "grammar.y"
12807         { FreeList((yyvaluep->list), FreeInitDeclarator); };
12808
12809 /* Line 1009 of yacc.c  */
12810 #line 12811 "grammar.ec"
12811         break;
12812       case 345: /* "init_declarator_list_error" */
12813
12814 /* Line 1009 of yacc.c  */
12815 #line 258 "grammar.y"
12816         { FreeList((yyvaluep->list), FreeInitDeclarator); };
12817
12818 /* Line 1009 of yacc.c  */
12819 #line 12820 "grammar.ec"
12820         break;
12821       case 346: /* "type_name" */
12822
12823 /* Line 1009 of yacc.c  */
12824 #line 227 "grammar.y"
12825         { FreeTypeName((yyvaluep->typeName)); };
12826
12827 /* Line 1009 of yacc.c  */
12828 #line 12829 "grammar.ec"
12829         break;
12830       case 347: /* "guess_type_name" */
12831
12832 /* Line 1009 of yacc.c  */
12833 #line 227 "grammar.y"
12834         { FreeTypeName((yyvaluep->typeName)); };
12835
12836 /* Line 1009 of yacc.c  */
12837 #line 12838 "grammar.ec"
12838         break;
12839       case 348: /* "parameter_declaration" */
12840
12841 /* Line 1009 of yacc.c  */
12842 #line 227 "grammar.y"
12843         { FreeTypeName((yyvaluep->typeName)); };
12844
12845 /* Line 1009 of yacc.c  */
12846 #line 12847 "grammar.ec"
12847         break;
12848       case 349: /* "parameter_declaration_error" */
12849
12850 /* Line 1009 of yacc.c  */
12851 #line 227 "grammar.y"
12852         { FreeTypeName((yyvaluep->typeName)); };
12853
12854 /* Line 1009 of yacc.c  */
12855 #line 12856 "grammar.ec"
12856         break;
12857       case 350: /* "parameter_list" */
12858
12859 /* Line 1009 of yacc.c  */
12860 #line 259 "grammar.y"
12861         { FreeList((yyvaluep->list), FreeTypeName); };
12862
12863 /* Line 1009 of yacc.c  */
12864 #line 12865 "grammar.ec"
12865         break;
12866       case 351: /* "parameter_list_error" */
12867
12868 /* Line 1009 of yacc.c  */
12869 #line 259 "grammar.y"
12870         { FreeList((yyvaluep->list), FreeTypeName); };
12871
12872 /* Line 1009 of yacc.c  */
12873 #line 12874 "grammar.ec"
12874         break;
12875       case 352: /* "parameter_type_list" */
12876
12877 /* Line 1009 of yacc.c  */
12878 #line 259 "grammar.y"
12879         { FreeList((yyvaluep->list), FreeTypeName); };
12880
12881 /* Line 1009 of yacc.c  */
12882 #line 12883 "grammar.ec"
12883         break;
12884       case 353: /* "parameter_type_list_error" */
12885
12886 /* Line 1009 of yacc.c  */
12887 #line 259 "grammar.y"
12888         { FreeList((yyvaluep->list), FreeTypeName); };
12889
12890 /* Line 1009 of yacc.c  */
12891 #line 12892 "grammar.ec"
12892         break;
12893       case 354: /* "statement" */
12894
12895 /* Line 1009 of yacc.c  */
12896 #line 228 "grammar.y"
12897         { FreeStatement((yyvaluep->stmt)); };
12898
12899 /* Line 1009 of yacc.c  */
12900 #line 12901 "grammar.ec"
12901         break;
12902       case 355: /* "statement_error" */
12903
12904 /* Line 1009 of yacc.c  */
12905 #line 228 "grammar.y"
12906         { FreeStatement((yyvaluep->stmt)); };
12907
12908 /* Line 1009 of yacc.c  */
12909 #line 12910 "grammar.ec"
12910         break;
12911       case 359: /* "labeled_statement" */
12912
12913 /* Line 1009 of yacc.c  */
12914 #line 228 "grammar.y"
12915         { FreeStatement((yyvaluep->stmt)); };
12916
12917 /* Line 1009 of yacc.c  */
12918 #line 12919 "grammar.ec"
12919         break;
12920       case 360: /* "labeled_statement_error" */
12921
12922 /* Line 1009 of yacc.c  */
12923 #line 228 "grammar.y"
12924         { FreeStatement((yyvaluep->stmt)); };
12925
12926 /* Line 1009 of yacc.c  */
12927 #line 12928 "grammar.ec"
12928         break;
12929       case 361: /* "declaration_mode" */
12930
12931 /* Line 1009 of yacc.c  */
12932 #line 271 "grammar.y"
12933         { };
12934
12935 /* Line 1009 of yacc.c  */
12936 #line 12937 "grammar.ec"
12937         break;
12938       case 363: /* "declaration" */
12939
12940 /* Line 1009 of yacc.c  */
12941 #line 232 "grammar.y"
12942         { FreeDeclaration((yyvaluep->declaration)); };
12943
12944 /* Line 1009 of yacc.c  */
12945 #line 12946 "grammar.ec"
12946         break;
12947       case 367: /* "declaration_list" */
12948
12949 /* Line 1009 of yacc.c  */
12950 #line 256 "grammar.y"
12951         { FreeList((yyvaluep->list), FreeDeclaration); };
12952
12953 /* Line 1009 of yacc.c  */
12954 #line 12955 "grammar.ec"
12955         break;
12956       case 368: /* "declaration_list_error" */
12957
12958 /* Line 1009 of yacc.c  */
12959 #line 256 "grammar.y"
12960         { FreeList((yyvaluep->list), FreeDeclaration); };
12961
12962 /* Line 1009 of yacc.c  */
12963 #line 12964 "grammar.ec"
12964         break;
12965       case 369: /* "statement_list" */
12966
12967 /* Line 1009 of yacc.c  */
12968 #line 260 "grammar.y"
12969         { FreeList((yyvaluep->list), FreeStatement); };
12970
12971 /* Line 1009 of yacc.c  */
12972 #line 12973 "grammar.ec"
12973         break;
12974       case 370: /* "statement_list_error" */
12975
12976 /* Line 1009 of yacc.c  */
12977 #line 260 "grammar.y"
12978         { FreeList((yyvaluep->list), FreeStatement); };
12979
12980 /* Line 1009 of yacc.c  */
12981 #line 12982 "grammar.ec"
12982         break;
12983       case 371: /* "compound_inside" */
12984
12985 /* Line 1009 of yacc.c  */
12986 #line 228 "grammar.y"
12987         { FreeStatement((yyvaluep->stmt)); };
12988
12989 /* Line 1009 of yacc.c  */
12990 #line 12991 "grammar.ec"
12991         break;
12992       case 372: /* "compound_inside_error" */
12993
12994 /* Line 1009 of yacc.c  */
12995 #line 228 "grammar.y"
12996         { FreeStatement((yyvaluep->stmt)); };
12997
12998 /* Line 1009 of yacc.c  */
12999 #line 13000 "grammar.ec"
13000         break;
13001       case 373: /* "compound_start" */
13002
13003 /* Line 1009 of yacc.c  */
13004 #line 265 "grammar.y"
13005         { PopContext((yyvaluep->context)); FreeContext((yyvaluep->context)); delete (yyvaluep->context); };
13006
13007 /* Line 1009 of yacc.c  */
13008 #line 13009 "grammar.ec"
13009         break;
13010       case 374: /* "compound_statement" */
13011
13012 /* Line 1009 of yacc.c  */
13013 #line 228 "grammar.y"
13014         { FreeStatement((yyvaluep->stmt)); };
13015
13016 /* Line 1009 of yacc.c  */
13017 #line 13018 "grammar.ec"
13018         break;
13019       case 375: /* "compound_statement_error" */
13020
13021 /* Line 1009 of yacc.c  */
13022 #line 228 "grammar.y"
13023         { FreeStatement((yyvaluep->stmt)); };
13024
13025 /* Line 1009 of yacc.c  */
13026 #line 13027 "grammar.ec"
13027         break;
13028       case 376: /* "expression_statement" */
13029
13030 /* Line 1009 of yacc.c  */
13031 #line 228 "grammar.y"
13032         { FreeStatement((yyvaluep->stmt)); };
13033
13034 /* Line 1009 of yacc.c  */
13035 #line 13036 "grammar.ec"
13036         break;
13037       case 377: /* "selection_statement" */
13038
13039 /* Line 1009 of yacc.c  */
13040 #line 228 "grammar.y"
13041         { FreeStatement((yyvaluep->stmt)); };
13042
13043 /* Line 1009 of yacc.c  */
13044 #line 13045 "grammar.ec"
13045         break;
13046       case 378: /* "selection_statement_error" */
13047
13048 /* Line 1009 of yacc.c  */
13049 #line 228 "grammar.y"
13050         { FreeStatement((yyvaluep->stmt)); };
13051
13052 /* Line 1009 of yacc.c  */
13053 #line 13054 "grammar.ec"
13054         break;
13055       case 379: /* "iteration_statement" */
13056
13057 /* Line 1009 of yacc.c  */
13058 #line 228 "grammar.y"
13059         { FreeStatement((yyvaluep->stmt)); };
13060
13061 /* Line 1009 of yacc.c  */
13062 #line 13063 "grammar.ec"
13063         break;
13064       case 380: /* "iteration_statement_error" */
13065
13066 /* Line 1009 of yacc.c  */
13067 #line 228 "grammar.y"
13068         { FreeStatement((yyvaluep->stmt)); };
13069
13070 /* Line 1009 of yacc.c  */
13071 #line 13072 "grammar.ec"
13072         break;
13073       case 381: /* "jump_statement" */
13074
13075 /* Line 1009 of yacc.c  */
13076 #line 228 "grammar.y"
13077         { FreeStatement((yyvaluep->stmt)); };
13078
13079 /* Line 1009 of yacc.c  */
13080 #line 13081 "grammar.ec"
13081         break;
13082       case 382: /* "jump_statement_error" */
13083
13084 /* Line 1009 of yacc.c  */
13085 #line 228 "grammar.y"
13086         { FreeStatement((yyvaluep->stmt)); };
13087
13088 /* Line 1009 of yacc.c  */
13089 #line 13090 "grammar.ec"
13090         break;
13091       case 383: /* "function_definition" */
13092
13093 /* Line 1009 of yacc.c  */
13094 #line 233 "grammar.y"
13095         { FreeFunction((yyvaluep->function)); };
13096
13097 /* Line 1009 of yacc.c  */
13098 #line 13099 "grammar.ec"
13099         break;
13100       case 384: /* "function_definition_error" */
13101
13102 /* Line 1009 of yacc.c  */
13103 #line 233 "grammar.y"
13104         { FreeFunction((yyvaluep->function)); };
13105
13106 /* Line 1009 of yacc.c  */
13107 #line 13108 "grammar.ec"
13108         break;
13109       case 385: /* "string_literal" */
13110
13111 /* Line 1009 of yacc.c  */
13112 #line 248 "grammar.y"
13113         { delete (yyvaluep->string); };
13114
13115 /* Line 1009 of yacc.c  */
13116 #line 13117 "grammar.ec"
13117         break;
13118       case 386: /* "external_declaration" */
13119
13120 /* Line 1009 of yacc.c  */
13121 #line 234 "grammar.y"
13122         { FreeExternal((yyvaluep->external)); };
13123
13124 /* Line 1009 of yacc.c  */
13125 #line 13126 "grammar.ec"
13126         break;
13127       case 387: /* "external_declaration_error" */
13128
13129 /* Line 1009 of yacc.c  */
13130 #line 234 "grammar.y"
13131         { FreeExternal((yyvaluep->external)); };
13132
13133 /* Line 1009 of yacc.c  */
13134 #line 13135 "grammar.ec"
13135         break;
13136       case 388: /* "translation_unit_error" */
13137
13138 /* Line 1009 of yacc.c  */
13139 #line 261 "grammar.y"
13140         { if((yyvaluep->list) != ast) FreeList((yyvaluep->list), FreeExternal); };
13141
13142 /* Line 1009 of yacc.c  */
13143 #line 13144 "grammar.ec"
13144         break;
13145       case 389: /* "translation_unit" */
13146
13147 /* Line 1009 of yacc.c  */
13148 #line 261 "grammar.y"
13149         { if((yyvaluep->list) != ast) FreeList((yyvaluep->list), FreeExternal); };
13150
13151 /* Line 1009 of yacc.c  */
13152 #line 13153 "grammar.ec"
13153         break;
13154
13155       default:
13156         break;
13157     }
13158 }
13159
13160 /* Prevent warnings from -Wmissing-prototypes.  */
13161 #ifdef YYPARSE_PARAM
13162 #if defined __STDC__ || defined __cplusplus
13163 int yyparse (void *YYPARSE_PARAM);
13164 #else
13165 int yyparse ();
13166 #endif
13167 #else /* ! YYPARSE_PARAM */
13168 #if defined __STDC__ || defined __cplusplus
13169 int yyparse (void);
13170 #else
13171 int yyparse ();
13172 #endif
13173 #endif /* ! YYPARSE_PARAM */
13174
13175
13176 /* The lookahead symbol.  */
13177 int yychar;
13178
13179 /* The semantic value of the lookahead symbol.  */
13180 YYSTYPE yylval;
13181
13182 /* Location data for the lookahead symbol.  */
13183 YYLTYPE yylloc;
13184
13185 /* Number of syntax errors so far.  */
13186 int yynerrs;
13187
13188
13189
13190 /*-------------------------.
13191 | yyparse or yypush_parse.  |
13192 `-------------------------*/
13193
13194 #ifdef YYPARSE_PARAM
13195 #if (defined __STDC__ || defined __C99__FUNC__ \
13196      || defined __cplusplus || defined _MSC_VER)
13197 int
13198 yyparse (void *YYPARSE_PARAM)
13199 #else
13200 int
13201 yyparse (YYPARSE_PARAM)
13202     void *YYPARSE_PARAM;
13203 #endif
13204 #else /* ! YYPARSE_PARAM */
13205 #if (defined __STDC__ || defined __C99__FUNC__ \
13206      || defined __cplusplus || defined _MSC_VER)
13207 int
13208 yyparse (void)
13209 #else
13210 int
13211 yyparse ()
13212
13213 #endif
13214 #endif
13215 {
13216
13217
13218     int yystate;
13219     /* Number of tokens to shift before error messages enabled.  */
13220     int yyerrstatus;
13221
13222     /* The stacks and their tools:
13223        `yyss': related to states.
13224        `yyvs': related to semantic values.
13225        `yyls': related to locations.
13226
13227        Refer to the stacks thru separate pointers, to allow yyoverflow
13228        to reallocate them elsewhere.  */
13229
13230     /* The state stack.  */
13231     yytype_int16 yyssa[YYINITDEPTH];
13232     yytype_int16 *yyss;
13233     yytype_int16 *yyssp;
13234
13235     /* The semantic value stack.  */
13236     YYSTYPE yyvsa[YYINITDEPTH];
13237     YYSTYPE *yyvs;
13238     YYSTYPE *yyvsp;
13239
13240     /* The location stack.  */
13241     YYLTYPE yylsa[YYINITDEPTH];
13242     YYLTYPE *yyls;
13243     YYLTYPE *yylsp;
13244
13245     /* The locations where the error started and ended.  */
13246     YYLTYPE yyerror_range[2];
13247
13248     YYSIZE_T yystacksize;
13249
13250   int yyn;
13251   int yyresult;
13252   /* Lookahead token as an internal (translated) token number.  */
13253   int yytoken;
13254   /* The variables used to return semantic value and location from the
13255      action routines.  */
13256   YYSTYPE yyval;
13257   YYLTYPE yyloc;
13258
13259 #if YYERROR_VERBOSE
13260   /* Buffer for error messages, and its allocated size.  */
13261   char yymsgbuf[128];
13262   char *yymsg = yymsgbuf;
13263   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
13264 #endif
13265
13266 #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
13267
13268   /* The number of symbols on the RHS of the reduced rule.
13269      Keep to zero when no symbol should be popped.  */
13270   int yylen = 0;
13271
13272   yytoken = 0;
13273   yyss = yyssa;
13274   yyvs = yyvsa;
13275   yyls = yylsa;
13276   yystacksize = YYINITDEPTH;
13277
13278   YYDPRINTF ((stderr, "Starting parse\n"));
13279
13280   yystate = 0;
13281   yyerrstatus = 0;
13282   yynerrs = 0;
13283   yychar = YYEMPTY; /* Cause a token to be read.  */
13284
13285   /* Initialize stack pointers.
13286      Waste one element of value and location stack
13287      so that they stay on the same level as the state stack.
13288      The wasted elements are never initialized.  */
13289   yyssp = yyss;
13290   yyvsp = yyvs;
13291   yylsp = yyls;
13292
13293 #if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
13294   /* Initialize the default location before parsing starts.  */
13295   yylloc.first_line   = yylloc.last_line   = 1;
13296   yylloc.first_column = yylloc.last_column = 1;
13297 #endif
13298
13299   goto yysetstate;
13300
13301 /*------------------------------------------------------------.
13302 | yynewstate -- Push a new state, which is found in yystate.  |
13303 `------------------------------------------------------------*/
13304  yynewstate:
13305   /* In all cases, when you get here, the value and location stacks
13306      have just been pushed.  So pushing a state here evens the stacks.  */
13307   yyssp++;
13308
13309  yysetstate:
13310   *yyssp = yystate;
13311
13312   if (yyss + yystacksize - 1 <= yyssp)
13313     {
13314       /* Get the current used size of the three stacks, in elements.  */
13315       YYSIZE_T yysize = yyssp - yyss + 1;
13316
13317 #ifdef yyoverflow
13318       {
13319         /* Give user a chance to reallocate the stack.  Use copies of
13320            these so that the &'s don't force the real ones into
13321            memory.  */
13322         YYSTYPE *yyvs1 = yyvs;
13323         yytype_int16 *yyss1 = yyss;
13324         YYLTYPE *yyls1 = yyls;
13325
13326         /* Each stack pointer address is followed by the size of the
13327            data in use in that stack, in bytes.  This used to be a
13328            conditional around just the two extra args, but that might
13329            be undefined if yyoverflow is a macro.  */
13330         yyoverflow (YY_("memory exhausted"),
13331                     &yyss1, yysize * sizeof (*yyssp),
13332                     &yyvs1, yysize * sizeof (*yyvsp),
13333                     &yyls1, yysize * sizeof (*yylsp),
13334                     &yystacksize);
13335
13336         yyls = yyls1;
13337         yyss = yyss1;
13338         yyvs = yyvs1;
13339       }
13340 #else /* no yyoverflow */
13341 # ifndef YYSTACK_RELOCATE
13342       goto yyexhaustedlab;
13343 # else
13344       /* Extend the stack our own way.  */
13345       if (YYMAXDEPTH <= yystacksize)
13346         goto yyexhaustedlab;
13347       yystacksize *= 2;
13348       if (YYMAXDEPTH < yystacksize)
13349         yystacksize = YYMAXDEPTH;
13350
13351       {
13352         yytype_int16 *yyss1 = yyss;
13353         union yyalloc *yyptr =
13354           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
13355         if (! yyptr)
13356           goto yyexhaustedlab;
13357         YYSTACK_RELOCATE (yyss_alloc, yyss);
13358         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
13359         YYSTACK_RELOCATE (yyls_alloc, yyls);
13360 #  undef YYSTACK_RELOCATE
13361         if (yyss1 != yyssa)
13362           YYSTACK_FREE (yyss1);
13363       }
13364 # endif
13365 #endif /* no yyoverflow */
13366
13367       yyssp = yyss + yysize - 1;
13368       yyvsp = yyvs + yysize - 1;
13369       yylsp = yyls + yysize - 1;
13370
13371       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
13372                   (unsigned long int) yystacksize));
13373
13374       if (yyss + yystacksize - 1 <= yyssp)
13375         YYABORT;
13376     }
13377
13378   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
13379
13380   if (yystate == YYFINAL)
13381     YYACCEPT;
13382
13383   goto yybackup;
13384
13385 /*-----------.
13386 | yybackup.  |
13387 `-----------*/
13388 yybackup:
13389
13390   /* Do appropriate processing given the current state.  Read a
13391      lookahead token if we need one and don't already have one.  */
13392
13393   /* First try to decide what to do without reference to lookahead token.  */
13394   yyn = yypact[yystate];
13395   if (yyn == YYPACT_NINF)
13396     goto yydefault;
13397
13398   /* Not known => get a lookahead token if don't already have one.  */
13399
13400   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
13401   if (yychar == YYEMPTY)
13402     {
13403       YYDPRINTF ((stderr, "Reading a token: "));
13404       yychar = YYLEX;
13405     }
13406
13407   if (yychar <= YYEOF)
13408     {
13409       yychar = yytoken = YYEOF;
13410       YYDPRINTF ((stderr, "Now at end of input.\n"));
13411     }
13412   else
13413     {
13414       yytoken = YYTRANSLATE (yychar);
13415       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
13416     }
13417
13418   /* If the proper action on seeing token YYTOKEN is to reduce or to
13419      detect an error, take that action.  */
13420   yyn += yytoken;
13421   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
13422     goto yydefault;
13423   yyn = yytable[yyn];
13424   if (yyn <= 0)
13425     {
13426       if (yyn == 0 || yyn == YYTABLE_NINF)
13427         goto yyerrlab;
13428       yyn = -yyn;
13429       goto yyreduce;
13430     }
13431
13432   /* Count tokens shifted since error; after three, turn off error
13433      status.  */
13434   if (yyerrstatus)
13435     yyerrstatus--;
13436
13437   /* Shift the lookahead token.  */
13438   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
13439
13440   /* Discard the shifted token.  */
13441   yychar = YYEMPTY;
13442
13443   yystate = yyn;
13444   *++yyvsp = yylval;
13445   *++yylsp = yylloc;
13446   goto yynewstate;
13447
13448
13449 /*-----------------------------------------------------------.
13450 | yydefault -- do the default action for the current state.  |
13451 `-----------------------------------------------------------*/
13452 yydefault:
13453   yyn = yydefact[yystate];
13454   if (yyn == 0)
13455     goto yyerrlab;
13456   goto yyreduce;
13457
13458
13459 /*-----------------------------.
13460 | yyreduce -- Do a reduction.  |
13461 `-----------------------------*/
13462 yyreduce:
13463   /* yyn is the number of a rule to reduce with.  */
13464   yylen = yyr2[yyn];
13465
13466   /* If YYLEN is nonzero, implement the default value of the action:
13467      `$$ = $1'.
13468
13469      Otherwise, the following line sets YYVAL to garbage.
13470      This behavior is undocumented and Bison
13471      users should not rely upon it.  Assigning to YYVAL
13472      unconditionally makes the parser a bit smaller, and it avoids a
13473      GCC warning that YYVAL may be used uninitialized.  */
13474   yyval = yyvsp[1-yylen];
13475
13476   /* Default location.  */
13477   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
13478   YY_REDUCE_PRINT (yyn);
13479   switch (yyn)
13480     {
13481         case 2:
13482
13483 /* Line 1464 of yacc.c  */
13484 #line 283 "grammar.y"
13485     {
13486       (yyval.specifier) = null;
13487       // if($1._class && !$1._class.name)
13488       if((yyvsp[(1) - (2)].id)._class)
13489       {
13490          char name[1024];
13491          strcpy(name,  (yyvsp[(1) - (2)].id)._class.name ? (yyvsp[(1) - (2)].id)._class.name : "");
13492          strcat(name, "::");
13493          strcat(name, (yyvsp[(1) - (2)].id).string);
13494          _DeclClass(name);
13495       }
13496       else
13497          _DeclClass((yyvsp[(1) - (2)].id).string);
13498
13499       FreeIdentifier((yyvsp[(1) - (2)].id));
13500
13501       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
13502       resetScannerPos(&(yylsp[(1) - (2)]).start);
13503       yyclearin;
13504
13505       YYPOPSTACK(1);
13506       yystate = *yyssp;
13507       YY_STACK_PRINT (yyss, yyssp);
13508       YYPOPSTACK(1);
13509       yystate = *yyssp;
13510       YY_STACK_PRINT (yyss, yyssp);
13511       goto yysetstate;
13512    ;}
13513     break;
13514
13515   case 3:
13516
13517 /* Line 1464 of yacc.c  */
13518 #line 312 "grammar.y"
13519     {
13520       (yyval.specifier) = null;
13521    #ifdef PRECOMPILER
13522       // if($1._class && !$1._class.name)
13523       if((yyvsp[(1) - (2)].id)._class)
13524       {
13525          char name[1024];
13526          strcpy(name,  (yyvsp[(1) - (2)].id)._class.name ? (yyvsp[(1) - (2)].id)._class.name : "");
13527          strcat(name, "::");
13528          strcat(name, (yyvsp[(1) - (2)].id).string);
13529          _DeclClass(name);
13530       }
13531       else
13532          _DeclClass((yyvsp[(1) - (2)].id).string);
13533
13534       FreeIdentifier((yyvsp[(1) - (2)].id));
13535
13536       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
13537       resetScannerPos(&(yylsp[(1) - (2)]).start);
13538       yyclearin;
13539
13540       YYPOPSTACK(1);
13541       yystate = *yyssp;
13542       YY_STACK_PRINT (yyss, yyssp);
13543       YYPOPSTACK(1);
13544       yystate = *yyssp;
13545       YY_STACK_PRINT (yyss, yyssp);
13546       goto yysetstate;
13547    #endif
13548    ;}
13549     break;
13550
13551   case 4:
13552
13553 /* Line 1464 of yacc.c  */
13554 #line 370 "grammar.y"
13555     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); ;}
13556     break;
13557
13558   case 5:
13559
13560 /* Line 1464 of yacc.c  */
13561 #line 372 "grammar.y"
13562     {
13563    #ifdef PRECOMPILER
13564       if(!(yyvsp[(1) - (2)].id).string[0])
13565       {
13566          (yyval.specifier) = MkSpecifierName((yyvsp[(1) - (2)].id).string);
13567          FreeIdentifier((yyvsp[(1) - (2)].id));
13568          FreeIdentifier((yyvsp[(2) - (2)].id));
13569       }
13570       else
13571       {
13572          // if($1._class && !$1._class.name)
13573          if((yyvsp[(1) - (2)].id)._class)
13574          {
13575             char name[1024];
13576             strcpy(name,  (yyvsp[(1) - (2)].id)._class.name ? (yyvsp[(1) - (2)].id)._class.name : "");
13577             strcat(name, "::");
13578             strcat(name, (yyvsp[(1) - (2)].id).string);
13579             _DeclClass(name);
13580          }
13581          else
13582             _DeclClass((yyvsp[(1) - (2)].id).string);
13583
13584          FreeIdentifier((yyvsp[(1) - (2)].id));
13585          FreeIdentifier((yyvsp[(2) - (2)].id));
13586
13587          fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
13588          resetScannerPos(&(yylsp[(1) - (2)]).start);
13589          yyclearin;
13590
13591          YYPOPSTACK(1);
13592          yystate = *yyssp;
13593          YY_STACK_PRINT (yyss, yyssp);
13594          YYPOPSTACK(1);
13595          yystate = *yyssp;
13596          YY_STACK_PRINT (yyss, yyssp);
13597          goto yysetstate;
13598    #else
13599          Location tmpLoc = yylloc; (yyval.specifier) = (yyvsp[(2) - (2)].id); yylloc = (yylsp[(1) - (2)]);
13600          Compiler_Error($"Not a type: %s\n", (yyvsp[(1) - (2)].id).string);
13601          yylloc = tmpLoc; (yyvsp[(2) - (2)].id).badID = (yyvsp[(1) - (2)].id);
13602    #endif
13603       }
13604    ;}
13605     break;
13606
13607   case 6:
13608
13609 /* Line 1464 of yacc.c  */
13610 #line 481 "grammar.y"
13611     { (yyval.specifier) = MkSpecifierName(yytext); ;}
13612     break;
13613
13614   case 7:
13615
13616 /* Line 1464 of yacc.c  */
13617 #line 485 "grammar.y"
13618     { (yyval.string) = CopyString(yytext); ;}
13619     break;
13620
13621   case 9:
13622
13623 /* Line 1464 of yacc.c  */
13624 #line 489 "grammar.y"
13625     { (yyval.specifier) = (yyvsp[(1) - (4)].specifier); SetClassTemplateArgs((yyval.specifier), (yyvsp[(3) - (4)].list)); (yyval.specifier).loc = (yyloc); ;}
13626     break;
13627
13628   case 10:
13629
13630 /* Line 1464 of yacc.c  */
13631 #line 491 "grammar.y"
13632     {
13633       (yyval.specifier) = (yyvsp[(1) - (4)].specifier);
13634       SetClassTemplateArgs((yyval.specifier), (yyvsp[(3) - (4)].list));
13635       (yyval.specifier).loc = (yyloc);
13636
13637       (yylsp[(4) - (4)]).end.pos--;
13638       fileInput.Seek((yylsp[(4) - (4)]).end.pos, start);
13639       resetScannerPos(&(yylsp[(4) - (4)]).end);
13640       yyclearin;
13641     ;}
13642     break;
13643
13644   case 11:
13645
13646 /* Line 1464 of yacc.c  */
13647 #line 540 "grammar.y"
13648     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
13649     break;
13650
13651   case 12:
13652
13653 /* Line 1464 of yacc.c  */
13654 #line 542 "grammar.y"
13655     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(1) - (1)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
13656     break;
13657
13658   case 13:
13659
13660 /* Line 1464 of yacc.c  */
13661 #line 547 "grammar.y"
13662     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (3)].list), null, null, null); (yyval.classFunction).isConstructor = true; (yyval.classFunction).loc = (yyloc); ;}
13663     break;
13664
13665   case 14:
13666
13667 /* Line 1464 of yacc.c  */
13668 #line 552 "grammar.y"
13669     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (4)].list), null, null, null); (yyval.classFunction).isDestructor = true; (yyval.classFunction).loc = (yyloc); ;}
13670     break;
13671
13672   case 15:
13673
13674 /* Line 1464 of yacc.c  */
13675 #line 557 "grammar.y"
13676     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (3)].list), null, (yyvsp[(3) - (3)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); ;}
13677     break;
13678
13679   case 16:
13680
13681 /* Line 1464 of yacc.c  */
13682 #line 559 "grammar.y"
13683     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); ;}
13684     break;
13685
13686   case 17:
13687
13688 /* Line 1464 of yacc.c  */
13689 #line 564 "grammar.y"
13690     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
13691     break;
13692
13693   case 18:
13694
13695 /* Line 1464 of yacc.c  */
13696 #line 566 "grammar.y"
13697     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(1) - (1)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
13698     break;
13699
13700   case 19:
13701
13702 /* Line 1464 of yacc.c  */
13703 #line 571 "grammar.y"
13704     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (3)].list), null, (yyvsp[(3) - (3)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); ;}
13705     break;
13706
13707   case 20:
13708
13709 /* Line 1464 of yacc.c  */
13710 #line 573 "grammar.y"
13711     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); ;}
13712     break;
13713
13714   case 21:
13715
13716 /* Line 1464 of yacc.c  */
13717 #line 578 "grammar.y"
13718     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13719     break;
13720
13721   case 22:
13722
13723 /* Line 1464 of yacc.c  */
13724 #line 580 "grammar.y"
13725     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13726     break;
13727
13728   case 23:
13729
13730 /* Line 1464 of yacc.c  */
13731 #line 582 "grammar.y"
13732     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); ;}
13733     break;
13734
13735   case 24:
13736
13737 /* Line 1464 of yacc.c  */
13738 #line 584 "grammar.y"
13739     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13740     break;
13741
13742   case 25:
13743
13744 /* Line 1464 of yacc.c  */
13745 #line 586 "grammar.y"
13746     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13747     break;
13748
13749   case 26:
13750
13751 /* Line 1464 of yacc.c  */
13752 #line 590 "grammar.y"
13753     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); ;}
13754     break;
13755
13756   case 27:
13757
13758 /* Line 1464 of yacc.c  */
13759 #line 594 "grammar.y"
13760     {
13761          if((yyvsp[(1) - (3)].classFunction).declarator)
13762          {
13763             (yyvsp[(1) - (3)].classFunction).declarator = MkStructDeclarator((yyvsp[(1) - (3)].classFunction).declarator, null);
13764             (yyvsp[(1) - (3)].classFunction).declarator.structDecl.attrib = (yyvsp[(2) - (3)].attrib);
13765          }
13766          ProcessClassFunctionBody((yyvsp[(1) - (3)].classFunction), null);
13767          (yyval.classFunction).loc = (yyloc);
13768       ;}
13769     break;
13770
13771   case 28:
13772
13773 /* Line 1464 of yacc.c  */
13774 #line 607 "grammar.y"
13775     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
13776     break;
13777
13778   case 29:
13779
13780 /* Line 1464 of yacc.c  */
13781 #line 609 "grammar.y"
13782     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13783     break;
13784
13785   case 30:
13786
13787 /* Line 1464 of yacc.c  */
13788 #line 611 "grammar.y"
13789     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
13790     break;
13791
13792   case 31:
13793
13794 /* Line 1464 of yacc.c  */
13795 #line 613 "grammar.y"
13796     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13797     break;
13798
13799   case 32:
13800
13801 /* Line 1464 of yacc.c  */
13802 #line 615 "grammar.y"
13803     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13804     break;
13805
13806   case 33:
13807
13808 /* Line 1464 of yacc.c  */
13809 #line 621 "grammar.y"
13810     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
13811     break;
13812
13813   case 34:
13814
13815 /* Line 1464 of yacc.c  */
13816 #line 623 "grammar.y"
13817     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, MkDeclaratorFunction((yyvsp[(2) - (2)].declarator), null), null); (yyval.classFunction).loc = (yyloc); ;}
13818     break;
13819
13820   case 35:
13821
13822 /* Line 1464 of yacc.c  */
13823 #line 628 "grammar.y"
13824     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
13825     break;
13826
13827   case 36:
13828
13829 /* Line 1464 of yacc.c  */
13830 #line 633 "grammar.y"
13831     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13832     break;
13833
13834   case 37:
13835
13836 /* Line 1464 of yacc.c  */
13837 #line 638 "grammar.y"
13838     { 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++;;}
13839     break;
13840
13841   case 38:
13842
13843 /* Line 1464 of yacc.c  */
13844 #line 640 "grammar.y"
13845     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13846     break;
13847
13848   case 39:
13849
13850 /* Line 1464 of yacc.c  */
13851 #line 642 "grammar.y"
13852     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13853     break;
13854
13855   case 40:
13856
13857 /* Line 1464 of yacc.c  */
13858 #line 646 "grammar.y"
13859     { (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;;}
13860     break;
13861
13862   case 41:
13863
13864 /* Line 1464 of yacc.c  */
13865 #line 647 "grammar.y"
13866     { (yyval.memberInit) = MkMemberInit(null, (yyvsp[(1) - (1)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc);;}
13867     break;
13868
13869   case 42:
13870
13871 /* Line 1464 of yacc.c  */
13872 #line 651 "grammar.y"
13873     { (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;;}
13874     break;
13875
13876   case 43:
13877
13878 /* Line 1464 of yacc.c  */
13879 #line 653 "grammar.y"
13880     {
13881          (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), MkInitializerAssignment(MkExpDummy()));
13882          (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yyval.memberInit).initializer.loc.end = (yylsp[(2) - (3)]).end;
13883
13884          fileInput.Seek((yylsp[(2) - (3)]).end.pos, start);
13885          yyclearin;
13886          resetScannerPos(&(yylsp[(2) - (3)]).end);
13887          (yyloc).start = (yylsp[(1) - (3)]).start;
13888          (yyloc).end = (yylsp[(2) - (3)]).end;
13889       ;}
13890     break;
13891
13892   case 44:
13893
13894 /* Line 1464 of yacc.c  */
13895 #line 663 "grammar.y"
13896     { (yyval.memberInit) = MkMemberInit(null, (yyvsp[(1) - (1)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc);;}
13897     break;
13898
13899   case 45:
13900
13901 /* Line 1464 of yacc.c  */
13902 #line 667 "grammar.y"
13903     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ;}
13904     break;
13905
13906   case 46:
13907
13908 /* Line 1464 of yacc.c  */
13909 #line 669 "grammar.y"
13910     { ((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); ;}
13911     break;
13912
13913   case 47:
13914
13915 /* Line 1464 of yacc.c  */
13916 #line 671 "grammar.y"
13917     { ((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); ;}
13918     break;
13919
13920   case 48:
13921
13922 /* Line 1464 of yacc.c  */
13923 #line 675 "grammar.y"
13924     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ;}
13925     break;
13926
13927   case 49:
13928
13929 /* Line 1464 of yacc.c  */
13930 #line 677 "grammar.y"
13931     { ((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); ;}
13932     break;
13933
13934   case 50:
13935
13936 /* Line 1464 of yacc.c  */
13937 #line 679 "grammar.y"
13938     { ((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); ;}
13939     break;
13940
13941   case 51:
13942
13943 /* Line 1464 of yacc.c  */
13944 #line 682 "grammar.y"
13945     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(2) - (3)]).end;
13946          {
13947             Initializer dummy = MkInitializerAssignment(MkExpDummy());
13948             MemberInit memberInit = MkMemberInit(null, dummy);
13949             memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(2) - (3)]).end;
13950             memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(2) - (3)]).end;
13951             ListAdd((yyvsp[(1) - (3)].list), memberInit);
13952           }
13953           (yyval.list) = (yyvsp[(1) - (3)].list);
13954        ;}
13955     break;
13956
13957   case 52:
13958
13959 /* Line 1464 of yacc.c  */
13960 #line 694 "grammar.y"
13961     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(2) - (3)]).end;
13962          {
13963             Initializer dummy = MkInitializerAssignment(MkExpDummy());
13964             MemberInit memberInit = MkMemberInit(null, dummy);
13965             memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(2) - (3)]).end;
13966             memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(2) - (3)]).end;
13967             ListAdd((yyvsp[(1) - (3)].list), memberInit);
13968           }
13969           (yyval.list) = (yyvsp[(1) - (3)].list);
13970        ;}
13971     break;
13972
13973   case 53:
13974
13975 /* Line 1464 of yacc.c  */
13976 #line 705 "grammar.y"
13977     {
13978          Initializer dummy = MkInitializerAssignment(MkExpDummy());
13979          MemberInit memberInit = MkMemberInit(null, dummy);
13980          memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(1) - (1)]).start;
13981          memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(1) - (1)]).start;
13982
13983          (yyval.list) = MkList();
13984          ListAdd((yyval.list), memberInit);
13985
13986          dummy = MkInitializerAssignment(MkExpDummy());
13987          memberInit = MkMemberInit(null, dummy);
13988          memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(1) - (1)]).end;
13989          memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(1) - (1)]).end;
13990          ListAdd((yyval.list), memberInit);
13991       ;}
13992     break;
13993
13994   case 54:
13995
13996 /* Line 1464 of yacc.c  */
13997 #line 724 "grammar.y"
13998     { if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13999     break;
14000
14001   case 55:
14002
14003 /* Line 1464 of yacc.c  */
14004 #line 726 "grammar.y"
14005     { if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14006     break;
14007
14008   case 56:
14009
14010 /* Line 1464 of yacc.c  */
14011 #line 730 "grammar.y"
14012     { MembersInit members = MkMembersInitList((yyvsp[(1) - (1)].list)); (yyval.list) = MkList(); ListAdd((yyval.list), members); members.loc = (yylsp[(1) - (1)]); ;}
14013     break;
14014
14015   case 57:
14016
14017 /* Line 1464 of yacc.c  */
14018 #line 731 "grammar.y"
14019     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(1) - (1)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
14020     break;
14021
14022   case 58:
14023
14024 /* Line 1464 of yacc.c  */
14025 #line 732 "grammar.y"
14026     { MembersInit members = MkMembersInitList((yyvsp[(2) - (2)].list)); ListAdd((yyval.list), members);  members.loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14027     break;
14028
14029   case 59:
14030
14031 /* Line 1464 of yacc.c  */
14032 #line 733 "grammar.y"
14033     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14034     break;
14035
14036   case 60:
14037
14038 /* Line 1464 of yacc.c  */
14039 #line 734 "grammar.y"
14040     { MembersInit members = MkMembersInitList((yyvsp[(2) - (2)].list)); ListAdd((yyval.list), members); members.loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14041     break;
14042
14043   case 61:
14044
14045 /* Line 1464 of yacc.c  */
14046 #line 735 "grammar.y"
14047     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14048     break;
14049
14050   case 63:
14051
14052 /* Line 1464 of yacc.c  */
14053 #line 738 "grammar.y"
14054     {
14055       MembersInit members = (MembersInit)(yyval.list)->last;
14056       if(members.type == dataMembersInit)
14057          members.loc.end = (yyloc).end;
14058       else
14059       {
14060          MembersInit members = MkMembersInitList(MkList());
14061          ListAdd((yyval.list), members);
14062          members.loc = (yylsp[(2) - (2)]);
14063       }
14064       (yyval.list) = (yyvsp[(1) - (2)].list);
14065    ;}
14066     break;
14067
14068   case 64:
14069
14070 /* Line 1464 of yacc.c  */
14071 #line 750 "grammar.y"
14072     { MembersInit members = MkMembersInitList(MkList()); (yyval.list) = MkList(); ListAdd((yyval.list), members); members.loc = (yylsp[(1) - (1)]);  ;}
14073     break;
14074
14075   case 66:
14076
14077 /* Line 1464 of yacc.c  */
14078 #line 755 "grammar.y"
14079     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (1)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
14080     break;
14081
14082   case 67:
14083
14084 /* Line 1464 of yacc.c  */
14085 #line 756 "grammar.y"
14086     { ListAdd((yyvsp[(1) - (2)].list), MkMembersInitList((yyvsp[(2) - (2)].list)));   ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
14087     break;
14088
14089   case 68:
14090
14091 /* Line 1464 of yacc.c  */
14092 #line 757 "grammar.y"
14093     { ListAdd((yyvsp[(1) - (2)].list), MkMembersInitList((yyvsp[(2) - (2)].list)));   ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
14094     break;
14095
14096   case 69:
14097
14098 /* Line 1464 of yacc.c  */
14099 #line 761 "grammar.y"
14100     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(1) - (1)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
14101     break;
14102
14103   case 70:
14104
14105 /* Line 1464 of yacc.c  */
14106 #line 762 "grammar.y"
14107     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14108     break;
14109
14110   case 71:
14111
14112 /* Line 1464 of yacc.c  */
14113 #line 763 "grammar.y"
14114     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14115     break;
14116
14117   case 72:
14118
14119 /* Line 1464 of yacc.c  */
14120 #line 764 "grammar.y"
14121     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14122     break;
14123
14124   case 73:
14125
14126 /* Line 1464 of yacc.c  */
14127 #line 765 "grammar.y"
14128     { ListAdd((yyval.list), MkMembersInitList((yyvsp[(2) - (2)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14129     break;
14130
14131   case 74:
14132
14133 /* Line 1464 of yacc.c  */
14134 #line 766 "grammar.y"
14135     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (1)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
14136     break;
14137
14138   case 75:
14139
14140 /* Line 1464 of yacc.c  */
14141 #line 767 "grammar.y"
14142     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (2)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
14143     break;
14144
14145   case 76:
14146
14147 /* Line 1464 of yacc.c  */
14148 #line 772 "grammar.y"
14149     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; (yyval.instance) = (yyvsp[(1) - (2)].instance); ;}
14150     break;
14151
14152   case 77:
14153
14154 /* Line 1464 of yacc.c  */
14155 #line 774 "grammar.y"
14156     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; (yyval.instance) = (yyvsp[(1) - (3)].instance); ;}
14157     break;
14158
14159   case 78:
14160
14161 /* Line 1464 of yacc.c  */
14162 #line 779 "grammar.y"
14163     { (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++; ;}
14164     break;
14165
14166   case 79:
14167
14168 /* Line 1464 of yacc.c  */
14169 #line 781 "grammar.y"
14170     { (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++; ;}
14171     break;
14172
14173   case 80:
14174
14175 /* Line 1464 of yacc.c  */
14176 #line 783 "grammar.y"
14177     { (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++; ;}
14178     break;
14179
14180   case 81:
14181
14182 /* Line 1464 of yacc.c  */
14183 #line 785 "grammar.y"
14184     { (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++; ;}
14185     break;
14186
14187   case 82:
14188
14189 /* Line 1464 of yacc.c  */
14190 #line 787 "grammar.y"
14191     { (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++; ;}
14192     break;
14193
14194   case 83:
14195
14196 /* Line 1464 of yacc.c  */
14197 #line 817 "grammar.y"
14198     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
14199     break;
14200
14201   case 84:
14202
14203 /* Line 1464 of yacc.c  */
14204 #line 819 "grammar.y"
14205     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
14206     break;
14207
14208   case 85:
14209
14210 /* Line 1464 of yacc.c  */
14211 #line 824 "grammar.y"
14212     { (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++; ;}
14213     break;
14214
14215   case 86:
14216
14217 /* Line 1464 of yacc.c  */
14218 #line 826 "grammar.y"
14219     { (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++; ;}
14220     break;
14221
14222   case 87:
14223
14224 /* Line 1464 of yacc.c  */
14225 #line 828 "grammar.y"
14226     { (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++; ;}
14227     break;
14228
14229   case 88:
14230
14231 /* Line 1464 of yacc.c  */
14232 #line 830 "grammar.y"
14233     { (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++; ;}
14234     break;
14235
14236   case 89:
14237
14238 /* Line 1464 of yacc.c  */
14239 #line 832 "grammar.y"
14240     { (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++; ;}
14241     break;
14242
14243   case 90:
14244
14245 /* Line 1464 of yacc.c  */
14246 #line 861 "grammar.y"
14247     { (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;;}
14248     break;
14249
14250   case 91:
14251
14252 /* Line 1464 of yacc.c  */
14253 #line 863 "grammar.y"
14254     { (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;;}
14255     break;
14256
14257   case 92:
14258
14259 /* Line 1464 of yacc.c  */
14260 #line 865 "grammar.y"
14261     { (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;;}
14262     break;
14263
14264   case 93:
14265
14266 /* Line 1464 of yacc.c  */
14267 #line 870 "grammar.y"
14268     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; (yyval.instance) = (yyvsp[(1) - (2)].instance); ;}
14269     break;
14270
14271   case 94:
14272
14273 /* Line 1464 of yacc.c  */
14274 #line 872 "grammar.y"
14275     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; (yyval.instance) = (yyvsp[(1) - (3)].instance); ;}
14276     break;
14277
14278   case 95:
14279
14280 /* Line 1464 of yacc.c  */
14281 #line 877 "grammar.y"
14282     { (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++; ;}
14283     break;
14284
14285   case 96:
14286
14287 /* Line 1464 of yacc.c  */
14288 #line 879 "grammar.y"
14289     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
14290       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)); ;}
14291     break;
14292
14293   case 97:
14294
14295 /* Line 1464 of yacc.c  */
14296 #line 883 "grammar.y"
14297     { (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++; ;}
14298     break;
14299
14300   case 98:
14301
14302 /* Line 1464 of yacc.c  */
14303 #line 885 "grammar.y"
14304     { (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++; ;}
14305     break;
14306
14307   case 99:
14308
14309 /* Line 1464 of yacc.c  */
14310 #line 887 "grammar.y"
14311     { (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++; ;}
14312     break;
14313
14314   case 100:
14315
14316 /* Line 1464 of yacc.c  */
14317 #line 889 "grammar.y"
14318     { (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++;  ;}
14319     break;
14320
14321   case 101:
14322
14323 /* Line 1464 of yacc.c  */
14324 #line 894 "grammar.y"
14325     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
14326       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)); ;}
14327     break;
14328
14329   case 102:
14330
14331 /* Line 1464 of yacc.c  */
14332 #line 897 "grammar.y"
14333     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (2)]);
14334       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)); ;}
14335     break;
14336
14337   case 103:
14338
14339 /* Line 1464 of yacc.c  */
14340 #line 900 "grammar.y"
14341     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (4)]);
14342       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)); ;}
14343     break;
14344
14345   case 104:
14346
14347 /* Line 1464 of yacc.c  */
14348 #line 903 "grammar.y"
14349     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
14350       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)); ;}
14351     break;
14352
14353   case 105:
14354
14355 /* Line 1464 of yacc.c  */
14356 #line 968 "grammar.y"
14357     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
14358     break;
14359
14360   case 106:
14361
14362 /* Line 1464 of yacc.c  */
14363 #line 970 "grammar.y"
14364     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
14365     break;
14366
14367   case 107:
14368
14369 /* Line 1464 of yacc.c  */
14370 #line 975 "grammar.y"
14371     { (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++; ;}
14372     break;
14373
14374   case 108:
14375
14376 /* Line 1464 of yacc.c  */
14377 #line 977 "grammar.y"
14378     { (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++; ;}
14379     break;
14380
14381   case 109:
14382
14383 /* Line 1464 of yacc.c  */
14384 #line 979 "grammar.y"
14385     { (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++;  ;}
14386     break;
14387
14388   case 110:
14389
14390 /* Line 1464 of yacc.c  */
14391 #line 981 "grammar.y"
14392     { (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++; ;}
14393     break;
14394
14395   case 111:
14396
14397 /* Line 1464 of yacc.c  */
14398 #line 983 "grammar.y"
14399     { (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++; ;}
14400     break;
14401
14402   case 112:
14403
14404 /* Line 1464 of yacc.c  */
14405 #line 1013 "grammar.y"
14406     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); ;}
14407     break;
14408
14409   case 113:
14410
14411 /* Line 1464 of yacc.c  */
14412 #line 1017 "grammar.y"
14413     { (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; ;}
14414     break;
14415
14416   case 114:
14417
14418 /* Line 1464 of yacc.c  */
14419 #line 1018 "grammar.y"
14420     { (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; ;}
14421     break;
14422
14423   case 115:
14424
14425 /* Line 1464 of yacc.c  */
14426 #line 1019 "grammar.y"
14427     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (2)].exp), null); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); ;}
14428     break;
14429
14430   case 116:
14431
14432 /* Line 1464 of yacc.c  */
14433 #line 1023 "grammar.y"
14434     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ((MemberInit)(yyval.list)->last).loc = (yyloc); ;}
14435     break;
14436
14437   case 117:
14438
14439 /* Line 1464 of yacc.c  */
14440 #line 1024 "grammar.y"
14441     { ((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); ;}
14442     break;
14443
14444   case 118:
14445
14446 /* Line 1464 of yacc.c  */
14447 #line 1025 "grammar.y"
14448     { ((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); ;}
14449     break;
14450
14451   case 119:
14452
14453 /* Line 1464 of yacc.c  */
14454 #line 1029 "grammar.y"
14455     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ((MemberInit)(yyval.list)->last).loc = (yyloc); ;}
14456     break;
14457
14458   case 120:
14459
14460 /* Line 1464 of yacc.c  */
14461 #line 1030 "grammar.y"
14462     { ((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); ;}
14463     break;
14464
14465   case 121:
14466
14467 /* Line 1464 of yacc.c  */
14468 #line 1031 "grammar.y"
14469     { ((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); ;}
14470     break;
14471
14472   case 123:
14473
14474 /* Line 1464 of yacc.c  */
14475 #line 1037 "grammar.y"
14476     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), null, (yyvsp[(3) - (4)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14477     break;
14478
14479   case 124:
14480
14481 /* Line 1464 of yacc.c  */
14482 #line 1040 "grammar.y"
14483     { (yyval.prop) = MkProperty((yyvsp[(2) - (5)].list), (yyvsp[(3) - (5)].declarator), (yyvsp[(4) - (5)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14484     break;
14485
14486   case 125:
14487
14488 /* Line 1464 of yacc.c  */
14489 #line 1043 "grammar.y"
14490     { (yyval.prop) = MkProperty((yyvsp[(2) - (3)].list), null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14491     break;
14492
14493   case 126:
14494
14495 /* Line 1464 of yacc.c  */
14496 #line 1046 "grammar.y"
14497     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].declarator), null, null, null); (yyval.prop).loc = (yyloc); ;}
14498     break;
14499
14500   case 127:
14501
14502 /* Line 1464 of yacc.c  */
14503 #line 1049 "grammar.y"
14504     { (yyval.prop) = MkProperty(null, null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14505     break;
14506
14507   case 129:
14508
14509 /* Line 1464 of yacc.c  */
14510 #line 1055 "grammar.y"
14511     { (yyvsp[(1) - (3)].prop).setStmt = (yyvsp[(3) - (3)].stmt); ;}
14512     break;
14513
14514   case 130:
14515
14516 /* Line 1464 of yacc.c  */
14517 #line 1057 "grammar.y"
14518     { (yyvsp[(1) - (3)].prop).getStmt = (yyvsp[(3) - (3)].stmt); ;}
14519     break;
14520
14521   case 131:
14522
14523 /* Line 1464 of yacc.c  */
14524 #line 1059 "grammar.y"
14525     { (yyvsp[(1) - (3)].prop).issetStmt = (yyvsp[(3) - (3)].stmt); ;}
14526     break;
14527
14528   case 132:
14529
14530 /* Line 1464 of yacc.c  */
14531 #line 1061 "grammar.y"
14532     { (yyvsp[(1) - (2)].prop).isWatchable = true; ;}
14533     break;
14534
14535   case 133:
14536
14537 /* Line 1464 of yacc.c  */
14538 #line 1063 "grammar.y"
14539     { (yyvsp[(1) - (3)].prop).category = (yyvsp[(3) - (3)].exp); ;}
14540     break;
14541
14542   case 134:
14543
14544 /* Line 1464 of yacc.c  */
14545 #line 1067 "grammar.y"
14546     { (yyvsp[(1) - (2)].prop).loc.end = (yylsp[(2) - (2)]).end; (yyval.prop) = (yyvsp[(1) - (2)].prop); ;}
14547     break;
14548
14549   case 135:
14550
14551 /* Line 1464 of yacc.c  */
14552 #line 1072 "grammar.y"
14553     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), null, (yyvsp[(3) - (4)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14554     break;
14555
14556   case 136:
14557
14558 /* Line 1464 of yacc.c  */
14559 #line 1075 "grammar.y"
14560     { (yyval.prop) = MkProperty((yyvsp[(2) - (5)].list), (yyvsp[(3) - (5)].declarator), (yyvsp[(4) - (5)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14561     break;
14562
14563   case 137:
14564
14565 /* Line 1464 of yacc.c  */
14566 #line 1078 "grammar.y"
14567     { (yyval.prop) = MkProperty((yyvsp[(2) - (3)].list), null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14568     break;
14569
14570   case 138:
14571
14572 /* Line 1464 of yacc.c  */
14573 #line 1081 "grammar.y"
14574     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].declarator), null, null, null); (yyval.prop).loc = (yyloc); ;}
14575     break;
14576
14577   case 139:
14578
14579 /* Line 1464 of yacc.c  */
14580 #line 1084 "grammar.y"
14581     { (yyval.prop) = MkProperty(null, null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14582     break;
14583
14584   case 141:
14585
14586 /* Line 1464 of yacc.c  */
14587 #line 1090 "grammar.y"
14588     { (yyvsp[(1) - (3)].prop).setStmt = (yyvsp[(3) - (3)].stmt); ;}
14589     break;
14590
14591   case 142:
14592
14593 /* Line 1464 of yacc.c  */
14594 #line 1092 "grammar.y"
14595     { (yyvsp[(1) - (3)].prop).getStmt = (yyvsp[(3) - (3)].stmt); ;}
14596     break;
14597
14598   case 143:
14599
14600 /* Line 1464 of yacc.c  */
14601 #line 1096 "grammar.y"
14602     { (yyvsp[(1) - (2)].prop).loc.end = (yylsp[(2) - (2)]).end; ;}
14603     break;
14604
14605   case 144:
14606
14607 /* Line 1464 of yacc.c  */
14608 #line 1101 "grammar.y"
14609     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].id)); ;}
14610     break;
14611
14612   case 145:
14613
14614 /* Line 1464 of yacc.c  */
14615 #line 1103 "grammar.y"
14616     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].id)); ;}
14617     break;
14618
14619   case 146:
14620
14621 /* Line 1464 of yacc.c  */
14622 #line 1108 "grammar.y"
14623     { (yyval.propertyWatch) = MkPropertyWatch((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
14624     break;
14625
14626   case 147:
14627
14628 /* Line 1464 of yacc.c  */
14629 #line 1110 "grammar.y"
14630     { (yyval.propertyWatch) = MkDeleteWatch((yyvsp[(2) - (2)].stmt)); ;}
14631     break;
14632
14633   case 148:
14634
14635 /* Line 1464 of yacc.c  */
14636 #line 1115 "grammar.y"
14637     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].propertyWatch)); ;}
14638     break;
14639
14640   case 149:
14641
14642 /* Line 1464 of yacc.c  */
14643 #line 1117 "grammar.y"
14644     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].propertyWatch)); ;}
14645     break;
14646
14647   case 150:
14648
14649 /* Line 1464 of yacc.c  */
14650 #line 1122 "grammar.y"
14651     { (yyval.propertyWatch) = MkPropertyWatch((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); ;}
14652     break;
14653
14654   case 151:
14655
14656 /* Line 1464 of yacc.c  */
14657 #line 1127 "grammar.y"
14658     { (yyval.stmt) = MkWatchStmt(null, (yyvsp[(3) - (7)].exp), (yyvsp[(6) - (7)].list)); ;}
14659     break;
14660
14661   case 152:
14662
14663 /* Line 1464 of yacc.c  */
14664 #line 1129 "grammar.y"
14665     { (yyval.stmt) = MkWatchStmt((yyvsp[(1) - (9)].exp), (yyvsp[(5) - (9)].exp), (yyvsp[(8) - (9)].list)); ;}
14666     break;
14667
14668   case 153:
14669
14670 /* Line 1464 of yacc.c  */
14671 #line 1134 "grammar.y"
14672     { (yyval.stmt) = MkStopWatchingStmt(null, (yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].list)); ;}
14673     break;
14674
14675   case 154:
14676
14677 /* Line 1464 of yacc.c  */
14678 #line 1136 "grammar.y"
14679     { (yyval.stmt) = MkStopWatchingStmt((yyvsp[(1) - (8)].exp), (yyvsp[(5) - (8)].exp), (yyvsp[(7) - (8)].list)); ;}
14680     break;
14681
14682   case 155:
14683
14684 /* Line 1464 of yacc.c  */
14685 #line 1138 "grammar.y"
14686     { (yyval.stmt) = MkStopWatchingStmt(null, (yyvsp[(3) - (4)].exp), null); ;}
14687     break;
14688
14689   case 156:
14690
14691 /* Line 1464 of yacc.c  */
14692 #line 1140 "grammar.y"
14693     { (yyval.stmt) = MkStopWatchingStmt((yyvsp[(1) - (6)].exp), (yyvsp[(5) - (6)].exp), null); ;}
14694     break;
14695
14696   case 157:
14697
14698 /* Line 1464 of yacc.c  */
14699 #line 1145 "grammar.y"
14700     { (yyval.stmt) = MkFireWatchersStmt(null, null); ;}
14701     break;
14702
14703   case 158:
14704
14705 /* Line 1464 of yacc.c  */
14706 #line 1147 "grammar.y"
14707     { (yyval.stmt) = MkFireWatchersStmt(null, (yyvsp[(2) - (2)].list)); ;}
14708     break;
14709
14710   case 159:
14711
14712 /* Line 1464 of yacc.c  */
14713 #line 1149 "grammar.y"
14714     { (yyval.stmt) = MkFireWatchersStmt((yyvsp[(1) - (3)].exp), null); ;}
14715     break;
14716
14717   case 160:
14718
14719 /* Line 1464 of yacc.c  */
14720 #line 1151 "grammar.y"
14721     { (yyval.stmt) = MkFireWatchersStmt((yyvsp[(1) - (4)].exp), (yyvsp[(4) - (4)].list)); ;}
14722     break;
14723
14724   case 161:
14725
14726 /* Line 1464 of yacc.c  */
14727 #line 1155 "grammar.y"
14728     { (yyval.classDef) = (yyvsp[(1) - (2)].classDef); (yyval.classDef).loc.end = (yylsp[(2) - (2)]).end; ;}
14729     break;
14730
14731   case 162:
14732
14733 /* Line 1464 of yacc.c  */
14734 #line 1156 "grammar.y"
14735     { (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); ;}
14736     break;
14737
14738   case 163:
14739
14740 /* Line 1464 of yacc.c  */
14741 #line 1157 "grammar.y"
14742     { (yyval.classDef) = MkClassDefFunction((yyvsp[(1) - (1)].classFunction)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14743     break;
14744
14745   case 164:
14746
14747 /* Line 1464 of yacc.c  */
14748 #line 1158 "grammar.y"
14749     { (yyval.classDef) = MkClassDefProperty((yyvsp[(1) - (1)].prop)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14750     break;
14751
14752   case 165:
14753
14754 /* Line 1464 of yacc.c  */
14755 #line 1159 "grammar.y"
14756     { (yyval.classDef) = MkClassDefFunction((yyvsp[(2) - (2)].classFunction)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14757     break;
14758
14759   case 166:
14760
14761 /* Line 1464 of yacc.c  */
14762 #line 1160 "grammar.y"
14763     { (yyval.classDef) = MkClassDefProperty((yyvsp[(2) - (2)].prop)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14764     break;
14765
14766   case 167:
14767
14768 /* Line 1464 of yacc.c  */
14769 #line 1161 "grammar.y"
14770     { (yyval.classDef) = MkClassDefClassProperty((yyvsp[(1) - (1)].prop)); (yyval.classDef).loc = (yyloc); ;}
14771     break;
14772
14773   case 168:
14774
14775 /* Line 1464 of yacc.c  */
14776 #line 1162 "grammar.y"
14777     { (yyval.classDef) = null; deleteWatchable = true; ;}
14778     break;
14779
14780   case 169:
14781
14782 /* Line 1464 of yacc.c  */
14783 #line 1163 "grammar.y"
14784     { (yyval.classDef) = MkClassDefNoExpansion(); ;}
14785     break;
14786
14787   case 170:
14788
14789 /* Line 1464 of yacc.c  */
14790 #line 1164 "grammar.y"
14791     { (yyval.classDef) = MkClassDefFixed(); ;}
14792     break;
14793
14794   case 171:
14795
14796 /* Line 1464 of yacc.c  */
14797 #line 1165 "grammar.y"
14798     { (yyval.classDef) = MkClassDefClassPropertyValue((yyvsp[(3) - (7)].id), (yyvsp[(6) - (7)].initializer)); (yyval.classDef).loc = (yyloc); ;}
14799     break;
14800
14801   case 172:
14802
14803 /* Line 1464 of yacc.c  */
14804 #line 1167 "grammar.y"
14805     { (yyval.classDef) = null; ;}
14806     break;
14807
14808   case 173:
14809
14810 /* Line 1464 of yacc.c  */
14811 #line 1168 "grammar.y"
14812     { 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; ;}
14813     break;
14814
14815   case 174:
14816
14817 /* Line 1464 of yacc.c  */
14818 #line 1170 "grammar.y"
14819     { (yyval.classDef) = MkClassDefAccessOverride((yyvsp[(1) - (4)].declMode), (yyvsp[(3) - (4)].id)); (yyval.classDef).loc = (yyloc); ;}
14820     break;
14821
14822   case 175:
14823
14824 /* Line 1464 of yacc.c  */
14825 #line 1174 "grammar.y"
14826     { (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]; ;}
14827     break;
14828
14829   case 176:
14830
14831 /* Line 1464 of yacc.c  */
14832 #line 1177 "grammar.y"
14833     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(1) - (1)].list), null, null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14834     break;
14835
14836   case 177:
14837
14838 /* Line 1464 of yacc.c  */
14839 #line 1178 "grammar.y"
14840     { (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]; ;}
14841     break;
14842
14843   case 178:
14844
14845 /* Line 1464 of yacc.c  */
14846 #line 1179 "grammar.y"
14847     { (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); ;}
14848     break;
14849
14850   case 179:
14851
14852 /* Line 1464 of yacc.c  */
14853 #line 1180 "grammar.y"
14854     { (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); ;}
14855     break;
14856
14857   case 180:
14858
14859 /* Line 1464 of yacc.c  */
14860 #line 1181 "grammar.y"
14861     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14862     break;
14863
14864   case 181:
14865
14866 /* Line 1464 of yacc.c  */
14867 #line 1182 "grammar.y"
14868     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14869     break;
14870
14871   case 182:
14872
14873 /* Line 1464 of yacc.c  */
14874 #line 1183 "grammar.y"
14875     { (yyval.classDef) = MkClassDefClassData(MkStructDeclaration((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].list), null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); ;}
14876     break;
14877
14878   case 183:
14879
14880 /* Line 1464 of yacc.c  */
14881 #line 1184 "grammar.y"
14882     { (yyval.classDef) = MkClassDefPropertyWatch((yyvsp[(1) - (1)].propertyWatch)); (yyval.classDef).loc = (yyloc); ;}
14883     break;
14884
14885   case 184:
14886
14887 /* Line 1464 of yacc.c  */
14888 #line 1185 "grammar.y"
14889     { (yyval.classDef) = MkClassDefDesigner((yyvsp[(2) - (2)].id).string); FreeIdentifier((yyvsp[(2) - (2)].id)); ;}
14890     break;
14891
14892   case 185:
14893
14894 /* Line 1464 of yacc.c  */
14895 #line 1186 "grammar.y"
14896     { (yyval.classDef) = MkClassDefDesigner((yyvsp[(2) - (2)].specifier).name); FreeSpecifier((yyvsp[(2) - (2)].specifier)); ;}
14897     break;
14898
14899   case 186:
14900
14901 /* Line 1464 of yacc.c  */
14902 #line 1187 "grammar.y"
14903     { (yyval.classDef) = MkClassDefDesignerDefaultProperty((yyvsp[(2) - (2)].id)); ;}
14904     break;
14905
14906   case 187:
14907
14908 /* Line 1464 of yacc.c  */
14909 #line 1188 "grammar.y"
14910     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (1)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14911     break;
14912
14913   case 188:
14914
14915 /* Line 1464 of yacc.c  */
14916 #line 1189 "grammar.y"
14917     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (1)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14918     break;
14919
14920   case 189:
14921
14922 /* Line 1464 of yacc.c  */
14923 #line 1190 "grammar.y"
14924     { (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); ;}
14925     break;
14926
14927   case 190:
14928
14929 /* Line 1464 of yacc.c  */
14930 #line 1192 "grammar.y"
14931     { (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]; ;}
14932     break;
14933
14934   case 191:
14935
14936 /* Line 1464 of yacc.c  */
14937 #line 1193 "grammar.y"
14938     { (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]; ;}
14939     break;
14940
14941   case 192:
14942
14943 /* Line 1464 of yacc.c  */
14944 #line 1197 "grammar.y"
14945     { (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); ;}
14946     break;
14947
14948   case 193:
14949
14950 /* Line 1464 of yacc.c  */
14951 #line 1198 "grammar.y"
14952     { (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); ;}
14953     break;
14954
14955   case 194:
14956
14957 /* Line 1464 of yacc.c  */
14958 #line 1199 "grammar.y"
14959     { (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); ;}
14960     break;
14961
14962   case 195:
14963
14964 /* Line 1464 of yacc.c  */
14965 #line 1203 "grammar.y"
14966     { (yyval.classDef) = MkClassDefDefaultProperty((yyvsp[(1) - (1)].list)); (yyval.classDef).loc = (yyloc);  (yyval.classDef).loc.end.charPos++; (yyval.classDef).loc.end.pos++; ;}
14967     break;
14968
14969   case 196:
14970
14971 /* Line 1464 of yacc.c  */
14972 #line 1207 "grammar.y"
14973     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].classDef)); ;}
14974     break;
14975
14976   case 197:
14977
14978 /* Line 1464 of yacc.c  */
14979 #line 1208 "grammar.y"
14980     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].classDef)); ;}
14981     break;
14982
14983   case 198:
14984
14985 /* Line 1464 of yacc.c  */
14986 #line 1209 "grammar.y"
14987     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].classDef)); ;}
14988     break;
14989
14990   case 199:
14991
14992 /* Line 1464 of yacc.c  */
14993 #line 1213 "grammar.y"
14994     { yyerror(); (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].classDef)); ;}
14995     break;
14996
14997   case 202:
14998
14999 /* Line 1464 of yacc.c  */
15000 #line 1216 "grammar.y"
15001     { yyerror(); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyval.list), (yyvsp[(2) - (2)].classDef)); ;}
15002     break;
15003
15004   case 203:
15005
15006 /* Line 1464 of yacc.c  */
15007 #line 1217 "grammar.y"
15008     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyval.list), (yyvsp[(2) - (2)].classDef)); ;}
15009     break;
15010
15011   case 204:
15012
15013 /* Line 1464 of yacc.c  */
15014 #line 1221 "grammar.y"
15015     { (yyval.templateDatatype) = MkTemplateDatatype((yyvsp[(1) - (1)].list), null); ;}
15016     break;
15017
15018   case 205:
15019
15020 /* Line 1464 of yacc.c  */
15021 #line 1222 "grammar.y"
15022     { (yyval.templateDatatype) = MkTemplateDatatype((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
15023     break;
15024
15025   case 206:
15026
15027 /* Line 1464 of yacc.c  */
15028 #line 1234 "grammar.y"
15029     { (yyval.templateArgument) = MkTemplateTypeArgument(MkTemplateDatatype((yyvsp[(1) - (1)].list), null)); ;}
15030     break;
15031
15032   case 207:
15033
15034 /* Line 1464 of yacc.c  */
15035 #line 1235 "grammar.y"
15036     { (yyval.templateArgument) = MkTemplateTypeArgument(MkTemplateDatatype((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator))); ;}
15037     break;
15038
15039   case 208:
15040
15041 /* Line 1464 of yacc.c  */
15042 #line 1239 "grammar.y"
15043     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (2)].id), null, null); ;}
15044     break;
15045
15046   case 209:
15047
15048 /* Line 1464 of yacc.c  */
15049 #line 1240 "grammar.y"
15050     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (4)].id), null, (yyvsp[(4) - (4)].templateArgument)); ;}
15051     break;
15052
15053   case 210:
15054
15055 /* Line 1464 of yacc.c  */
15056 #line 1241 "grammar.y"
15057     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (4)].id), (yyvsp[(4) - (4)].templateDatatype), null); ;}
15058     break;
15059
15060   case 211:
15061
15062 /* Line 1464 of yacc.c  */
15063 #line 1242 "grammar.y"
15064     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (6)].id), (yyvsp[(4) - (6)].templateDatatype), (yyvsp[(6) - (6)].templateArgument)); ;}
15065     break;
15066
15067   case 212:
15068
15069 /* Line 1464 of yacc.c  */
15070 #line 1243 "grammar.y"
15071     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (2)].string)), null, null); delete (yyvsp[(2) - (2)].string); ;}
15072     break;
15073
15074   case 213:
15075
15076 /* Line 1464 of yacc.c  */
15077 #line 1244 "grammar.y"
15078     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (4)].string)), null, (yyvsp[(4) - (4)].templateArgument)); ;}
15079     break;
15080
15081   case 214:
15082
15083 /* Line 1464 of yacc.c  */
15084 #line 1245 "grammar.y"
15085     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (4)].string)), (yyvsp[(4) - (4)].templateDatatype), null); ;}
15086     break;
15087
15088   case 215:
15089
15090 /* Line 1464 of yacc.c  */
15091 #line 1246 "grammar.y"
15092     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (6)].string)), (yyvsp[(4) - (6)].templateDatatype), (yyvsp[(6) - (6)].templateArgument)); ;}
15093     break;
15094
15095   case 216:
15096
15097 /* Line 1464 of yacc.c  */
15098 #line 1250 "grammar.y"
15099     { (yyval.templateArgument) = MkTemplateIdentifierArgument((yyvsp[(1) - (1)].id)); ;}
15100     break;
15101
15102   case 217:
15103
15104 /* Line 1464 of yacc.c  */
15105 #line 1254 "grammar.y"
15106     { (yyval.templateParameter) = MkIdentifierTemplateParameter((yyvsp[(1) - (1)].id), dataMember, null); ;}
15107     break;
15108
15109   case 218:
15110
15111 /* Line 1464 of yacc.c  */
15112 #line 1255 "grammar.y"
15113     { (yyval.templateParameter) = MkIdentifierTemplateParameter((yyvsp[(1) - (3)].id), dataMember, (yyvsp[(3) - (3)].templateArgument)); ;}
15114     break;
15115
15116   case 219:
15117
15118 /* Line 1464 of yacc.c  */
15119 #line 1259 "grammar.y"
15120     { (yyval.templateArgument) = MkTemplateExpressionArgument((yyvsp[(1) - (1)].exp)); ;}
15121     break;
15122
15123   case 220:
15124
15125 /* Line 1464 of yacc.c  */
15126 #line 1267 "grammar.y"
15127     { (yyval.templateParameter) = MkExpressionTemplateParameter((yyvsp[(2) - (4)].id), MkTemplateDatatype((yyvsp[(1) - (4)].list), null), (yyvsp[(4) - (4)].templateArgument)); ;}
15128     break;
15129
15130   case 221:
15131
15132 /* Line 1464 of yacc.c  */
15133 #line 1268 "grammar.y"
15134     { (yyval.templateParameter) = MkExpressionTemplateParameter((yyvsp[(3) - (5)].id), MkTemplateDatatype((yyvsp[(1) - (5)].list), (yyvsp[(2) - (5)].declarator)), (yyvsp[(5) - (5)].templateArgument)); ;}
15135     break;
15136
15137   case 225:
15138
15139 /* Line 1464 of yacc.c  */
15140 #line 1278 "grammar.y"
15141     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].templateParameter)); ;}
15142     break;
15143
15144   case 226:
15145
15146 /* Line 1464 of yacc.c  */
15147 #line 1279 "grammar.y"
15148     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].templateParameter)); ;}
15149     break;
15150
15151   case 230:
15152
15153 /* Line 1464 of yacc.c  */
15154 #line 1286 "grammar.y"
15155     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
15156     break;
15157
15158   case 231:
15159
15160 /* Line 1464 of yacc.c  */
15161 #line 1287 "grammar.y"
15162     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
15163     break;
15164
15165   case 232:
15166
15167 /* Line 1464 of yacc.c  */
15168 #line 1288 "grammar.y"
15169     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
15170     break;
15171
15172   case 233:
15173
15174 /* Line 1464 of yacc.c  */
15175 #line 1328 "grammar.y"
15176     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].templateArgument)); ;}
15177     break;
15178
15179   case 234:
15180
15181 /* Line 1464 of yacc.c  */
15182 #line 1329 "grammar.y"
15183     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].templateArgument)); ;}
15184     break;
15185
15186   case 235:
15187
15188 /* Line 1464 of yacc.c  */
15189 #line 1334 "grammar.y"
15190     {
15191       if(curContext != globalContext)
15192          PopContext(curContext);
15193       (yyval.context) = PushContext();
15194    ;}
15195     break;
15196
15197   case 236:
15198
15199 /* Line 1464 of yacc.c  */
15200 #line 1341 "grammar.y"
15201     { (void)(yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClassAddNameSpace((yyvsp[(2) - (2)].id).string); FreeIdentifier((yyvsp[(2) - (2)].id)); (yyval.symbol).nameLoc = (yylsp[(2) - (2)]); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
15202     break;
15203
15204   case 237:
15205
15206 /* Line 1464 of yacc.c  */
15207 #line 1343 "grammar.y"
15208     {
15209       (void)(yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClass((yyvsp[(2) - (2)].specifier).name);
15210       (yyval.symbol).nameLoc = (yylsp[(2) - (2)]);
15211       FreeSpecifier((yyvsp[(2) - (2)].specifier));
15212       ++defaultMemberAccess;
15213       memberAccessStack[defaultMemberAccess] = privateAccess;
15214    ;}
15215     break;
15216
15217   case 238:
15218
15219 /* Line 1464 of yacc.c  */
15220 #line 1350 "grammar.y"
15221     { (void)(yyvsp[(2) - (3)].context); (yyval.symbol) = DeclClassAddNameSpace((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; ;}
15222     break;
15223
15224   case 239:
15225
15226 /* Line 1464 of yacc.c  */
15227 #line 1351 "grammar.y"
15228     { (void)(yyvsp[(2) - (3)].context); (yyval.symbol) = DeclClass((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; ;}
15229     break;
15230
15231   case 240:
15232
15233 /* Line 1464 of yacc.c  */
15234 #line 1353 "grammar.y"
15235     { (void)(yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClassAddNameSpace((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; ;}
15236     break;
15237
15238   case 241:
15239
15240 /* Line 1464 of yacc.c  */
15241 #line 1355 "grammar.y"
15242     {
15243       (void)(yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClass((yyvsp[(2) - (5)].specifier).name);
15244       (yyval.symbol).templateParams = (yyvsp[(4) - (5)].list);
15245       (yyval.symbol).nameLoc = (yylsp[(2) - (5)]);
15246       FreeSpecifier((yyvsp[(2) - (5)].specifier));
15247       ++defaultMemberAccess;
15248       memberAccessStack[defaultMemberAccess] = privateAccess;
15249    ;}
15250     break;
15251
15252   case 242:
15253
15254 /* Line 1464 of yacc.c  */
15255 #line 1363 "grammar.y"
15256     { (void)(yyvsp[(2) - (6)].context); (yyval.symbol) = DeclClassAddNameSpace((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; ;}
15257     break;
15258
15259   case 243:
15260
15261 /* Line 1464 of yacc.c  */
15262 #line 1364 "grammar.y"
15263     { (void)(yyvsp[(2) - (6)].context); (yyval.symbol) = DeclClass((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; ;}
15264     break;
15265
15266   case 244:
15267
15268 /* Line 1464 of yacc.c  */
15269 #line 1369 "grammar.y"
15270     {
15271          (yyval._class).loc = (yyloc);
15272          (yyval._class) = (yyvsp[(1) - (2)]._class);
15273       ;}
15274     break;
15275
15276   case 245:
15277
15278 /* Line 1464 of yacc.c  */
15279 #line 1376 "grammar.y"
15280     {
15281          (yyval._class) = (yyvsp[(1) - (2)]._class); (yyval._class).definitions = MkList(); (yyval._class).blockStart = (yylsp[(2) - (2)]);  (yyval._class).loc = (yyloc);
15282          POP_DEFAULT_ACCESS
15283          PopContext(curContext);
15284       ;}
15285     break;
15286
15287   case 246:
15288
15289 /* Line 1464 of yacc.c  */
15290 #line 1383 "grammar.y"
15291     {
15292          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, MkList()); (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc);
15293          POP_DEFAULT_ACCESS
15294          PopContext(curContext);
15295       ;}
15296     break;
15297
15298   case 247:
15299
15300 /* Line 1464 of yacc.c  */
15301 #line 1389 "grammar.y"
15302     {
15303          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = MkList(); (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc);
15304          POP_DEFAULT_ACCESS
15305          PopContext(curContext);
15306       ;}
15307     break;
15308
15309   case 248:
15310
15311 /* Line 1464 of yacc.c  */
15312 #line 1396 "grammar.y"
15313     {
15314          (void)(yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClassAddNameSpace((yyvsp[(2) - (3)].id).string), null, null); FreeIdentifier((yyvsp[(2) - (3)].id));
15315          POP_DEFAULT_ACCESS
15316          PopContext(curContext);
15317       ;}
15318     break;
15319
15320   case 249:
15321
15322 /* Line 1464 of yacc.c  */
15323 #line 1402 "grammar.y"
15324     {
15325          (void)(yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClass((yyvsp[(2) - (3)].specifier).name), null, null); FreeSpecifier((yyvsp[(2) - (3)].specifier));
15326          POP_DEFAULT_ACCESS
15327          PopContext(curContext);
15328       ;}
15329     break;
15330
15331   case 250:
15332
15333 /* Line 1464 of yacc.c  */
15334 #line 1411 "grammar.y"
15335     {
15336          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].list), null);
15337       ;}
15338     break;
15339
15340   case 251:
15341
15342 /* Line 1464 of yacc.c  */
15343 #line 1418 "grammar.y"
15344     {
15345          (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++;
15346          POP_DEFAULT_ACCESS
15347          PopContext(curContext);
15348       ;}
15349     break;
15350
15351   case 252:
15352
15353 /* Line 1464 of yacc.c  */
15354 #line 1424 "grammar.y"
15355     {
15356          (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++;
15357          POP_DEFAULT_ACCESS
15358          PopContext(curContext);
15359       ;}
15360     break;
15361
15362   case 253:
15363
15364 /* Line 1464 of yacc.c  */
15365 #line 1430 "grammar.y"
15366     {
15367          (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++;
15368          POP_DEFAULT_ACCESS
15369          PopContext(curContext);
15370       ;}
15371     break;
15372
15373   case 254:
15374
15375 /* Line 1464 of yacc.c  */
15376 #line 1436 "grammar.y"
15377     {
15378          (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++;
15379          POP_DEFAULT_ACCESS
15380          PopContext(curContext);
15381       ;}
15382     break;
15383
15384   case 255:
15385
15386 /* Line 1464 of yacc.c  */
15387 #line 1442 "grammar.y"
15388     {
15389          (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++;
15390          POP_DEFAULT_ACCESS
15391          PopContext(curContext);
15392       ;}
15393     break;
15394
15395   case 256:
15396
15397 /* Line 1464 of yacc.c  */
15398 #line 1448 "grammar.y"
15399     {
15400          (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++;
15401          POP_DEFAULT_ACCESS
15402          PopContext(curContext);
15403       ;}
15404     break;
15405
15406   case 257:
15407
15408 /* Line 1464 of yacc.c  */
15409 #line 1459 "grammar.y"
15410     { (yyval.id) = MkIdentifier(yytext); (yyval.id).loc = (yylsp[(1) - (1)]); ;}
15411     break;
15412
15413   case 259:
15414
15415 /* Line 1464 of yacc.c  */
15416 #line 1465 "grammar.y"
15417     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (3)].list)); (yyval.exp).loc = (yyloc); ;}
15418     break;
15419
15420   case 260:
15421
15422 /* Line 1464 of yacc.c  */
15423 #line 1469 "grammar.y"
15424     { (yyval.exp) = MkExpString((yyvsp[(1) - (1)].string)); delete (yyvsp[(1) - (1)].string); (yyval.exp).loc = (yyloc); ;}
15425     break;
15426
15427   case 261:
15428
15429 /* Line 1464 of yacc.c  */
15430 #line 1470 "grammar.y"
15431     { (yyval.exp) = MkExpIntlString((yyvsp[(2) - (2)].string), null); delete (yyvsp[(2) - (2)].string); (yyval.exp).loc = (yyloc); ;}
15432     break;
15433
15434   case 262:
15435
15436 /* Line 1464 of yacc.c  */
15437 #line 1471 "grammar.y"
15438     { (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); ;}
15439     break;
15440
15441   case 263:
15442
15443 /* Line 1464 of yacc.c  */
15444 #line 1475 "grammar.y"
15445     { (yyval.exp) = MkExpConstant(yytext); (yyval.exp).loc = (yyloc); ;}
15446     break;
15447
15448   case 264:
15449
15450 /* Line 1464 of yacc.c  */
15451 #line 1479 "grammar.y"
15452     { (yyval.exp) = MkExpIdentifier((yyvsp[(1) - (1)].id)); (yyval.exp).loc = (yyloc); ;}
15453     break;
15454
15455   case 265:
15456
15457 /* Line 1464 of yacc.c  */
15458 #line 1480 "grammar.y"
15459     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (1)].instance)); (yyval.exp).loc = (yyloc); ;}
15460     break;
15461
15462   case 266:
15463
15464 /* Line 1464 of yacc.c  */
15465 #line 1481 "grammar.y"
15466     { (yyval.exp) = MkExpExtensionCompound((yyvsp[(3) - (4)].stmt)); (yyval.exp).loc = (yyloc); ;}
15467     break;
15468
15469   case 267:
15470
15471 /* Line 1464 of yacc.c  */
15472 #line 1482 "grammar.y"
15473     { (yyval.exp) = MkExpExtensionExpression((yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15474     break;
15475
15476   case 268:
15477
15478 /* Line 1464 of yacc.c  */
15479 #line 1483 "grammar.y"
15480     { (yyval.exp) = MkExpExtensionInitializer((yyvsp[(3) - (5)].typeName), (yyvsp[(5) - (5)].initializer)); (yyval.exp).loc = (yyloc); ;}
15481     break;
15482
15483   case 269:
15484
15485 /* Line 1464 of yacc.c  */
15486 #line 1484 "grammar.y"
15487     { (yyval.exp) = MkExpExtensionInitializer((yyvsp[(3) - (8)].typeName), MkInitializerAssignment(MkExpExtensionInitializer((yyvsp[(6) - (8)].typeName), (yyvsp[(8) - (8)].initializer)))); (yyval.exp).loc = (yyloc); ;}
15488     break;
15489
15490   case 270:
15491
15492 /* Line 1464 of yacc.c  */
15493 #line 1486 "grammar.y"
15494     {
15495       char * constant = (yyvsp[(1) - (2)].exp).constant;
15496       int len = strlen(constant);
15497       if(constant[len-1] == '.')
15498       {
15499          constant[len-1] = 0;
15500          (yyval.exp) = MkExpMember((yyvsp[(1) - (2)].exp), (yyvsp[(2) - (2)].id));
15501          (yyval.exp).loc = (yyloc);
15502       }
15503       else
15504          yyerror();
15505    ;}
15506     break;
15507
15508   case 271:
15509
15510 /* Line 1464 of yacc.c  */
15511 #line 1498 "grammar.y"
15512     { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
15513     break;
15514
15515   case 273:
15516
15517 /* Line 1464 of yacc.c  */
15518 #line 1500 "grammar.y"
15519     { (yyval.exp) = MkExpWideString(yytext); (yyval.exp).loc = (yyloc); ;}
15520     break;
15521
15522   case 274:
15523
15524 /* Line 1464 of yacc.c  */
15525 #line 1501 "grammar.y"
15526     { 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(); ;}
15527     break;
15528
15529   case 275:
15530
15531 /* Line 1464 of yacc.c  */
15532 #line 1502 "grammar.y"
15533     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15534     break;
15535
15536   case 276:
15537
15538 /* Line 1464 of yacc.c  */
15539 #line 1503 "grammar.y"
15540     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15541     break;
15542
15543   case 277:
15544
15545 /* Line 1464 of yacc.c  */
15546 #line 1504 "grammar.y"
15547     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15548     break;
15549
15550   case 278:
15551
15552 /* Line 1464 of yacc.c  */
15553 #line 1505 "grammar.y"
15554     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15555     break;
15556
15557   case 279:
15558
15559 /* Line 1464 of yacc.c  */
15560 #line 1506 "grammar.y"
15561     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15562     break;
15563
15564   case 280:
15565
15566 /* Line 1464 of yacc.c  */
15567 #line 1507 "grammar.y"
15568     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15569     break;
15570
15571   case 281:
15572
15573 /* Line 1464 of yacc.c  */
15574 #line 1508 "grammar.y"
15575     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15576     break;
15577
15578   case 282:
15579
15580 /* Line 1464 of yacc.c  */
15581 #line 1509 "grammar.y"
15582     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15583     break;
15584
15585   case 283:
15586
15587 /* Line 1464 of yacc.c  */
15588 #line 1510 "grammar.y"
15589     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15590     break;
15591
15592   case 284:
15593
15594 /* Line 1464 of yacc.c  */
15595 #line 1511 "grammar.y"
15596     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15597     break;
15598
15599   case 285:
15600
15601 /* Line 1464 of yacc.c  */
15602 #line 1512 "grammar.y"
15603     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15604     break;
15605
15606   case 286:
15607
15608 /* Line 1464 of yacc.c  */
15609 #line 1513 "grammar.y"
15610     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15611     break;
15612
15613   case 287:
15614
15615 /* Line 1464 of yacc.c  */
15616 #line 1514 "grammar.y"
15617     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15618     break;
15619
15620   case 288:
15621
15622 /* Line 1464 of yacc.c  */
15623 #line 1515 "grammar.y"
15624     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15625     break;
15626
15627   case 289:
15628
15629 /* Line 1464 of yacc.c  */
15630 #line 1516 "grammar.y"
15631     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15632     break;
15633
15634   case 290:
15635
15636 /* Line 1464 of yacc.c  */
15637 #line 1517 "grammar.y"
15638     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15639     break;
15640
15641   case 291:
15642
15643 /* Line 1464 of yacc.c  */
15644 #line 1518 "grammar.y"
15645     { (yyval.exp) = MkExpClass((yyvsp[(3) - (4)].list), null); (yyval.exp).loc = (yyloc); ;}
15646     break;
15647
15648   case 292:
15649
15650 /* Line 1464 of yacc.c  */
15651 #line 1519 "grammar.y"
15652     { (yyval.exp) = MkExpClass((yyvsp[(3) - (5)].list), (yyvsp[(4) - (5)].declarator)); (yyval.exp).loc = (yyloc); ;}
15653     break;
15654
15655   case 293:
15656
15657 /* Line 1464 of yacc.c  */
15658 #line 1520 "grammar.y"
15659     { (yyval.exp) = MkExpClass(MkListOne(MkSpecifierName((yyvsp[(3) - (4)].id).string)), null); FreeIdentifier((yyvsp[(3) - (4)].id)); (yyval.exp).loc = (yyloc); ;}
15660     break;
15661
15662   case 294:
15663
15664 /* Line 1464 of yacc.c  */
15665 #line 1521 "grammar.y"
15666     { (yyval.exp) = MkExpVaArg((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].typeName)); (yyval.exp).loc = (yyloc); ;}
15667     break;
15668
15669   case 295:
15670
15671 /* Line 1464 of yacc.c  */
15672 #line 1523 "grammar.y"
15673     { (yyval.exp) = MkExpClassData((yyvsp[(3) - (4)].id)); (yyval.exp).loc = (yyloc); ;}
15674     break;
15675
15676   case 300:
15677
15678 /* Line 1464 of yacc.c  */
15679 #line 1529 "grammar.y"
15680     { (yyval.exp) = MkExpArray((yyvsp[(2) - (3)].list)); (yyval.exp).loc = (yyloc); ;}
15681     break;
15682
15683   case 301:
15684
15685 /* Line 1464 of yacc.c  */
15686 #line 1530 "grammar.y"
15687     { (yyval.exp) = MkExpArray(null); (yyval.exp).loc = (yyloc); ;}
15688     break;
15689
15690   case 302:
15691
15692 /* Line 1464 of yacc.c  */
15693 #line 1534 "grammar.y"
15694     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (1)].instance)); (yyval.exp).loc = (yyloc); ;}
15695     break;
15696
15697   case 303:
15698
15699 /* Line 1464 of yacc.c  */
15700 #line 1538 "grammar.y"
15701     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
15702     break;
15703
15704   case 304:
15705
15706 /* Line 1464 of yacc.c  */
15707 #line 1542 "grammar.y"
15708     { yyerror(); (yyval.exp) = MkExpBrackets((yyvsp[(2) - (2)].list)); (yyval.exp).loc = (yyloc); ;}
15709     break;
15710
15711   case 305:
15712
15713 /* Line 1464 of yacc.c  */
15714 #line 1543 "grammar.y"
15715     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (2)].list)); (yyval.exp).loc = (yyloc); ;}
15716     break;
15717
15718   case 307:
15719
15720 /* Line 1464 of yacc.c  */
15721 #line 1549 "grammar.y"
15722     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15723     break;
15724
15725   case 308:
15726
15727 /* Line 1464 of yacc.c  */
15728 #line 1550 "grammar.y"
15729     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15730     break;
15731
15732   case 309:
15733
15734 /* Line 1464 of yacc.c  */
15735 #line 1551 "grammar.y"
15736     { (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); ;}
15737     break;
15738
15739   case 310:
15740
15741 /* Line 1464 of yacc.c  */
15742 #line 1552 "grammar.y"
15743     { (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); ;}
15744     break;
15745
15746   case 311:
15747
15748 /* Line 1464 of yacc.c  */
15749 #line 1553 "grammar.y"
15750     { (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; ;}
15751     break;
15752
15753   case 312:
15754
15755 /* Line 1464 of yacc.c  */
15756 #line 1554 "grammar.y"
15757     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15758     break;
15759
15760   case 313:
15761
15762 /* Line 1464 of yacc.c  */
15763 #line 1555 "grammar.y"
15764     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15765     break;
15766
15767   case 314:
15768
15769 /* Line 1464 of yacc.c  */
15770 #line 1556 "grammar.y"
15771     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
15772     break;
15773
15774   case 315:
15775
15776 /* Line 1464 of yacc.c  */
15777 #line 1557 "grammar.y"
15778     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
15779     break;
15780
15781   case 316:
15782
15783 /* Line 1464 of yacc.c  */
15784 #line 1559 "grammar.y"
15785     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15786     break;
15787
15788   case 317:
15789
15790 /* Line 1464 of yacc.c  */
15791 #line 1560 "grammar.y"
15792     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15793     break;
15794
15795   case 318:
15796
15797 /* Line 1464 of yacc.c  */
15798 #line 1561 "grammar.y"
15799     { (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); ;}
15800     break;
15801
15802   case 319:
15803
15804 /* Line 1464 of yacc.c  */
15805 #line 1562 "grammar.y"
15806     { (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); ;}
15807     break;
15808
15809   case 320:
15810
15811 /* Line 1464 of yacc.c  */
15812 #line 1563 "grammar.y"
15813     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15814     break;
15815
15816   case 321:
15817
15818 /* Line 1464 of yacc.c  */
15819 #line 1564 "grammar.y"
15820     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15821     break;
15822
15823   case 322:
15824
15825 /* Line 1464 of yacc.c  */
15826 #line 1565 "grammar.y"
15827     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
15828     break;
15829
15830   case 323:
15831
15832 /* Line 1464 of yacc.c  */
15833 #line 1566 "grammar.y"
15834     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
15835     break;
15836
15837   case 324:
15838
15839 /* Line 1464 of yacc.c  */
15840 #line 1593 "grammar.y"
15841     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15842     break;
15843
15844   case 325:
15845
15846 /* Line 1464 of yacc.c  */
15847 #line 1594 "grammar.y"
15848     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15849     break;
15850
15851   case 326:
15852
15853 /* Line 1464 of yacc.c  */
15854 #line 1595 "grammar.y"
15855     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15856     break;
15857
15858   case 327:
15859
15860 /* Line 1464 of yacc.c  */
15861 #line 1596 "grammar.y"
15862     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15863     break;
15864
15865   case 328:
15866
15867 /* Line 1464 of yacc.c  */
15868 #line 1600 "grammar.y"
15869     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15870     break;
15871
15872   case 329:
15873
15874 /* Line 1464 of yacc.c  */
15875 #line 1601 "grammar.y"
15876     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15877     break;
15878
15879   case 330:
15880
15881 /* Line 1464 of yacc.c  */
15882 #line 1602 "grammar.y"
15883     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15884     break;
15885
15886   case 331:
15887
15888 /* Line 1464 of yacc.c  */
15889 #line 1603 "grammar.y"
15890     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15891     break;
15892
15893   case 332:
15894
15895 /* Line 1464 of yacc.c  */
15896 #line 1604 "grammar.y"
15897     { Expression exp = MkExpDummy(); yyerror(); exp.loc.start = (yylsp[(2) - (2)]).end; exp.loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), exp); ;}
15898     break;
15899
15900   case 333:
15901
15902 /* Line 1464 of yacc.c  */
15903 #line 1608 "grammar.y"
15904     { (yyval.exp) = MkExpOp(null, INC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15905     break;
15906
15907   case 334:
15908
15909 /* Line 1464 of yacc.c  */
15910 #line 1609 "grammar.y"
15911     { (yyval.exp) = MkExpOp(null, DEC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15912     break;
15913
15914   case 335:
15915
15916 /* Line 1464 of yacc.c  */
15917 #line 1610 "grammar.y"
15918     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15919     break;
15920
15921   case 336:
15922
15923 /* Line 1464 of yacc.c  */
15924 #line 1611 "grammar.y"
15925     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15926     break;
15927
15928   case 337:
15929
15930 /* Line 1464 of yacc.c  */
15931 #line 1613 "grammar.y"
15932     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15933     break;
15934
15935   case 338:
15936
15937 /* Line 1464 of yacc.c  */
15938 #line 1614 "grammar.y"
15939     { (yyval.exp) = MkExpTypeSize((yyvsp[(3) - (4)].typeName)); (yyval.exp).loc = (yyloc); ;}
15940     break;
15941
15942   case 339:
15943
15944 /* Line 1464 of yacc.c  */
15945 #line 1615 "grammar.y"
15946     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (5)].specifier)); (yyval.exp).loc = (yyloc); ;}
15947     break;
15948
15949   case 340:
15950
15951 /* Line 1464 of yacc.c  */
15952 #line 1616 "grammar.y"
15953     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (5)].specifier)); (yyval.exp).loc = (yyloc); ;}
15954     break;
15955
15956   case 341:
15957
15958 /* Line 1464 of yacc.c  */
15959 #line 1619 "grammar.y"
15960     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15961     break;
15962
15963   case 342:
15964
15965 /* Line 1464 of yacc.c  */
15966 #line 1620 "grammar.y"
15967     { (yyval.exp) = MkExpTypeAlign((yyvsp[(3) - (4)].typeName)); (yyval.exp).loc = (yyloc); ;}
15968     break;
15969
15970   case 345:
15971
15972 /* Line 1464 of yacc.c  */
15973 #line 1634 "grammar.y"
15974     { (yyval.i) = '&'; ;}
15975     break;
15976
15977   case 346:
15978
15979 /* Line 1464 of yacc.c  */
15980 #line 1635 "grammar.y"
15981     { (yyval.i) = '*'; ;}
15982     break;
15983
15984   case 347:
15985
15986 /* Line 1464 of yacc.c  */
15987 #line 1636 "grammar.y"
15988     { (yyval.i) = '+'; ;}
15989     break;
15990
15991   case 348:
15992
15993 /* Line 1464 of yacc.c  */
15994 #line 1637 "grammar.y"
15995     { (yyval.i) = '-'; ;}
15996     break;
15997
15998   case 349:
15999
16000 /* Line 1464 of yacc.c  */
16001 #line 1638 "grammar.y"
16002     { (yyval.i) = '~'; ;}
16003     break;
16004
16005   case 350:
16006
16007 /* Line 1464 of yacc.c  */
16008 #line 1639 "grammar.y"
16009     { (yyval.i) = '!'; ;}
16010     break;
16011
16012   case 351:
16013
16014 /* Line 1464 of yacc.c  */
16015 #line 1640 "grammar.y"
16016     { (yyval.i) = DELETE; ;}
16017     break;
16018
16019   case 352:
16020
16021 /* Line 1464 of yacc.c  */
16022 #line 1641 "grammar.y"
16023     { (yyval.i) = _INCREF; ;}
16024     break;
16025
16026   case 354:
16027
16028 /* Line 1464 of yacc.c  */
16029 #line 1646 "grammar.y"
16030     { (yyval.exp) = MkExpCast((yyvsp[(2) - (4)].typeName), (yyvsp[(4) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
16031     break;
16032
16033   case 356:
16034
16035 /* Line 1464 of yacc.c  */
16036 #line 1651 "grammar.y"
16037     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16038     break;
16039
16040   case 357:
16041
16042 /* Line 1464 of yacc.c  */
16043 #line 1652 "grammar.y"
16044     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16045     break;
16046
16047   case 358:
16048
16049 /* Line 1464 of yacc.c  */
16050 #line 1653 "grammar.y"
16051     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16052     break;
16053
16054   case 359:
16055
16056 /* Line 1464 of yacc.c  */
16057 #line 1654 "grammar.y"
16058     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16059     break;
16060
16061   case 360:
16062
16063 /* Line 1464 of yacc.c  */
16064 #line 1655 "grammar.y"
16065     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16066     break;
16067
16068   case 361:
16069
16070 /* Line 1464 of yacc.c  */
16071 #line 1656 "grammar.y"
16072     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16073     break;
16074
16075   case 363:
16076
16077 /* Line 1464 of yacc.c  */
16078 #line 1661 "grammar.y"
16079     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16080     break;
16081
16082   case 364:
16083
16084 /* Line 1464 of yacc.c  */
16085 #line 1662 "grammar.y"
16086     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16087     break;
16088
16089   case 365:
16090
16091 /* Line 1464 of yacc.c  */
16092 #line 1663 "grammar.y"
16093     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16094     break;
16095
16096   case 366:
16097
16098 /* Line 1464 of yacc.c  */
16099 #line 1664 "grammar.y"
16100     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16101     break;
16102
16103   case 368:
16104
16105 /* Line 1464 of yacc.c  */
16106 #line 1669 "grammar.y"
16107     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16108     break;
16109
16110   case 369:
16111
16112 /* Line 1464 of yacc.c  */
16113 #line 1670 "grammar.y"
16114     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16115     break;
16116
16117   case 370:
16118
16119 /* Line 1464 of yacc.c  */
16120 #line 1671 "grammar.y"
16121     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16122     break;
16123
16124   case 371:
16125
16126 /* Line 1464 of yacc.c  */
16127 #line 1672 "grammar.y"
16128     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16129     break;
16130
16131   case 372:
16132
16133 /* Line 1464 of yacc.c  */
16134 #line 1677 "grammar.y"
16135     {
16136       (yyval.exp) = (yyvsp[(1) - (2)].exp);
16137       skipErrors = true;
16138    ;}
16139     break;
16140
16141   case 374:
16142
16143 /* Line 1464 of yacc.c  */
16144 #line 1685 "grammar.y"
16145     { skipErrors = false; (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), '<', (yyvsp[(2) - (2)].exp)/*$3*/); (yyval.exp).loc = (yyloc); ;}
16146     break;
16147
16148   case 375:
16149
16150 /* Line 1464 of yacc.c  */
16151 #line 1686 "grammar.y"
16152     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16153     break;
16154
16155   case 376:
16156
16157 /* Line 1464 of yacc.c  */
16158 #line 1687 "grammar.y"
16159     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16160     break;
16161
16162   case 377:
16163
16164 /* Line 1464 of yacc.c  */
16165 #line 1688 "grammar.y"
16166     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16167     break;
16168
16169   case 378:
16170
16171 /* Line 1464 of yacc.c  */
16172 #line 1689 "grammar.y"
16173     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '<', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16174     break;
16175
16176   case 379:
16177
16178 /* Line 1464 of yacc.c  */
16179 #line 1690 "grammar.y"
16180     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16181     break;
16182
16183   case 380:
16184
16185 /* Line 1464 of yacc.c  */
16186 #line 1691 "grammar.y"
16187     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16188     break;
16189
16190   case 381:
16191
16192 /* Line 1464 of yacc.c  */
16193 #line 1692 "grammar.y"
16194     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16195     break;
16196
16197   case 383:
16198
16199 /* Line 1464 of yacc.c  */
16200 #line 1697 "grammar.y"
16201     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16202     break;
16203
16204   case 384:
16205
16206 /* Line 1464 of yacc.c  */
16207 #line 1698 "grammar.y"
16208     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16209     break;
16210
16211   case 385:
16212
16213 /* Line 1464 of yacc.c  */
16214 #line 1699 "grammar.y"
16215     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16216     break;
16217
16218   case 386:
16219
16220 /* Line 1464 of yacc.c  */
16221 #line 1700 "grammar.y"
16222     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16223     break;
16224
16225   case 387:
16226
16227 /* Line 1464 of yacc.c  */
16228 #line 1702 "grammar.y"
16229     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16230     break;
16231
16232   case 388:
16233
16234 /* Line 1464 of yacc.c  */
16235 #line 1703 "grammar.y"
16236     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16237     break;
16238
16239   case 389:
16240
16241 /* Line 1464 of yacc.c  */
16242 #line 1704 "grammar.y"
16243     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16244     break;
16245
16246   case 390:
16247
16248 /* Line 1464 of yacc.c  */
16249 #line 1705 "grammar.y"
16250     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16251     break;
16252
16253   case 392:
16254
16255 /* Line 1464 of yacc.c  */
16256 #line 1710 "grammar.y"
16257     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16258     break;
16259
16260   case 393:
16261
16262 /* Line 1464 of yacc.c  */
16263 #line 1711 "grammar.y"
16264     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16265     break;
16266
16267   case 394:
16268
16269 /* Line 1464 of yacc.c  */
16270 #line 1713 "grammar.y"
16271     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16272     break;
16273
16274   case 395:
16275
16276 /* Line 1464 of yacc.c  */
16277 #line 1714 "grammar.y"
16278     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16279     break;
16280
16281   case 397:
16282
16283 /* Line 1464 of yacc.c  */
16284 #line 1719 "grammar.y"
16285     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16286     break;
16287
16288   case 398:
16289
16290 /* Line 1464 of yacc.c  */
16291 #line 1720 "grammar.y"
16292     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16293     break;
16294
16295   case 399:
16296
16297 /* Line 1464 of yacc.c  */
16298 #line 1722 "grammar.y"
16299     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16300     break;
16301
16302   case 400:
16303
16304 /* Line 1464 of yacc.c  */
16305 #line 1723 "grammar.y"
16306     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16307     break;
16308
16309   case 402:
16310
16311 /* Line 1464 of yacc.c  */
16312 #line 1728 "grammar.y"
16313     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16314     break;
16315
16316   case 403:
16317
16318 /* Line 1464 of yacc.c  */
16319 #line 1729 "grammar.y"
16320     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16321     break;
16322
16323   case 404:
16324
16325 /* Line 1464 of yacc.c  */
16326 #line 1731 "grammar.y"
16327     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16328     break;
16329
16330   case 405:
16331
16332 /* Line 1464 of yacc.c  */
16333 #line 1732 "grammar.y"
16334     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16335     break;
16336
16337   case 407:
16338
16339 /* Line 1464 of yacc.c  */
16340 #line 1737 "grammar.y"
16341     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16342     break;
16343
16344   case 408:
16345
16346 /* Line 1464 of yacc.c  */
16347 #line 1738 "grammar.y"
16348     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16349     break;
16350
16351   case 410:
16352
16353 /* Line 1464 of yacc.c  */
16354 #line 1743 "grammar.y"
16355     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16356     break;
16357
16358   case 411:
16359
16360 /* Line 1464 of yacc.c  */
16361 #line 1744 "grammar.y"
16362     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16363     break;
16364
16365   case 413:
16366
16367 /* Line 1464 of yacc.c  */
16368 #line 1749 "grammar.y"
16369     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16370     break;
16371
16372   case 414:
16373
16374 /* Line 1464 of yacc.c  */
16375 #line 1750 "grammar.y"
16376     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16377     break;
16378
16379   case 415:
16380
16381 /* Line 1464 of yacc.c  */
16382 #line 1751 "grammar.y"
16383     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16384     break;
16385
16386   case 416:
16387
16388 /* Line 1464 of yacc.c  */
16389 #line 1752 "grammar.y"
16390     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16391     break;
16392
16393   case 417:
16394
16395 /* Line 1464 of yacc.c  */
16396 #line 1754 "grammar.y"
16397     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16398     break;
16399
16400   case 418:
16401
16402 /* Line 1464 of yacc.c  */
16403 #line 1755 "grammar.y"
16404     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16405     break;
16406
16407   case 419:
16408
16409 /* Line 1464 of yacc.c  */
16410 #line 1756 "grammar.y"
16411     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16412     break;
16413
16414   case 420:
16415
16416 /* Line 1464 of yacc.c  */
16417 #line 1757 "grammar.y"
16418     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16419     break;
16420
16421   case 421:
16422
16423 /* Line 1464 of yacc.c  */
16424 #line 1759 "grammar.y"
16425     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16426     break;
16427
16428   case 422:
16429
16430 /* Line 1464 of yacc.c  */
16431 #line 1760 "grammar.y"
16432     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16433     break;
16434
16435   case 423:
16436
16437 /* Line 1464 of yacc.c  */
16438 #line 1761 "grammar.y"
16439     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16440     break;
16441
16442   case 424:
16443
16444 /* Line 1464 of yacc.c  */
16445 #line 1762 "grammar.y"
16446     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16447     break;
16448
16449   case 425:
16450
16451 /* Line 1464 of yacc.c  */
16452 #line 1764 "grammar.y"
16453     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16454     break;
16455
16456   case 426:
16457
16458 /* Line 1464 of yacc.c  */
16459 #line 1765 "grammar.y"
16460     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16461     break;
16462
16463   case 427:
16464
16465 /* Line 1464 of yacc.c  */
16466 #line 1766 "grammar.y"
16467     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16468     break;
16469
16470   case 428:
16471
16472 /* Line 1464 of yacc.c  */
16473 #line 1767 "grammar.y"
16474     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16475     break;
16476
16477   case 430:
16478
16479 /* Line 1464 of yacc.c  */
16480 #line 1772 "grammar.y"
16481     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16482     break;
16483
16484   case 431:
16485
16486 /* Line 1464 of yacc.c  */
16487 #line 1773 "grammar.y"
16488     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16489     break;
16490
16491   case 432:
16492
16493 /* Line 1464 of yacc.c  */
16494 #line 1774 "grammar.y"
16495     { Compiler_Error($"l-value expected\n"); (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16496     break;
16497
16498   case 433:
16499
16500 /* Line 1464 of yacc.c  */
16501 #line 1775 "grammar.y"
16502     { Compiler_Error($"l-value expected\n"); (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16503     break;
16504
16505   case 434:
16506
16507 /* Line 1464 of yacc.c  */
16508 #line 1777 "grammar.y"
16509     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16510     break;
16511
16512   case 435:
16513
16514 /* Line 1464 of yacc.c  */
16515 #line 1778 "grammar.y"
16516     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16517     break;
16518
16519   case 436:
16520
16521 /* Line 1464 of yacc.c  */
16522 #line 1779 "grammar.y"
16523     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16524     break;
16525
16526   case 437:
16527
16528 /* Line 1464 of yacc.c  */
16529 #line 1780 "grammar.y"
16530     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16531     break;
16532
16533   case 438:
16534
16535 /* Line 1464 of yacc.c  */
16536 #line 1784 "grammar.y"
16537     { (yyval.i) = '='; ;}
16538     break;
16539
16540   case 439:
16541
16542 /* Line 1464 of yacc.c  */
16543 #line 1785 "grammar.y"
16544     { (yyval.i) = MUL_ASSIGN; ;}
16545     break;
16546
16547   case 440:
16548
16549 /* Line 1464 of yacc.c  */
16550 #line 1786 "grammar.y"
16551     { (yyval.i) = DIV_ASSIGN; ;}
16552     break;
16553
16554   case 441:
16555
16556 /* Line 1464 of yacc.c  */
16557 #line 1787 "grammar.y"
16558     { (yyval.i) = MOD_ASSIGN; ;}
16559     break;
16560
16561   case 442:
16562
16563 /* Line 1464 of yacc.c  */
16564 #line 1788 "grammar.y"
16565     { (yyval.i) = ADD_ASSIGN; ;}
16566     break;
16567
16568   case 443:
16569
16570 /* Line 1464 of yacc.c  */
16571 #line 1789 "grammar.y"
16572     { (yyval.i) = SUB_ASSIGN; ;}
16573     break;
16574
16575   case 444:
16576
16577 /* Line 1464 of yacc.c  */
16578 #line 1790 "grammar.y"
16579     { (yyval.i) = LEFT_ASSIGN; ;}
16580     break;
16581
16582   case 445:
16583
16584 /* Line 1464 of yacc.c  */
16585 #line 1791 "grammar.y"
16586     { (yyval.i) = RIGHT_ASSIGN; ;}
16587     break;
16588
16589   case 446:
16590
16591 /* Line 1464 of yacc.c  */
16592 #line 1792 "grammar.y"
16593     { (yyval.i) = AND_ASSIGN; ;}
16594     break;
16595
16596   case 447:
16597
16598 /* Line 1464 of yacc.c  */
16599 #line 1793 "grammar.y"
16600     { (yyval.i) = XOR_ASSIGN; ;}
16601     break;
16602
16603   case 448:
16604
16605 /* Line 1464 of yacc.c  */
16606 #line 1794 "grammar.y"
16607     { (yyval.i) = OR_ASSIGN; ;}
16608     break;
16609
16610   case 449:
16611
16612 /* Line 1464 of yacc.c  */
16613 #line 1798 "grammar.y"
16614     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16615     break;
16616
16617   case 450:
16618
16619 /* Line 1464 of yacc.c  */
16620 #line 1799 "grammar.y"
16621     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16622     break;
16623
16624   case 451:
16625
16626 /* Line 1464 of yacc.c  */
16627 #line 1800 "grammar.y"
16628     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16629     break;
16630
16631   case 453:
16632
16633 /* Line 1464 of yacc.c  */
16634 #line 1805 "grammar.y"
16635     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16636     break;
16637
16638   case 454:
16639
16640 /* Line 1464 of yacc.c  */
16641 #line 1806 "grammar.y"
16642     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16643     break;
16644
16645   case 455:
16646
16647 /* Line 1464 of yacc.c  */
16648 #line 1807 "grammar.y"
16649     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16650     break;
16651
16652   case 457:
16653
16654 /* Line 1464 of yacc.c  */
16655 #line 1812 "grammar.y"
16656     { (yyval.exp) = MkExpDummy(); (yyval.exp).loc = (yyloc); /*printf("Sorry, didn't mean that syntax error\n");*/ ;}
16657     break;
16658
16659   case 459:
16660
16661 /* Line 1464 of yacc.c  */
16662 #line 1814 "grammar.y"
16663     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
16664     break;
16665
16666   case 460:
16667
16668 /* Line 1464 of yacc.c  */
16669 #line 1816 "grammar.y"
16670     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16671     break;
16672
16673   case 461:
16674
16675 /* Line 1464 of yacc.c  */
16676 #line 1817 "grammar.y"
16677     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16678     break;
16679
16680   case 462:
16681
16682 /* Line 1464 of yacc.c  */
16683 #line 1819 "grammar.y"
16684     { yyerror(); (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.end.charPos++;;}
16685     break;
16686
16687   case 463:
16688
16689 /* Line 1464 of yacc.c  */
16690 #line 1820 "grammar.y"
16691     { (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++;;}
16692     break;
16693
16694   case 464:
16695
16696 /* Line 1464 of yacc.c  */
16697 #line 1825 "grammar.y"
16698     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16699     break;
16700
16701   case 465:
16702
16703 /* Line 1464 of yacc.c  */
16704 #line 1827 "grammar.y"
16705     { (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++;;}
16706     break;
16707
16708   case 466:
16709
16710 /* Line 1464 of yacc.c  */
16711 #line 1832 "grammar.y"
16712     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16713     break;
16714
16715   case 467:
16716
16717 /* Line 1464 of yacc.c  */
16718 #line 1860 "grammar.y"
16719     { (yyval.exp) = MkExpOp(null, INC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16720     break;
16721
16722   case 468:
16723
16724 /* Line 1464 of yacc.c  */
16725 #line 1861 "grammar.y"
16726     { (yyval.exp) = MkExpOp(null, DEC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16727     break;
16728
16729   case 469:
16730
16731 /* Line 1464 of yacc.c  */
16732 #line 1862 "grammar.y"
16733     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16734     break;
16735
16736   case 470:
16737
16738 /* Line 1464 of yacc.c  */
16739 #line 1863 "grammar.y"
16740     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16741     break;
16742
16743   case 471:
16744
16745 /* Line 1464 of yacc.c  */
16746 #line 1865 "grammar.y"
16747     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16748     break;
16749
16750   case 472:
16751
16752 /* Line 1464 of yacc.c  */
16753 #line 1866 "grammar.y"
16754     { (yyval.exp) = MkExpTypeSize((yyvsp[(3) - (5)].typeName)); (yyval.exp).loc = (yyloc); ;}
16755     break;
16756
16757   case 473:
16758
16759 /* Line 1464 of yacc.c  */
16760 #line 1867 "grammar.y"
16761     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (6)].specifier)); (yyval.exp).loc = (yyloc); ;}
16762     break;
16763
16764   case 474:
16765
16766 /* Line 1464 of yacc.c  */
16767 #line 1868 "grammar.y"
16768     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (6)].specifier)); (yyval.exp).loc = (yyloc); ;}
16769     break;
16770
16771   case 475:
16772
16773 /* Line 1464 of yacc.c  */
16774 #line 1870 "grammar.y"
16775     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16776     break;
16777
16778   case 476:
16779
16780 /* Line 1464 of yacc.c  */
16781 #line 1871 "grammar.y"
16782     { (yyval.exp) = MkExpTypeAlign((yyvsp[(3) - (5)].typeName)); (yyval.exp).loc = (yyloc); ;}
16783     break;
16784
16785   case 480:
16786
16787 /* Line 1464 of yacc.c  */
16788 #line 1886 "grammar.y"
16789     { (yyval.exp) = MkExpCast((yyvsp[(2) - (4)].typeName), (yyvsp[(4) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
16790     break;
16791
16792   case 482:
16793
16794 /* Line 1464 of yacc.c  */
16795 #line 1891 "grammar.y"
16796     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16797     break;
16798
16799   case 483:
16800
16801 /* Line 1464 of yacc.c  */
16802 #line 1892 "grammar.y"
16803     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16804     break;
16805
16806   case 484:
16807
16808 /* Line 1464 of yacc.c  */
16809 #line 1893 "grammar.y"
16810     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16811     break;
16812
16813   case 485:
16814
16815 /* Line 1464 of yacc.c  */
16816 #line 1894 "grammar.y"
16817     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16818     break;
16819
16820   case 486:
16821
16822 /* Line 1464 of yacc.c  */
16823 #line 1895 "grammar.y"
16824     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16825     break;
16826
16827   case 487:
16828
16829 /* Line 1464 of yacc.c  */
16830 #line 1896 "grammar.y"
16831     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16832     break;
16833
16834   case 489:
16835
16836 /* Line 1464 of yacc.c  */
16837 #line 1901 "grammar.y"
16838     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16839     break;
16840
16841   case 490:
16842
16843 /* Line 1464 of yacc.c  */
16844 #line 1905 "grammar.y"
16845     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16846     break;
16847
16848   case 491:
16849
16850 /* Line 1464 of yacc.c  */
16851 #line 1909 "grammar.y"
16852     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16853     break;
16854
16855   case 492:
16856
16857 /* Line 1464 of yacc.c  */
16858 #line 1913 "grammar.y"
16859     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16860     break;
16861
16862   case 494:
16863
16864 /* Line 1464 of yacc.c  */
16865 #line 1921 "grammar.y"
16866     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16867     break;
16868
16869   case 495:
16870
16871 /* Line 1464 of yacc.c  */
16872 #line 1922 "grammar.y"
16873     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16874     break;
16875
16876   case 496:
16877
16878 /* Line 1464 of yacc.c  */
16879 #line 1923 "grammar.y"
16880     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16881     break;
16882
16883   case 497:
16884
16885 /* Line 1464 of yacc.c  */
16886 #line 1924 "grammar.y"
16887     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16888     break;
16889
16890   case 499:
16891
16892 /* Line 1464 of yacc.c  */
16893 #line 1930 "grammar.y"
16894     {
16895       if((yyvsp[(1) - (2)].exp).type == identifierExp)
16896       {
16897          if((yyvsp[(1) - (2)].exp).identifier._class && !(yyvsp[(1) - (2)].exp).identifier._class.name)
16898          {
16899             char name[1024];
16900             strcpy(name, "::");
16901             strcat(name, (yyvsp[(1) - (2)].exp).identifier.string);
16902             _DeclClass(name);
16903          }
16904          else
16905             _DeclClass((yyvsp[(1) - (2)].exp).identifier.string);
16906
16907          // printf("Declaring Class %s\n", $1.identifier.string);
16908          skipErrors = false;
16909
16910          FreeExpression((yyvsp[(1) - (2)].exp));
16911          FreeExpression((yyvsp[(2) - (2)].exp));
16912
16913          fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
16914          resetScannerPos(&(yylsp[(1) - (2)]).start);
16915          yyclearin;
16916
16917          YYPOPSTACK(1);
16918          yystate = *yyssp;
16919          YY_STACK_PRINT (yyss, yyssp);
16920
16921          YYPOPSTACK(1);
16922          yystate = *yyssp;
16923          YY_STACK_PRINT (yyss, yyssp);
16924 /*
16925          YYPOPSTACK(1);
16926          yystate = *yyssp;
16927          YY_STACK_PRINT (yyss, yyssp);
16928
16929          YYPOPSTACK(1);
16930          yystate = *yyssp;
16931          YY_STACK_PRINT (yyss, yyssp);
16932 */
16933          yyerrok;
16934
16935          goto yysetstate;
16936       }
16937       else
16938       {
16939          (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), '<', (yyvsp[(2) - (2)].exp));
16940          (yyval.exp).loc = (yyloc);
16941       }
16942       skipErrors = false;
16943    ;}
16944     break;
16945
16946   case 500:
16947
16948 /* Line 1464 of yacc.c  */
16949 #line 1980 "grammar.y"
16950     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16951     break;
16952
16953   case 501:
16954
16955 /* Line 1464 of yacc.c  */
16956 #line 1981 "grammar.y"
16957     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16958     break;
16959
16960   case 502:
16961
16962 /* Line 1464 of yacc.c  */
16963 #line 1982 "grammar.y"
16964     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16965     break;
16966
16967   case 503:
16968
16969 /* Line 1464 of yacc.c  */
16970 #line 1983 "grammar.y"
16971     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '<', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16972     break;
16973
16974   case 504:
16975
16976 /* Line 1464 of yacc.c  */
16977 #line 1984 "grammar.y"
16978     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16979     break;
16980
16981   case 505:
16982
16983 /* Line 1464 of yacc.c  */
16984 #line 1985 "grammar.y"
16985     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16986     break;
16987
16988   case 506:
16989
16990 /* Line 1464 of yacc.c  */
16991 #line 1986 "grammar.y"
16992     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16993     break;
16994
16995   case 508:
16996
16997 /* Line 1464 of yacc.c  */
16998 #line 1991 "grammar.y"
16999     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17000     break;
17001
17002   case 509:
17003
17004 /* Line 1464 of yacc.c  */
17005 #line 1992 "grammar.y"
17006     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17007     break;
17008
17009   case 510:
17010
17011 /* Line 1464 of yacc.c  */
17012 #line 1993 "grammar.y"
17013     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17014     break;
17015
17016   case 511:
17017
17018 /* Line 1464 of yacc.c  */
17019 #line 1994 "grammar.y"
17020     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17021     break;
17022
17023   case 512:
17024
17025 /* Line 1464 of yacc.c  */
17026 #line 2001 "grammar.y"
17027     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17028     break;
17029
17030   case 513:
17031
17032 /* Line 1464 of yacc.c  */
17033 #line 2002 "grammar.y"
17034     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17035     break;
17036
17037   case 514:
17038
17039 /* Line 1464 of yacc.c  */
17040 #line 2003 "grammar.y"
17041     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17042     break;
17043
17044   case 515:
17045
17046 /* Line 1464 of yacc.c  */
17047 #line 2004 "grammar.y"
17048     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17049     break;
17050
17051   case 517:
17052
17053 /* Line 1464 of yacc.c  */
17054 #line 2009 "grammar.y"
17055     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17056     break;
17057
17058   case 518:
17059
17060 /* Line 1464 of yacc.c  */
17061 #line 2010 "grammar.y"
17062     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17063     break;
17064
17065   case 519:
17066
17067 /* Line 1464 of yacc.c  */
17068 #line 2012 "grammar.y"
17069     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17070     break;
17071
17072   case 520:
17073
17074 /* Line 1464 of yacc.c  */
17075 #line 2013 "grammar.y"
17076     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17077     break;
17078
17079   case 522:
17080
17081 /* Line 1464 of yacc.c  */
17082 #line 2018 "grammar.y"
17083     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17084     break;
17085
17086   case 523:
17087
17088 /* Line 1464 of yacc.c  */
17089 #line 2019 "grammar.y"
17090     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17091     break;
17092
17093   case 524:
17094
17095 /* Line 1464 of yacc.c  */
17096 #line 2021 "grammar.y"
17097     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17098     break;
17099
17100   case 525:
17101
17102 /* Line 1464 of yacc.c  */
17103 #line 2022 "grammar.y"
17104     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17105     break;
17106
17107   case 527:
17108
17109 /* Line 1464 of yacc.c  */
17110 #line 2027 "grammar.y"
17111     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17112     break;
17113
17114   case 528:
17115
17116 /* Line 1464 of yacc.c  */
17117 #line 2028 "grammar.y"
17118     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17119     break;
17120
17121   case 529:
17122
17123 /* Line 1464 of yacc.c  */
17124 #line 2030 "grammar.y"
17125     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17126     break;
17127
17128   case 530:
17129
17130 /* Line 1464 of yacc.c  */
17131 #line 2031 "grammar.y"
17132     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17133     break;
17134
17135   case 532:
17136
17137 /* Line 1464 of yacc.c  */
17138 #line 2036 "grammar.y"
17139     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17140     break;
17141
17142   case 533:
17143
17144 /* Line 1464 of yacc.c  */
17145 #line 2037 "grammar.y"
17146     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17147     break;
17148
17149   case 535:
17150
17151 /* Line 1464 of yacc.c  */
17152 #line 2042 "grammar.y"
17153     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17154     break;
17155
17156   case 536:
17157
17158 /* Line 1464 of yacc.c  */
17159 #line 2043 "grammar.y"
17160     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17161     break;
17162
17163   case 538:
17164
17165 /* Line 1464 of yacc.c  */
17166 #line 2048 "grammar.y"
17167     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17168     break;
17169
17170   case 539:
17171
17172 /* Line 1464 of yacc.c  */
17173 #line 2049 "grammar.y"
17174     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17175     break;
17176
17177   case 540:
17178
17179 /* Line 1464 of yacc.c  */
17180 #line 2050 "grammar.y"
17181     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17182     break;
17183
17184   case 541:
17185
17186 /* Line 1464 of yacc.c  */
17187 #line 2051 "grammar.y"
17188     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17189     break;
17190
17191   case 542:
17192
17193 /* Line 1464 of yacc.c  */
17194 #line 2052 "grammar.y"
17195     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17196     break;
17197
17198   case 543:
17199
17200 /* Line 1464 of yacc.c  */
17201 #line 2053 "grammar.y"
17202     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17203     break;
17204
17205   case 544:
17206
17207 /* Line 1464 of yacc.c  */
17208 #line 2054 "grammar.y"
17209     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17210     break;
17211
17212   case 545:
17213
17214 /* Line 1464 of yacc.c  */
17215 #line 2055 "grammar.y"
17216     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17217     break;
17218
17219   case 546:
17220
17221 /* Line 1464 of yacc.c  */
17222 #line 2057 "grammar.y"
17223     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17224     break;
17225
17226   case 547:
17227
17228 /* Line 1464 of yacc.c  */
17229 #line 2058 "grammar.y"
17230     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17231     break;
17232
17233   case 548:
17234
17235 /* Line 1464 of yacc.c  */
17236 #line 2059 "grammar.y"
17237     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17238     break;
17239
17240   case 549:
17241
17242 /* Line 1464 of yacc.c  */
17243 #line 2060 "grammar.y"
17244     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17245     break;
17246
17247   case 550:
17248
17249 /* Line 1464 of yacc.c  */
17250 #line 2061 "grammar.y"
17251     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17252     break;
17253
17254   case 551:
17255
17256 /* Line 1464 of yacc.c  */
17257 #line 2062 "grammar.y"
17258     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17259     break;
17260
17261   case 552:
17262
17263 /* Line 1464 of yacc.c  */
17264 #line 2063 "grammar.y"
17265     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17266     break;
17267
17268   case 553:
17269
17270 /* Line 1464 of yacc.c  */
17271 #line 2064 "grammar.y"
17272     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17273     break;
17274
17275   case 554:
17276
17277 /* Line 1464 of yacc.c  */
17278 #line 2066 "grammar.y"
17279     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17280     break;
17281
17282   case 555:
17283
17284 /* Line 1464 of yacc.c  */
17285 #line 2067 "grammar.y"
17286     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17287     break;
17288
17289   case 556:
17290
17291 /* Line 1464 of yacc.c  */
17292 #line 2068 "grammar.y"
17293     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17294     break;
17295
17296   case 557:
17297
17298 /* Line 1464 of yacc.c  */
17299 #line 2069 "grammar.y"
17300     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17301     break;
17302
17303   case 558:
17304
17305 /* Line 1464 of yacc.c  */
17306 #line 2071 "grammar.y"
17307     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17308     break;
17309
17310   case 559:
17311
17312 /* Line 1464 of yacc.c  */
17313 #line 2072 "grammar.y"
17314     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17315     break;
17316
17317   case 560:
17318
17319 /* Line 1464 of yacc.c  */
17320 #line 2073 "grammar.y"
17321     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17322     break;
17323
17324   case 561:
17325
17326 /* Line 1464 of yacc.c  */
17327 #line 2074 "grammar.y"
17328     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17329     break;
17330
17331   case 562:
17332
17333 /* Line 1464 of yacc.c  */
17334 #line 2077 "grammar.y"
17335     {
17336          yyerror();
17337          (yyval.exp) = MkExpCondition((yyvsp[(1) - (3)].exp), MkListOne(MkExpDummy()), MkExpDummy());
17338          (yyval.exp).loc = (yyloc);
17339          ((Expression)(yyval.exp).cond.exp->last).loc = (yylsp[(2) - (3)]);
17340          (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (3)]);
17341       ;}
17342     break;
17343
17344   case 563:
17345
17346 /* Line 1464 of yacc.c  */
17347 #line 2085 "grammar.y"
17348     {
17349          (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)]);
17350       ;}
17351     break;
17352
17353   case 564:
17354
17355 /* Line 1464 of yacc.c  */
17356 #line 2089 "grammar.y"
17357     {
17358          yyerror();
17359          (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)]);
17360       ;}
17361     break;
17362
17363   case 565:
17364
17365 /* Line 1464 of yacc.c  */
17366 #line 2094 "grammar.y"
17367     {
17368          (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)]);
17369       ;}
17370     break;
17371
17372   case 567:
17373
17374 /* Line 1464 of yacc.c  */
17375 #line 2101 "grammar.y"
17376     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17377     break;
17378
17379   case 568:
17380
17381 /* Line 1464 of yacc.c  */
17382 #line 2105 "grammar.y"
17383     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17384     break;
17385
17386   case 569:
17387
17388 /* Line 1464 of yacc.c  */
17389 #line 2110 "grammar.y"
17390     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17391     break;
17392
17393   case 570:
17394
17395 /* Line 1464 of yacc.c  */
17396 #line 2111 "grammar.y"
17397     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17398     break;
17399
17400   case 571:
17401
17402 /* Line 1464 of yacc.c  */
17403 #line 2115 "grammar.y"
17404     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
17405     break;
17406
17407   case 572:
17408
17409 /* Line 1464 of yacc.c  */
17410 #line 2116 "grammar.y"
17411     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].exp)); ;}
17412     break;
17413
17414   case 573:
17415
17416 /* Line 1464 of yacc.c  */
17417 #line 2117 "grammar.y"
17418     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17419     break;
17420
17421   case 574:
17422
17423 /* Line 1464 of yacc.c  */
17424 #line 2118 "grammar.y"
17425     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17426     break;
17427
17428   case 575:
17429
17430 /* Line 1464 of yacc.c  */
17431 #line 2124 "grammar.y"
17432     { yyerror(); (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17433     break;
17434
17435   case 576:
17436
17437 /* Line 1464 of yacc.c  */
17438 #line 2125 "grammar.y"
17439     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17440     break;
17441
17442   case 577:
17443
17444 /* Line 1464 of yacc.c  */
17445 #line 2126 "grammar.y"
17446     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17447     break;
17448
17449   case 578:
17450
17451 /* Line 1464 of yacc.c  */
17452 #line 2130 "grammar.y"
17453     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
17454     break;
17455
17456   case 579:
17457
17458 /* Line 1464 of yacc.c  */
17459 #line 2131 "grammar.y"
17460     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].exp)); ;}
17461     break;
17462
17463   case 580:
17464
17465 /* Line 1464 of yacc.c  */
17466 #line 2132 "grammar.y"
17467     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17468     break;
17469
17470   case 581:
17471
17472 /* Line 1464 of yacc.c  */
17473 #line 2133 "grammar.y"
17474     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17475     break;
17476
17477   case 584:
17478
17479 /* Line 1464 of yacc.c  */
17480 #line 2143 "grammar.y"
17481     { (yyval.specifier) = MkSpecifier(TYPEDEF); ;}
17482     break;
17483
17484   case 585:
17485
17486 /* Line 1464 of yacc.c  */
17487 #line 2144 "grammar.y"
17488     { (yyval.specifier) = MkSpecifier(EXTERN); ;}
17489     break;
17490
17491   case 586:
17492
17493 /* Line 1464 of yacc.c  */
17494 #line 2145 "grammar.y"
17495     { (yyval.specifier) = MkSpecifier(STATIC); ;}
17496     break;
17497
17498   case 587:
17499
17500 /* Line 1464 of yacc.c  */
17501 #line 2146 "grammar.y"
17502     { (yyval.specifier) = MkSpecifier(THREAD); ;}
17503     break;
17504
17505   case 588:
17506
17507 /* Line 1464 of yacc.c  */
17508 #line 2147 "grammar.y"
17509     { (yyval.specifier) = MkSpecifier(AUTO); ;}
17510     break;
17511
17512   case 589:
17513
17514 /* Line 1464 of yacc.c  */
17515 #line 2148 "grammar.y"
17516     { (yyval.specifier) = MkSpecifier(REGISTER); ;}
17517     break;
17518
17519   case 590:
17520
17521 /* Line 1464 of yacc.c  */
17522 #line 2149 "grammar.y"
17523     { (yyval.specifier) = MkSpecifier(RESTRICT); ;}
17524     break;
17525
17526   case 591:
17527
17528 /* Line 1464 of yacc.c  */
17529 #line 2153 "grammar.y"
17530     { (yyval.specifier) = MkSpecifier(TYPEDEF); structDeclMode = declMode = defaultAccess; ;}
17531     break;
17532
17533   case 592:
17534
17535 /* Line 1464 of yacc.c  */
17536 #line 2154 "grammar.y"
17537     { (yyval.specifier) = MkSpecifier(EXTERN); ;}
17538     break;
17539
17540   case 593:
17541
17542 /* Line 1464 of yacc.c  */
17543 #line 2155 "grammar.y"
17544     { (yyval.specifier) = MkSpecifier(STATIC); structDeclMode = declMode = staticAccess; ;}
17545     break;
17546
17547   case 594:
17548
17549 /* Line 1464 of yacc.c  */
17550 #line 2156 "grammar.y"
17551     { (yyval.specifier) = MkSpecifier(THREAD); ;}
17552     break;
17553
17554   case 595:
17555
17556 /* Line 1464 of yacc.c  */
17557 #line 2157 "grammar.y"
17558     { (yyval.specifier) = MkSpecifier(AUTO); ;}
17559     break;
17560
17561   case 596:
17562
17563 /* Line 1464 of yacc.c  */
17564 #line 2158 "grammar.y"
17565     { (yyval.specifier) = MkSpecifier(REGISTER); ;}
17566     break;
17567
17568   case 597:
17569
17570 /* Line 1464 of yacc.c  */
17571 #line 2159 "grammar.y"
17572     { (yyval.specifier) = MkSpecifier(RESTRICT); ;}
17573     break;
17574
17575   case 598:
17576
17577 /* Line 1464 of yacc.c  */
17578 #line 2163 "grammar.y"
17579     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (1)].id), null); ;}
17580     break;
17581
17582   case 599:
17583
17584 /* Line 1464 of yacc.c  */
17585 #line 2164 "grammar.y"
17586     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].exp)); ;}
17587     break;
17588
17589   case 600:
17590
17591 /* Line 1464 of yacc.c  */
17592 #line 2165 "grammar.y"
17593     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].exp)); ;}
17594     break;
17595
17596   case 601:
17597
17598 /* Line 1464 of yacc.c  */
17599 #line 2169 "grammar.y"
17600     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].enumerator)); ;}
17601     break;
17602
17603   case 602:
17604
17605 /* Line 1464 of yacc.c  */
17606 #line 2170 "grammar.y"
17607     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].enumerator)); ;}
17608     break;
17609
17610   case 604:
17611
17612 /* Line 1464 of yacc.c  */
17613 #line 2175 "grammar.y"
17614     { memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
17615     break;
17616
17617   case 605:
17618
17619 /* Line 1464 of yacc.c  */
17620 #line 2179 "grammar.y"
17621     { (yyval.specifier) = MkEnum((yyvsp[(2) - (2)].id), null); POP_DEFAULT_ACCESS ;}
17622     break;
17623
17624   case 606:
17625
17626 /* Line 1464 of yacc.c  */
17627 #line 2180 "grammar.y"
17628     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (2)].specifier).name), null); POP_DEFAULT_ACCESS ;}
17629     break;
17630
17631   case 607:
17632
17633 /* Line 1464 of yacc.c  */
17634 #line 2184 "grammar.y"
17635     { (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS (yyval.specifier) = (yyvsp[(1) - (2)].specifier); ;}
17636     break;
17637
17638   case 608:
17639
17640 /* Line 1464 of yacc.c  */
17641 #line 2185 "grammar.y"
17642     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17643     break;
17644
17645   case 609:
17646
17647 /* Line 1464 of yacc.c  */
17648 #line 2186 "grammar.y"
17649     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), null); FreeSpecifier((yyvsp[(2) - (4)].specifier)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17650     break;
17651
17652   case 610:
17653
17654 /* Line 1464 of yacc.c  */
17655 #line 2190 "grammar.y"
17656     { (yyval.specifier) = MkEnum(null, (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17657     break;
17658
17659   case 611:
17660
17661 /* Line 1464 of yacc.c  */
17662 #line 2191 "grammar.y"
17663     { (yyval.specifier) = MkEnum(null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17664     break;
17665
17666   case 612:
17667
17668 /* Line 1464 of yacc.c  */
17669 #line 2193 "grammar.y"
17670     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), (yyvsp[(4) - (4)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17671     break;
17672
17673   case 613:
17674
17675 /* Line 1464 of yacc.c  */
17676 #line 2194 "grammar.y"
17677     { (yyval.specifier) = MkEnum((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].list));  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17678     break;
17679
17680   case 614:
17681
17682 /* Line 1464 of yacc.c  */
17683 #line 2195 "grammar.y"
17684     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), null);  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17685     break;
17686
17687   case 615:
17688
17689 /* Line 1464 of yacc.c  */
17690 #line 2196 "grammar.y"
17691     { (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 ;}
17692     break;
17693
17694   case 616:
17695
17696 /* Line 1464 of yacc.c  */
17697 #line 2197 "grammar.y"
17698     { (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 ;}
17699     break;
17700
17701   case 617:
17702
17703 /* Line 1464 of yacc.c  */
17704 #line 2199 "grammar.y"
17705     { (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 ;}
17706     break;
17707
17708   case 618:
17709
17710 /* Line 1464 of yacc.c  */
17711 #line 2200 "grammar.y"
17712     { (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 ;}
17713     break;
17714
17715   case 619:
17716
17717 /* Line 1464 of yacc.c  */
17718 #line 2201 "grammar.y"
17719     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), null); (yyval.specifier).loc = (yyloc); FreeSpecifier((yyvsp[(2) - (4)].specifier)); POP_DEFAULT_ACCESS ;}
17720     break;
17721
17722   case 620:
17723
17724 /* Line 1464 of yacc.c  */
17725 #line 2202 "grammar.y"
17726     { (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 ;}
17727     break;
17728
17729   case 621:
17730
17731 /* Line 1464 of yacc.c  */
17732 #line 2203 "grammar.y"
17733     { (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 ;}
17734     break;
17735
17736   case 622:
17737
17738 /* Line 1464 of yacc.c  */
17739 #line 2205 "grammar.y"
17740     { (yyval.specifier) = MkEnum((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17741     break;
17742
17743   case 623:
17744
17745 /* Line 1464 of yacc.c  */
17746 #line 2206 "grammar.y"
17747     { (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 ;}
17748     break;
17749
17750   case 624:
17751
17752 /* Line 1464 of yacc.c  */
17753 #line 2210 "grammar.y"
17754     { (yyval.id) = (yyvsp[(2) - (2)].id); if(declMode) DeclClassAddNameSpace((yyvsp[(2) - (2)].id).string); ;}
17755     break;
17756
17757   case 625:
17758
17759 /* Line 1464 of yacc.c  */
17760 #line 2211 "grammar.y"
17761     { (yyval.id) = MkIdentifier((yyvsp[(2) - (2)].specifier).name); if(declMode) DeclClass((yyvsp[(2) - (2)].specifier).name); FreeSpecifier((yyvsp[(2) - (2)].specifier)); ;}
17762     break;
17763
17764   case 626:
17765
17766 /* Line 1464 of yacc.c  */
17767 #line 2215 "grammar.y"
17768     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
17769     break;
17770
17771   case 627:
17772
17773 /* Line 1464 of yacc.c  */
17774 #line 2216 "grammar.y"
17775     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17776     break;
17777
17778   case 628:
17779
17780 /* Line 1464 of yacc.c  */
17781 #line 2217 "grammar.y"
17782     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), null); POP_DEFAULT_ACCESS ;}
17783     break;
17784
17785   case 629:
17786
17787 /* Line 1464 of yacc.c  */
17788 #line 2221 "grammar.y"
17789     { (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 ;}
17790     break;
17791
17792   case 630:
17793
17794 /* Line 1464 of yacc.c  */
17795 #line 2222 "grammar.y"
17796     { (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 ;}
17797     break;
17798
17799   case 631:
17800
17801 /* Line 1464 of yacc.c  */
17802 #line 2223 "grammar.y"
17803     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17804     break;
17805
17806   case 632:
17807
17808 /* Line 1464 of yacc.c  */
17809 #line 2224 "grammar.y"
17810     { (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 ;}
17811     break;
17812
17813   case 633:
17814
17815 /* Line 1464 of yacc.c  */
17816 #line 2225 "grammar.y"
17817     { (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 ;}
17818     break;
17819
17820   case 634:
17821
17822 /* Line 1464 of yacc.c  */
17823 #line 2226 "grammar.y"
17824     { (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 ;}
17825     break;
17826
17827   case 635:
17828
17829 /* Line 1464 of yacc.c  */
17830 #line 2227 "grammar.y"
17831     { (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 ;}
17832     break;
17833
17834   case 636:
17835
17836 /* Line 1464 of yacc.c  */
17837 #line 2228 "grammar.y"
17838     { (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 ;}
17839     break;
17840
17841   case 637:
17842
17843 /* Line 1464 of yacc.c  */
17844 #line 2229 "grammar.y"
17845     { (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 ;}
17846     break;
17847
17848   case 638:
17849
17850 /* Line 1464 of yacc.c  */
17851 #line 2231 "grammar.y"
17852     { (yyval.specifier) = MkEnum(null, (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17853     break;
17854
17855   case 639:
17856
17857 /* Line 1464 of yacc.c  */
17858 #line 2232 "grammar.y"
17859     { (yyval.specifier) = MkEnum(null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17860     break;
17861
17862   case 640:
17863
17864 /* Line 1464 of yacc.c  */
17865 #line 2234 "grammar.y"
17866     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17867     break;
17868
17869   case 641:
17870
17871 /* Line 1464 of yacc.c  */
17872 #line 2235 "grammar.y"
17873     { (yyval.specifier) = MkEnum((yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17874     break;
17875
17876   case 642:
17877
17878 /* Line 1464 of yacc.c  */
17879 #line 2236 "grammar.y"
17880     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17881     break;
17882
17883   case 643:
17884
17885 /* Line 1464 of yacc.c  */
17886 #line 2237 "grammar.y"
17887     { (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 ;}
17888     break;
17889
17890   case 644:
17891
17892 /* Line 1464 of yacc.c  */
17893 #line 2238 "grammar.y"
17894     { (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 ;}
17895     break;
17896
17897   case 645:
17898
17899 /* Line 1464 of yacc.c  */
17900 #line 2240 "grammar.y"
17901     { (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 ;}
17902     break;
17903
17904   case 646:
17905
17906 /* Line 1464 of yacc.c  */
17907 #line 2241 "grammar.y"
17908     { (yyval.specifier) = MkEnum((yyvsp[(1) - (7)].id), (yyvsp[(5) - (7)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (7)].list);  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17909     break;
17910
17911   case 647:
17912
17913 /* Line 1464 of yacc.c  */
17914 #line 2242 "grammar.y"
17915     { (yyval.specifier) = MkEnum((yyvsp[(1) - (6)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (6)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17916     break;
17917
17918   case 648:
17919
17920 /* Line 1464 of yacc.c  */
17921 #line 2243 "grammar.y"
17922     { (yyval.specifier) = MkEnum((yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].list));  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17923     break;
17924
17925   case 653:
17926
17927 /* Line 1464 of yacc.c  */
17928 #line 2257 "grammar.y"
17929     { (yyval.specifier) = MkSpecifierExtended((yyvsp[(1) - (1)].extDecl)); ;}
17930     break;
17931
17932   case 654:
17933
17934 /* Line 1464 of yacc.c  */
17935 #line 2261 "grammar.y"
17936     { (yyval.specifier) = MkSpecifier(CONST); ;}
17937     break;
17938
17939   case 655:
17940
17941 /* Line 1464 of yacc.c  */
17942 #line 2262 "grammar.y"
17943     { (yyval.specifier) = MkSpecifier(VOLATILE); ;}
17944     break;
17945
17946   case 656:
17947
17948 /* Line 1464 of yacc.c  */
17949 #line 2263 "grammar.y"
17950     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); ;}
17951     break;
17952
17953   case 657:
17954
17955 /* Line 1464 of yacc.c  */
17956 #line 2268 "grammar.y"
17957     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17958     break;
17959
17960   case 658:
17961
17962 /* Line 1464 of yacc.c  */
17963 #line 2269 "grammar.y"
17964     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier));  ;}
17965     break;
17966
17967   case 659:
17968
17969 /* Line 1464 of yacc.c  */
17970 #line 2273 "grammar.y"
17971     { (yyval.specifier) = MkSpecifier(VOID); ;}
17972     break;
17973
17974   case 660:
17975
17976 /* Line 1464 of yacc.c  */
17977 #line 2274 "grammar.y"
17978     { (yyval.specifier) = MkSpecifier(CHAR); ;}
17979     break;
17980
17981   case 661:
17982
17983 /* Line 1464 of yacc.c  */
17984 #line 2275 "grammar.y"
17985     { (yyval.specifier) = MkSpecifier(SHORT); ;}
17986     break;
17987
17988   case 662:
17989
17990 /* Line 1464 of yacc.c  */
17991 #line 2276 "grammar.y"
17992     { (yyval.specifier) = MkSpecifier(INT); ;}
17993     break;
17994
17995   case 663:
17996
17997 /* Line 1464 of yacc.c  */
17998 #line 2277 "grammar.y"
17999     { (yyval.specifier) = MkSpecifier(UINT); ;}
18000     break;
18001
18002   case 664:
18003
18004 /* Line 1464 of yacc.c  */
18005 #line 2278 "grammar.y"
18006     { (yyval.specifier) = MkSpecifier(INT64); ;}
18007     break;
18008
18009   case 665:
18010
18011 /* Line 1464 of yacc.c  */
18012 #line 2279 "grammar.y"
18013     { (yyval.specifier) = MkSpecifier(VALIST); ;}
18014     break;
18015
18016   case 666:
18017
18018 /* Line 1464 of yacc.c  */
18019 #line 2280 "grammar.y"
18020     { (yyval.specifier) = MkSpecifier(LONG); ;}
18021     break;
18022
18023   case 667:
18024
18025 /* Line 1464 of yacc.c  */
18026 #line 2281 "grammar.y"
18027     { (yyval.specifier) = MkSpecifier(FLOAT); ;}
18028     break;
18029
18030   case 668:
18031
18032 /* Line 1464 of yacc.c  */
18033 #line 2282 "grammar.y"
18034     { (yyval.specifier) = MkSpecifier(DOUBLE); ;}
18035     break;
18036
18037   case 669:
18038
18039 /* Line 1464 of yacc.c  */
18040 #line 2283 "grammar.y"
18041     { (yyval.specifier) = MkSpecifier(SIGNED); ;}
18042     break;
18043
18044   case 670:
18045
18046 /* Line 1464 of yacc.c  */
18047 #line 2284 "grammar.y"
18048     { (yyval.specifier) = MkSpecifier(UNSIGNED); ;}
18049     break;
18050
18051   case 671:
18052
18053 /* Line 1464 of yacc.c  */
18054 #line 2285 "grammar.y"
18055     { (yyval.specifier) = MkSpecifier(EXTENSION); ;}
18056     break;
18057
18058   case 675:
18059
18060 /* Line 1464 of yacc.c  */
18061 #line 2289 "grammar.y"
18062     { (yyval.specifier) = MkSpecifierTypeOf((yyvsp[(3) - (4)].exp)); ;}
18063     break;
18064
18065   case 676:
18066
18067 /* Line 1464 of yacc.c  */
18068 #line 2290 "grammar.y"
18069     { (yyval.specifier) = MkSpecifierSubClass((yyvsp[(3) - (4)].specifier)); ;}
18070     break;
18071
18072   case 677:
18073
18074 /* Line 1464 of yacc.c  */
18075 #line 2291 "grammar.y"
18076     { _DeclClass((yyvsp[(3) - (4)].id).string); (yyval.specifier) = MkSpecifierSubClass(MkSpecifierName((yyvsp[(3) - (4)].id).string)); FreeIdentifier((yyvsp[(3) - (4)].id)); ;}
18077     break;
18078
18079   case 678:
18080
18081 /* Line 1464 of yacc.c  */
18082 #line 2292 "grammar.y"
18083     { (yyval.specifier) = MkSpecifier(THISCLASS); ;}
18084     break;
18085
18086   case 679:
18087
18088 /* Line 1464 of yacc.c  */
18089 #line 2293 "grammar.y"
18090     { (yyval.specifier) = MkSpecifier(TYPED_OBJECT); ;}
18091     break;
18092
18093   case 680:
18094
18095 /* Line 1464 of yacc.c  */
18096 #line 2294 "grammar.y"
18097     { (yyval.specifier) = MkSpecifier(ANY_OBJECT); ;}
18098     break;
18099
18100   case 681:
18101
18102 /* Line 1464 of yacc.c  */
18103 #line 2295 "grammar.y"
18104     { (yyval.specifier) = MkSpecifier(_BOOL); ;}
18105     break;
18106
18107   case 682:
18108
18109 /* Line 1464 of yacc.c  */
18110 #line 2296 "grammar.y"
18111     { (yyval.specifier) = MkSpecifier(BOOL); ;}
18112     break;
18113
18114   case 683:
18115
18116 /* Line 1464 of yacc.c  */
18117 #line 2297 "grammar.y"
18118     { (yyval.specifier) = MkSpecifier(_COMPLEX); ;}
18119     break;
18120
18121   case 684:
18122
18123 /* Line 1464 of yacc.c  */
18124 #line 2298 "grammar.y"
18125     { (yyval.specifier) = MkSpecifier(_IMAGINARY); ;}
18126     break;
18127
18128   case 685:
18129
18130 /* Line 1464 of yacc.c  */
18131 #line 2302 "grammar.y"
18132     { (yyval.specifier) = MkSpecifier(VOID); ;}
18133     break;
18134
18135   case 686:
18136
18137 /* Line 1464 of yacc.c  */
18138 #line 2303 "grammar.y"
18139     { (yyval.specifier) = MkSpecifier(CHAR); ;}
18140     break;
18141
18142   case 687:
18143
18144 /* Line 1464 of yacc.c  */
18145 #line 2304 "grammar.y"
18146     { (yyval.specifier) = MkSpecifier(SHORT); ;}
18147     break;
18148
18149   case 688:
18150
18151 /* Line 1464 of yacc.c  */
18152 #line 2305 "grammar.y"
18153     { (yyval.specifier) = MkSpecifier(INT); ;}
18154     break;
18155
18156   case 689:
18157
18158 /* Line 1464 of yacc.c  */
18159 #line 2306 "grammar.y"
18160     { (yyval.specifier) = MkSpecifier(UINT); ;}
18161     break;
18162
18163   case 690:
18164
18165 /* Line 1464 of yacc.c  */
18166 #line 2307 "grammar.y"
18167     { (yyval.specifier) = MkSpecifier(INT64); ;}
18168     break;
18169
18170   case 691:
18171
18172 /* Line 1464 of yacc.c  */
18173 #line 2308 "grammar.y"
18174     { (yyval.specifier) = MkSpecifier(VALIST); ;}
18175     break;
18176
18177   case 692:
18178
18179 /* Line 1464 of yacc.c  */
18180 #line 2309 "grammar.y"
18181     { (yyval.specifier) = MkSpecifier(LONG); ;}
18182     break;
18183
18184   case 693:
18185
18186 /* Line 1464 of yacc.c  */
18187 #line 2310 "grammar.y"
18188     { (yyval.specifier) = MkSpecifier(FLOAT); ;}
18189     break;
18190
18191   case 694:
18192
18193 /* Line 1464 of yacc.c  */
18194 #line 2311 "grammar.y"
18195     { (yyval.specifier) = MkSpecifier(DOUBLE); ;}
18196     break;
18197
18198   case 695:
18199
18200 /* Line 1464 of yacc.c  */
18201 #line 2312 "grammar.y"
18202     { (yyval.specifier) = MkSpecifier(SIGNED); ;}
18203     break;
18204
18205   case 696:
18206
18207 /* Line 1464 of yacc.c  */
18208 #line 2313 "grammar.y"
18209     { (yyval.specifier) = MkSpecifier(UNSIGNED); ;}
18210     break;
18211
18212   case 697:
18213
18214 /* Line 1464 of yacc.c  */
18215 #line 2314 "grammar.y"
18216     { (yyval.specifier) = MkSpecifier(EXTENSION); ;}
18217     break;
18218
18219   case 701:
18220
18221 /* Line 1464 of yacc.c  */
18222 #line 2318 "grammar.y"
18223     { (yyval.specifier) = MkSpecifier(_BOOL); ;}
18224     break;
18225
18226   case 702:
18227
18228 /* Line 1464 of yacc.c  */
18229 #line 2319 "grammar.y"
18230     { (yyval.specifier) = MkSpecifier(BOOL); ;}
18231     break;
18232
18233   case 703:
18234
18235 /* Line 1464 of yacc.c  */
18236 #line 2320 "grammar.y"
18237     { (yyval.specifier) = MkSpecifier(_COMPLEX); ;}
18238     break;
18239
18240   case 704:
18241
18242 /* Line 1464 of yacc.c  */
18243 #line 2321 "grammar.y"
18244     { (yyval.specifier) = MkSpecifier(_IMAGINARY); ;}
18245     break;
18246
18247   case 705:
18248
18249 /* Line 1464 of yacc.c  */
18250 #line 2322 "grammar.y"
18251     { (yyval.specifier) = MkSpecifierTypeOf((yyvsp[(3) - (4)].exp)); ;}
18252     break;
18253
18254   case 706:
18255
18256 /* Line 1464 of yacc.c  */
18257 #line 2323 "grammar.y"
18258     { (yyval.specifier) = MkSpecifierSubClass((yyvsp[(3) - (4)].specifier)); ;}
18259     break;
18260
18261   case 707:
18262
18263 /* Line 1464 of yacc.c  */
18264 #line 2324 "grammar.y"
18265     { _DeclClass((yyvsp[(3) - (4)].id).string); (yyval.specifier) = MkSpecifierSubClass(MkSpecifierName((yyvsp[(3) - (4)].id).string)); FreeIdentifier((yyvsp[(3) - (4)].id)); ;}
18266     break;
18267
18268   case 708:
18269
18270 /* Line 1464 of yacc.c  */
18271 #line 2325 "grammar.y"
18272     { (yyval.specifier) = MkSpecifier(THISCLASS); ;}
18273     break;
18274
18275   case 709:
18276
18277 /* Line 1464 of yacc.c  */
18278 #line 2332 "grammar.y"
18279     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.declarator).loc = (yyloc); ;}
18280     break;
18281
18282   case 710:
18283
18284 /* Line 1464 of yacc.c  */
18285 #line 2334 "grammar.y"
18286     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (2)].declarator), null); (yyval.declarator).structDecl.attrib = (yyvsp[(2) - (2)].attrib); (yyval.declarator).loc = (yyloc); ;}
18287     break;
18288
18289   case 711:
18290
18291 /* Line 1464 of yacc.c  */
18292 #line 2336 "grammar.y"
18293     { (yyval.declarator) = MkStructDeclarator(null, (yyvsp[(2) - (2)].exp));  (yyval.declarator).loc = (yyloc); ;}
18294     break;
18295
18296   case 712:
18297
18298 /* Line 1464 of yacc.c  */
18299 #line 2338 "grammar.y"
18300     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].exp));  (yyval.declarator).loc = (yyloc); ;}
18301     break;
18302
18303   case 713:
18304
18305 /* Line 1464 of yacc.c  */
18306 #line 2340 "grammar.y"
18307     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18308     break;
18309
18310   case 714:
18311
18312 /* Line 1464 of yacc.c  */
18313 #line 2342 "grammar.y"
18314     { (yyval.declarator) = MkStructDeclarator(null, (yyvsp[(2) - (2)].exp));  (yyval.declarator).loc = (yyloc); ;}
18315     break;
18316
18317   case 715:
18318
18319 /* Line 1464 of yacc.c  */
18320 #line 2344 "grammar.y"
18321     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].exp));  (yyval.declarator).loc = (yyloc); ;}
18322     break;
18323
18324   case 716:
18325
18326 /* Line 1464 of yacc.c  */
18327 #line 2346 "grammar.y"
18328     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18329     break;
18330
18331   case 717:
18332
18333 /* Line 1464 of yacc.c  */
18334 #line 2348 "grammar.y"
18335     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18336     break;
18337
18338   case 718:
18339
18340 /* Line 1464 of yacc.c  */
18341 #line 2350 "grammar.y"
18342     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18343     break;
18344
18345   case 719:
18346
18347 /* Line 1464 of yacc.c  */
18348 #line 2354 "grammar.y"
18349     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declarator)); ;}
18350     break;
18351
18352   case 720:
18353
18354 /* Line 1464 of yacc.c  */
18355 #line 2355 "grammar.y"
18356     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].declarator)); ;}
18357     break;
18358
18359   case 721:
18360
18361 /* Line 1464 of yacc.c  */
18362 #line 2360 "grammar.y"
18363     {
18364          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (2)].specifierType), (yyvsp[(2) - (2)].id), null);
18365          (yyval.specifier).addNameSpace = true;
18366          (yyval.specifier).ctx = PushContext();
18367       ;}
18368     break;
18369
18370   case 722:
18371
18372 /* Line 1464 of yacc.c  */
18373 #line 2366 "grammar.y"
18374     {
18375          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (2)].specifierType), MkIdentifier((yyvsp[(2) - (2)].specifier).name), null);
18376          (yyval.specifier).ctx = PushContext();
18377          FreeSpecifier((yyvsp[(2) - (2)].specifier));
18378       ;}
18379     break;
18380
18381   case 723:
18382
18383 /* Line 1464 of yacc.c  */
18384 #line 2372 "grammar.y"
18385     {
18386          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), (yyvsp[(3) - (3)].id), null);
18387          (yyval.specifier).extDeclStruct = (yyvsp[(2) - (3)].extDecl);
18388          (yyval.specifier).addNameSpace = true;
18389          (yyval.specifier).ctx = PushContext();
18390       ;}
18391     break;
18392
18393   case 724:
18394
18395 /* Line 1464 of yacc.c  */
18396 #line 2379 "grammar.y"
18397     {
18398          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), MkIdentifier((yyvsp[(3) - (3)].specifier).name), null);
18399          (yyval.specifier).extDeclStruct = (yyvsp[(2) - (3)].extDecl);
18400          (yyval.specifier).ctx = PushContext();
18401          FreeSpecifier((yyvsp[(3) - (3)].specifier));
18402       ;}
18403     break;
18404
18405   case 725:
18406
18407 /* Line 1464 of yacc.c  */
18408 #line 2388 "grammar.y"
18409     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
18410     break;
18411
18412   case 726:
18413
18414 /* Line 1464 of yacc.c  */
18415 #line 2389 "grammar.y"
18416     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18417     break;
18418
18419   case 727:
18420
18421 /* Line 1464 of yacc.c  */
18422 #line 2390 "grammar.y"
18423     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18424     break;
18425
18426   case 728:
18427
18428 /* Line 1464 of yacc.c  */
18429 #line 2391 "grammar.y"
18430     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, null); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18431     break;
18432
18433   case 729:
18434
18435 /* Line 1464 of yacc.c  */
18436 #line 2395 "grammar.y"
18437     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); AddStructDefinitions((yyvsp[(1) - (3)].specifier), (yyvsp[(3) - (3)].list));  POP_DEFAULT_ACCESS PopContext(curContext); ;}
18438     break;
18439
18440   case 730:
18441
18442 /* Line 1464 of yacc.c  */
18443 #line 2396 "grammar.y"
18444     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); AddStructDefinitions((yyvsp[(1) - (3)].specifier), (yyvsp[(3) - (3)].list));  POP_DEFAULT_ACCESS PopContext(curContext); ;}
18445     break;
18446
18447   case 731:
18448
18449 /* Line 1464 of yacc.c  */
18450 #line 2397 "grammar.y"
18451     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18452     break;
18453
18454   case 732:
18455
18456 /* Line 1464 of yacc.c  */
18457 #line 2399 "grammar.y"
18458     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18459     break;
18460
18461   case 733:
18462
18463 /* Line 1464 of yacc.c  */
18464 #line 2400 "grammar.y"
18465     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18466     break;
18467
18468   case 734:
18469
18470 /* Line 1464 of yacc.c  */
18471 #line 2401 "grammar.y"
18472     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18473     break;
18474
18475   case 735:
18476
18477 /* Line 1464 of yacc.c  */
18478 #line 2403 "grammar.y"
18479     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, (yyvsp[(4) - (4)].list)); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18480     break;
18481
18482   case 736:
18483
18484 /* Line 1464 of yacc.c  */
18485 #line 2404 "grammar.y"
18486     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, (yyvsp[(4) - (4)].list)); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18487     break;
18488
18489   case 737:
18490
18491 /* Line 1464 of yacc.c  */
18492 #line 2405 "grammar.y"
18493     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, null); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18494     break;
18495
18496   case 738:
18497
18498 /* Line 1464 of yacc.c  */
18499 #line 2409 "grammar.y"
18500     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18501     break;
18502
18503   case 739:
18504
18505 /* Line 1464 of yacc.c  */
18506 #line 2414 "grammar.y"
18507     {
18508         (yyval.specifier) = (yyvsp[(1) - (1)].specifier);
18509         if(declMode)
18510         {
18511            ((yyvsp[(1) - (1)].specifier).addNameSpace ? DeclClassAddNameSpace : DeclClass)((yyvsp[(1) - (1)].specifier).id.string);
18512         }
18513      ;}
18514     break;
18515
18516   case 740:
18517
18518 /* Line 1464 of yacc.c  */
18519 #line 2422 "grammar.y"
18520     {
18521       Symbol symbol = ((yyvsp[(1) - (4)].specifier).addNameSpace ? DeclClassAddNameSpace : DeclClass)((yyvsp[(1) - (4)].specifier).id.string);
18522       (yyval.specifier) = (yyvsp[(1) - (4)].specifier);
18523       symbol.templateParams = (yyvsp[(3) - (4)].list);
18524    ;}
18525     break;
18526
18527   case 741:
18528
18529 /* Line 1464 of yacc.c  */
18530 #line 2431 "grammar.y"
18531     {
18532       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18533       (yyval.specifier).baseSpecs = (yyvsp[(3) - (3)].list);
18534       SetupBaseSpecs(null, (yyvsp[(3) - (3)].list));
18535    ;}
18536     break;
18537
18538   case 742:
18539
18540 /* Line 1464 of yacc.c  */
18541 #line 2439 "grammar.y"
18542     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
18543     break;
18544
18545   case 743:
18546
18547 /* Line 1464 of yacc.c  */
18548 #line 2441 "grammar.y"
18549     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18550     break;
18551
18552   case 744:
18553
18554 /* Line 1464 of yacc.c  */
18555 #line 2442 "grammar.y"
18556     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18557     break;
18558
18559   case 745:
18560
18561 /* Line 1464 of yacc.c  */
18562 #line 2443 "grammar.y"
18563     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18564     break;
18565
18566   case 746:
18567
18568 /* Line 1464 of yacc.c  */
18569 #line 2448 "grammar.y"
18570     {
18571       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18572       (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18573       POP_DEFAULT_ACCESS
18574       PopContext(curContext);
18575    ;}
18576     break;
18577
18578   case 747:
18579
18580 /* Line 1464 of yacc.c  */
18581 #line 2455 "grammar.y"
18582     {
18583       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18584       (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18585       POP_DEFAULT_ACCESS
18586       PopContext(curContext);
18587    ;}
18588     break;
18589
18590   case 748:
18591
18592 /* Line 1464 of yacc.c  */
18593 #line 2462 "grammar.y"
18594     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext);;}
18595     break;
18596
18597   case 749:
18598
18599 /* Line 1464 of yacc.c  */
18600 #line 2465 "grammar.y"
18601     {
18602         PopContext(curContext);
18603         if(!declMode)
18604         {
18605            (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifier).type, (yyvsp[(1) - (3)].specifier).id, (yyvsp[(3) - (3)].list));
18606            (yyvsp[(1) - (3)].specifier).id = null;
18607            FreeSpecifier((yyvsp[(1) - (3)].specifier));
18608         }
18609         else
18610            (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18611         POP_DEFAULT_ACCESS
18612      ;}
18613     break;
18614
18615   case 750:
18616
18617 /* Line 1464 of yacc.c  */
18618 #line 2478 "grammar.y"
18619     {
18620         PopContext(curContext);
18621
18622         if(!declMode)
18623         {
18624            (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifier).type, (yyvsp[(1) - (3)].specifier).id, (yyvsp[(3) - (3)].list));
18625            (yyvsp[(1) - (3)].specifier).id = null;
18626            FreeSpecifier((yyvsp[(1) - (3)].specifier));
18627         }
18628         else
18629            (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18630         POP_DEFAULT_ACCESS
18631      ;}
18632     break;
18633
18634   case 751:
18635
18636 /* Line 1464 of yacc.c  */
18637 #line 2492 "grammar.y"
18638     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18639     break;
18640
18641   case 752:
18642
18643 /* Line 1464 of yacc.c  */
18644 #line 2495 "grammar.y"
18645     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS  ;}
18646     break;
18647
18648   case 753:
18649
18650 /* Line 1464 of yacc.c  */
18651 #line 2497 "grammar.y"
18652     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18653     break;
18654
18655   case 754:
18656
18657 /* Line 1464 of yacc.c  */
18658 #line 2499 "grammar.y"
18659     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18660     break;
18661
18662   case 755:
18663
18664 /* Line 1464 of yacc.c  */
18665 #line 2503 "grammar.y"
18666     { (yyval.specifierType) = structSpecifier; memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
18667     break;
18668
18669   case 756:
18670
18671 /* Line 1464 of yacc.c  */
18672 #line 2504 "grammar.y"
18673     { (yyval.specifierType) = unionSpecifier; memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
18674     break;
18675
18676   case 757:
18677
18678 /* Line 1464 of yacc.c  */
18679 #line 2508 "grammar.y"
18680     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18681     break;
18682
18683   case 758:
18684
18685 /* Line 1464 of yacc.c  */
18686 #line 2509 "grammar.y"
18687     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18688     break;
18689
18690   case 759:
18691
18692 /* Line 1464 of yacc.c  */
18693 #line 2510 "grammar.y"
18694     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18695     break;
18696
18697   case 760:
18698
18699 /* Line 1464 of yacc.c  */
18700 #line 2511 "grammar.y"
18701     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18702     break;
18703
18704   case 761:
18705
18706 /* Line 1464 of yacc.c  */
18707 #line 2512 "grammar.y"
18708     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18709     break;
18710
18711   case 762:
18712
18713 /* Line 1464 of yacc.c  */
18714 #line 2513 "grammar.y"
18715     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18716     break;
18717
18718   case 763:
18719
18720 /* Line 1464 of yacc.c  */
18721 #line 2514 "grammar.y"
18722     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18723     break;
18724
18725   case 764:
18726
18727 /* Line 1464 of yacc.c  */
18728 #line 2515 "grammar.y"
18729     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18730     break;
18731
18732   case 765:
18733
18734 /* Line 1464 of yacc.c  */
18735 #line 2519 "grammar.y"
18736     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18737     break;
18738
18739   case 766:
18740
18741 /* Line 1464 of yacc.c  */
18742 #line 2520 "grammar.y"
18743     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18744     break;
18745
18746   case 767:
18747
18748 /* Line 1464 of yacc.c  */
18749 #line 2521 "grammar.y"
18750     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18751     break;
18752
18753   case 768:
18754
18755 /* Line 1464 of yacc.c  */
18756 #line 2522 "grammar.y"
18757     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18758     break;
18759
18760   case 769:
18761
18762 /* Line 1464 of yacc.c  */
18763 #line 2523 "grammar.y"
18764     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18765     break;
18766
18767   case 770:
18768
18769 /* Line 1464 of yacc.c  */
18770 #line 2524 "grammar.y"
18771     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18772     break;
18773
18774   case 771:
18775
18776 /* Line 1464 of yacc.c  */
18777 #line 2525 "grammar.y"
18778     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18779     break;
18780
18781   case 772:
18782
18783 /* Line 1464 of yacc.c  */
18784 #line 2526 "grammar.y"
18785     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18786     break;
18787
18788   case 773:
18789
18790 /* Line 1464 of yacc.c  */
18791 #line 2527 "grammar.y"
18792     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18793     break;
18794
18795   case 774:
18796
18797 /* Line 1464 of yacc.c  */
18798 #line 2528 "grammar.y"
18799     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18800     break;
18801
18802   case 775:
18803
18804 /* Line 1464 of yacc.c  */
18805 #line 2532 "grammar.y"
18806     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18807     break;
18808
18809   case 776:
18810
18811 /* Line 1464 of yacc.c  */
18812 #line 2533 "grammar.y"
18813     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18814     break;
18815
18816   case 777:
18817
18818 /* Line 1464 of yacc.c  */
18819 #line 2534 "grammar.y"
18820     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18821     break;
18822
18823   case 778:
18824
18825 /* Line 1464 of yacc.c  */
18826 #line 2535 "grammar.y"
18827     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18828     break;
18829
18830   case 779:
18831
18832 /* Line 1464 of yacc.c  */
18833 #line 2536 "grammar.y"
18834     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18835     break;
18836
18837   case 780:
18838
18839 /* Line 1464 of yacc.c  */
18840 #line 2537 "grammar.y"
18841     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18842     break;
18843
18844   case 781:
18845
18846 /* Line 1464 of yacc.c  */
18847 #line 2538 "grammar.y"
18848     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18849     break;
18850
18851   case 782:
18852
18853 /* Line 1464 of yacc.c  */
18854 #line 2539 "grammar.y"
18855     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18856     break;
18857
18858   case 783:
18859
18860 /* Line 1464 of yacc.c  */
18861 #line 2540 "grammar.y"
18862     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18863     break;
18864
18865   case 784:
18866
18867 /* Line 1464 of yacc.c  */
18868 #line 2541 "grammar.y"
18869     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18870     break;
18871
18872   case 785:
18873
18874 /* Line 1464 of yacc.c  */
18875 #line 2545 "grammar.y"
18876     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18877     break;
18878
18879   case 786:
18880
18881 /* Line 1464 of yacc.c  */
18882 #line 2546 "grammar.y"
18883     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18884     break;
18885
18886   case 787:
18887
18888 /* Line 1464 of yacc.c  */
18889 #line 2547 "grammar.y"
18890     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18891     break;
18892
18893   case 788:
18894
18895 /* Line 1464 of yacc.c  */
18896 #line 2548 "grammar.y"
18897     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18898     break;
18899
18900   case 789:
18901
18902 /* Line 1464 of yacc.c  */
18903 #line 2549 "grammar.y"
18904     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18905     break;
18906
18907   case 790:
18908
18909 /* Line 1464 of yacc.c  */
18910 #line 2550 "grammar.y"
18911     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18912     break;
18913
18914   case 791:
18915
18916 /* Line 1464 of yacc.c  */
18917 #line 2551 "grammar.y"
18918     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18919     break;
18920
18921   case 792:
18922
18923 /* Line 1464 of yacc.c  */
18924 #line 2552 "grammar.y"
18925     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18926     break;
18927
18928   case 793:
18929
18930 /* Line 1464 of yacc.c  */
18931 #line 2553 "grammar.y"
18932     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18933     break;
18934
18935   case 794:
18936
18937 /* Line 1464 of yacc.c  */
18938 #line 2554 "grammar.y"
18939     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18940     break;
18941
18942   case 795:
18943
18944 /* Line 1464 of yacc.c  */
18945 #line 2555 "grammar.y"
18946     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18947     break;
18948
18949   case 796:
18950
18951 /* Line 1464 of yacc.c  */
18952 #line 2556 "grammar.y"
18953     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18954     break;
18955
18956   case 797:
18957
18958 /* Line 1464 of yacc.c  */
18959 #line 2560 "grammar.y"
18960     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18961     break;
18962
18963   case 798:
18964
18965 /* Line 1464 of yacc.c  */
18966 #line 2561 "grammar.y"
18967     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18968     break;
18969
18970   case 799:
18971
18972 /* Line 1464 of yacc.c  */
18973 #line 2562 "grammar.y"
18974     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18975     break;
18976
18977   case 800:
18978
18979 /* Line 1464 of yacc.c  */
18980 #line 2563 "grammar.y"
18981     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18982     break;
18983
18984   case 801:
18985
18986 /* Line 1464 of yacc.c  */
18987 #line 2564 "grammar.y"
18988     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18989     break;
18990
18991   case 802:
18992
18993 /* Line 1464 of yacc.c  */
18994 #line 2565 "grammar.y"
18995     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18996     break;
18997
18998   case 803:
18999
19000 /* Line 1464 of yacc.c  */
19001 #line 2566 "grammar.y"
19002     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19003     break;
19004
19005   case 804:
19006
19007 /* Line 1464 of yacc.c  */
19008 #line 2567 "grammar.y"
19009     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19010     break;
19011
19012   case 805:
19013
19014 /* Line 1464 of yacc.c  */
19015 #line 2568 "grammar.y"
19016     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19017     break;
19018
19019   case 806:
19020
19021 /* Line 1464 of yacc.c  */
19022 #line 2569 "grammar.y"
19023     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19024     break;
19025
19026   case 807:
19027
19028 /* Line 1464 of yacc.c  */
19029 #line 2573 "grammar.y"
19030     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19031     break;
19032
19033   case 808:
19034
19035 /* Line 1464 of yacc.c  */
19036 #line 2574 "grammar.y"
19037     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19038     break;
19039
19040   case 809:
19041
19042 /* Line 1464 of yacc.c  */
19043 #line 2578 "grammar.y"
19044     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifier(PRIVATE)); ;}
19045     break;
19046
19047   case 810:
19048
19049 /* Line 1464 of yacc.c  */
19050 #line 2579 "grammar.y"
19051     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifier(PUBLIC)); ;}
19052     break;
19053
19054   case 811:
19055
19056 /* Line 1464 of yacc.c  */
19057 #line 2580 "grammar.y"
19058     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19059     break;
19060
19061   case 812:
19062
19063 /* Line 1464 of yacc.c  */
19064 #line 2581 "grammar.y"
19065     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19066     break;
19067
19068   case 813:
19069
19070 /* Line 1464 of yacc.c  */
19071 #line 2582 "grammar.y"
19072     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19073     break;
19074
19075   case 814:
19076
19077 /* Line 1464 of yacc.c  */
19078 #line 2583 "grammar.y"
19079     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19080     break;
19081
19082   case 815:
19083
19084 /* Line 1464 of yacc.c  */
19085 #line 2584 "grammar.y"
19086     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19087     break;
19088
19089   case 816:
19090
19091 /* Line 1464 of yacc.c  */
19092 #line 2585 "grammar.y"
19093     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19094     break;
19095
19096   case 817:
19097
19098 /* Line 1464 of yacc.c  */
19099 #line 2587 "grammar.y"
19100     { _DeclClass((yyvsp[(1) - (1)].id).string); (yyval.list) = MkListOne(MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id)); ;}
19101     break;
19102
19103   case 818:
19104
19105 /* Line 1464 of yacc.c  */
19106 #line 2588 "grammar.y"
19107     { (yyval.list) = (yyvsp[(1) - (2)].list); _DeclClass((yyvsp[(2) - (2)].id).string); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id)); ;}
19108     break;
19109
19110   case 819:
19111
19112 /* Line 1464 of yacc.c  */
19113 #line 2591 "grammar.y"
19114     {
19115          // if($1._class && !$1._class.name)
19116          if((yyvsp[(1) - (4)].id)._class)
19117          {
19118             char name[1024];
19119             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
19120             strcat(name, "::");
19121             strcat(name, (yyvsp[(1) - (4)].id).string);
19122             _DeclClass(name);
19123          }
19124          else
19125             _DeclClass((yyvsp[(1) - (4)].id).string);
19126
19127          (yyval.list) = MkList();
19128          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19129          FreeIdentifier((yyvsp[(1) - (4)].id));
19130       ;}
19131     break;
19132
19133   case 820:
19134
19135 /* Line 1464 of yacc.c  */
19136 #line 2609 "grammar.y"
19137     {
19138          (yyval.list) = (yyvsp[(1) - (5)].list);
19139          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
19140          {
19141             char name[1024];
19142             strcpy(name, "::");
19143             strcat(name, (yyvsp[(2) - (5)].id).string);
19144             _DeclClass(name);
19145          }
19146          else
19147             _DeclClass((yyvsp[(2) - (5)].id).string);
19148          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19149          FreeIdentifier((yyvsp[(2) - (5)].id));
19150       ;}
19151     break;
19152
19153   case 822:
19154
19155 /* Line 1464 of yacc.c  */
19156 #line 2627 "grammar.y"
19157     { (yyval.list) = MkListOne(MkStructOrUnion((yyvsp[(1) - (1)].specifierType), null, null)); POP_DEFAULT_ACCESS ;}
19158     break;
19159
19160   case 823:
19161
19162 /* Line 1464 of yacc.c  */
19163 #line 2631 "grammar.y"
19164     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19165     break;
19166
19167   case 824:
19168
19169 /* Line 1464 of yacc.c  */
19170 #line 2632 "grammar.y"
19171     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19172     break;
19173
19174   case 825:
19175
19176 /* Line 1464 of yacc.c  */
19177 #line 2633 "grammar.y"
19178     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19179     break;
19180
19181   case 826:
19182
19183 /* Line 1464 of yacc.c  */
19184 #line 2634 "grammar.y"
19185     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19186     break;
19187
19188   case 827:
19189
19190 /* Line 1464 of yacc.c  */
19191 #line 2635 "grammar.y"
19192     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19193     break;
19194
19195   case 828:
19196
19197 /* Line 1464 of yacc.c  */
19198 #line 2636 "grammar.y"
19199     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19200     break;
19201
19202   case 829:
19203
19204 /* Line 1464 of yacc.c  */
19205 #line 2637 "grammar.y"
19206     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
19207     break;
19208
19209   case 830:
19210
19211 /* Line 1464 of yacc.c  */
19212 #line 2638 "grammar.y"
19213     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
19214     break;
19215
19216   case 831:
19217
19218 /* Line 1464 of yacc.c  */
19219 #line 2640 "grammar.y"
19220     {
19221          // if($1._class && !$1._class.name)
19222          if((yyvsp[(1) - (4)].id)._class)
19223          {
19224             char name[1024];
19225             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
19226             strcat(name, "::");
19227             strcat(name, (yyvsp[(1) - (4)].id).string);
19228             _DeclClass(name);
19229          }
19230          else
19231             _DeclClass((yyvsp[(1) - (4)].id).string);
19232
19233          (yyval.list) = MkList();
19234          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19235          FreeIdentifier((yyvsp[(1) - (4)].id));
19236       ;}
19237     break;
19238
19239   case 832:
19240
19241 /* Line 1464 of yacc.c  */
19242 #line 2658 "grammar.y"
19243     {
19244          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
19245          {
19246             char name[1024];
19247             strcpy(name, "::");
19248             strcat(name, (yyvsp[(2) - (5)].id).string);
19249             _DeclClass(name);
19250          }
19251          else
19252             _DeclClass((yyvsp[(2) - (5)].id).string);
19253          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19254          FreeIdentifier((yyvsp[(2) - (5)].id));
19255       ;}
19256     break;
19257
19258   case 833:
19259
19260 /* Line 1464 of yacc.c  */
19261 #line 2674 "grammar.y"
19262     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19263     break;
19264
19265   case 834:
19266
19267 /* Line 1464 of yacc.c  */
19268 #line 2675 "grammar.y"
19269     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19270     break;
19271
19272   case 835:
19273
19274 /* Line 1464 of yacc.c  */
19275 #line 2676 "grammar.y"
19276     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19277     break;
19278
19279   case 836:
19280
19281 /* Line 1464 of yacc.c  */
19282 #line 2677 "grammar.y"
19283     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19284     break;
19285
19286   case 837:
19287
19288 /* Line 1464 of yacc.c  */
19289 #line 2678 "grammar.y"
19290     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19291     break;
19292
19293   case 838:
19294
19295 /* Line 1464 of yacc.c  */
19296 #line 2679 "grammar.y"
19297     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19298     break;
19299
19300   case 839:
19301
19302 /* Line 1464 of yacc.c  */
19303 #line 2680 "grammar.y"
19304     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19305     break;
19306
19307   case 840:
19308
19309 /* Line 1464 of yacc.c  */
19310 #line 2681 "grammar.y"
19311     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19312     break;
19313
19314   case 841:
19315
19316 /* Line 1464 of yacc.c  */
19317 #line 2682 "grammar.y"
19318     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19319     break;
19320
19321   case 842:
19322
19323 /* Line 1464 of yacc.c  */
19324 #line 2683 "grammar.y"
19325     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19326     break;
19327
19328   case 843:
19329
19330 /* Line 1464 of yacc.c  */
19331 #line 2684 "grammar.y"
19332     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
19333     break;
19334
19335   case 844:
19336
19337 /* Line 1464 of yacc.c  */
19338 #line 2685 "grammar.y"
19339     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
19340     break;
19341
19342   case 845:
19343
19344 /* Line 1464 of yacc.c  */
19345 #line 2687 "grammar.y"
19346     {
19347          // if($1._class && !$1._class.name)
19348          if((yyvsp[(1) - (4)].id)._class)
19349          {
19350             char name[1024];
19351             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
19352             strcat(name, "::");
19353             strcat(name, (yyvsp[(1) - (4)].id).string);
19354             _DeclClass(name);
19355          }
19356          else
19357             _DeclClass((yyvsp[(1) - (4)].id).string);
19358
19359          (yyval.list) = MkList();
19360          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19361          FreeIdentifier((yyvsp[(1) - (4)].id));
19362       ;}
19363     break;
19364
19365   case 846:
19366
19367 /* Line 1464 of yacc.c  */
19368 #line 2705 "grammar.y"
19369     {
19370          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
19371          {
19372             char name[1024];
19373             strcpy(name, "::");
19374             strcat(name, (yyvsp[(2) - (5)].id).string);
19375             _DeclClass(name);
19376          }
19377          else
19378             _DeclClass((yyvsp[(2) - (5)].id).string);
19379          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19380          FreeIdentifier((yyvsp[(2) - (5)].id));
19381       ;}
19382     break;
19383
19384   case 847:
19385
19386 /* Line 1464 of yacc.c  */
19387 #line 2721 "grammar.y"
19388     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19389     break;
19390
19391   case 848:
19392
19393 /* Line 1464 of yacc.c  */
19394 #line 2722 "grammar.y"
19395     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19396     break;
19397
19398   case 849:
19399
19400 /* Line 1464 of yacc.c  */
19401 #line 2723 "grammar.y"
19402     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19403     break;
19404
19405   case 850:
19406
19407 /* Line 1464 of yacc.c  */
19408 #line 2724 "grammar.y"
19409     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19410     break;
19411
19412   case 851:
19413
19414 /* Line 1464 of yacc.c  */
19415 #line 2725 "grammar.y"
19416     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19417     break;
19418
19419   case 852:
19420
19421 /* Line 1464 of yacc.c  */
19422 #line 2726 "grammar.y"
19423     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19424     break;
19425
19426   case 853:
19427
19428 /* Line 1464 of yacc.c  */
19429 #line 2727 "grammar.y"
19430     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19431     break;
19432
19433   case 854:
19434
19435 /* Line 1464 of yacc.c  */
19436 #line 2728 "grammar.y"
19437     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19438     break;
19439
19440   case 855:
19441
19442 /* Line 1464 of yacc.c  */
19443 #line 2729 "grammar.y"
19444     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19445     break;
19446
19447   case 856:
19448
19449 /* Line 1464 of yacc.c  */
19450 #line 2730 "grammar.y"
19451     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19452     break;
19453
19454   case 857:
19455
19456 /* Line 1464 of yacc.c  */
19457 #line 2731 "grammar.y"
19458     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
19459     break;
19460
19461   case 858:
19462
19463 /* Line 1464 of yacc.c  */
19464 #line 2732 "grammar.y"
19465     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
19466     break;
19467
19468   case 859:
19469
19470 /* Line 1464 of yacc.c  */
19471 #line 2734 "grammar.y"
19472     {
19473          // if($1._class && !$1._class.name)
19474          if((yyvsp[(1) - (4)].id)._class)
19475          {
19476             char name[1024];
19477             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
19478             strcat(name, "::");
19479             strcat(name, (yyvsp[(1) - (4)].id).string);
19480             _DeclClass(name);
19481          }
19482          else
19483             _DeclClass((yyvsp[(1) - (4)].id).string);
19484
19485          (yyval.list) = MkList();
19486          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19487          FreeIdentifier((yyvsp[(1) - (4)].id));
19488       ;}
19489     break;
19490
19491   case 860:
19492
19493 /* Line 1464 of yacc.c  */
19494 #line 2752 "grammar.y"
19495     {
19496          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
19497          {
19498             char name[1024];
19499             strcpy(name, "::");
19500             strcat(name, (yyvsp[(2) - (5)].id).string);
19501             _DeclClass(name);
19502          }
19503          else
19504             _DeclClass((yyvsp[(2) - (5)].id).string);
19505          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19506          FreeIdentifier((yyvsp[(2) - (5)].id));
19507       ;}
19508     break;
19509
19510   case 861:
19511
19512 /* Line 1464 of yacc.c  */
19513 #line 2768 "grammar.y"
19514     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
19515     break;
19516
19517   case 862:
19518
19519 /* Line 1464 of yacc.c  */
19520 #line 2769 "grammar.y"
19521     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
19522     break;
19523
19524   case 863:
19525
19526 /* Line 1464 of yacc.c  */
19527 #line 2773 "grammar.y"
19528     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(1) - (1)].id)))); ;}
19529     break;
19530
19531   case 864:
19532
19533 /* Line 1464 of yacc.c  */
19534 #line 2774 "grammar.y"
19535     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19536     break;
19537
19538   case 865:
19539
19540 /* Line 1464 of yacc.c  */
19541 #line 2775 "grammar.y"
19542     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19543     break;
19544
19545   case 866:
19546
19547 /* Line 1464 of yacc.c  */
19548 #line 2776 "grammar.y"
19549     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19550     break;
19551
19552   case 867:
19553
19554 /* Line 1464 of yacc.c  */
19555 #line 2777 "grammar.y"
19556     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19557     break;
19558
19559   case 869:
19560
19561 /* Line 1464 of yacc.c  */
19562 #line 2783 "grammar.y"
19563     {
19564       char * colon = RSearchString((yyvsp[(1) - (1)].specifier).name, "::", strlen((yyvsp[(1) - (1)].specifier).name), true, false);
19565       String s = colon ? colon + 2 : (yyvsp[(1) - (1)].specifier).name;
19566       (yyval.declarator) = MkDeclaratorIdentifier(MkIdentifier(s));
19567       FreeSpecifier((yyvsp[(1) - (1)].specifier));
19568    ;}
19569     break;
19570
19571   case 870:
19572
19573 /* Line 1464 of yacc.c  */
19574 #line 2789 "grammar.y"
19575     { (yyval.declarator) = MkDeclaratorIdentifier(MkIdentifier("uint")); ;}
19576     break;
19577
19578   case 871:
19579
19580 /* Line 1464 of yacc.c  */
19581 #line 2792 "grammar.y"
19582     {
19583          Declarator decl;
19584          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19585          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19586          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19587          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19588          (yyval.declarator) = MkDeclaratorArray(decl, (yyvsp[(3) - (4)].exp));
19589       ;}
19590     break;
19591
19592   case 872:
19593
19594 /* Line 1464 of yacc.c  */
19595 #line 2801 "grammar.y"
19596     {
19597          Declarator decl;
19598          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19599          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19600          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19601          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19602          (yyval.declarator) = MkDeclaratorArray(decl, (yyvsp[(3) - (4)].exp));
19603       ;}
19604     break;
19605
19606   case 873:
19607
19608 /* Line 1464 of yacc.c  */
19609 #line 2810 "grammar.y"
19610     {
19611          Declarator decl;
19612          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19613          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19614          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19615          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19616          (yyval.declarator) = MkDeclaratorEnumArray(decl, (yyvsp[(3) - (4)].specifier));
19617       ;}
19618     break;
19619
19620   case 874:
19621
19622 /* Line 1464 of yacc.c  */
19623 #line 2819 "grammar.y"
19624     {
19625          Declarator decl;
19626          char * colon = RSearchString((yyvsp[(1) - (3)].specifier).name, "::", strlen((yyvsp[(1) - (3)].specifier).name), true, false);
19627          String s = colon ? colon + 2 : (yyvsp[(1) - (3)].specifier).name;
19628          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19629          FreeSpecifier((yyvsp[(1) - (3)].specifier));
19630          (yyval.declarator) = MkDeclaratorEnumArray(decl, null);
19631       ;}
19632     break;
19633
19634   case 875:
19635
19636 /* Line 1464 of yacc.c  */
19637 #line 2827 "grammar.y"
19638     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19639     break;
19640
19641   case 876:
19642
19643 /* Line 1464 of yacc.c  */
19644 #line 2828 "grammar.y"
19645     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19646     break;
19647
19648   case 877:
19649
19650 /* Line 1464 of yacc.c  */
19651 #line 2829 "grammar.y"
19652     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
19653     break;
19654
19655   case 878:
19656
19657 /* Line 1464 of yacc.c  */
19658 #line 2830 "grammar.y"
19659     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19660     break;
19661
19662   case 879:
19663
19664 /* Line 1464 of yacc.c  */
19665 #line 2834 "grammar.y"
19666     { (yyval.declarator) = MkDeclaratorIdentifier((yyvsp[(1) - (1)].id)); ;}
19667     break;
19668
19669   case 880:
19670
19671 /* Line 1464 of yacc.c  */
19672 #line 2835 "grammar.y"
19673     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19674     break;
19675
19676   case 881:
19677
19678 /* Line 1464 of yacc.c  */
19679 #line 2836 "grammar.y"
19680     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19681     break;
19682
19683   case 882:
19684
19685 /* Line 1464 of yacc.c  */
19686 #line 2837 "grammar.y"
19687     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19688     break;
19689
19690   case 883:
19691
19692 /* Line 1464 of yacc.c  */
19693 #line 2838 "grammar.y"
19694     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19695     break;
19696
19697   case 884:
19698
19699 /* Line 1464 of yacc.c  */
19700 #line 2839 "grammar.y"
19701     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19702     break;
19703
19704   case 885:
19705
19706 /* Line 1464 of yacc.c  */
19707 #line 2840 "grammar.y"
19708     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19709     break;
19710
19711   case 886:
19712
19713 /* Line 1464 of yacc.c  */
19714 #line 2841 "grammar.y"
19715     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
19716     break;
19717
19718   case 887:
19719
19720 /* Line 1464 of yacc.c  */
19721 #line 2842 "grammar.y"
19722     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19723     break;
19724
19725   case 889:
19726
19727 /* Line 1464 of yacc.c  */
19728 #line 2850 "grammar.y"
19729     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19730     break;
19731
19732   case 890:
19733
19734 /* Line 1464 of yacc.c  */
19735 #line 2851 "grammar.y"
19736     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19737     break;
19738
19739   case 891:
19740
19741 /* Line 1464 of yacc.c  */
19742 #line 2852 "grammar.y"
19743     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19744     break;
19745
19746   case 892:
19747
19748 /* Line 1464 of yacc.c  */
19749 #line 2853 "grammar.y"
19750     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19751     break;
19752
19753   case 893:
19754
19755 /* Line 1464 of yacc.c  */
19756 #line 2854 "grammar.y"
19757     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); ;}
19758     break;
19759
19760   case 894:
19761
19762 /* Line 1464 of yacc.c  */
19763 #line 2860 "grammar.y"
19764     {
19765          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), (yyvsp[(2) - (2)].list));
19766          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19767          yyclearin;
19768          resetScannerPos(&(yylsp[(1) - (2)]).end);
19769          (yyloc).start = (yylsp[(1) - (2)]).start;
19770          (yyloc).end = (yylsp[(1) - (2)]).end;
19771       ;}
19772     break;
19773
19774   case 895:
19775
19776 /* Line 1464 of yacc.c  */
19777 #line 2869 "grammar.y"
19778     {
19779          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null);
19780          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19781          yyclearin;
19782          resetScannerPos(&(yylsp[(1) - (2)]).end);
19783          (yyloc).start = (yylsp[(1) - (2)]).start;
19784          (yyloc).end = (yylsp[(1) - (2)]).end;
19785       ;}
19786     break;
19787
19788   case 896:
19789
19790 /* Line 1464 of yacc.c  */
19791 #line 2878 "grammar.y"
19792     {
19793          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list));
19794          fileInput.Seek((yylsp[(1) - (3)]).end.pos, start);
19795          yyclearin;
19796          resetScannerPos(&(yylsp[(1) - (3)]).end);
19797          (yyloc).start = (yylsp[(1) - (3)]).start;
19798          (yyloc).end = (yylsp[(1) - (3)]).end;
19799       ;}
19800     break;
19801
19802   case 897:
19803
19804 /* Line 1464 of yacc.c  */
19805 #line 2887 "grammar.y"
19806     {
19807          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), null);
19808          fileInput.Seek((yylsp[(1) - (4)]).end.pos, start);
19809          yyclearin;
19810          resetScannerPos(&(yylsp[(1) - (4)]).end);
19811          (yyloc).start = (yylsp[(1) - (4)]).start;
19812          (yyloc).end = (yylsp[(1) - (4)]).end;
19813          FreeList((yyvsp[(2) - (4)].list), FreeSpecifier);
19814          FreeIdentifier((yyvsp[(3) - (4)].id));
19815       ;}
19816     break;
19817
19818   case 901:
19819
19820 /* Line 1464 of yacc.c  */
19821 #line 2910 "grammar.y"
19822     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19823     break;
19824
19825   case 902:
19826
19827 /* Line 1464 of yacc.c  */
19828 #line 2911 "grammar.y"
19829     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19830     break;
19831
19832   case 903:
19833
19834 /* Line 1464 of yacc.c  */
19835 #line 2912 "grammar.y"
19836     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19837     break;
19838
19839   case 904:
19840
19841 /* Line 1464 of yacc.c  */
19842 #line 2913 "grammar.y"
19843     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19844     break;
19845
19846   case 905:
19847
19848 /* Line 1464 of yacc.c  */
19849 #line 2914 "grammar.y"
19850     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); ;}
19851     break;
19852
19853   case 906:
19854
19855 /* Line 1464 of yacc.c  */
19856 #line 2920 "grammar.y"
19857     {
19858          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), (yyvsp[(2) - (2)].list));
19859          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19860          yyclearin;
19861          resetScannerPos(&(yylsp[(1) - (2)]).end);
19862          (yyloc).start = (yylsp[(1) - (2)]).start;
19863          (yyloc).end = (yylsp[(1) - (2)]).end;
19864       ;}
19865     break;
19866
19867   case 907:
19868
19869 /* Line 1464 of yacc.c  */
19870 #line 2929 "grammar.y"
19871     {
19872          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null);
19873          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19874          yyclearin;
19875          resetScannerPos(&(yylsp[(1) - (2)]).end);
19876          (yyloc).start = (yylsp[(1) - (2)]).start;
19877          (yyloc).end = (yylsp[(1) - (2)]).end;
19878       ;}
19879     break;
19880
19881   case 908:
19882
19883 /* Line 1464 of yacc.c  */
19884 #line 2938 "grammar.y"
19885     {
19886          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list));
19887          fileInput.Seek((yylsp[(1) - (3)]).end.pos, start);
19888          yyclearin;
19889          resetScannerPos(&(yylsp[(1) - (3)]).end);
19890          (yyloc).start = (yylsp[(1) - (3)]).start;
19891          (yyloc).end = (yylsp[(1) - (3)]).end;
19892       ;}
19893     break;
19894
19895   case 909:
19896
19897 /* Line 1464 of yacc.c  */
19898 #line 2947 "grammar.y"
19899     {
19900          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), null);
19901          fileInput.Seek((yylsp[(1) - (4)]).end.pos, start);
19902          yyclearin;
19903          resetScannerPos(&(yylsp[(1) - (4)]).end);
19904          (yyloc).start = (yylsp[(1) - (4)]).start;
19905          (yyloc).end = (yylsp[(1) - (4)]).end;
19906          FreeList((yyvsp[(2) - (4)].list), FreeSpecifier);
19907          FreeIdentifier((yyvsp[(3) - (4)].id));
19908       ;}
19909     break;
19910
19911   case 912:
19912
19913 /* Line 1464 of yacc.c  */
19914 #line 3010 "grammar.y"
19915     { (yyval.extDecl) = MkExtDeclString(CopyString(yytext)); ;}
19916     break;
19917
19918   case 913:
19919
19920 /* Line 1464 of yacc.c  */
19921 #line 3011 "grammar.y"
19922     { (yyval.extDecl) = MkExtDeclString(CopyString(yytext)); ;}
19923     break;
19924
19925   case 914:
19926
19927 /* Line 1464 of yacc.c  */
19928 #line 3012 "grammar.y"
19929     { (yyval.extDecl) = MkExtDeclAttrib((yyvsp[(1) - (1)].attrib)); ;}
19930     break;
19931
19932   case 915:
19933
19934 /* Line 1464 of yacc.c  */
19935 #line 3014 "grammar.y"
19936     {
19937          char temp[1024];
19938          strcpy(temp, "__asm__(");
19939          strcat(temp, (yyvsp[(3) - (4)].string));
19940          strcat(temp, ")");
19941          (yyval.extDecl) = MkExtDeclString(CopyString(temp));
19942          delete (yyvsp[(3) - (4)].string);
19943       ;}
19944     break;
19945
19946   case 916:
19947
19948 /* Line 1464 of yacc.c  */
19949 #line 3025 "grammar.y"
19950     { (yyval.i) = ATTRIB; ;}
19951     break;
19952
19953   case 917:
19954
19955 /* Line 1464 of yacc.c  */
19956 #line 3026 "grammar.y"
19957     { (yyval.i) = ATTRIB_DEP; ;}
19958     break;
19959
19960   case 918:
19961
19962 /* Line 1464 of yacc.c  */
19963 #line 3027 "grammar.y"
19964     { (yyval.i) = __ATTRIB; ;}
19965     break;
19966
19967   case 919:
19968
19969 /* Line 1464 of yacc.c  */
19970 #line 3032 "grammar.y"
19971     { (yyval.string)  = CopyString(yytext); ;}
19972     break;
19973
19974   case 920:
19975
19976 /* Line 1464 of yacc.c  */
19977 #line 3033 "grammar.y"
19978     { (yyval.string)  = CopyString(yytext); ;}
19979     break;
19980
19981   case 921:
19982
19983 /* Line 1464 of yacc.c  */
19984 #line 3034 "grammar.y"
19985     { (yyval.string)  = CopyString(yytext); ;}
19986     break;
19987
19988   case 922:
19989
19990 /* Line 1464 of yacc.c  */
19991 #line 3035 "grammar.y"
19992     { (yyval.string)  = CopyString(yytext); ;}
19993     break;
19994
19995   case 923:
19996
19997 /* Line 1464 of yacc.c  */
19998 #line 3036 "grammar.y"
19999     { (yyval.string)  = CopyString(yytext); ;}
20000     break;
20001
20002   case 924:
20003
20004 /* Line 1464 of yacc.c  */
20005 #line 3040 "grammar.y"
20006     { (yyval.attribute) = MkAttribute((yyvsp[(1) - (1)].string), null); (yyval.attribute).loc = (yyloc); ;}
20007     break;
20008
20009   case 925:
20010
20011 /* Line 1464 of yacc.c  */
20012 #line 3041 "grammar.y"
20013     { (yyval.attribute) = MkAttribute((yyvsp[(1) - (4)].string), MkExpBrackets((yyvsp[(3) - (4)].list))); (yyval.attribute).loc = (yyloc); ;}
20014     break;
20015
20016   case 926:
20017
20018 /* Line 1464 of yacc.c  */
20019 #line 3045 "grammar.y"
20020     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].attribute)); ;}
20021     break;
20022
20023   case 927:
20024
20025 /* Line 1464 of yacc.c  */
20026 #line 3046 "grammar.y"
20027     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].attribute)); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
20028     break;
20029
20030   case 928:
20031
20032 /* Line 1464 of yacc.c  */
20033 #line 3047 "grammar.y"
20034     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].attribute)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
20035     break;
20036
20037   case 929:
20038
20039 /* Line 1464 of yacc.c  */
20040 #line 3051 "grammar.y"
20041     { (yyval.attrib) = MkAttrib((yyvsp[(1) - (6)].i), (yyvsp[(4) - (6)].list)); (yyval.attrib).loc = (yyloc); ;}
20042     break;
20043
20044   case 930:
20045
20046 /* Line 1464 of yacc.c  */
20047 #line 3052 "grammar.y"
20048     { (yyval.attrib) = MkAttrib((yyvsp[(1) - (5)].i), null); (yyval.attrib).loc = (yyloc); ;}
20049     break;
20050
20051   case 931:
20052
20053 /* Line 1464 of yacc.c  */
20054 #line 3056 "grammar.y"
20055     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
20056     break;
20057
20058   case 932:
20059
20060 /* Line 1464 of yacc.c  */
20061 #line 3057 "grammar.y"
20062     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
20063     break;
20064
20065   case 933:
20066
20067 /* Line 1464 of yacc.c  */
20068 #line 3058 "grammar.y"
20069     { (yyval.declarator) = MkDeclaratorArray(null, null); ;}
20070     break;
20071
20072   case 934:
20073
20074 /* Line 1464 of yacc.c  */
20075 #line 3059 "grammar.y"
20076     { (yyval.declarator) = MkDeclaratorArray(null, (yyvsp[(2) - (3)].exp)); ;}
20077     break;
20078
20079   case 935:
20080
20081 /* Line 1464 of yacc.c  */
20082 #line 3060 "grammar.y"
20083     { (yyval.declarator) = MkDeclaratorArray(null, (yyvsp[(2) - (3)].exp)); ;}
20084     break;
20085
20086   case 936:
20087
20088 /* Line 1464 of yacc.c  */
20089 #line 3061 "grammar.y"
20090     { (yyval.declarator) = MkDeclaratorEnumArray(null, (yyvsp[(2) - (3)].specifier)); ;}
20091     break;
20092
20093   case 937:
20094
20095 /* Line 1464 of yacc.c  */
20096 #line 3062 "grammar.y"
20097     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
20098     break;
20099
20100   case 938:
20101
20102 /* Line 1464 of yacc.c  */
20103 #line 3063 "grammar.y"
20104     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
20105     break;
20106
20107   case 939:
20108
20109 /* Line 1464 of yacc.c  */
20110 #line 3064 "grammar.y"
20111     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
20112     break;
20113
20114   case 940:
20115
20116 /* Line 1464 of yacc.c  */
20117 #line 3065 "grammar.y"
20118     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
20119     break;
20120
20121   case 941:
20122
20123 /* Line 1464 of yacc.c  */
20124 #line 3066 "grammar.y"
20125     { (yyval.declarator) = MkDeclaratorFunction(null, null); ;}
20126     break;
20127
20128   case 942:
20129
20130 /* Line 1464 of yacc.c  */
20131 #line 3067 "grammar.y"
20132     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
20133     break;
20134
20135   case 943:
20136
20137 /* Line 1464 of yacc.c  */
20138 #line 3068 "grammar.y"
20139     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
20140     break;
20141
20142   case 944:
20143
20144 /* Line 1464 of yacc.c  */
20145 #line 3069 "grammar.y"
20146     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), null); ;}
20147     break;
20148
20149   case 945:
20150
20151 /* Line 1464 of yacc.c  */
20152 #line 3070 "grammar.y"
20153     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
20154     break;
20155
20156   case 946:
20157
20158 /* Line 1464 of yacc.c  */
20159 #line 3071 "grammar.y"
20160     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
20161     break;
20162
20163   case 947:
20164
20165 /* Line 1464 of yacc.c  */
20166 #line 3075 "grammar.y"
20167     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
20168     break;
20169
20170   case 948:
20171
20172 /* Line 1464 of yacc.c  */
20173 #line 3076 "grammar.y"
20174     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
20175     break;
20176
20177   case 949:
20178
20179 /* Line 1464 of yacc.c  */
20180 #line 3077 "grammar.y"
20181     { (yyval.declarator) = MkDeclaratorFunction(null, null); ;}
20182     break;
20183
20184   case 950:
20185
20186 /* Line 1464 of yacc.c  */
20187 #line 3078 "grammar.y"
20188     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
20189     break;
20190
20191   case 951:
20192
20193 /* Line 1464 of yacc.c  */
20194 #line 3079 "grammar.y"
20195     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
20196     break;
20197
20198   case 952:
20199
20200 /* Line 1464 of yacc.c  */
20201 #line 3080 "grammar.y"
20202     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), null); ;}
20203     break;
20204
20205   case 953:
20206
20207 /* Line 1464 of yacc.c  */
20208 #line 3081 "grammar.y"
20209     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
20210     break;
20211
20212   case 954:
20213
20214 /* Line 1464 of yacc.c  */
20215 #line 3082 "grammar.y"
20216     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
20217     break;
20218
20219   case 955:
20220
20221 /* Line 1464 of yacc.c  */
20222 #line 3086 "grammar.y"
20223     { (yyval.pointer) = MkPointer(null, null); ;}
20224     break;
20225
20226   case 956:
20227
20228 /* Line 1464 of yacc.c  */
20229 #line 3087 "grammar.y"
20230     { (yyval.pointer) = MkPointer((yyvsp[(2) - (2)].list), null); ;}
20231     break;
20232
20233   case 957:
20234
20235 /* Line 1464 of yacc.c  */
20236 #line 3088 "grammar.y"
20237     { (yyval.pointer) = MkPointer(null, (yyvsp[(2) - (2)].pointer)); ;}
20238     break;
20239
20240   case 958:
20241
20242 /* Line 1464 of yacc.c  */
20243 #line 3089 "grammar.y"
20244     { (yyval.pointer) = MkPointer((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].pointer)); ;}
20245     break;
20246
20247   case 959:
20248
20249 /* Line 1464 of yacc.c  */
20250 #line 3093 "grammar.y"
20251     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (1)].pointer), null); ;}
20252     break;
20253
20254   case 961:
20255
20256 /* Line 1464 of yacc.c  */
20257 #line 3095 "grammar.y"
20258     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20259     break;
20260
20261   case 962:
20262
20263 /* Line 1464 of yacc.c  */
20264 #line 3096 "grammar.y"
20265     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (2)].pointer), null)); ;}
20266     break;
20267
20268   case 963:
20269
20270 /* Line 1464 of yacc.c  */
20271 #line 3097 "grammar.y"
20272     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20273     break;
20274
20275   case 964:
20276
20277 /* Line 1464 of yacc.c  */
20278 #line 3101 "grammar.y"
20279     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (1)].pointer), null); ;}
20280     break;
20281
20282   case 966:
20283
20284 /* Line 1464 of yacc.c  */
20285 #line 3103 "grammar.y"
20286     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20287     break;
20288
20289   case 967:
20290
20291 /* Line 1464 of yacc.c  */
20292 #line 3104 "grammar.y"
20293     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (2)].pointer), null)); ;}
20294     break;
20295
20296   case 968:
20297
20298 /* Line 1464 of yacc.c  */
20299 #line 3105 "grammar.y"
20300     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20301     break;
20302
20303   case 970:
20304
20305 /* Line 1464 of yacc.c  */
20306 #line 3111 "grammar.y"
20307     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20308     break;
20309
20310   case 971:
20311
20312 /* Line 1464 of yacc.c  */
20313 #line 3113 "grammar.y"
20314     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20315     break;
20316
20317   case 972:
20318
20319 /* Line 1464 of yacc.c  */
20320 #line 3115 "grammar.y"
20321     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
20322     break;
20323
20324   case 973:
20325
20326 /* Line 1464 of yacc.c  */
20327 #line 3117 "grammar.y"
20328     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
20329     break;
20330
20331   case 975:
20332
20333 /* Line 1464 of yacc.c  */
20334 #line 3123 "grammar.y"
20335     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20336     break;
20337
20338   case 976:
20339
20340 /* Line 1464 of yacc.c  */
20341 #line 3125 "grammar.y"
20342     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20343     break;
20344
20345   case 977:
20346
20347 /* Line 1464 of yacc.c  */
20348 #line 3127 "grammar.y"
20349     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
20350     break;
20351
20352   case 979:
20353
20354 /* Line 1464 of yacc.c  */
20355 #line 3132 "grammar.y"
20356     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20357     break;
20358
20359   case 980:
20360
20361 /* Line 1464 of yacc.c  */
20362 #line 3133 "grammar.y"
20363     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20364     break;
20365
20366   case 981:
20367
20368 /* Line 1464 of yacc.c  */
20369 #line 3134 "grammar.y"
20370     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20371     break;
20372
20373   case 983:
20374
20375 /* Line 1464 of yacc.c  */
20376 #line 3139 "grammar.y"
20377     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20378     break;
20379
20380   case 984:
20381
20382 /* Line 1464 of yacc.c  */
20383 #line 3140 "grammar.y"
20384     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20385     break;
20386
20387   case 985:
20388
20389 /* Line 1464 of yacc.c  */
20390 #line 3141 "grammar.y"
20391     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20392     break;
20393
20394   case 987:
20395
20396 /* Line 1464 of yacc.c  */
20397 #line 3146 "grammar.y"
20398     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20399     break;
20400
20401   case 988:
20402
20403 /* Line 1464 of yacc.c  */
20404 #line 3147 "grammar.y"
20405     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20406     break;
20407
20408   case 989:
20409
20410 /* Line 1464 of yacc.c  */
20411 #line 3148 "grammar.y"
20412     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20413     break;
20414
20415   case 991:
20416
20417 /* Line 1464 of yacc.c  */
20418 #line 3153 "grammar.y"
20419     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20420     break;
20421
20422   case 992:
20423
20424 /* Line 1464 of yacc.c  */
20425 #line 3154 "grammar.y"
20426     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20427     break;
20428
20429   case 993:
20430
20431 /* Line 1464 of yacc.c  */
20432 #line 3155 "grammar.y"
20433     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20434     break;
20435
20436   case 995:
20437
20438 /* Line 1464 of yacc.c  */
20439 #line 3160 "grammar.y"
20440     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20441     break;
20442
20443   case 996:
20444
20445 /* Line 1464 of yacc.c  */
20446 #line 3161 "grammar.y"
20447     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20448     break;
20449
20450   case 997:
20451
20452 /* Line 1464 of yacc.c  */
20453 #line 3162 "grammar.y"
20454     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20455     break;
20456
20457   case 998:
20458
20459 /* Line 1464 of yacc.c  */
20460 #line 3166 "grammar.y"
20461     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20462     break;
20463
20464   case 999:
20465
20466 /* Line 1464 of yacc.c  */
20467 #line 3167 "grammar.y"
20468     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (3)].list)); (yyval.initializer).loc = (yyloc); ;}
20469     break;
20470
20471   case 1000:
20472
20473 /* Line 1464 of yacc.c  */
20474 #line 3169 "grammar.y"
20475     {
20476          Compiler_Warning($"extra comma\n");
20477          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (4)].list));
20478          (yyval.initializer).loc = (yyloc);
20479
20480          {
20481             Expression exp = MkExpDummy();
20482             Initializer init = MkInitializerAssignment(exp);
20483             init.loc = (yylsp[(3) - (4)]);
20484             exp.loc = (yylsp[(3) - (4)]);
20485             ListAdd((yyvsp[(2) - (4)].list), init);
20486          }
20487       ;}
20488     break;
20489
20490   case 1001:
20491
20492 /* Line 1464 of yacc.c  */
20493 #line 3185 "grammar.y"
20494     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20495     break;
20496
20497   case 1002:
20498
20499 /* Line 1464 of yacc.c  */
20500 #line 3186 "grammar.y"
20501     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (4)].list)); (yyval.initializer).loc = (yyloc); ;}
20502     break;
20503
20504   case 1003:
20505
20506 /* Line 1464 of yacc.c  */
20507 #line 3187 "grammar.y"
20508     { yyerror(); (yyval.initializer) = MkInitializerList((yyvsp[(2) - (2)].list)); (yyval.initializer).loc = (yyloc); ;}
20509     break;
20510
20511   case 1004:
20512
20513 /* Line 1464 of yacc.c  */
20514 #line 3189 "grammar.y"
20515     {
20516          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (5)].list));
20517          (yyval.initializer).loc = (yyloc);
20518
20519          {
20520             Expression exp = MkExpDummy();
20521             Initializer init = MkInitializerAssignment(exp);
20522             init.loc = (yylsp[(3) - (5)]);
20523             exp.loc = (yylsp[(3) - (5)]);
20524             ListAdd((yyvsp[(2) - (5)].list), init);
20525          }
20526       ;}
20527     break;
20528
20529   case 1005:
20530
20531 /* Line 1464 of yacc.c  */
20532 #line 3202 "grammar.y"
20533     {
20534          yyerror();
20535          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (3)].list));
20536          (yyval.initializer).loc = (yyloc);
20537
20538          {
20539             Expression exp = MkExpDummy();
20540             Initializer init = MkInitializerAssignment(exp);
20541             init.loc = (yylsp[(3) - (3)]);
20542             exp.loc = (yylsp[(3) - (3)]);
20543             ListAdd((yyvsp[(2) - (3)].list), init);
20544          }
20545       ;}
20546     break;
20547
20548   case 1006:
20549
20550 /* Line 1464 of yacc.c  */
20551 #line 3218 "grammar.y"
20552     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20553     break;
20554
20555   case 1007:
20556
20557 /* Line 1464 of yacc.c  */
20558 #line 3220 "grammar.y"
20559     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20560     break;
20561
20562   case 1008:
20563
20564 /* Line 1464 of yacc.c  */
20565 #line 3224 "grammar.y"
20566     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20567     break;
20568
20569   case 1009:
20570
20571 /* Line 1464 of yacc.c  */
20572 #line 3225 "grammar.y"
20573     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20574     break;
20575
20576   case 1010:
20577
20578 /* Line 1464 of yacc.c  */
20579 #line 3229 "grammar.y"
20580     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initializer)); ;}
20581     break;
20582
20583   case 1011:
20584
20585 /* Line 1464 of yacc.c  */
20586 #line 3230 "grammar.y"
20587     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initializer)); ;}
20588     break;
20589
20590   case 1012:
20591
20592 /* Line 1464 of yacc.c  */
20593 #line 3231 "grammar.y"
20594     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initializer)); ;}
20595     break;
20596
20597   case 1013:
20598
20599 /* Line 1464 of yacc.c  */
20600 #line 3232 "grammar.y"
20601     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initializer)); ;}
20602     break;
20603
20604   case 1014:
20605
20606 /* Line 1464 of yacc.c  */
20607 #line 3235 "grammar.y"
20608     { yyerror(); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].initializer)); ;}
20609     break;
20610
20611   case 1015:
20612
20613 /* Line 1464 of yacc.c  */
20614 #line 3236 "grammar.y"
20615     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].initializer)); ;}
20616     break;
20617
20618   case 1016:
20619
20620 /* Line 1464 of yacc.c  */
20621 #line 3240 "grammar.y"
20622     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20623     break;
20624
20625   case 1017:
20626
20627 /* Line 1464 of yacc.c  */
20628 #line 3241 "grammar.y"
20629     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20630     break;
20631
20632   case 1018:
20633
20634 /* Line 1464 of yacc.c  */
20635 #line 3242 "grammar.y"
20636     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].initializer)); (yyval.initDeclarator).loc = (yyloc); (yyval.initDeclarator).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
20637     break;
20638
20639   case 1019:
20640
20641 /* Line 1464 of yacc.c  */
20642 #line 3246 "grammar.y"
20643     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (2)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20644     break;
20645
20646   case 1020:
20647
20648 /* Line 1464 of yacc.c  */
20649 #line 3250 "grammar.y"
20650     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].initializer)); (yyval.initDeclarator).loc = (yyloc); (yyval.initDeclarator).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
20651     break;
20652
20653   case 1021:
20654
20655 /* Line 1464 of yacc.c  */
20656 #line 3254 "grammar.y"
20657     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initDeclarator)); ;}
20658     break;
20659
20660   case 1022:
20661
20662 /* Line 1464 of yacc.c  */
20663 #line 3255 "grammar.y"
20664     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20665     break;
20666
20667   case 1023:
20668
20669 /* Line 1464 of yacc.c  */
20670 #line 3256 "grammar.y"
20671     { (yyval.list) = MkList(); ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("uint")), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20672     break;
20673
20674   case 1024:
20675
20676 /* Line 1464 of yacc.c  */
20677 #line 3257 "grammar.y"
20678     { (yyval.list) = MkList(); ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("int64")), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20679     break;
20680
20681   case 1025:
20682
20683 /* Line 1464 of yacc.c  */
20684 #line 3259 "grammar.y"
20685     {
20686       char * colon = RSearchString((yyvsp[(1) - (3)].specifier).name, "::", strlen((yyvsp[(1) - (3)].specifier).name), true, false);
20687       String s = colon ? colon + 2 : (yyvsp[(1) - (3)].specifier).name;
20688       (yyval.list) = MkList();
20689       ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), null));
20690       ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator));
20691       FreeSpecifier((yyvsp[(1) - (3)].specifier));
20692    ;}
20693     break;
20694
20695   case 1026:
20696
20697 /* Line 1464 of yacc.c  */
20698 #line 3267 "grammar.y"
20699     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20700     break;
20701
20702   case 1027:
20703
20704 /* Line 1464 of yacc.c  */
20705 #line 3276 "grammar.y"
20706     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initDeclarator)); ;}
20707     break;
20708
20709   case 1028:
20710
20711 /* Line 1464 of yacc.c  */
20712 #line 3277 "grammar.y"
20713     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].initDeclarator)); ;}
20714     break;
20715
20716   case 1029:
20717
20718 /* Line 1464 of yacc.c  */
20719 #line 3278 "grammar.y"
20720     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20721     break;
20722
20723   case 1030:
20724
20725 /* Line 1464 of yacc.c  */
20726 #line 3279 "grammar.y"
20727     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20728     break;
20729
20730   case 1031:
20731
20732 /* Line 1464 of yacc.c  */
20733 #line 3283 "grammar.y"
20734     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (1)].list), null); ;}
20735     break;
20736
20737   case 1032:
20738
20739 /* Line 1464 of yacc.c  */
20740 #line 3284 "grammar.y"
20741     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20742     break;
20743
20744   case 1033:
20745
20746 /* Line 1464 of yacc.c  */
20747 #line 3288 "grammar.y"
20748     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (1)].list), null); ;}
20749     break;
20750
20751   case 1034:
20752
20753 /* Line 1464 of yacc.c  */
20754 #line 3289 "grammar.y"
20755     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20756     break;
20757
20758   case 1035:
20759
20760 /* Line 1464 of yacc.c  */
20761 #line 3294 "grammar.y"
20762     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20763     break;
20764
20765   case 1036:
20766
20767 /* Line 1464 of yacc.c  */
20768 #line 3295 "grammar.y"
20769     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20770     break;
20771
20772   case 1037:
20773
20774 /* Line 1464 of yacc.c  */
20775 #line 3296 "grammar.y"
20776     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), MkDeclaratorPointer(MkPointer(null,null), null)); ;}
20777     break;
20778
20779   case 1038:
20780
20781 /* Line 1464 of yacc.c  */
20782 #line 3297 "grammar.y"
20783     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), MkDeclaratorPointer(MkPointer(null,null), (yyvsp[(3) - (3)].declarator))); ;}
20784     break;
20785
20786   case 1039:
20787
20788 /* Line 1464 of yacc.c  */
20789 #line 3298 "grammar.y"
20790     { (yyval.typeName) = MkTypeNameGuessDecl((yyvsp[(1) - (1)].list), null); ;}
20791     break;
20792
20793   case 1040:
20794
20795 /* Line 1464 of yacc.c  */
20796 #line 3300 "grammar.y"
20797     { (yyval.typeName) = MkTypeName(MkListOne(MkSpecifier(CLASS)), null); ;}
20798     break;
20799
20800   case 1041:
20801
20802 /* Line 1464 of yacc.c  */
20803 #line 3318 "grammar.y"
20804     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator)); ;}
20805     break;
20806
20807   case 1042:
20808
20809 /* Line 1464 of yacc.c  */
20810 #line 3319 "grammar.y"
20811     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator)); ;}
20812     break;
20813
20814   case 1043:
20815
20816 /* Line 1464 of yacc.c  */
20817 #line 3323 "grammar.y"
20818     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].typeName)); ;}
20819     break;
20820
20821   case 1044:
20822
20823 /* Line 1464 of yacc.c  */
20824 #line 3324 "grammar.y"
20825     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20826     break;
20827
20828   case 1045:
20829
20830 /* Line 1464 of yacc.c  */
20831 #line 3325 "grammar.y"
20832     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20833     break;
20834
20835   case 1046:
20836
20837 /* Line 1464 of yacc.c  */
20838 #line 3326 "grammar.y"
20839     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20840     break;
20841
20842   case 1047:
20843
20844 /* Line 1464 of yacc.c  */
20845 #line 3327 "grammar.y"
20846     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20847     break;
20848
20849   case 1048:
20850
20851 /* Line 1464 of yacc.c  */
20852 #line 3328 "grammar.y"
20853     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(MkList(), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].typeName)); ;}
20854     break;
20855
20856   case 1049:
20857
20858 /* Line 1464 of yacc.c  */
20859 #line 3330 "grammar.y"
20860     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20861     break;
20862
20863   case 1050:
20864
20865 /* Line 1464 of yacc.c  */
20866 #line 3331 "grammar.y"
20867     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20868     break;
20869
20870   case 1051:
20871
20872 /* Line 1464 of yacc.c  */
20873 #line 3332 "grammar.y"
20874     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20875     break;
20876
20877   case 1052:
20878
20879 /* Line 1464 of yacc.c  */
20880 #line 3333 "grammar.y"
20881     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20882     break;
20883
20884   case 1053:
20885
20886 /* Line 1464 of yacc.c  */
20887 #line 3337 "grammar.y"
20888     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].typeName)); ;}
20889     break;
20890
20891   case 1054:
20892
20893 /* Line 1464 of yacc.c  */
20894 #line 3338 "grammar.y"
20895     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20896     break;
20897
20898   case 1055:
20899
20900 /* Line 1464 of yacc.c  */
20901 #line 3339 "grammar.y"
20902     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20903     break;
20904
20905   case 1056:
20906
20907 /* Line 1464 of yacc.c  */
20908 #line 3340 "grammar.y"
20909     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20910     break;
20911
20912   case 1057:
20913
20914 /* Line 1464 of yacc.c  */
20915 #line 3341 "grammar.y"
20916     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(MkList(), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].typeName)); ;}
20917     break;
20918
20919   case 1058:
20920
20921 /* Line 1464 of yacc.c  */
20922 #line 3343 "grammar.y"
20923     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20924     break;
20925
20926   case 1059:
20927
20928 /* Line 1464 of yacc.c  */
20929 #line 3344 "grammar.y"
20930     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20931     break;
20932
20933   case 1060:
20934
20935 /* Line 1464 of yacc.c  */
20936 #line 3345 "grammar.y"
20937     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20938     break;
20939
20940   case 1062:
20941
20942 /* Line 1464 of yacc.c  */
20943 #line 3350 "grammar.y"
20944     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20945     break;
20946
20947   case 1063:
20948
20949 /* Line 1464 of yacc.c  */
20950 #line 3351 "grammar.y"
20951     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20952     break;
20953
20954   case 1064:
20955
20956 /* Line 1464 of yacc.c  */
20957 #line 3352 "grammar.y"
20958     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20959     break;
20960
20961   case 1065:
20962
20963 /* Line 1464 of yacc.c  */
20964 #line 3353 "grammar.y"
20965     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20966     break;
20967
20968   case 1066:
20969
20970 /* Line 1464 of yacc.c  */
20971 #line 3354 "grammar.y"
20972     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(null, null)); ;}
20973     break;
20974
20975   case 1068:
20976
20977 /* Line 1464 of yacc.c  */
20978 #line 3359 "grammar.y"
20979     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
20980     break;
20981
20982   case 1071:
20983
20984 /* Line 1464 of yacc.c  */
20985 #line 3366 "grammar.y"
20986     { (yyval.stmt) = MkExpressionStmt(null); FreeAttrib((yyvsp[(1) - (1)].attrib)); ;}
20987     break;
20988
20989   case 1073:
20990
20991 /* Line 1464 of yacc.c  */
20992 #line 3368 "grammar.y"
20993     { (yyval.stmt) = MkExpressionStmt(null); ;}
20994     break;
20995
20996   case 1074:
20997
20998 /* Line 1464 of yacc.c  */
20999 #line 3369 "grammar.y"
21000     { (yyval.stmt) = MkExpressionStmt(null); ;}
21001     break;
21002
21003   case 1075:
21004
21005 /* Line 1464 of yacc.c  */
21006 #line 3370 "grammar.y"
21007     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21008     break;
21009
21010   case 1083:
21011
21012 /* Line 1464 of yacc.c  */
21013 #line 3381 "grammar.y"
21014     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
21015     break;
21016
21017   case 1084:
21018
21019 /* Line 1464 of yacc.c  */
21020 #line 3382 "grammar.y"
21021     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
21022     break;
21023
21024   case 1085:
21025
21026 /* Line 1464 of yacc.c  */
21027 #line 3383 "grammar.y"
21028     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
21029     break;
21030
21031   case 1086:
21032
21033 /* Line 1464 of yacc.c  */
21034 #line 3384 "grammar.y"
21035     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
21036     break;
21037
21038   case 1087:
21039
21040 /* Line 1464 of yacc.c  */
21041 #line 3385 "grammar.y"
21042     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
21043     break;
21044
21045   case 1088:
21046
21047 /* Line 1464 of yacc.c  */
21048 #line 3386 "grammar.y"
21049     { (yyval.stmt) = (yyvsp[(1) - (2)].stmt); Compiler_Error($"syntax error\n"); ;}
21050     break;
21051
21052   case 1089:
21053
21054 /* Line 1464 of yacc.c  */
21055 #line 3387 "grammar.y"
21056     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (1)].list)); Compiler_Error($"syntax error\n"); (yyval.stmt).loc = (yylsp[(1) - (1)]); ;}
21057     break;
21058
21059   case 1090:
21060
21061 /* Line 1464 of yacc.c  */
21062 #line 3391 "grammar.y"
21063     { (yyval.asmField) = MkAsmField((yyvsp[(1) - (1)].string), null, null); (yyval.asmField).loc = (yylsp[(1) - (1)]); ;}
21064     break;
21065
21066   case 1091:
21067
21068 /* Line 1464 of yacc.c  */
21069 #line 3392 "grammar.y"
21070     { (yyval.asmField) = MkAsmField((yyvsp[(1) - (4)].string), (yyvsp[(3) - (4)].exp), null); (yyval.asmField).loc = (yyloc); ;}
21071     break;
21072
21073   case 1092:
21074
21075 /* Line 1464 of yacc.c  */
21076 #line 3393 "grammar.y"
21077     { (yyval.asmField) = MkAsmField((yyvsp[(4) - (7)].string), (yyvsp[(6) - (7)].exp), (yyvsp[(2) - (7)].id)); (yyval.asmField).loc = (yyloc); ;}
21078     break;
21079
21080   case 1093:
21081
21082 /* Line 1464 of yacc.c  */
21083 #line 3397 "grammar.y"
21084     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].asmField)); ;}
21085     break;
21086
21087   case 1094:
21088
21089 /* Line 1464 of yacc.c  */
21090 #line 3398 "grammar.y"
21091     { ListAdd((yyval.list), (yyvsp[(3) - (3)].asmField)); ;}
21092     break;
21093
21094   case 1095:
21095
21096 /* Line 1464 of yacc.c  */
21097 #line 3399 "grammar.y"
21098     { (yyval.list) = null; ;}
21099     break;
21100
21101   case 1096:
21102
21103 /* Line 1464 of yacc.c  */
21104 #line 3403 "grammar.y"
21105     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (6)].specifier), (yyvsp[(4) - (6)].string), null, null, null); (yyval.stmt).loc = (yyloc); ;}
21106     break;
21107
21108   case 1097:
21109
21110 /* Line 1464 of yacc.c  */
21111 #line 3404 "grammar.y"
21112     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (8)].specifier), (yyvsp[(4) - (8)].string), (yyvsp[(6) - (8)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
21113     break;
21114
21115   case 1098:
21116
21117 /* Line 1464 of yacc.c  */
21118 #line 3405 "grammar.y"
21119     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), (yyvsp[(6) - (10)].list), (yyvsp[(8) - (10)].list), null); (yyval.stmt).loc = (yyloc); ;}
21120     break;
21121
21122   case 1099:
21123
21124 /* Line 1464 of yacc.c  */
21125 #line 3406 "grammar.y"
21126     { (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); ;}
21127     break;
21128
21129   case 1100:
21130
21131 /* Line 1464 of yacc.c  */
21132 #line 3408 "grammar.y"
21133     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (8)].specifier), (yyvsp[(4) - (8)].string), null, (yyvsp[(6) - (8)].list), null); (yyval.stmt).loc = (yyloc); ;}
21134     break;
21135
21136   case 1101:
21137
21138 /* Line 1464 of yacc.c  */
21139 #line 3409 "grammar.y"
21140     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), null, (yyvsp[(6) - (10)].list), (yyvsp[(8) - (10)].list)); (yyval.stmt).loc = (yyloc); ;}
21141     break;
21142
21143   case 1102:
21144
21145 /* Line 1464 of yacc.c  */
21146 #line 3410 "grammar.y"
21147     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), (yyvsp[(6) - (10)].list), null, (yyvsp[(8) - (10)].list)); (yyval.stmt).loc = (yyloc); ;}
21148     break;
21149
21150   case 1103:
21151
21152 /* Line 1464 of yacc.c  */
21153 #line 3412 "grammar.y"
21154     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (5)].string), null, null, null); (yyval.stmt).loc = (yyloc); ;}
21155     break;
21156
21157   case 1104:
21158
21159 /* Line 1464 of yacc.c  */
21160 #line 3413 "grammar.y"
21161     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (7)].string), (yyvsp[(5) - (7)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
21162     break;
21163
21164   case 1105:
21165
21166 /* Line 1464 of yacc.c  */
21167 #line 3414 "grammar.y"
21168     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list), null); (yyval.stmt).loc = (yyloc); ;}
21169     break;
21170
21171   case 1106:
21172
21173 /* Line 1464 of yacc.c  */
21174 #line 3415 "grammar.y"
21175     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (11)].string), (yyvsp[(5) - (11)].list), (yyvsp[(7) - (11)].list), (yyvsp[(9) - (11)].list)); (yyval.stmt).loc = (yyloc); ;}
21176     break;
21177
21178   case 1107:
21179
21180 /* Line 1464 of yacc.c  */
21181 #line 3417 "grammar.y"
21182     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (7)].string), null, (yyvsp[(5) - (7)].list), null); (yyval.stmt).loc = (yyloc); ;}
21183     break;
21184
21185   case 1108:
21186
21187 /* Line 1464 of yacc.c  */
21188 #line 3418 "grammar.y"
21189     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), null, (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list)); (yyval.stmt).loc = (yyloc); ;}
21190     break;
21191
21192   case 1109:
21193
21194 /* Line 1464 of yacc.c  */
21195 #line 3419 "grammar.y"
21196     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), (yyvsp[(5) - (9)].list), null, (yyvsp[(7) - (9)].list)); (yyval.stmt).loc = (yyloc); ;}
21197     break;
21198
21199   case 1110:
21200
21201 /* Line 1464 of yacc.c  */
21202 #line 3423 "grammar.y"
21203     { (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21204     break;
21205
21206   case 1111:
21207
21208 /* Line 1464 of yacc.c  */
21209 #line 3424 "grammar.y"
21210     { /*if($4.type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING);*/ (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
21211     break;
21212
21213   case 1112:
21214
21215 /* Line 1464 of yacc.c  */
21216 #line 3425 "grammar.y"
21217     { /*if($4.type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING);*/ (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
21218     break;
21219
21220   case 1113:
21221
21222 /* Line 1464 of yacc.c  */
21223 #line 3426 "grammar.y"
21224     { /*if($3.type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING);*/ (yyval.stmt) = MkCaseStmt(MkExpDummy(), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).caseStmt.exp.loc = (yylsp[(2) - (3)]); (yyval.stmt).loc = (yyloc); (yyval.stmt).caseStmt.exp.loc.start = (yylsp[(1) - (3)]).end; ;}
21225     break;
21226
21227   case 1114:
21228
21229 /* Line 1464 of yacc.c  */
21230 #line 3427 "grammar.y"
21231     { /*if($3.type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING);*/ (yyval.stmt) = MkCaseStmt(null, (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21232     break;
21233
21234   case 1115:
21235
21236 /* Line 1464 of yacc.c  */
21237 #line 3429 "grammar.y"
21238     { 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); ;}
21239     break;
21240
21241   case 1116:
21242
21243 /* Line 1464 of yacc.c  */
21244 #line 3430 "grammar.y"
21245     { 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; ;}
21246     break;
21247
21248   case 1117:
21249
21250 /* Line 1464 of yacc.c  */
21251 #line 3431 "grammar.y"
21252     { 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; ;}
21253     break;
21254
21255   case 1118:
21256
21257 /* Line 1464 of yacc.c  */
21258 #line 3432 "grammar.y"
21259     { 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; ;}
21260     break;
21261
21262   case 1119:
21263
21264 /* Line 1464 of yacc.c  */
21265 #line 3433 "grammar.y"
21266     { 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); ;}
21267     break;
21268
21269   case 1120:
21270
21271 /* Line 1464 of yacc.c  */
21272 #line 3437 "grammar.y"
21273     { (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21274     break;
21275
21276   case 1121:
21277
21278 /* Line 1464 of yacc.c  */
21279 #line 3438 "grammar.y"
21280     { /*if($4.type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING);*/ (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
21281     break;
21282
21283   case 1122:
21284
21285 /* Line 1464 of yacc.c  */
21286 #line 3439 "grammar.y"
21287     { /*if($4.type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING);*/ (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
21288     break;
21289
21290   case 1123:
21291
21292 /* Line 1464 of yacc.c  */
21293 #line 3440 "grammar.y"
21294     { /*if($3.type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING);*/ (yyval.stmt) = MkCaseStmt(MkExpDummy(), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).caseStmt.exp.loc = (yylsp[(2) - (3)]); (yyval.stmt).loc = (yyloc); (yyval.stmt).caseStmt.exp.loc.start = (yylsp[(1) - (3)]).end; ;}
21295     break;
21296
21297   case 1124:
21298
21299 /* Line 1464 of yacc.c  */
21300 #line 3441 "grammar.y"
21301     { (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; ;}
21302     break;
21303
21304   case 1125:
21305
21306 /* Line 1464 of yacc.c  */
21307 #line 3442 "grammar.y"
21308     { /*if($3.type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING);*/ (yyval.stmt) = MkCaseStmt(null, (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21309     break;
21310
21311   case 1126:
21312
21313 /* Line 1464 of yacc.c  */
21314 #line 3443 "grammar.y"
21315     { (yyval.stmt) = MkCaseStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21316     break;
21317
21318   case 1127:
21319
21320 /* Line 1464 of yacc.c  */
21321 #line 3445 "grammar.y"
21322     { 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); ;}
21323     break;
21324
21325   case 1128:
21326
21327 /* Line 1464 of yacc.c  */
21328 #line 3446 "grammar.y"
21329     { 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; ;}
21330     break;
21331
21332   case 1129:
21333
21334 /* Line 1464 of yacc.c  */
21335 #line 3447 "grammar.y"
21336     { 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; ;}
21337     break;
21338
21339   case 1130:
21340
21341 /* Line 1464 of yacc.c  */
21342 #line 3448 "grammar.y"
21343     { 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; ;}
21344     break;
21345
21346   case 1131:
21347
21348 /* Line 1464 of yacc.c  */
21349 #line 3449 "grammar.y"
21350     { 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); ;}
21351     break;
21352
21353   case 1132:
21354
21355 /* Line 1464 of yacc.c  */
21356 #line 3453 "grammar.y"
21357     { (yyval.declMode) = structDeclMode = declMode = publicAccess; ;}
21358     break;
21359
21360   case 1133:
21361
21362 /* Line 1464 of yacc.c  */
21363 #line 3454 "grammar.y"
21364     { (yyval.declMode) = structDeclMode = declMode = privateAccess; ;}
21365     break;
21366
21367   case 1134:
21368
21369 /* Line 1464 of yacc.c  */
21370 #line 3455 "grammar.y"
21371     { (yyval.declMode) = structDeclMode = declMode = defaultAccess; ;}
21372     break;
21373
21374   case 1135:
21375
21376 /* Line 1464 of yacc.c  */
21377 #line 3459 "grammar.y"
21378     { (yyval.declMode) = publicAccess; ;}
21379     break;
21380
21381   case 1136:
21382
21383 /* Line 1464 of yacc.c  */
21384 #line 3460 "grammar.y"
21385     { (yyval.declMode) = privateAccess; ;}
21386     break;
21387
21388   case 1137:
21389
21390 /* Line 1464 of yacc.c  */
21391 #line 3464 "grammar.y"
21392     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21393     break;
21394
21395   case 1138:
21396
21397 /* Line 1464 of yacc.c  */
21398 #line 3465 "grammar.y"
21399     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21400     break;
21401
21402   case 1139:
21403
21404 /* Line 1464 of yacc.c  */
21405 #line 3466 "grammar.y"
21406     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21407     break;
21408
21409   case 1140:
21410
21411 /* Line 1464 of yacc.c  */
21412 #line 3467 "grammar.y"
21413     { (yyval.declaration) = (yyvsp[(1) - (2)].declaration); structDeclMode = defaultDeclMode; ;}
21414     break;
21415
21416   case 1141:
21417
21418 /* Line 1464 of yacc.c  */
21419 #line 3471 "grammar.y"
21420     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); ;}
21421     break;
21422
21423   case 1142:
21424
21425 /* Line 1464 of yacc.c  */
21426 #line 3472 "grammar.y"
21427     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
21428     break;
21429
21430   case 1143:
21431
21432 /* Line 1464 of yacc.c  */
21433 #line 3473 "grammar.y"
21434     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
21435     break;
21436
21437   case 1144:
21438
21439 /* Line 1464 of yacc.c  */
21440 #line 3475 "grammar.y"
21441     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); ;}
21442     break;
21443
21444   case 1145:
21445
21446 /* Line 1464 of yacc.c  */
21447 #line 3476 "grammar.y"
21448     { (yyval.declaration) = MkDeclarationDefine((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].exp)); (yyval.declaration).loc = (yyloc); ;}
21449     break;
21450
21451   case 1146:
21452
21453 /* Line 1464 of yacc.c  */
21454 #line 3477 "grammar.y"
21455     { structDeclMode = declMode = staticAccess; (yyval.declaration) = MkDeclarationDefine((yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].exp)); (yyval.declaration).loc = (yyloc); ;}
21456     break;
21457
21458   case 1147:
21459
21460 /* Line 1464 of yacc.c  */
21461 #line 3481 "grammar.y"
21462     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); yyerrok; ;}
21463     break;
21464
21465   case 1148:
21466
21467 /* Line 1464 of yacc.c  */
21468 #line 3485 "grammar.y"
21469     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21470     break;
21471
21472   case 1149:
21473
21474 /* Line 1464 of yacc.c  */
21475 #line 3486 "grammar.y"
21476     { structDeclMode = defaultDeclMode;  ;}
21477     break;
21478
21479   case 1150:
21480
21481 /* Line 1464 of yacc.c  */
21482 #line 3488 "grammar.y"
21483     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21484     break;
21485
21486   case 1151:
21487
21488 /* Line 1464 of yacc.c  */
21489 #line 3489 "grammar.y"
21490     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21491     break;
21492
21493   case 1152:
21494
21495 /* Line 1464 of yacc.c  */
21496 #line 3490 "grammar.y"
21497     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21498     break;
21499
21500   case 1153:
21501
21502 /* Line 1464 of yacc.c  */
21503 #line 3494 "grammar.y"
21504     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declaration)); /*declMode = defaultDeclMode;*/ ;}
21505     break;
21506
21507   case 1154:
21508
21509 /* Line 1464 of yacc.c  */
21510 #line 3495 "grammar.y"
21511     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); /*declMode = defaultDeclMode; */;}
21512     break;
21513
21514   case 1155:
21515
21516 /* Line 1464 of yacc.c  */
21517 #line 3496 "grammar.y"
21518     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); /*declMode = defaultDeclMode; */;}
21519     break;
21520
21521   case 1156:
21522
21523 /* Line 1464 of yacc.c  */
21524 #line 3497 "grammar.y"
21525     { (yyval.list) = (yyvsp[(1) - (3)].list); ;}
21526     break;
21527
21528   case 1157:
21529
21530 /* Line 1464 of yacc.c  */
21531 #line 3501 "grammar.y"
21532     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declaration)); ;}
21533     break;
21534
21535   case 1158:
21536
21537 /* Line 1464 of yacc.c  */
21538 #line 3502 "grammar.y"
21539     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); ;}
21540     break;
21541
21542   case 1159:
21543
21544 /* Line 1464 of yacc.c  */
21545 #line 3506 "grammar.y"
21546     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].stmt)); ;}
21547     break;
21548
21549   case 1160:
21550
21551 /* Line 1464 of yacc.c  */
21552 #line 3507 "grammar.y"
21553     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21554     break;
21555
21556   case 1161:
21557
21558 /* Line 1464 of yacc.c  */
21559 #line 3508 "grammar.y"
21560     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21561     break;
21562
21563   case 1162:
21564
21565 /* Line 1464 of yacc.c  */
21566 #line 3512 "grammar.y"
21567     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].stmt)); ;}
21568     break;
21569
21570   case 1163:
21571
21572 /* Line 1464 of yacc.c  */
21573 #line 3513 "grammar.y"
21574     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21575     break;
21576
21577   case 1164:
21578
21579 /* Line 1464 of yacc.c  */
21580 #line 3514 "grammar.y"
21581     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21582     break;
21583
21584   case 1165:
21585
21586 /* Line 1464 of yacc.c  */
21587 #line 3515 "grammar.y"
21588     { 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;*/ ;}
21589     break;
21590
21591   case 1166:
21592
21593 /* Line 1464 of yacc.c  */
21594 #line 3516 "grammar.y"
21595     { 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;*/ ;}
21596     break;
21597
21598   case 1167:
21599
21600 /* Line 1464 of yacc.c  */
21601 #line 3517 "grammar.y"
21602     { 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;*/ ;}
21603     break;
21604
21605   case 1168:
21606
21607 /* Line 1464 of yacc.c  */
21608 #line 3518 "grammar.y"
21609     { 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;*/ ;}
21610     break;
21611
21612   case 1169:
21613
21614 /* Line 1464 of yacc.c  */
21615 #line 3522 "grammar.y"
21616     { (yyval.stmt) = MkCompoundStmt(null, (yyvsp[(1) - (1)].list)); ;}
21617     break;
21618
21619   case 1170:
21620
21621 /* Line 1464 of yacc.c  */
21622 #line 3523 "grammar.y"
21623     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (1)].list), null); ;}
21624     break;
21625
21626   case 1171:
21627
21628 /* Line 1464 of yacc.c  */
21629 #line 3524 "grammar.y"
21630     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21631     break;
21632
21633   case 1172:
21634
21635 /* Line 1464 of yacc.c  */
21636 #line 3525 "grammar.y"
21637     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21638     break;
21639
21640   case 1173:
21641
21642 /* Line 1464 of yacc.c  */
21643 #line 3529 "grammar.y"
21644     { (yyval.stmt) = MkCompoundStmt(null, (yyvsp[(1) - (1)].list)); ;}
21645     break;
21646
21647   case 1174:
21648
21649 /* Line 1464 of yacc.c  */
21650 #line 3530 "grammar.y"
21651     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (1)].list), null); ;}
21652     break;
21653
21654   case 1175:
21655
21656 /* Line 1464 of yacc.c  */
21657 #line 3531 "grammar.y"
21658     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21659     break;
21660
21661   case 1176:
21662
21663 /* Line 1464 of yacc.c  */
21664 #line 3532 "grammar.y"
21665     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21666     break;
21667
21668   case 1177:
21669
21670 /* Line 1464 of yacc.c  */
21671 #line 3536 "grammar.y"
21672     { (yyval.context) = PushContext(); ;}
21673     break;
21674
21675   case 1178:
21676
21677 /* Line 1464 of yacc.c  */
21678 #line 3540 "grammar.y"
21679     { (yyval.stmt) = (yyvsp[(1) - (2)].stmt); (yyval.stmt).loc = (yyloc); ;}
21680     break;
21681
21682   case 1179:
21683
21684 /* Line 1464 of yacc.c  */
21685 #line 3545 "grammar.y"
21686     { (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++; ;}
21687     break;
21688
21689   case 1180:
21690
21691 /* Line 1464 of yacc.c  */
21692 #line 3547 "grammar.y"
21693     { (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++; ;}
21694     break;
21695
21696   case 1181:
21697
21698 /* Line 1464 of yacc.c  */
21699 #line 3550 "grammar.y"
21700     { (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++; ;}
21701     break;
21702
21703   case 1182:
21704
21705 /* Line 1464 of yacc.c  */
21706 #line 3555 "grammar.y"
21707     { (yyval.stmt) = MkExpressionStmt(null); (yyval.stmt).loc = (yyloc); ;}
21708     break;
21709
21710   case 1183:
21711
21712 /* Line 1464 of yacc.c  */
21713 #line 3556 "grammar.y"
21714     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21715     break;
21716
21717   case 1184:
21718
21719 /* Line 1464 of yacc.c  */
21720 #line 3557 "grammar.y"
21721     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21722     break;
21723
21724   case 1185:
21725
21726 /* Line 1464 of yacc.c  */
21727 #line 3561 "grammar.y"
21728     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21729     break;
21730
21731   case 1186:
21732
21733 /* Line 1464 of yacc.c  */
21734 #line 3562 "grammar.y"
21735     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21736     break;
21737
21738   case 1187:
21739
21740 /* Line 1464 of yacc.c  */
21741 #line 3563 "grammar.y"
21742     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].stmt), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21743     break;
21744
21745   case 1188:
21746
21747 /* Line 1464 of yacc.c  */
21748 #line 3564 "grammar.y"
21749     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].stmt), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21750     break;
21751
21752   case 1189:
21753
21754 /* Line 1464 of yacc.c  */
21755 #line 3565 "grammar.y"
21756     { (yyval.stmt) = MkSwitchStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21757     break;
21758
21759   case 1190:
21760
21761 /* Line 1464 of yacc.c  */
21762 #line 3566 "grammar.y"
21763     { (yyval.stmt) = MkSwitchStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21764     break;
21765
21766   case 1191:
21767
21768 /* Line 1464 of yacc.c  */
21769 #line 3570 "grammar.y"
21770     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (3)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
21771     break;
21772
21773   case 1193:
21774
21775 /* Line 1464 of yacc.c  */
21776 #line 3575 "grammar.y"
21777     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21778     break;
21779
21780   case 1194:
21781
21782 /* Line 1464 of yacc.c  */
21783 #line 3576 "grammar.y"
21784     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21785     break;
21786
21787   case 1195:
21788
21789 /* Line 1464 of yacc.c  */
21790 #line 3577 "grammar.y"
21791     { yyerror(); (yyval.stmt) = MkWhileStmt(null, (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21792     break;
21793
21794   case 1196:
21795
21796 /* Line 1464 of yacc.c  */
21797 #line 3579 "grammar.y"
21798     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (7)].stmt), (yyvsp[(5) - (7)].list)); (yyval.stmt).loc = (yyloc); ;}
21799     break;
21800
21801   case 1197:
21802
21803 /* Line 1464 of yacc.c  */
21804 #line 3580 "grammar.y"
21805     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (6)].stmt), (yyvsp[(5) - (6)].list)); (yyval.stmt).loc = (yyloc); ;}
21806     break;
21807
21808   case 1198:
21809
21810 /* Line 1464 of yacc.c  */
21811 #line 3582 "grammar.y"
21812     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), null, (yyvsp[(6) - (6)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21813     break;
21814
21815   case 1199:
21816
21817 /* Line 1464 of yacc.c  */
21818 #line 3583 "grammar.y"
21819     { yyerror(); (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), null, null, (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21820     break;
21821
21822   case 1200:
21823
21824 /* Line 1464 of yacc.c  */
21825 #line 3584 "grammar.y"
21826     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (7)].stmt), (yyvsp[(4) - (7)].stmt), (yyvsp[(5) - (7)].list), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21827     break;
21828
21829   case 1201:
21830
21831 /* Line 1464 of yacc.c  */
21832 #line 3585 "grammar.y"
21833     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), (yyvsp[(5) - (6)].list), (yyvsp[(6) - (6)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21834     break;
21835
21836   case 1202:
21837
21838 /* Line 1464 of yacc.c  */
21839 #line 3586 "grammar.y"
21840     { yyerror(); (yyval.stmt) = MkForStmt(null, null, null, (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21841     break;
21842
21843   case 1203:
21844
21845 /* Line 1464 of yacc.c  */
21846 #line 3588 "grammar.y"
21847     { (yyval.stmt) = MkForEachStmt((yyvsp[(3) - (7)].id), (yyvsp[(5) - (7)].list), null, (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21848     break;
21849
21850   case 1204:
21851
21852 /* Line 1464 of yacc.c  */
21853 #line 3589 "grammar.y"
21854     { (yyval.stmt) = MkForEachStmt((yyvsp[(3) - (9)].id), (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list), (yyvsp[(9) - (9)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21855     break;
21856
21857   case 1205:
21858
21859 /* Line 1464 of yacc.c  */
21860 #line 3593 "grammar.y"
21861     { (yyval.stmt) = MkForStmt(null, null, null, null); (yyval.stmt).loc = (yyloc); ;}
21862     break;
21863
21864   case 1206:
21865
21866 /* Line 1464 of yacc.c  */
21867 #line 3594 "grammar.y"
21868     { (yyval.stmt) = MkForStmt(MkExpressionStmt((yyvsp[(3) - (4)].list)), null, null, null); (yyval.stmt).forStmt.init.loc = (yylsp[(3) - (4)]); (yyval.stmt).loc = (yyloc); ;}
21869     break;
21870
21871   case 1207:
21872
21873 /* Line 1464 of yacc.c  */
21874 #line 3595 "grammar.y"
21875     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (4)].stmt), null, null, null); (yyval.stmt).loc = (yyloc); ;}
21876     break;
21877
21878   case 1208:
21879
21880 /* Line 1464 of yacc.c  */
21881 #line 3596 "grammar.y"
21882     { (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)]); ;}
21883     break;
21884
21885   case 1209:
21886
21887 /* Line 1464 of yacc.c  */
21888 #line 3600 "grammar.y"
21889     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), (yyvsp[(4) - (5)].stmt), (yyvsp[(5) - (5)].list), null); (yyval.stmt).loc = (yyloc); ;}
21890     break;
21891
21892   case 1210:
21893
21894 /* Line 1464 of yacc.c  */
21895 #line 3601 "grammar.y"
21896     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), null, (yyvsp[(6) - (6)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21897     break;
21898
21899   case 1211:
21900
21901 /* Line 1464 of yacc.c  */
21902 #line 3602 "grammar.y"
21903     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (7)].stmt), (yyvsp[(4) - (7)].stmt), (yyvsp[(5) - (7)].list), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21904     break;
21905
21906   case 1212:
21907
21908 /* Line 1464 of yacc.c  */
21909 #line 3603 "grammar.y"
21910     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), (yyvsp[(5) - (6)].list), (yyvsp[(6) - (6)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21911     break;
21912
21913   case 1213:
21914
21915 /* Line 1464 of yacc.c  */
21916 #line 3605 "grammar.y"
21917     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (6)].stmt), (yyvsp[(5) - (6)].list)); (yyval.stmt).loc = (yyloc); ;}
21918     break;
21919
21920   case 1214:
21921
21922 /* Line 1464 of yacc.c  */
21923 #line 3606 "grammar.y"
21924     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (5)].stmt), (yyvsp[(5) - (5)].list)); (yyval.stmt).loc = (yyloc); ;}
21925     break;
21926
21927   case 1215:
21928
21929 /* Line 1464 of yacc.c  */
21930 #line 3607 "grammar.y"
21931     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (5)].stmt), (yyvsp[(5) - (5)].list)); (yyval.stmt).loc = (yyloc); ;}
21932     break;
21933
21934   case 1216:
21935
21936 /* Line 1464 of yacc.c  */
21937 #line 3608 "grammar.y"
21938     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (4)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21939     break;
21940
21941   case 1217:
21942
21943 /* Line 1464 of yacc.c  */
21944 #line 3609 "grammar.y"
21945     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (3)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21946     break;
21947
21948   case 1218:
21949
21950 /* Line 1464 of yacc.c  */
21951 #line 3610 "grammar.y"
21952     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (2)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21953     break;
21954
21955   case 1219:
21956
21957 /* Line 1464 of yacc.c  */
21958 #line 3611 "grammar.y"
21959     { yyerror(); (yyval.stmt) = MkDoWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21960     break;
21961
21962   case 1220:
21963
21964 /* Line 1464 of yacc.c  */
21965 #line 3614 "grammar.y"
21966     { (yyval.stmt) = MkWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21967     break;
21968
21969   case 1221:
21970
21971 /* Line 1464 of yacc.c  */
21972 #line 3618 "grammar.y"
21973     { (yyval.stmt) = MkWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21974     break;
21975
21976   case 1222:
21977
21978 /* Line 1464 of yacc.c  */
21979 #line 3619 "grammar.y"
21980     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (3)].list), null); (yyval.stmt).loc = (yyloc); ;}
21981     break;
21982
21983   case 1223:
21984
21985 /* Line 1464 of yacc.c  */
21986 #line 3623 "grammar.y"
21987     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21988     break;
21989
21990   case 1224:
21991
21992 /* Line 1464 of yacc.c  */
21993 #line 3624 "grammar.y"
21994     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21995     break;
21996
21997   case 1225:
21998
21999 /* Line 1464 of yacc.c  */
22000 #line 3628 "grammar.y"
22001     { (yyval.stmt) = MkGotoStmt((yyvsp[(2) - (3)].id)); (yyval.stmt).loc = (yyloc); ;}
22002     break;
22003
22004   case 1226:
22005
22006 /* Line 1464 of yacc.c  */
22007 #line 3629 "grammar.y"
22008     { (yyval.stmt) = MkContinueStmt(); (yyval.stmt).loc = (yyloc); ;}
22009     break;
22010
22011   case 1227:
22012
22013 /* Line 1464 of yacc.c  */
22014 #line 3630 "grammar.y"
22015     { (yyval.stmt) = MkBreakStmt(); (yyval.stmt).loc = (yyloc); ;}
22016     break;
22017
22018   case 1228:
22019
22020 /* Line 1464 of yacc.c  */
22021 #line 3631 "grammar.y"
22022     { Expression exp = MkExpDummy(); (yyval.stmt) = MkReturnStmt(MkListOne(exp)); (yyval.stmt).loc = (yyloc); exp.loc = (yylsp[(2) - (2)]); ;}
22023     break;
22024
22025   case 1229:
22026
22027 /* Line 1464 of yacc.c  */
22028 #line 3632 "grammar.y"
22029     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (3)].list)); (yyval.stmt).loc = (yyloc); ;}
22030     break;
22031
22032   case 1230:
22033
22034 /* Line 1464 of yacc.c  */
22035 #line 3633 "grammar.y"
22036     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (3)].list)); (yyval.stmt).loc = (yyloc); ;}
22037     break;
22038
22039   case 1231:
22040
22041 /* Line 1464 of yacc.c  */
22042 #line 3634 "grammar.y"
22043     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (3)].exp))); (yyval.stmt).loc = (yyloc); ;}
22044     break;
22045
22046   case 1232:
22047
22048 /* Line 1464 of yacc.c  */
22049 #line 3635 "grammar.y"
22050     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (3)].exp))); (yyval.stmt).loc = (yyloc); ;}
22051     break;
22052
22053   case 1233:
22054
22055 /* Line 1464 of yacc.c  */
22056 #line 3639 "grammar.y"
22057     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
22058     break;
22059
22060   case 1234:
22061
22062 /* Line 1464 of yacc.c  */
22063 #line 3640 "grammar.y"
22064     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (2)].exp))); (yyval.stmt).loc = (yyloc); ;}
22065     break;
22066
22067   case 1235:
22068
22069 /* Line 1464 of yacc.c  */
22070 #line 3641 "grammar.y"
22071     { Expression exp = MkExpDummy(); (yyval.stmt) = MkReturnStmt(MkListOne(exp)); (yyval.stmt).loc = (yyloc); exp.loc.start = exp.loc.end = (yylsp[(1) - (1)]).end; ;}
22072     break;
22073
22074   case 1236:
22075
22076 /* Line 1464 of yacc.c  */
22077 #line 3642 "grammar.y"
22078     { (yyval.stmt) = MkGotoStmt(null); (yyval.stmt).loc = (yyloc); ;}
22079     break;
22080
22081   case 1237:
22082
22083 /* Line 1464 of yacc.c  */
22084 #line 3648 "grammar.y"
22085     { (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); ;}
22086     break;
22087
22088   case 1238:
22089
22090 /* Line 1464 of yacc.c  */
22091 #line 3650 "grammar.y"
22092     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
22093     break;
22094
22095   case 1239:
22096
22097 /* Line 1464 of yacc.c  */
22098 #line 3651 "grammar.y"
22099     { (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); ;}
22100     break;
22101
22102   case 1240:
22103
22104 /* Line 1464 of yacc.c  */
22105 #line 3653 "grammar.y"
22106     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
22107     break;
22108
22109   case 1241:
22110
22111 /* Line 1464 of yacc.c  */
22112 #line 3655 "grammar.y"
22113     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
22114     break;
22115
22116   case 1242:
22117
22118 /* Line 1464 of yacc.c  */
22119 #line 3656 "grammar.y"
22120     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (2)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(2) - (2)].stmt)); (yyval.function).loc = (yyloc);;}
22121     break;
22122
22123   case 1243:
22124
22125 /* Line 1464 of yacc.c  */
22126 #line 3659 "grammar.y"
22127     { (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; ;}
22128     break;
22129
22130   case 1244:
22131
22132 /* Line 1464 of yacc.c  */
22133 #line 3660 "grammar.y"
22134     { (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; ;}
22135     break;
22136
22137   case 1245:
22138
22139 /* Line 1464 of yacc.c  */
22140 #line 3661 "grammar.y"
22141     { (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; ;}
22142     break;
22143
22144   case 1246:
22145
22146 /* Line 1464 of yacc.c  */
22147 #line 3662 "grammar.y"
22148     { (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; ;}
22149     break;
22150
22151   case 1247:
22152
22153 /* Line 1464 of yacc.c  */
22154 #line 3663 "grammar.y"
22155     { (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; ;}
22156     break;
22157
22158   case 1248:
22159
22160 /* Line 1464 of yacc.c  */
22161 #line 3664 "grammar.y"
22162     { (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; ;}
22163     break;
22164
22165   case 1249:
22166
22167 /* Line 1464 of yacc.c  */
22168 #line 3668 "grammar.y"
22169     { (yyval.string) = CopyString(yytext); ;}
22170     break;
22171
22172   case 1250:
22173
22174 /* Line 1464 of yacc.c  */
22175 #line 3670 "grammar.y"
22176     {
22177       int len1 = strlen((yyvsp[(1) - (2)].string));
22178       int len2 = strlen(yytext);
22179       (yyval.string) = new byte[len1-1 + len2-1 + 1];
22180       memcpy((yyval.string), (yyvsp[(1) - (2)].string), len1-1);
22181       memcpy((yyval.string) + len1-1, yytext+1, len2);
22182       delete (yyvsp[(1) - (2)].string);
22183    ;}
22184     break;
22185
22186   case 1251:
22187
22188 /* Line 1464 of yacc.c  */
22189 #line 3681 "grammar.y"
22190     { (yyval.external) = MkExternalFunction((yyvsp[(1) - (1)].function)); (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].function).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
22191     break;
22192
22193   case 1252:
22194
22195 /* Line 1464 of yacc.c  */
22196 #line 3683 "grammar.y"
22197     { (yyval.external) = MkExternalClass((yyvsp[(1) - (1)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22198     break;
22199
22200   case 1253:
22201
22202 /* Line 1464 of yacc.c  */
22203 #line 3686 "grammar.y"
22204     { (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); ;}
22205     break;
22206
22207   case 1254:
22208
22209 /* Line 1464 of yacc.c  */
22210 #line 3689 "grammar.y"
22211     { (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
22212     break;
22213
22214   case 1255:
22215
22216 /* Line 1464 of yacc.c  */
22217 #line 3690 "grammar.y"
22218     { (yyval.external) = MkExternalImport((yyvsp[(2) - (2)].string), normalImport, (declMode != defaultAccess) ? declMode : privateAccess);  (yyval.external).loc = (yyloc); ;}
22219     break;
22220
22221   case 1256:
22222
22223 /* Line 1464 of yacc.c  */
22224 #line 3691 "grammar.y"
22225     { (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), staticImport, (declMode != defaultAccess) ? declMode : privateAccess);  (yyval.external).loc = (yyloc); ;}
22226     break;
22227
22228   case 1257:
22229
22230 /* Line 1464 of yacc.c  */
22231 #line 3693 "grammar.y"
22232     {
22233       bool isRemote = !strcmp((yyvsp[(2) - (3)].id).string, "remote");
22234       (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), isRemote ? remoteImport : normalImport, (declMode != defaultAccess) ? declMode : privateAccess);
22235       (yyval.external).loc = (yyloc);
22236       FreeIdentifier((yyvsp[(2) - (3)].id));
22237       if(!isRemote)
22238          yyerror();
22239    ;}
22240     break;
22241
22242   case 1258:
22243
22244 /* Line 1464 of yacc.c  */
22245 #line 3702 "grammar.y"
22246     { (yyval.external) = null; ;}
22247     break;
22248
22249   case 1259:
22250
22251 /* Line 1464 of yacc.c  */
22252 #line 3704 "grammar.y"
22253     { (yyval.external) = MkExternalFunction((yyvsp[(2) - (2)].function)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].function).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22254     break;
22255
22256   case 1260:
22257
22258 /* Line 1464 of yacc.c  */
22259 #line 3706 "grammar.y"
22260     { (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; ;}
22261     break;
22262
22263   case 1261:
22264
22265 /* Line 1464 of yacc.c  */
22266 #line 3707 "grammar.y"
22267     { (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22268     break;
22269
22270   case 1262:
22271
22272 /* Line 1464 of yacc.c  */
22273 #line 3708 "grammar.y"
22274     { (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; ;}
22275     break;
22276
22277   case 1263:
22278
22279 /* Line 1464 of yacc.c  */
22280 #line 3709 "grammar.y"
22281     { (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; ;}
22282     break;
22283
22284   case 1264:
22285
22286 /* Line 1464 of yacc.c  */
22287 #line 3711 "grammar.y"
22288     {
22289       bool isRemote = !strcmp((yyvsp[(3) - (4)].id).string, "remote");
22290       (yyval.external) = MkExternalImport((yyvsp[(4) - (4)].string), isRemote ? remoteImport : normalImport, ((yyvsp[(1) - (4)].declMode) != defaultAccess) ? (yyvsp[(1) - (4)].declMode) : privateAccess);
22291       (yyval.external).loc = (yyloc);
22292       FreeIdentifier((yyvsp[(3) - (4)].id));
22293       structDeclMode = declMode = defaultDeclMode;
22294       if(!isRemote)
22295          yyerror();
22296    ;}
22297     break;
22298
22299   case 1265:
22300
22301 /* Line 1464 of yacc.c  */
22302 #line 3720 "grammar.y"
22303     { defaultDeclMode = (yyvsp[(1) - (2)].declMode); (yyval.external) = null; ;}
22304     break;
22305
22306   case 1266:
22307
22308 /* Line 1464 of yacc.c  */
22309 #line 3721 "grammar.y"
22310     { defaultDeclMode = staticAccess; (yyval.external) = null; ;}
22311     break;
22312
22313   case 1267:
22314
22315 /* Line 1464 of yacc.c  */
22316 #line 3722 "grammar.y"
22317     { (yyval.external) = MkExternalNameSpace((yyvsp[(2) - (2)].id)); (yyval.external).loc = (yyloc); ;}
22318     break;
22319
22320   case 1268:
22321
22322 /* Line 1464 of yacc.c  */
22323 #line 3723 "grammar.y"
22324     { (yyval.external) = MkExternalNameSpace(MkIdentifier((yyvsp[(2) - (2)].specifier).name)); FreeSpecifier((yyvsp[(2) - (2)].specifier)); (yyval.external).loc = (yyloc); ;}
22325     break;
22326
22327   case 1269:
22328
22329 /* Line 1464 of yacc.c  */
22330 #line 3724 "grammar.y"
22331     { (yyval.external) = MkExternalDBTable((yyvsp[(1) - (1)].dbtableDef)); (yyval.external).loc = (yyloc);  (yyvsp[(1) - (1)].dbtableDef).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22332     break;
22333
22334   case 1270:
22335
22336 /* Line 1464 of yacc.c  */
22337 #line 3725 "grammar.y"
22338     { (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; ;}
22339     break;
22340
22341   case 1271:
22342
22343 /* Line 1464 of yacc.c  */
22344 #line 3729 "grammar.y"
22345     { yyerror(); (yyval.external) = MkExternalClass((yyvsp[(1) - (1)]._class));  (yyval.external).loc = (yyvsp[(1) - (1)]._class).loc; (yyvsp[(1) - (1)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22346     break;
22347
22348   case 1272:
22349
22350 /* Line 1464 of yacc.c  */
22351 #line 3731 "grammar.y"
22352     {
22353       yyerror();
22354       FreeList((yyvsp[(1) - (2)].list), FreeSpecifier);
22355       (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));
22356       (yyval.external).loc = (yyvsp[(2) - (2)]._class).loc;
22357       (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess;
22358       structDeclMode = declMode = defaultDeclMode;
22359    ;}
22360     break;
22361
22362   case 1273:
22363
22364 /* Line 1464 of yacc.c  */
22365 #line 3739 "grammar.y"
22366     { yyerror(); (yyval.external) = MkExternalFunction((yyvsp[(1) - (1)].function)); (yyval.external).loc = (yyvsp[(1) - (1)].function).loc;  (yyvsp[(1) - (1)].function).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
22367     break;
22368
22369   case 1274:
22370
22371 /* Line 1464 of yacc.c  */
22372 #line 3741 "grammar.y"
22373     { yyerror(); (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));  (yyval.external).loc = (yyvsp[(2) - (2)]._class).loc; (yyvsp[(2) - (2)]._class).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? (yyvsp[(1) - (2)].declMode) : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22374     break;
22375
22376   case 1275:
22377
22378 /* Line 1464 of yacc.c  */
22379 #line 3742 "grammar.y"
22380     { yyerror(); (yyval.external) = MkExternalFunction((yyvsp[(2) - (2)].function)); (yyval.external).loc = (yyvsp[(2) - (2)].function).loc; (yyvsp[(2) - (2)].function).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22381     break;
22382
22383   case 1276:
22384
22385 /* Line 1464 of yacc.c  */
22386 #line 3745 "grammar.y"
22387     { yyerror(); (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
22388     break;
22389
22390   case 1277:
22391
22392 /* Line 1464 of yacc.c  */
22393 #line 3746 "grammar.y"
22394     { yyerror(); (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22395     break;
22396
22397   case 1278:
22398
22399 /* Line 1464 of yacc.c  */
22400 #line 3750 "grammar.y"
22401     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].external)); ast = (yyval.list); ;}
22402     break;
22403
22404   case 1279:
22405
22406 /* Line 1464 of yacc.c  */
22407 #line 3751 "grammar.y"
22408     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
22409     break;
22410
22411   case 1280:
22412
22413 /* Line 1464 of yacc.c  */
22414 #line 3752 "grammar.y"
22415     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
22416     break;
22417
22418   case 1283:
22419
22420 /* Line 1464 of yacc.c  */
22421 #line 3758 "grammar.y"
22422     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].external)); ast = (yyval.list); ;}
22423     break;
22424
22425   case 1284:
22426
22427 /* Line 1464 of yacc.c  */
22428 #line 3759 "grammar.y"
22429     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
22430     break;
22431
22432   case 1285:
22433
22434 /* Line 1464 of yacc.c  */
22435 #line 3761 "grammar.y"
22436     { 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; ;}
22437     break;
22438
22439   case 1286:
22440
22441 /* Line 1464 of yacc.c  */
22442 #line 3763 "grammar.y"
22443     { 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; ;}
22444     break;
22445
22446   case 1289:
22447
22448 /* Line 1464 of yacc.c  */
22449 #line 3769 "grammar.y"
22450     { ast = MkList(); ;}
22451     break;
22452
22453   case 1290:
22454
22455 /* Line 1464 of yacc.c  */
22456 #line 3773 "grammar.y"
22457     { Symbol symbol = DeclClassAddNameSpace((yyvsp[(3) - (6)].id).string); FreeIdentifier((yyvsp[(3) - (6)].id)); (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (6)].string), symbol, (yyvsp[(5) - (6)].list)); ;}
22458     break;
22459
22460   case 1291:
22461
22462 /* Line 1464 of yacc.c  */
22463 #line 3774 "grammar.y"
22464     { Symbol symbol = DeclClass((yyvsp[(3) - (6)].specifier).name); FreeSpecifier((yyvsp[(3) - (6)].specifier)); (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (6)].string), symbol, (yyvsp[(5) - (6)].list)); ;}
22465     break;
22466
22467   case 1292:
22468
22469 /* Line 1464 of yacc.c  */
22470 #line 3775 "grammar.y"
22471     { (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (5)].string), null, (yyvsp[(4) - (5)].list)); ;}
22472     break;
22473
22474   case 1293:
22475
22476 /* Line 1464 of yacc.c  */
22477 #line 3779 "grammar.y"
22478     { (yyval.dbtableEntry) = MkDBFieldEntry(MkTypeName((yyvsp[(1) - (4)].list), null), (yyvsp[(2) - (4)].id), (yyvsp[(3) - (4)].string)); ;}
22479     break;
22480
22481   case 1294:
22482
22483 /* Line 1464 of yacc.c  */
22484 #line 3783 "grammar.y"
22485     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(1) - (1)].id), ascending); ;}
22486     break;
22487
22488   case 1295:
22489
22490 /* Line 1464 of yacc.c  */
22491 #line 3784 "grammar.y"
22492     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(2) - (2)].id), descending); ;}
22493     break;
22494
22495   case 1296:
22496
22497 /* Line 1464 of yacc.c  */
22498 #line 3785 "grammar.y"
22499     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(2) - (2)].id), ascending); ;}
22500     break;
22501
22502   case 1297:
22503
22504 /* Line 1464 of yacc.c  */
22505 #line 3789 "grammar.y"
22506     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbindexItem)); ;}
22507     break;
22508
22509   case 1298:
22510
22511 /* Line 1464 of yacc.c  */
22512 #line 3790 "grammar.y"
22513     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].dbindexItem)); ;}
22514     break;
22515
22516   case 1299:
22517
22518 /* Line 1464 of yacc.c  */
22519 #line 3794 "grammar.y"
22520     { (yyval.dbtableEntry) = MkDBIndexEntry((yyvsp[(2) - (3)].list), null); ;}
22521     break;
22522
22523   case 1300:
22524
22525 /* Line 1464 of yacc.c  */
22526 #line 3795 "grammar.y"
22527     { (yyval.dbtableEntry) = MkDBIndexEntry((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].id)); ;}
22528     break;
22529
22530   case 1301:
22531
22532 /* Line 1464 of yacc.c  */
22533 #line 3799 "grammar.y"
22534     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbtableEntry)); ;}
22535     break;
22536
22537   case 1302:
22538
22539 /* Line 1464 of yacc.c  */
22540 #line 3800 "grammar.y"
22541     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbtableEntry)); ;}
22542     break;
22543
22544   case 1303:
22545
22546 /* Line 1464 of yacc.c  */
22547 #line 3801 "grammar.y"
22548     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].dbtableEntry)); ;}
22549     break;
22550
22551   case 1304:
22552
22553 /* Line 1464 of yacc.c  */
22554 #line 3802 "grammar.y"
22555     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].dbtableEntry)); ;}
22556     break;
22557
22558   case 1305:
22559
22560 /* Line 1464 of yacc.c  */
22561 #line 3806 "grammar.y"
22562     { (yyval.exp) = MkExpDBOpen((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].exp)); ;}
22563     break;
22564
22565   case 1306:
22566
22567 /* Line 1464 of yacc.c  */
22568 #line 3810 "grammar.y"
22569     { (yyval.exp) = MkExpDBField((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].id)); ;}
22570     break;
22571
22572   case 1307:
22573
22574 /* Line 1464 of yacc.c  */
22575 #line 3814 "grammar.y"
22576     { (yyval.exp) = MkExpDBIndex((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].id)); ;}
22577     break;
22578
22579   case 1308:
22580
22581 /* Line 1464 of yacc.c  */
22582 #line 3818 "grammar.y"
22583     { (yyval.exp) = MkExpDBTable((yyvsp[(3) - (4)].string)); ;}
22584     break;
22585
22586
22587
22588 /* Line 1464 of yacc.c  */
22589 #line 22590 "grammar.ec"
22590       default: break;
22591     }
22592   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
22593
22594   YYPOPSTACK (yylen);
22595   yylen = 0;
22596   YY_STACK_PRINT (yyss, yyssp);
22597
22598   *++yyvsp = yyval;
22599   *++yylsp = yyloc;
22600
22601   /* Now `shift' the result of the reduction.  Determine what state
22602      that goes to, based on the state we popped back to and the rule
22603      number reduced by.  */
22604
22605   yyn = yyr1[yyn];
22606
22607   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
22608   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
22609     yystate = yytable[yystate];
22610   else
22611     yystate = yydefgoto[yyn - YYNTOKENS];
22612
22613   goto yynewstate;
22614
22615
22616 /*------------------------------------.
22617 | yyerrlab -- here on detecting error |
22618 `------------------------------------*/
22619 yyerrlab:
22620   /* If not already recovering from an error, report this error.  */
22621   if (!yyerrstatus)
22622     {
22623       ++yynerrs;
22624 #if ! YYERROR_VERBOSE
22625       yyerror (YY_("syntax error"));
22626 #else
22627       {
22628         YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
22629         if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
22630           {
22631             YYSIZE_T yyalloc = 2 * yysize;
22632             if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
22633               yyalloc = YYSTACK_ALLOC_MAXIMUM;
22634             if (yymsg != yymsgbuf)
22635               YYSTACK_FREE (yymsg);
22636             yymsg = (char *) YYSTACK_ALLOC (yyalloc);
22637             if (yymsg)
22638               yymsg_alloc = yyalloc;
22639             else
22640               {
22641                 yymsg = yymsgbuf;
22642                 yymsg_alloc = sizeof yymsgbuf;
22643               }
22644           }
22645
22646         if (0 < yysize && yysize <= yymsg_alloc)
22647           {
22648             (void) yysyntax_error (yymsg, yystate, yychar);
22649             yyerror (yymsg);
22650           }
22651         else
22652           {
22653             yyerror (YY_("syntax error"));
22654             if (yysize != 0)
22655               goto yyexhaustedlab;
22656           }
22657       }
22658 #endif
22659     }
22660
22661   yyerror_range[0] = yylloc;
22662
22663   if (yyerrstatus == 3)
22664     {
22665       /* If just tried and failed to reuse lookahead token after an
22666          error, discard it.  */
22667
22668       if (yychar <= YYEOF)
22669         {
22670           /* Return failure if at end of input.  */
22671           if (yychar == YYEOF)
22672             YYABORT;
22673         }
22674       else
22675         {
22676           yydestruct ("Error: discarding",
22677                       yytoken, &yylval, &yylloc);
22678           yychar = YYEMPTY;
22679         }
22680     }
22681
22682   /* Else will try to reuse lookahead token after shifting the error
22683      token.  */
22684   goto yyerrlab1;
22685
22686
22687 /*---------------------------------------------------.
22688 | yyerrorlab -- error raised explicitly by YYERROR.  |
22689 `---------------------------------------------------*/
22690 yyerrorlab:
22691
22692   /* Pacify compilers like GCC when the user code never invokes
22693      YYERROR and the label yyerrorlab therefore never appears in user
22694      code.  */
22695   if (/*CONSTCOND*/ 0)
22696      goto yyerrorlab;
22697
22698   yyerror_range[0] = yylsp[1-yylen];
22699   /* Do not reclaim the symbols of the rule which action triggered
22700      this YYERROR.  */
22701   YYPOPSTACK (yylen);
22702   yylen = 0;
22703   YY_STACK_PRINT (yyss, yyssp);
22704   yystate = *yyssp;
22705   goto yyerrlab1;
22706
22707
22708 /*-------------------------------------------------------------.
22709 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
22710 `-------------------------------------------------------------*/
22711 yyerrlab1:
22712   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
22713
22714   for (;;)
22715     {
22716       yyn = yypact[yystate];
22717       if (yyn != YYPACT_NINF)
22718         {
22719           yyn += YYTERROR;
22720           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
22721             {
22722               yyn = yytable[yyn];
22723               if (0 < yyn)
22724                 break;
22725             }
22726         }
22727
22728       /* Pop the current state because it cannot handle the error token.  */
22729       if (yyssp == yyss)
22730         YYABORT;
22731
22732       yyerror_range[0] = *yylsp;
22733       yydestruct ("Error: popping",
22734                   yystos[yystate], yyvsp, yylsp);
22735       YYPOPSTACK (1);
22736       yystate = *yyssp;
22737       YY_STACK_PRINT (yyss, yyssp);
22738     }
22739
22740   *++yyvsp = yylval;
22741
22742   yyerror_range[1] = yylloc;
22743   /* Using YYLLOC is tempting, but would change the location of
22744      the lookahead.  YYLOC is available though.  */
22745   YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
22746   *++yylsp = yyloc;
22747
22748   /* Shift the error token.  */
22749   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
22750
22751   yystate = yyn;
22752   goto yynewstate;
22753
22754
22755 /*-------------------------------------.
22756 | yyacceptlab -- YYACCEPT comes here.  |
22757 `-------------------------------------*/
22758 yyacceptlab:
22759   yyresult = 0;
22760   goto yyreturn;
22761
22762 /*-----------------------------------.
22763 | yyabortlab -- YYABORT comes here.  |
22764 `-----------------------------------*/
22765 yyabortlab:
22766   yyresult = 1;
22767   goto yyreturn;
22768
22769 #if !defined(yyoverflow) || YYERROR_VERBOSE
22770 /*-------------------------------------------------.
22771 | yyexhaustedlab -- memory exhaustion comes here.  |
22772 `-------------------------------------------------*/
22773 yyexhaustedlab:
22774   yyerror (YY_("memory exhausted"));
22775   yyresult = 2;
22776   /* Fall through.  */
22777 #endif
22778
22779 yyreturn:
22780   if (yychar != YYEMPTY)
22781      yydestruct ("Cleanup: discarding lookahead",
22782                  yytoken, &yylval, &yylloc);
22783   /* Do not reclaim the symbols of the rule which action triggered
22784      this YYABORT or YYACCEPT.  */
22785   YYPOPSTACK (yylen);
22786   YY_STACK_PRINT (yyss, yyssp);
22787   while (yyssp != yyss)
22788     {
22789       yydestruct ("Cleanup: popping",
22790                   yystos[*yyssp], yyvsp, yylsp);
22791       YYPOPSTACK (1);
22792     }
22793 #ifndef yyoverflow
22794   if (yyss != yyssa)
22795     YYSTACK_FREE (yyss);
22796 #endif
22797 #if YYERROR_VERBOSE
22798   if (yymsg != yymsgbuf)
22799     YYSTACK_FREE (yymsg);
22800 #endif
22801   /* Make sure YYID is used.  */
22802   return YYID (yyresult);
22803 }
22804
22805
22806
22807 /* Line 1684 of yacc.c  */
22808 #line 3821 "grammar.y"
22809
22810